6.14.1 新規LVMディスクのゲストへの追加
新しいLVMディスクをOracle Linux KVMゲストに追加すると、ゲストで使用可能なディスク領域の量を増やすことができます。
ファイル・システムまたはスワップ領域のサイズを拡大するために、ゲストにLVMディスクを追加できます。この手順の実行中も、システムはオンラインのままです。
ノート:
この手順では、KVMホストとゲストの両方でアクションを実行します。すべてのステップを、rootユーザーとして実行してください。
- KVMホストで、
/EXAVMIMAGESに十分な空きディスク領域があることを確認します。次に例を示します:# df -h /EXAVMIMAGES Filesystem Size Used Avail Use% Mounted on /dev/mapper/VGExaDb-LVDbExaVMImages 1.5T 39G 1.5T 3% /EXAVMIMAGES - KVMホストで、新しいディスク・イメージを作成してゲストにアタッチします。
たとえば、次のコマンドはゲスト固有の
pv2_vgexadb.imgというディスク・イメージを、ゲストdm01db01vm01.example.comに追加します。# /opt/exadata_ovm/vm_maker --create --disk-image /EXAVMIMAGES/GuestImages/dm01db01vm01.example.com/pv2_vgexadb.img --attach --domain dm01db01vm01.example.com [INFO] Allocating an image for /EXAVMIMAGES/GuestImages/dm01db01vm01.example.com/pv2_vgexadb.img, size 52.000000G... [INFO] Running 'qemu-img create /EXAVMIMAGES/GuestImages/dm01db01vm01.example.com/pv2_vgexadb.img 52.000000G '... [INFO] Create label gpt on /EXAVMIMAGES/GuestImages/dm01db01vm01.example.com/pv2_vgexadb.img. [INFO] Running 'parted -a none -s /EXAVMIMAGES/GuestImages/dm01db01vm01.example.com/pv2_vgexadb.img mklabel gpt'... [INFO] Running 'losetup -P -f /EXAVMIMAGES/GuestImages/dm01db01vm01.example.com/pv2_vgexadb.img'... [INFO] Finding loop device... [INFO] loop device is /dev/loop0 [INFO] Finding number of sectors... [INFO] 109051904 sectors [INFO] Finding sector size... [INFO] 512 bytes per sector [INFO] Creating filesystem on /dev/VGExaDbDisk.pv2_vgexadb.img/LVDBDisk... [INFO] Running 'mkfs -t xfs -b size=4096 -f /dev/VGExaDbDisk.pv2_vgexadb.img/LVDBDisk '... [INFO] Checking that we have a file system on /dev/VGExaDbDisk.pv2_vgexadb.img/LVDBDisk... [INFO] Releasing loop device /dev/loop0... [INFO] Removing device maps for /dev/loop0... [INFO] Running 'kpartx -d -v /dev/loop0'... [INFO] Removing loop device /dev/loop0... [INFO] ## [INFO] ## Finished . [INFO] ## [INFO] Created image /EXAVMIMAGES/GuestImages/dm01db01vm01.example.com/pv2_vgexadb.img [INFO] Running 'vgscan --cache'... [INFO] -------- MANUAL STEPS TO BE COMPLETED FOR MOUNTING THE DISK WITHIN DOMU dm01db01vm01.example.com -------- [INFO] 1. Check a disk with name /dev/VGExaDbDisk.pv2_vgexadb.img/LVDBDisk exists. [INFO] - Check for the existence of a disk named: /dev/VGExaDbDisk.pv2_vgexadb.img/LVDBDisk. Use the 'lvdisplay' command and check the output. [INFO] 2. Create a mount directory for the new disk [INFO] 3. Add the following line to /etc/fstab: /dev/VGExaDbDisk.pv2_vgexadb.img/LVDBDisk <mount_point_from_step_2> <fstype> defaults 1 1 [INFO] 4. Mount the new disk. Use the 'mount -a' command. [INFO] Note: when detaching and re-attaching the same disk multiple times, run the following command after detaching and before attaching in the guest domain: [INFO] 'lvm vgchange VGExaDbDisk.pv2_vgexadb.img -a -n' when re-attaching the same disk.この時点では、出力の最後に説明されている手動のステップを実行しないでください。ただし、手動のステップ番号1で示される論理ボリューム・パスをノートにとります。一般的に、論理ボリューム・パスの形式は
/dev/VolumeGroupName/LogicalVolumeNameです。この例では、論理ボリューム・パスは/dev/VGExaDbDisk.pv2_vgexadb.img/LVDBDiskです。 - KVMホストで、ゲストの使用可能なディスク・イメージをリストし、新規ディスク・イメージが作成されたことを確認します。
前述のステップの例では、ディスク・イメージ・ファイルは
/EXAVMIMAGES/GuestImages/dm01db01vm01.example.com/pv2_vgexadb.imgとして識別されます。このイメージが、ゲストのディスク・イメージのリストに表示されるようになります。次に例を示します:# /opt/exadata_ovm/vm_maker --list --disk-image --domain dm01db01vm01.example.com File /EXAVMIMAGES/GuestImages/dm01db01vm01.example.com/System.img File /EXAVMIMAGES/GuestImages/dm01db01vm01.example.com/grid19.2.0.0.0.img File /EXAVMIMAGES/GuestImages/dm01db01vm01.example.com/db19.2.0.0.0-3.img File /EXAVMIMAGES/GuestImages/dm01db01vm01.example.com/pv1_vgexadb.img File /EXAVMIMAGES/GuestImages/dm01db01vm01.example.com/pv2_vgexadb.img - ゲストで、新しく追加されたディスクを特定します。
前述の論理ボリューム・パスとともに
lvdisplayコマンドを使用します。# lvdisplay /dev/VGExaDbDisk.pv2_vgexadb.img/LVDBDisk --- Logical volume --- LV Path /dev/VGExaDbDisk.pv2_vgexadb.img/LVDBDisk LV Name LVDBDisk VG Name VGExaDbDisk.pv2_vgexadb.img LV UUID ePC0Qe-PfOX-oCoP-Pd5n-2nDj-z0KU-c9IygG LV Write Access read/write LV Creation host, time dm01db01vm01.example.com, 2022-01-10 03:06:18 -0800 LV Status available # open 0 LV Size 50.00 GiB Current LE 12800 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 252:11 - ゲストで、追加したディスク用に作成された論理ボリュームおよびボリューム・グループを削除します。新たに作成したディスクを使用して既存のボリューム・グループを拡張するには、このステップを実行する必要があります。
- 論理ボリュームを削除します。
この例では、論理ボリューム・パスは
/dev/VGExaDbDisk.pv2_vgexadb.img/LVDBDiskです。# lvremove /dev/VGExaDbDisk.pv2_vgexadb.img/LVDBDisk Do you really want to remove active logical volume VGExaDbDisk.pv2_vgexadb.img/LVDBDisk? [y/n]: y Logical volume "LVDBDisk" successfully removed - 論理ボリュームに付属するボリューム・グループを削除します。
この例では、ボリューム・グループ名は
VGExaDbDisk.pv2_vgexadb.imgです。# vgremove VGExaDbDisk.pv2_vgexadb.img Volume group "VGExaDbDisk.pv2_vgexadb.img" successfully removed
この時点で残っているのは、論理ボリュームもボリューム・グループもない物理ボリュームのみです。 - 論理ボリュームを削除します。
- ゲストで、新しく追加されたディスクの物理ボリューム・デバイスを特定します。
pvdisplayコマンドを使用して、新しい物理ボリュームを見つけます。次の例は、新しい物理ボリュームを強調するために出力が切り捨てられています。
# pvdisplay ... "/dev/sdf1" is a new physical volume of "<50.00 GiB" --- NEW Physical volume --- PV Name /dev/sdf1 VG Name PV Size <50.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID tfb8lM-eHe9-SPch-8UAu-pkHe-dAYx-ez3Sru ... - ゲストで、新しい物理ボリュームを使用して、既存のボリューム・グループを拡張できます。
次の例では、新しい物理ボリューム(
/dev/sdf1)が、ボリューム・グループVGExaDbを拡張するために使用されます。このvgdisplayの出力は、VGExaDbを強調するために切り捨てられています。# vgdisplay -s ... "VGExaDb" 88.00 GiB [88.00 GiB used / 0 free] ... # vgextend VGExaDb /dev/sdf1 Volume group "VGExaDb" successfully extended # vgdisplay -s ... "VGExaDb" <139.24 GiB [88.00 GiB used / <51.24 GiB free] ...
この手順によりボリューム・グループに追加される追加の領域を使用して、様々なファイル・システムのサイズを増やすには、次のトピックを参照してください。
親トピック: ゲストのディスク領域の増加