0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Proxmoxで仮想マシンをバックアップする(zfs形式のノードから外付けSSDへ)

Posted at

 前回は一通りの流れが見渡せるダイジェスト版を公開しました。今回は仮想マシンのバックアップ取得から、外付けSSDへ保存するところまでを公開します。
 外付けSSDをノードのストレージとしてマウントし、そのストレージをターゲットにしてバックアップを取得すれば済むだけのことと思われる方もいるかもしれませんが、当方のようにサーバにProxmoxをインストールする際に zfs(RAID) を組んだ場合、エラーが出てしまいバックアップが取得できません。ここでは、そのときにコテコテしたことを記録として残します。
 なお、ext4でインストールしたノードの場合、外付けSSDをノードのストレージとしてマウントし、そのストレージをターゲットにしてバックアップを取得できましたので、この記事のような手順を踏まなくても簡単に取得できます(この記事を読む必要はないと思います)。

1 仮想マシンのバックアップを取る

 バックアップの取得方法は、下記のイラストを参考にしてください。
Qiita Vmのバックアップをlocalに取る3 - コピー.png

ここがポイント!

 バックアップ先のストレージは、仮想マシンが載っているノードのlocalストレージをバックアップ先として指定します。サーバに zfs(RAID) 形式でProxmoxをインストールした場合は、この方法を試してみてください。

2 SSDをホストマシン(ノード)に接続する

 ホストマシンにSSDをUSBで接続します。
SSDconnected - コピー.png
 ここではSSDが、デバイス /dev/sde として認識されています。

3 SSDをノードにマウントする

SSDを接続しているノードのシェルを起動し、マウント先を作成します。最後に削除することとなるので、どこでもよいと思います。ここではルート上に追加することとします。まずはルートディレクトリを確認。

# cd /
# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  rpool  run  sbin  srv  sys  tmp  usr  var

vmSSDという名称でディレクトリを作成。

# mkdir /vmSSD
# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  rpool  run  sbin  srv  sys  tmp  usr  var  vmSSD

vmSSDが追加されました。ここにデバイス /dev/sde として認識されているSSDをマウントします。
# mount /dev/sde /vmSSD

マウントしようとしたらエラーが出る場合

下記のようなエラーが出た場合には、SSDのフォーマットが必要です。

mount: /vmSSD: special device /dev/sde/ does not exist (a path prefix is not a directory).
       dmesg(1) may have more information after failed mount system call.

ext4形式でフォーマットをします。

# mkfs.ext4 /dev/sde
mke2fs 1.47.0 (5-Feb-2023)
Found a gpt partition table in /dev/sde
Proceed anyway? (y,N) y
Creating filesystem with 122096646 4k blocks and 30531584 inodes
Filesystem UUID: a8f8104f-350c-4f7f-a4c1-7cba89b753ec
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 
        102400000

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (262144 blocks): done
Writing superblocks and filesystem accounting information: done     

 フォーマット後に、再度マウントしてみると、うまくいくはずです。

4 SSDへバックアップデータをコピーする

 仮想マシンのバックアップ先はlocalディスク上でした。local のディレクトリは、
/var/lib/vz
です。シェルから当該ディレクトリ内を見てみると、

# cd /var/lib/vz
# ls
dump  images  template

のように見えます。
 dumpディレクトリ内を見てみると、

vzdump-qemu-101-2025_02_11-20_36_26.log
vzdump-qemu-101-2025_02_11-20_36_26.vma.zst
vzdump-qemu-101-2025_02_11-20_36_26.vma.zst.notes

のような感じで、バックアップした仮想マシンが保存されていることがわかります。
 仮想マシンのデータをdumpディレクトリごと、SSDへコピーします。
# cp -r /var/lib/vz/dump /vmSSD
 コピーが完了したら、SSDをアンマウントしてノードから取り外します。
# umount /vmSSD

 次回は、SSDに保存した仮想マシンをリストアする手順を公開します。
 同じノードにリストアすれば、バックアップから仮想マシンを復元することとなりますし、異なるノードにリストアすればマイグレーションすることとなります。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?