6.14.5 スワップ領域のサイズの増加

ゲストで構成されたスワップの量は増やすことができます。

  1. KVMホストで、新しいディスク・イメージを作成してゲストにアタッチします。

    たとえば、次のコマンドでは、ゲストdm01db01vm01.example.comにディスク・イメージswap2.imgが追加されます。

    # /opt/exadata_ovm/vm_maker --create --disk-image /EXAVMIMAGES/swap2.img
     --attach --domain dm01db01vm01.example.com
    [INFO] Allocating an image for /EXAVMIMAGES/swap2.img, size 50.000000G...
    [INFO] Running 'qemu-img create /EXAVMIMAGES/swap2.img 50.000000G '...
    [INFO] Create label gpt on /EXAVMIMAGES/swap2.img.
    [INFO] Running 'parted -a none -s /EXAVMIMAGES/swap2.img mklabel gpt'...
    [INFO] Running 'losetup -P -f /EXAVMIMAGES/swap2.img'...
    [INFO] Finding loop device...
    [INFO] loop device is /dev/loop0
    [INFO] Finding number of sectors...
    [INFO] 104857600 sectors
    [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/swap2.img
    [INFO] File /EXAVMIMAGES/GuestImages/dm01db01vm01.example.com/swap2.img is a reflink from 
    /EXAVMIMAGES/swap2.img and added as disk to domain dm01db01vm01.example.com
    [INFO] -------- MANUAL STEPS TO BE COMPLETED FOR MOUNTING THE DISK WITHIN DOMU dm01db01vm01
    .example.com --------
    [INFO] 1. Check a disk with name /dev/VGExaDbDisk.swap2.img/LVDBDisk exists.
    [INFO] - Run the command 'lvdisplay' to verify a disk with name '/dev/VGExaDbDisk.swap2.img/
    LVDBDisk' exists.
    [INFO] 2. Create a directory that will to be used for mounting the new disk.
    [INFO] 3. Add the following line to /etc/fstab: /dev/VGExaDbDisk.swap2.img/LVDBDisk <mount_
    point_from_step_2> <fstype> defaults 1 1
    [INFO] 4. Mount the newly added disk to mount point through the command: mount -a.

    出力に記載された手動のステップは実行しないでください。ただし、手動のステップ番号1で示される論理ボリューム・パスをノートにとります。

    一般的に、論理ボリューム・パスの形式は/dev/VolumeGroupName/LogicalVolumeNameです。

    この例では、論理ボリューム・パスは/dev/VGExaDbDisk.swap2.img/LVDBDiskです。

  2. ゲストで、新しい論理ボリュームをスワップ・デバイスとして構成します。

    mkswapコマンドを使用し、/etc/fstabファイルで現在使用されていない一意のラベルで新しい論理ボリュームを構成します。

    次の例では、スワップ・デバイス・ラベルはSWAP2、論理ボリューム・パスは/dev/VGExaDbDisk.swap2.img/LVDBDiskです。

    # mkswap -L SWAP2 /dev/VGExaDbDisk.swap2.img/LVDBDisk
  3. ゲストで、新しいスワップ・デバイスを有効にします。

    -Lオプションを指定してswaponコマンドを使用し、新しく作成したスワップ・デバイスのラベルを指定します。

    次に例を示します:

    # swapon -L SWAP2
  4. ゲストで、swapon -sコマンドを使用して、新しいスワップ・デバイスが有効になっていることを確認します。

    次に例を示します:

    # swapon -s
    Filename                   Type            Size      Used     Priority
    /dev/dm-3                  partition       8388604   306108   -1
    /dev/VGExaDb/LVDbSwap2     partition       8388604   0        -2
    
  5. ゲストで、/etc/fstabファイルを編集して新しいスワップ・デバイスを含めます。

    存在するスワップ・エントリをコピーして、新しいエントリのLABEL値を、新しいスワップ・デバイスの作成で使用したラベルに変更できます。

    次の例では、新しいスワップ・デバイスが、/etc/fstabファイルにLABEL=SWAP2を使用して追加されます。

    # cat /etc/fstab
    LABEL=DBSYS   /                                            ext4    defaults        1 1
    LABEL=BOOT    /boot                                        ext4    defaults,nodev  1 1
    tmpfs         /dev/shm                                     tmpfs   defaults,size=7998m 0
    devpts        /dev/pts                                     devpts  gid=5,mode=620  0 0
    sysfs         /sys                                         sysfs   defaults        0 0
    proc          /proc                                        proc    defaults        0 0
    LABEL=SWAP    swap                                         swap    defaults        0 0
    LABEL=SWAP2   swap                                         swap    defaults        0 0
    LABEL=DBORA   /u01                                         ext4    defaults        1 1
    /dev/xvdb     /u01/app/12.1.0.2/grid                       ext4    defaults        1 1
    /dev/xvdc     /u01/app/oracle/product/12.1.0.2/dbhome_1    ext4    defaults        1 1