Menu Close

Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

16.8.2. ディスクイメージの拡張

このセクションでは、ディスクイメージを拡張する簡単な例を示します。
  1. サイズを変更するディスクイメージを探します。コマンド virsh dumpxml GuestName は、libvirt ゲスト仮想マシンに使用できます。
  2. ゲスト仮想マシンを拡張する方法を決定します。次の出力に示すように、ゲスト仮想マシンディスクで virt-df -h および virt-list-partitions -lh を実行します。
    # virt-df -h /dev/vg_guests/RHEL6
    Filesystem                      Size       Used  Available  Use%
    RHEL6:/dev/sda1                98.7M      10.0M      83.6M   11%
    RHEL6:/dev/VolGroup00/LogVol00  6.8G       2.2G       4.3G   32%
    
    # virt-list-partitions -lh /dev/vg_guests/RHEL6
    /dev/sda1 ext3 101.9M
    /dev/sda2 pv 7.9G
    
この例では、次の方法を示します。
  • 最初の (ブート) パーティションのサイズを、約 100MB から 500MB に増やします。
  • ディスクの合計サイズを 8GB から 16GB に増やします。
  • 2 番目のパーティションを展開して、残りの領域を埋めます。
  • /dev/VolGroup00/LogVol00 を展開し、2 番目のパーティションの新しい領域を埋めます。
  1. ゲスト仮想マシンがシャットダウンしていることを確認します。
  2. 元のディスクの名前をバックアップとして変更します。これを行う方法は、元のディスクのホスト物理マシンのストレージ環境によって異なります。ファイルとして保存されている場合は、mv コマンドを実行します。(この例で示しているように) 論理ボリュームの場合は、lvrename を使用します。
    # lvrename /dev/vg_guests/RHEL6 /dev/vg_guests/RHEL6.backup
    
  3. 新しいディスクを作成します。この例の要件は、ディスクの合計サイズを最大 16GB まで拡張することです。論理ボリュームが使用されるため、以下のコマンドが使用されます。
    # lvcreate -L 16G -n RHEL6 /dev/vg_guests
    Logical volume "RHEL6" created
    
  4. 手順 2 の要件は、以下のコマンドで表されます。
    # virt-resize \
           /dev/vg_guests/RHEL6.backup /dev/vg_guests/RHEL6 \
           --resize /dev/sda1=500M \
           --expand /dev/sda2 \
           --LV-expand /dev/VolGroup00/LogVol00
    
    最初の 2 つの引数は、入力ディスクと出力ディスクです。--resize /dev/sda1=500M は、最初のパーティションのサイズを最大 500MB に変更します。--expand /dev/sda2 は、残りのすべてのスペースを埋めるために 2 番目のパーティションを展開します。--LV-expand /dev/VolGroup00/LogVol00 は、ゲスト仮想マシンの論理ボリュームを拡張して、2 番目のパーティションの余分なスペースを埋めます。
    virt-resize は、出力で実行している処理を説明します。
    Summary of changes:
       /dev/sda1: partition will be resized from 101.9M to 500.0M
       /dev/sda1: content will be expanded using the 'resize2fs' method
       /dev/sda2: partition will be resized from 7.9G to 15.5G
       /dev/sda2: content will be expanded using the 'pvresize' method
       /dev/VolGroup00/LogVol00: LV will be expanded to maximum size
       /dev/VolGroup00/LogVol00: content will be expanded using the 'resize2fs' method
       Copying /dev/sda1 ...
       [#####################################################]
       Copying /dev/sda2 ...
       [#####################################################]
       Expanding /dev/sda1 using the 'resize2fs' method
       Expanding /dev/sda2 using the 'pvresize' method
       Expanding /dev/VolGroup00/LogVol00 using the 'resize2fs' method
    
  5. 仮想マシンを起動してみてください。正常に機能している場合 (および徹底的なテストを行った後) は、バックアップディスクを削除できます。失敗した場合は、仮想マシンをシャットダウンして、新しいディスクを削除し、バックアップディスクの名前を元の名前に戻します。
  6. virt-df または virt-list-partitions を使用して、新しいサイズを表示します。
    # virt-df -h /dev/vg_pin/RHEL6
       Filesystem                      Size       Used  Available  Use%
       RHEL6:/dev/sda1               484.4M      10.8M     448.6M    3%
       RHEL6:/dev/VolGroup00/LogVol00 14.3G       2.2G      11.4G   16%
    
ゲスト仮想マシンのサイズ変更は正確な科学ではありません。virt-resize が失敗した場合は、virt-resize(1) の man ページに、確認して試すことができるヒントが複数あります。一部の古い Red Hat Enterprise Linux ゲスト仮想マシンに場合は、GRUB に関するヒントに特に注意を払う必要がある場合があります。