proxmoxイメージインポートはイメージサイズに関係なく50GBのディスクを作成します

proxmoxイメージインポートはイメージサイズに関係なく50GBのディスクを作成します

RAW イメージから vm 101 のディスク イメージをインポートすると、50 GB のディスク イメージが作成されます。

# qm importdisk 101  disk.img local-zfs
importing disk '446-jenkinsmite.img' to VM 101 ...
transferred 0.0 B of 50.0 GiB (0.00%)
transferred 512.0 MiB of 50.0 GiB (1.00%)
transferred 1.0 GiB of 50.0 GiB (2.00%)
transferred 1.5 GiB of 50.0 GiB (3.00%)
...
transferred 49.9 GiB of 50.0 GiB (99.76%)
transferred 50.0 GiB of 50.0 GiB (100.00%)
transferred 50.0 GiB of 50.0 GiB (100.00%)
Successfully imported disk as 'unused0:local-zfs:vm-101-disk-0'

コマンド

qm create 101 --scsi0 local-zfs:0,import-from=/root/disk.img,size=13G

それでも 50GiB のディスクが作成されます。

イメージは (まだ) 50GB を占有していないので、スパース ファイルのように動作するはずです。

# zfs list rpool/data/vm-101-disk-0
NAME                       USED  AVAIL     REFER  MOUNTPOINT
rpool/data/vm-101-disk-0  12.2G  2.50T     12.2G  -

ただし、VM はディスク サイズを 50 GB として認識し、クラウド ゲスト ツールがインストールされている場合は、使用可能な領域を使い切るためにパーティションとファイル システムのサイズが変更され、時間が経つとその領域が使い果たされる可能性があります。

50GiB を超えるディスク イメージのインポートはまだ試していませんが、これも問題を引き起こす可能性があります...

イメージをインポートするときにターゲット ディスクのサイズを設定するにはどうすればよいですか?

答え1

すぐに回避策を見つけました。次のようなコマンドを実行して、ZFS サブボリュームのサイズを設定できます。

zfs set volsize=1GiB rpool/data/vm-101-disk-0

気をつけて!

  • 元の画像よりも小さいサイズを設定すると、データが失われます。
  • ボリューム名を間違って入力すると、データが失われます。

警告や確認のメッセージは表示されないので、サイズをよく計算し、適切なボリュームのサイズに変更するようにしてください。


また、proxmox ではディスク サイズが 50GiB として表示されます。

# qm list
  VMID NAME                 STATUS     MEM(MB)    BOOTDISK(GB) PID       
   101 VM 101               running    512               50.00 2128896   

これが何らかの好ましくない副作用につながるかどうかはわかりません (VM はディスクを ZFS サブボリューム サイズとして認識しているようです)。そのため、より適切なサイズのサブボリュームを作成するような、より良い解決策があれば幸いです。

関連情報