ページの先頭です。
ここから本文です。

よくあるご質問(サポートFAQ)

【ftサーバ/Linux】swap領域を拡張することはできますか?

質問内容

swap領域を拡張することはできますか?

回答内容

お客様の環境が以下の条件を満たしている場合に限り、swapパーティションを拡張可能です。
拡張とは、現在稼働しているswapパーティションとは別のパーティションを新たに用意して、複数のswapパーティションを使用するように構成することを示します。

[拡張可能条件]
本手順を実行するには、ご利用の環境が以下の条件を満たしている必要があります。

  1. システムディスク内に拡張したいサイズより大きい空き領域が残っていること。
  2. システムディスク内の既存のパーティションの数が15未満であること。(extended領域を含む数です。)
システムディスクとは、OSがインストールされている内蔵ハードディスクを示します。
上記の条件を満たさない環境では、OS標準の機能でパーティションを拡張せず swap ファイルを追加することで swap サイズを増やす方法がございます。詳細については、レッドハット社の情報をご参照願います。

[swapパーティション拡張手順]

[重要]

  • 本手順に記載している手順は、rootユーザで実行しなければなりません。
  • 以下で記載している表示例の内容については、ご使用の機種やOSのバージョン等によって異なる部分がございます。
[1. 事前準備]
  1. OSがインストールされている内蔵ディスクのデバイス名及び使用しているRAIDデバイス名をftdiskadmコマンドで確認してください。

    以下の例では、OSがインストールされている内蔵ディスクをスロット1(CPU/IOモジュール0のスロット0)、スロット9(CPU/IOモジュール1 のスロット0)に挿入されているものとします。 デバイス名はそれぞれ /dev/sda、/dev/sdi であること、及びRAIDデバイスはmd0 ~ md3を作成済であることが確認できます。

    [例]

    # /opt/nec/ftras/sbin/ftdiskadm
    
    Command action
       1  List RAID Arrays
       2  List Internal Disks
       3  Make Mirroring Arrays   (RAID1)
       4  Repair Mirroring Arrays (RAID1)
       5  Delete Mirroring Arrays (RAID1)
       6  Remove Disk Partitions  (RAID1)
       7  Make Striping Array     (RAID1+0)
       8  Delete Striping Array   (RAID1+0)
       c  Configurations
       q  Quit
    
    Command: 1
    
    [List RAID Arrays]
    
    Name Partition     (Label)   Status    Member
    =================================================================
    < Mirroring Array (RAID1)  > 
    md0  /boot      ( - )    DUPLEX    (1)sda1   (9)sdi1
    md1  /var/crash    ( - )    DUPLEX    (1)sda2   (9)sdi2
    md2  /              ( - )    DUPLEX    (1)sda3   (9)sdi3
    md3  swap           ( - )    DUPLEX    (1)sda5   (9)sdi5
    

  2. システムディスクの空き容量、及び既存のパーティションの数をfdiskコマンド等で確認してください。

  3. 前項までの確認結果をもとに、これから作成するswapパーティションの詳細を決定してください。
    以降の例では、システムディスク(sda及びsdi)にそれぞれ4096MBのパーティション(sda6、sdi6)を作成し、RAID1デバイス(md4) を構成する手順を示しています。
