スズハドットコム

IT関連や3Dプリンタの記事、たまに生活のメモを書いていきます。

Intel N100ミニPCにProxmox VE導入 ①とりあえず触ってみる

VMwareがBroadcomに買収されたことで製品体系が変わり、無償のESXiが無くなってしまいます。
無償版VMware ESXiも対象 VMware、サブスクリプション移行に伴い複数製品を販売終了 - ITmedia エンタープライズ

私のような自宅サーバ用途では無償だからこそ使っていたという人が多いのではないでしょうか。有償化されたら使えません。
移行先としてProxmox VEが注目されているみたい?です。
ProxmoxはVMware製品の代替になるか? 複数製品の販売終了を受けてVeeamが検討を進める - ITmedia エンタープライズ

私の自宅サーバはKVMでリプレース済みでしたが、いい機会なのでProxmox VEも試してみましょう。
suzu-ha.com

もくじ


環境

  • CHUWI Larkbox X 2023
  • Proxmox VE 8.1-1

インストール

ISOイメージをダウンロードして、etcherなどでブート用USBメモリを作って、インストーラを起動します。
インストール自体は迷うポイントもなく簡単ですね。
Installation - Proxmox Virtual Environment

設定いろいろ

設定画面を開く

インストールできたら、ブラウザでWeb GUIを開きます。
http://サーバのIPアドレス:8006 です。
ユーザ名はroot、パスワードはインストール中に設定したものです。
ちなみに言語を変更するとユーザ名、パスワード欄の中身が消えるので、先に変更しましょう。

ログイン成功すると「 有効なサブスクリプションがありません」ダイアログが表示されます。閉じて構いません。

リポジトリの設定とアップデート

左側のツリーで[データセンター]の下にあるサーバを選択し、その右側のメニューから[アップデート]-[リポジトリ]を選択します。

デフォルトでenterpriseリポジトリが登録されており、有効なサブスクリプションがないとエラーになりますので、設定変更します。

[追加]ボタンを押して、No-Subscriptionリポジトリを追加します。

enterprise.proxmox.comの方( 2個)は無効化しましょう。
行を選択して[Disable]ボタンを押します。
このようになります。

メニューから[アップデート]を選択し、[再表示]ボタンを押します。(apt updateに相当)
その後、[アップグレード]ボタンを押します。(apt dist-upgradeに相当)

別ウインドウでコンソールが開き、アップグレードの進行状況が表示されます。

アップデート後、再起動を促すメッセージが表示されていたら再起動しましょう。

ストレージ

デフォルトのストレージ構成

デフォルトでは以下の2つが作成されました。
インストールに必要なISOイメージは「local」に、VMディスクは「local-lvm」に保存して使え、って感じですね。

  • local

形式はディレクトリです。
実体は /var/lib/vz です。
ISOイメージ、コンテナテンプレート、VZDumpバックアップファイルが格納できます。

  • local-lvm

形式はLVM-Thinです。
実体としては、PV「/dev/sda3」がVG「pve」に所属し、pveの中にthinpool「data」が作成されていました。
ディスクイメージ、コンテナを格納できます。

主なストレージ形式と特徴は以下のとおりです。
詳細は以下のページに書いてあります。
Storage - Proxmox VE
ざっと触れてみた感じでは、

  • 1つのディスクにディスクイメージもISOもバックアップも格納したければZFS
  • ディスクイメージ専用ならLVM-Thin

って感じですかね。

LVM-Thin

ディスクイメージ、コンテナを格納できます。
シンプロビジョニング、スナップショットに対応します。
仮想ディスク1個ごとにLVが1個作成されます。
(例)
337.86GiBのthinpool「data」内に、1000GiBのVMディスク「vm-100-disk-1」を作成できており、シンプロビジョニングであることが分かります。

root@proxmox:~# lvdisplay pve
  --- Logical volume ---
  LV Name                data
(中略)
  LV Size                337.86 GiB
(中略)

  --- Logical volume ---
  LV Path                /dev/pve/vm-100-disk-0
  LV Name                vm-100-disk-0
(中略)
  LV Pool name           data
(中略)
  LV Size                4.00 MiB
(中略)

  --- Logical volume ---
  LV Path                /dev/pve/vm-100-disk-1
  LV Name                vm-100-disk-1
(中略)
  LV Pool name           data
(中略)
  LV Size                1000.00 GiB
(中略)

  --- Logical volume ---
  LV Path                /dev/pve/vm-100-disk-2
  LV Name                vm-100-disk-2
(中略)
  LV Pool name           data
(中略)
  LV Size                4.00 MiB
(中略)
ZFS

