Red Hat Training

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

21.8. virt-resize: ゲスト仮想マシンのオフラインでのサイズ変更

本セクションでは、オフラインゲスト仮想マシンのサイズ変更を説明します。

21.8.1. はじめに

本セクションでは、virt-resize (ゲスト仮想マシンを拡張または縮小するためのツール)を説明します。これは、オフライン(shut down)のゲスト仮想マシンでのみ機能します。これは、ゲスト仮想マシンイメージをコピーし、元のディスクイメージが変更されないようにすることで機能します。バックアップとして元のイメージを使用できるので、理想的にはディスク領域が 2 倍に必要になるため、トレードオフが生じます。

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

このセクションでは、ディスクイメージを拡張する簡単なケースを説明します。
  1. サイズを変更するディスクイメージを見つけます。libvirt ゲスト仮想マシンの virsh dumpxml GuestName コマンドを使用できます。
  2. ゲスト仮想マシンの拡張方法を決定します。以下の出力で示すように、ゲスト仮想マシンディスクで virt-df -h および virt-filesystems を実行します。
    # virt-df -h -a /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-filesystems -a disk.img --all --long -h
    /dev/sda1 ext3 101.9M
    /dev/sda2 pv 7.9G
    
以下の例は、次の方法を示しています。
  • 1 番目の (boot) パーティションを約 100MB から 500MB に拡大する
  • ディスクの合計サイズを 8GB から 16GB に拡大する
  • 2 番目のパーティションを展開して、残りの領域を入力します。
  • /dev/VolGroup00/LogVol00 を展開して、2 番目のパーティションに新しい領域を入力します。
  1. ゲスト仮想マシンがシャットダウンしていることを確認します。
  2. 元のディスクをバックアップとして変更します。その手順は、元のディスクのホストの物理マシンのストレージ環境によって異なります。ファイルとして保存されている場合は、mv コマンドを使用します。(上記の例にあるように)論理ボリュームの場合は、lvrename を使用します
    # lvrename /dev/vg_guests/RHEL6 /dev/vg_guests/RHEL6.backup
  3. 新規ディスクを作成します。この例の要件は、最大 16 GB までのディスクサイズを拡大しています。ここで論理ボリュームが使用されるため、以下のコマンドを使用します。
    # 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 は、最初のパーティションのサイズを最大 500 MB に変更します。--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-filesystems を使用して、新しいサイズを表示します。
    # virt-df -h -a /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 が失敗する場合は、man ページの virt-resize(1)で確認および試行できるヒントが複数あります。一部の以前の Red Hat Enterprise Linux ゲスト仮想マシンについては、GRUB に関するヒントに特に注意を払う必要があります。

このページには機械翻訳が使用されている場合があります (詳細はこちら)。