3.3. ISO イメージのアップロードと仮想マシンの作成
次に、ISO イメージをアップロードし、Proxmox VE で仮想マシンを作成して、LVM の内部論理関係をいくつか確認し、Proxmox VE 7.0 を例として説明します。
3.3.1. ISO イメージのアップロードと LVM の関係
図 17 に示すように、Proxmox VE 7.0 インターフェイスで、「pve→local(pve)→ISO イメージ→アップロード」を選択し、ローカル ISO イメージを選択し、「アップロード」ボタンをクリックして ISO イメージをアップロードします。
ISO イメージがアップロードされると、図 18 に示すイメージ情報が Proxmox VE 7.0 インターフェイスに表示されます。
ISO イメージがアップロードされたら、図 19 に示すように、Proxmox VE 7.0 インターフェイスを通じて論理ボリューム ルートのストレージ ポイント「local(pve)」を見てみましょう。
図 19 からわかるように、ISO イメージがアップロードされた後、論理ボリューム ルートのスペース使用率は 60% に達します。論理ボリューム ルートにはデフォルトで 3GB のデータがあることに注意してください。このデータの番号とソースは現時点では不明であり、Proxmox 公式 Web サイトのドキュメントには関連する紹介がありません。
また、図 20 に示すように、サードパーティの WEB UI 監視から、ISO イメージのアップロード後、論理ボリューム ルートのスペース使用量が 66% に達していることがわかります。
図 19 の論理ボリューム ルートの統計値が図 20 の統計値と異なるのは、主に Proxmox VE インターフェイスの統計方法がサードパーティの WEB UI および CLI コマンド ラインの統計方法と異なるためです。 Proxmox VE インターフェースの統計値が大きすぎますが、サードパーティの WEB UI および CLI コマンドラインの統計値は正確です。
上記は WEB UI を使用して表示することですが、コマンド ライン CLI を使用して表示することもできます。次のように、より詳細な論理ボリューム ルート情報が表示されます。
root@pve:~# ls /var/lib/vz/template/iso #逻辑卷root的存储路径是/var/lib/vz
ubuntu-20.04.3-desktop-amd64.iso #ISO镜像
root@pve:~# ls -lht /var/lib/vz/template/iso #ISO镜像的空间大小
total 2.9G
-rw-r--r-- 1 root root 2.9G Sep 28 09:50 ubuntu-20.04.3-desktop-amd64.iso
3.3.2. 仮想マシンとLVM間の関係の作成
「3.2.1. Proxmox VE デフォルト物理ボリューム (PV)」の章では、論理ボリューム データが 3 つの部分、つまり論理ボリューム data_tmeta (データ プールの管理と取得に使用されるメタデータ プール)、論理ボリューム、論理ボリュームの 3 つの部分で構成されていることを学びました。ボリューム data_tdata (データ プール、仮想マシン ディスクに使用)、論理ボリューム lvol0_pmspare (メタデータ プールのバックアップ)。
次に、仮想マシンを作成するときに、Proxmox VE 7.0 は論理ボリューム data_tdata からスペースを分割し (つまり、仮想マシン ディスクにスペースを割り当てます)、それを仮想マシン ディスクとして使用します。そのため、この仮想マシン ディスクもこのメソッドは論理ボリューム data_tdata に保存されています。仮想マシンを作成して、これが当てはまるかどうかを確認してみましょう。
ステップ 1: 図 21 に示すように、仮想マシン VM100 を作成し、32 GB の仮想マシン ディスクを割り当てます。仮想マシン ディスクのフォーマットは raw で、ストレージの場所は論理ボリューム data_tdata 内にあります。
図 21 に示すように、論理ボリューム data_tdata のストレージ ポイントは local-lvm にあり、32 GB のスペースが論理ボリューム data_tdata から手動で「切り取られ」、仮想マシン ディスクとして使用されます。図 22 に示すように、論理ボリューム data_tdata 上のブロック ストレージ。
仮想マシンが作成されると、図 23 に示すように、サードパーティの WEB UI 監視で、仮想マシンのディスクが論理ボリュームであることがわかります。
仮想マシン ディスク vm-100-disk-0 は論理ボリューム データ上のブロック ストレージですが、図 23 から、仮想マシン ディスクの容量は 32GB であるのに対し、論理ボリューム データの容量は 18.87GB しかないことがわかります。合理的ですね? 結局のところ、仮想マシンのディスク領域は論理ボリュームのデータから切り出されます。
これは実際にはクラウド コンピューティングの「過剰割り当て」現象です。いわゆる過剰割り当てとは、仮想マシン ディスクに 32 GB の領域を割り当てましたが、仮想マシン ディスク上にデータがなく、その領域の使用量が存在しないことを意味します。率は 0% で、実際にはスペースを取りません。クラウド コンピューティングでは、オーバープロビジョニング現象がよく発生します。特に、パブリック クラウド ベンダーが顧客に販売するクラウド ホストは、多くの場合、オーバープロビジョニングされています。顧客がクラウド ホストのスペースとコンピューティング能力を使い果たしていないことに賭けます。これが、私たちがよく行うことです。売られ過ぎ現象と言う。
次に、図 24 に示すように、仮想マシン ディスクと論理ボリューム データの関係、および仮想マシン ディスクのファイル システム タイプを見てみましょう。
図 24 から、論理ボリューム vm-100-disk-0 (仮想マシン vm100 の最初のハードディスク) が論理ボリューム データのブロック ストレージであり、論理ボリューム vm-100 のファイル システムであることがわかります。 -disk-0 は ext4 ではなく ext3 であり、論理ボリューム vm-100-disk-0 にはマウント ポイントがありません。
Proxmox VE 7.0 によって仮想マシン ディスク上に作成されるファイル システムが ext4 ではなく ext3 である理由は、主に安定性の点では ext3 の方が ext4 よりも安定していますが、ext4 の方が効率的であるためです。もちろん、仮想マシンのディスクを ext4 としてフォーマットすることもできます。
図 1 では、仮想マシン ディスクにマウント ポイントがないことがわかり、図 24 からも、仮想マシン ディスクにマウント ポイントがないことがわかります。
仮想マシンの作成後の、Proxmox VE 7.0 の仮想マシン ディスクのプロパティとストレージの場所を図 25 と図 26 に示します。
KVMの特徴をよく理解していれば分かると思いますが、KVMはLVMタイプのストレージプールであり、ホストマシン上のボリュームグループ(VG)内のLV(論理ボリューム)を仮想マシンとして仮想マシンに割り当てることができます。マシン ディスク. 私たちが今説明したことは、実際には KVM の機能です。Proxmox VE の仮想化テクノロジーは KVM に基づいているためです。
ただし、ネイティブ KVM では、ディスクの MBR ブート レコードがないため、論理ボリュームを仮想マシンのブート ディスクとして使用することはできず、データ ディスクとしてのみ使用できます。つまり、割り当てたばかりの vm-100-disk-0 ディスクは、仮想マシンの起動ディスクとしては使用できず、データ ディスクとしてのみ使用できます。図 27 に示すように、これが当てはまるかどうかを見てみましょう。
図 27 によると、仮想マシン ディスク vm-100-disk-0 がブート ディスクおよび起動ディスクであることがわかります。ここから、Proxmox VE が KVM 機能の二次的な最適化と開発を行っていることもわかります。
ステップ 2: 図 28、図 29、および図 30 に示すように、仮想マシン VM100 に 2 番目の仮想マシン ディスクを追加します。
図 28 に示すように、論理ボリューム data_tdata のストレージ ポイントは local-lvm にあり、32 GB のスペースが論理ボリューム data_tdata から手動で「切り取られ」、仮想マシン ディスクとして使用されます。図 31 に示すように、論理ボリューム data_tdata 上のブロック ストレージ。
仮想マシンの作成後、図 32 および図 33 に示すように、サードパーティの WEB UI 監視で、仮想マシンのディスクが論理ボリュームであることがわかります。
次に、コマンド ライン CLI を使用して、以下に示す仮想マシンのディスク情報を表示します。
仮想マシンのディスクストレージの場所:
root@pve:~# ls /dev/pve/
root swap vm-100-disk-0 vm-100-disk-1 #虚拟机磁盘存放位置
仮想マシンのディスクは論理ボリュームです。
root@pve:~# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
data pve twi-aotz-- 18.87g 0.00 1.58
root pve -wi-ao---- 9.75g
swap pve -wi-ao---- 4.00g
vm-100-disk-0 pve Vwi-aotz-- 32.00g data 0.00 #虚拟机磁盘是逻辑卷
vm-100-disk-1 pve Vwi-aotz-- 32.00g data 0.00 #虚拟机磁盘是逻辑卷
仮想マシンのディスク論理ボリュームの詳細:
root@pve:~# lvdisplay
--- Logical volume ---
LV Path /dev/pve/vm-100-disk-0 #逻辑卷文件路径
LV Name vm-100-disk-0 #逻辑卷文件名称
VG Name pve #卷组名称
LV UUID vp0b7M-jxNt-BDA7-PegD-G2lT-lkA0-VeCi2w
LV Write Access read/write
LV Creation host, time pve, 2021-09-28 10:44:16 +0800
LV Pool name data #逻辑卷存储池名称
LV Status available
# open 1
LV Size 32.00 GiB #逻辑卷分配32GB空间
Mapped size 0.00%
Current LE 8192
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:6
--- Logical volume ---
LV Path /dev/pve/vm-100-disk-1 #逻辑卷文件路径
LV Name vm-100-disk-1 #逻辑卷文件名称
VG Name pve #卷组名称
LV UUID mOoqZE-T2JT-Dddo-bXmq-AHQ1-S683-daCDk0
LV Write Access read/write
LV Creation host, time pve, 2021-09-29 14:26:33 +0800
LV Pool name data
LV Status available
# open 1
LV Size 32.00 GiB
Mapped size 0.00%
Current LE 8192
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:7
Proxmox VE 7.0 のすべてのブロック デバイス情報を表示します。
root@pve:~# lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINT
sda
├─sda1
├─sda2 vfat FAT32 F92A-97E4
└─sda3 LVM2_member LVM2 001 Ny0mtE-hiIR-IVRB-33aA-dKZe-uKyL-gtbWkM
├─pve-swap swap 1 d971d023-1e21-4db4-b083-35581f2fc965 [SWAP]
├─pve-root ext4 1.0 9cbd71dd-b8a4-473e-a503-48c8c0c0928b 3.2G 61% /
├─pve-data_tmeta #逻辑卷data_tmeta,元数据池
│ └─pve-data-tpool
│ ├─pve-data
│ ├─pve-vm--100--disk--0 #元数据,用于管理与检索pve-vm--100--disk--0
│ └─pve-vm--100--disk--1 #元数据,用于管理与检索pve-vm--100--disk--1
└─pve-data_tdata #逻辑卷data_tdata,数据池
└─pve-data-tpool
├─pve-data
├─pve-vm--100--disk--0 #虚拟机磁盘
└─pve-vm--100--disk--1 #虚拟机磁盘
ステップ 3: 図 34、図 35、図 36、および図 37 に示すように、2 番目の仮想マシン VM101 を作成し、2 つの仮想マシン ディスクを直接追加します。
図 34 に示すように、論理ボリューム data_tdata のストレージ ポイントは local-lvm にあり、32 GB のスペースが論理ボリューム data_tdata から手動で「切り取られ」、仮想マシン ディスクとして使用されます。図 37 に示すように、論理ボリューム data_tdata 上のブロック ストレージ。
仮想マシンが作成されると、図 38 に示すように、サードパーティの WEB UI 監視で、仮想マシンのディスクが論理ボリュームであることがわかります。