ディスクイメージ、コンテナを格納できます。
シンプロビジョニング、スナップショットに対応します。
仮想ディスク1個ごとにzvolデータセットが1個作成されます。
(例)
899GBのZFS「ssd1tb-zfs」内に、1.95TBのVMディスク「vm-101-disk-1」を作成できており、シンプロビジョニングであることが分かります。

root@proxmox:~# zfs list -o name,used,avail,refer,volsize,mountpoint
NAME                       USED  AVAIL  REFER  VOLSIZE  MOUNTPOINT
ssd1tb-zfs                1.23M   899G    96K        -  /ssd1tb-zfs
ssd1tb-zfs/vm-101-disk-0   592K   899G   592K       1M  -
ssd1tb-zfs/vm-101-disk-1    56K   899G    56K    1.95T  -
ssd1tb-zfs/vm-101-disk-2    56K   899G    56K       4M  -

同時に、ZFSのマウントポイントまたはサブディレクトリを「ディレクトリ」として登録できます。
これにより、ZFSとして割り当てたディスク上にディスクイメージ、コンテナ以外のデータも格納できます。

ディレクトリ

ディスクイメージ、ISOイメージ、コンテナテンプレート、VZDumpバックアップファイル、コンテナ、スニペットを格納できます。(要するになんでもOK。)
仮想ディスクはファイルとして格納されます。
仮想ディスクをqcow2形式で作成すれば、シンプロビジョニング、スナップショットに対応すると説明されています。
(例)
900GBのファイルシステム「ssd1tb-zfs」内に、2TBのVMディスク「vm-102-disk-1.qcow2」を作成できており、シンプロビジョニングであることが分かります。

root@proxmox:~# df -h /ssd1tb-zfs
Filesystem      Size  Used Avail Use% Mounted on
ssd1tb-zfs      900G  596M  899G   1% /ssd1tb-zfs

root@proxmox:~# ls -lh /ssd1tb-zfs/ssd1tb-dir/images/102/
total 596M
-rw-r----- 1 root root 896K Feb  3 13:14 vm-102-disk-0.qcow2
-rw-r----- 1 root root 2.0T Feb  3 13:14 vm-102-disk-1.qcow2
-rw-r----- 1 root root 4.0M Feb  3 13:14 vm-102-disk-2.raw

ただ、ext4フォーマットのディレクトリにraw形式で仮想ファイルを作成しても、シンプロビジョニングになっているようでした。
シンプロビジョニング対応・非対応の条件がよくわかりません。
(例)
1TBのパーティション/dev/sdc1をext4フォーマットで使用していますが、ここにも2TBのVMディスク「vm-104-disk-1.raw」を作成できています。
ディスク使用量は13GBになっており、シンプロビジョニングですね。

root@proxmox:~# df -h /mnt/pve/hdd4tb-part1tb-dir
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdc1      1007G   13G  944G   2% /mnt/pve/hdd4tb-part1tb-dir

root@proxmox:~# mount | grep hdd4tb-part1tb-dir
/dev/sdc1 on /mnt/pve/hdd4tb-part1tb-dir type ext4 (rw,relatime)

root@proxmox:~# ls -lh /mnt/pve/hdd4tb-part1tb-dir/images/104/
total 13G
-rw-r----- 1 root root 896K Feb  3 14:17 vm-104-disk-0.qcow2
-rw-r----- 1 root root 2.0T Feb  3 14:29 vm-104-disk-1.raw
-rw-r----- 1 root root  17K Feb  3 14:29 vm-104-disk-2.raw

ネットワーク

デフォルトではブリッジ構成です。
「vmbr0」という名前でLinux Bridgeデバイスが作成されています。

SDN(Software Defined Network)という設定項目があり細かくいじれそうなので、おそらくProxmoxサーバ内部で閉じたVSWも作れると思われます。
が、ちょっと触っただけでは分からなかったので後で調べます。

バックアップ

デフォルトでバックアップ機能がありました。VMwareみたいにサードパーティ製品を入れる必要はないようです。

バックアップファイルはこのような形式でした。
どうやってリストアするんでしょうね?これも後で調べます。

root@proxmox:~# ls -lh /mnt/pve/hdd4tb-part1tb-dir/dump/
total 6.9G
-rw-r--r-- 1 root root  11K Feb  3 17:05 vzdump-qemu-101-2024_02_03-16_47_56.log
-rw-r--r-- 1 root root 6.9G Feb  3 17:05 vzdump-qemu-101-2024_02_03-16_47_56.vma.zst
-rw-r--r-- 1 root root    9 Feb  3 17:05 vzdump-qemu-101-2024_02_03-16_47_56.vma.zst.notes