[2. SWAP領域の拡張]
  1. スロット1(CPU/IOモジュール0のスロット0)、スロット9(CPU/IOモジュール1のスロット0)のシステムディスクの空き領域にfdiskコマンドで追加パーティションを作成してください。
    以下の例では、スロット1(CPU/IOモジュール0のスロット0)のシステムディスクの空き領域に4096MBのパーティションを追加しています。

    スロット9(CPU/IOモジュール1のスロット0)に対しても、同様の手順でパーティションを作成してください。 ただし、追加するパーティションサイズ及び配置は同じでなければいけません。

    システムディスクに 200GB SSD [N8850-052] を使用していない場合

    <<< fdiskコマンドを起動し、コマンド"p"を入力してパーティション状態を
      確認します >>>
    # fdisk /dev/sda
    Command (m for help): p ----------------------------------------- (*2)
    
    Disk /dev/sda: 73.2 GB, 73200476160 bytes
    255 heads, 63 sectors/track, 8899 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optical): 512 bytes / 512 bytes
    Disk identifier: 0x000279e0
    
       Device Boot   Start    End     Blocks   Id   System
    /dev/sda1   *        1     33     262144   fd   Linux raid autodetect
    Partition 1 does not end on cylinder boundary.
    /dev/sda2           34   4210   33551752+  fd   Linux raid autodetect
    /dev/sda3         4211   6168   15727635   fd   Linux raid autodetect
    /dev/sda4         6169   6951   21936757+   5   Extended
    /dev/sda5         6169   6951    6289416   fd   Linux raid autodetect
    
    <<< 追加パーティション(/dev/sda6)をコマンド "n"で作成し、
      コマンド "t"でIdを"fd(Linux raid自動検出)"に変更します >>>
    Command (m for help): n ----------------------------------------- (*3)
    First cylinder (6952-8899, default 6952): <Enter>
    Using default value 6952
    Last cylinder, +cylinders or +size{K,M,G} (6952-8899, default 8899):
     +4096M
    
    Command (m for help): t ----------------------------------------- (*5)
    Partition number (1-6): 6 --------------------------------------- (*6)
    Hex code (type L to list codes): fd ----------------------------- (*7)
    Changed system type of partition 6 to fd (Linux raid autodetect)
    
    Command (m for help): p ----------------------------------------- (*8)
     (中略)
    /dev/sda6        6952   7450    4008186   fd   Linux raid autodetect
    
    <<< コマンド"w"を入力してパーティション情報を保存します >>>
    Command (m for help): w  ---------------------------------------- (*9)
    The partition table has been altered!
    
    Calling ioctl() to re-read partition table.
    
    WARNING: Re-reading the partition table failed with error 16: Device
     or resource busy.
    The kernel still uses the old table. The new table will be used at
    the next reboot or after you run partprobe(8) or kpartx(8)
    Syncing disks.
    

    R320cでシステムディスクに 200GB SSD [N8850-052] を使用している場合

    <<< fdiskコマンドを起動し、コマンド"u"を入力してセクタ単位での操作に
      変更します >>>
    # fdisk /dev/sda
    Command (m for help): u ----------------------------------------- (*1)
    Changing display/entry units to sectors
    
    <<< コマンド"p"を入力してパーティション状態を確認します >>>
    Command (m for help): p ----------------------------------------- (*2)
    
    Disk /dev/sda: 200.0 GB, 200000000000 bytes
    255 heads, 63 sectors/track, 24315 cylinders, total 390625000 sectors
    Units = sector of 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 4096 bytes
    I/O size (minimum/optical): 4096 bytes / 4096 bytes
    Disk identifier: 0x000a3934
    
       Device Boot    Start        End     Blocks  Id  System
    /dev/sda1   *      2048    1050623     524288  fd  Linux raid autodetect
    Partition 1 does not end on cylinder boundary.
    /dev/sda2       1050624   51382271   25165824  fd  Linux raid autodetect
    /dev/sda3      51382272   55576575    2097152  fd  Linux raid autodetect
    /dev/sda4      55576576  390623231  167523328   5  Extended
    /dev/sda5      55580672   89135103   16777216  fd  Linux raid autodetect
    
    <<< 追加パーティション(/dev/sda6)をコマンド "n"で作成し、
      コマンド "t"でIdを"fd(Linux raid自動検出)"に変更します >>>
    Command (m for help): n ----------------------------------------- (*3)
    First sector (55576639-3906249991, default 55576640): 89139200 -- (*4)
    Last sector, +sectors or +size{K,M,G} (89139200-390623231, default
     390623231): +4096M
    
    Command (m for help): t ----------------------------------------- (*5)
    Partition number (1-6): 6 --------------------------------------- (*6)
    Hex code (type L to list codes): fd ----------------------------- (*7)
    Changed system type of partition 6 to fd (Linux raid autodetect)
    
    Command (m for help): p ----------------------------------------- (*8)
     (中略)
    /dev/sda6      89139200   97527807    4194304  fd  Linux raid autodetect
    
    <<< コマンド"w"を入力してパーティション情報を保存します >>>
    Command (m for help): w ----------------------------------------- (*9)
    The partition table has been altered!
    
    Calling ioctl() to re-read partition table.
    
    WARNING: Re-reading the partition table failed with error 16: Device
     or resource busy.
    The kernel still uses the old table. The new table will be used at
    the next reboot or after you run partprobe(8) or kpartx(8)
    Syncing disks.
    

    (*1)コマンド"u"でセクタ単位での操作/表示に変更します。
    (*2)コマンド"p"で空き領域を確認します。
    (*3)コマンド"n"で新規パーティション/dev/sda6を作成します。
    (*4)First sectorには、作成済の最後のパーティションの Endの値(本例では 89135103) に 4097 を加算した値を指定します。
    (*5)コマンド"t"でIdを変更します。
    (*6)作成したパーティションの番号"6"を指定します。
    (*7)必ず"fd"を指定します。
    (*8)パーティションが正しく追加されていることを確認します。
    (*9)コマンド"w"で変更を保存します。

  2. 手順1のパーティション情報の保存後には、追加したパーティションテーブル(/dev/sda6、/dev/sdi6)が読み込まれませんので、一度システムを再起動してください。

    <<< システムを再起動します >>>
    # /sbin/reboot
    

  3. 作成されたパーティションを指定して、新規RAID1デバイスを構成してください。 ここでは、2つのパーティション(sda6、sdi6)を指定して、新規RAID1デバイス(md4)を構成します。

    ご使用の環境のOSバージョンがRHEL5.xの場合は、metadataオプションで指定する値は1.1ではなく0.9に変更してください。

    # /sbin/mdadm --create /dev/md4 --metadata=1.1 --bitmap=internal
        --level=1 --raid-devices=2 /dev/sda6 /dev/sdi6
    
    <<< 以下のようなメッセージが表示された場合は、'y'を入力します >>>
    
    mdadm: /dev/sda6 appears to be part of a raid array:
        level=raid1 devices=2 ctime=Thu Sup  6 16:47:38 2012
    mdadm: /dev/sdi6 appears to be part of a raid array:
        level=raid1 devices=2 ctime=Thu Sup  6 16:47:38 2012
    Continue creating array? y
    mdadm: array /dev/md4 started.
    

  4. 新規RAIDデバイスにswap領域を作成してください。

    操作例)

    # /sbin/mkswap /dev/md4 -L swap2
    mkswap: /dev/md4: warning: don't' erase bootbits sectors
            on whole disk. Use -f to force.
    Setting up swapspace version 1, size=419668 KiB
    LABEL=swap2, UUID=2062f9d2-cbce-4d1a-a6d7-12a1e02275c9
    
    <<< システムを再起動した後も swap 領域として有効にするため、
        /etc/fstab ファイルに以下の一行を追記します >>>
    
    <追記例>
    デバイス名 (/dev/md4) ではなく、UUID値を指定してください。
    UUID値は、mkswapコマンド実行時に表示された値を指定します。
    
      UUID=2062f9d2-cbce-4d1a-a6d7-12a1e02275c9  swap  swap  defaults  0 0
    
      ※UUID値は、blkid コマンドでも確認できます。
    
    /etc/fstabにインストール時から記載されているswap行がデバイス名で指定
    されている環境の場合は、デバイス名で指定します。
    
      /dev/md4                                   swap  swap  defaults  0 0
    

  5. 作成したswap領域を有効にしてください。

    # /sbin/swapon /dev/md4
    

  6. swap 領域が有効になっていることを確認してください。

    # swapon -s
    Filename             Type            Size    Used    Priority
    /dev/md3             partition       8380412 0       -1
    /dev/md4             partition       4196668 0       -2 ★
    

  7. 作成した新規RAIDデバイスが追加されていることを確認してください。

    # /opt/nec/ftras/sbin/ftdiskadm
    
    Command action
       1  List RAID Arrays
       2  List Internal Disks
       3  Make Mirroring Arrays   (RAID1)
       4  Repair Mirroring Arrays (RAID1)
       5  Delete Mirroring Arrays (RAID1)
       6  Remove Disk Partitions  (RAID1)
       7  Make Striping Array     (RAID1+0)
       8  Delete Striping Array   (RAID1+0)
       c  Configurations
       q  Quit
    
    Command: 1
    
    [List RAID Arrays]
    
    Name Partition     (Label)   Status    Member
    =================================================================
    < Mirroring Array (RAID1)  >
    md0  /boot      ( - )    DUPLEX    (1)sda1   (9)sdi1
    md1  /var/crash    ( - )    DUPLEX    (1)sda2   (9)sdi2
    md2  /              ( - )    DUPLEX    (1)sda3   (9)sdi3
    md3  swap           ( - )    DUPLEX    (1)sda5   (9)sdi5
    md4  swap           ( - )    DUPLEX    (1)sda6   (9)sdi6
    

    新規RAIDデバイスmd4が、追加したパーティション/dev/sda6、/dev/sdi6で構成され、 swap領域として有効になっていることが確認できます。

  8. /etc/mdadm.confファイルを更新してください。

    <<< mdadm.conf ファイルのバックアップファイルを作成します >>>
    # /bin/cp -a /etc/mdadm.conf /etc/mdadm.bak
    
    <<< mdadm.conf ファイルを作成します >>>
    [RHEL 6.xの場合]
    # /sbin/mdadm --detail --scan -v | grep '^ARRAY' > /etc/mdadm.conf
    
    [RHEL 5.xの場合]
    # /bin/echo 'DEVICE partitions' > /etc/mdadm.conf
    # /sbin/mdadm --detail --scan >> /etc/mdadm.conf
    

  9. OSバージョンが RHEL 6.x の場合は、bootイメージファイルを更新してください。

    <<< bootイメージファイルのバックアップファイルを作成します >>>
    # /bin/mv /boot/initramfs-`uname -r`.img
    /boot/initramfs-`uname -r`.img.bak
    
    <<< bootイメージファイルを作成します >>>
    # /sbin/dracut /boot/initramfs-`uname -r`.img `uname -r`
    
    <<< 実行結果を確認します >>>
    # echo status=$?
    status=0   <<< 0 が表示されれば、成功 >>>
    
    <<< 成功した場合は、bakファイルを削除します >>>
    # /bin/rm -f /boot/initramfs-`uname -r`.img.bak
    

    [重要]
    手順8,9で /etc/mdadm.confファイル、bootイメージファイルが正しく作成されていないと、システムが正常に起動できなくなる可能性があります。 起動できなくなった場合、これらの手順の最初に作成したバックアップファイルに戻す事で起動できるようになりますが、新たに作成したボリュームは消失してしまいます。 新規作成したボリュームを使用する前に、ここで一度再起動を行い、正しく作成されていることを確認されることを推奨します。確認方法については、手順7を参照してください。

対象機器

N8800-147/148
N8800-162/163
N8800-194/195

製品名カテゴリ

Red Hat Enterprise Linux v.5(Express5800/R320a-E4・R320a-M4)
Red Hat Enterprise Linux v.5(Express5800/R320a-E4・R320b-M4)
Red Hat Enterprise Linux v.6(Express5800/R320a-E4・R320b-M4)
Red Hat Enterprise Linux v.6(Express5800/R320c-E4・R320c-M4)

  • コンテンツID: 3150110676
  • 公開日: 2015年12月25日
  • 最終更新日:2018年01月26日

アンケート

サポート情報充実のためアンケートにご協力をお願いいたします。



コメント欄:
ここからページ共通メニューです。 ページ共通メニューを読み飛ばす。