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

技術情報

【ftサーバ/Linux】片系のシステムディスクだけで起動すると swap 領域が ERROR (inactive) になる[RHEL7.2, RHEL7.4]

Express5800/R320e-E4・R320e-M4、Red Hat Enterprise Linux 7.2 および 7.4 において、下記の異常発生要因となる操作をすると swap 領域が ERROR (inactive) になる事象が発生します。
事象発生後に ftdiskadm で修復すると swap 領域の RAID デバイスが強制的に削除されるため特に注意してください。詳細については swap 領域が ERROR となった状態からの復旧方法 を参照してください。

再発を防ぐには後述の解決方法を実施する必要があります。

※以下の表示例で、太字は入力箇所、下線付き赤色文字は出力結果のうち注目すべき箇所を意味しています。
 実際の画面では太字下線付き赤色文字にはなりません。

  • [異常発生要因となる操作]
    1. システム FT ランプが点灯した状態(二重化状態)でシャットダウンします。
    2. I/Oモジュール0、1どちらかのシステムディスクを抜き、片系だけの状態で起動すると swap 領域が auto-read-only となります。

    3. ※下記の例では、md125 が swap 領域となっています。
      
      # 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       Status           Member
      ===================================
      < Mirroring Array (RAID1)   >
      md123 /boot/efi       SIMPLEX           (1)104001-part4
      md124 /var/crash      SIMPLEX           (1)104001-part5
      md125 swap            SIMPLEX           (1)104001-part2
      md126 /               SIMPLEX           (1)104001-part1
      md127 /boot           SIMPLEX           (1)104001-part3
      
      # cat /proc/mdstat
      Personalities : [raid1]
      md123 : active raid1 sdq4[0]
            205760 blocks super 1.0 [2/1] [U_]
            bitmap: 1/1 pages [4KB], 65536KB chunk
      
      md124 : active raid1 sdq5[0]
            16777216 blocks super 1.2 [2/1] [U_]
            bitmap: 1/1 pages [4KB], 65536KB chunk
      
      md125 : active (auto-read-only) raid1 sdq2[0]
            8388608 blocks super 1.2 [2/1] [U_]
            bitmap: 0/1 pages [0KB], 65536KB chunk
      
      md126 : active raid1 sdq1[0]
            33554432 blocks super 1.2 [2/1] [U_]
            bitmap: 1/1 pages [4KB], 65536KB chunk
      
      md127 : active raid1 sdq3[0]
            1048576 blocks super 1.2 [2/1] [U_]
            bitmap: 1/1 pages [4KB], 65536KB chunk

    4. swap 領域が auto-read-only の状態で OS の再起動を行うと後述のswap 領域が ERROR (inactive) になる事象が発生します。


  • [swap 領域が ERROR (inactive) になる事象]
  • 下記の例のように swap 領域の RAID デバイスが ftdiskadm の表示上で ERROR、mdstat の表示上で inactive となります。

    # 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       Status           Member
    ===================================
    < Striping Array  (RAID1+0) >
    md125                 ERROR
    < Mirroring Array (RAID1)   >
    md123 /boot/efi       SIMPLEX           (1)104001-part4
    md124 /var/crash      SIMPLEX           (1)104001-part5
    md126 /               SIMPLEX           (1)104001-part1
    md127 /boot           SIMPLEX           (1)104001-part3
    
    # cat /proc/mdstat
    Personalities : [raid1]
    md123 : active raid1 sdq4[0]
          205760 blocks super 1.0 [2/1] [U_]
          bitmap: 1/1 pages [4KB], 65536KB chunk
    
    md124 : active raid1 sdq5[0]
          16777216 blocks super 1.2 [2/1] [U_]
          bitmap: 1/1 pages [4KB], 65536KB chunk
    
    md125 : inactive sdq3[1](S)
          16777216 blocks super 1.2
    
    md126 : active raid1 sdq1[0]
          33554432 blocks super 1.2 [2/1] [U_]
          bitmap: 1/1 pages [4KB], 65536KB chunk
    
    md127 : active raid1 sdq3[0]
          1048576 blocks super 1.2 [2/1] [U_]
          bitmap: 1/1 pages [4KB], 65536KB chunk

  • [swap 領域が ERROR となった状態からの復旧方法]
  • 前述のswap 領域が ERROR (inactive) になる事象が発生した場合は、元のシステムディスクを挿し直せば自動的に復旧します。
    別のフォーマット済みディスクを挿した場合など自動で復旧しないときは、以下の手順で復旧してください。

    ※手順「2.ERROR となっているRAIDデバイスを起動します。」は必ず実施してください。
     手順2.を実施せずに ftdiskadm で修復すると swap 領域の RAID デバイスが強制的に削除されてしまいます。
     swap 領域が削除された場合は、後述のswap 領域が削除された状態からの復旧方法の手順を実施してください。


    なお、この復旧方法で復旧しても再度前述の異常発生要因となる操作をすると前述の swap 領域が ERROR (inactive) になる事象が再発するため、再発を防ぐには後述の解決方法を実施する必要があります。

    1. swap 領域の RAID デバイス名を確認します。
      ラベル名は表示されていませんが、ERROR となっているデバイスが swap 領域にあたります。
    2. # 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       Status           Member
      ===================================
      < Striping Array  (RAID1+0) >
      md125                 ERROR
      < Mirroring Array (RAID1)   >
      md123 /boot/efi       SIMPLEX           (1)104001-part4
      md124 /var/crash      SIMPLEX           (1)104001-part5
      md126 /               SIMPLEX           (1)104001-part1
      md127 /boot           SIMPLEX           (1)104001-part3

    3. ERROR となっているRAIDデバイスを起動します。
    4. # mdadm --run /dev/md12X
      
      ※ X には swap 領域の RAID デバイス名の下1桁が入ります。
       OS 起動毎に変更される可能性があるため、直前の手順「1.swap 領域の RAID デバイス名を確認します。」
       で確認したデバイス名を入力してください。

    5. swap 領域の RAID デバイスが ERROR から SIMPLEX に変化したことを確認します。
    6. # 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       Status           Member
      ===================================
      < Mirroring Array (RAID1)   >
      md123 /boot/efi       SIMPLEX           (1)104001-part4
      md124 /var/crash      SIMPLEX           (1)104001-part5
      md125 swap            SIMPLEX           (1)104001-part2
      md126 /               SIMPLEX           (1)104001-part1
      md127 /boot           SIMPLEX           (1)104001-part3

    7. フォーマット済みディスク装填済みの場合はそのままで、片側のシステムディスク未装填の場合は装填されていない方のI/Oモジュールのスロット0にフォーマット済みディスクを挿し、ミラー修復を実施します。
    8. # 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: 4
      
      [Repair Mirroring Arrays (RAID1)]
      * Which SCSI SLOT? [1-16] 9
      The operation has conpleted successfully.
      mdadm: added /dev/disk/by-dpid/disk-114001-part5
      mdadm: added /dev/disk/by-dpid/disk-114001-part1
      mdadm: added /dev/disk/by-dpid/disk-114001-part4
      mdadm: added /dev/disk/by-dpid/disk-114001-part2
      mdadm: added /dev/disk/by-dpid/disk-114001-part3

    9. ディスクの同期が完了するまでしばらく待ち、システム FT ランプが点灯することを確認します。
      同期完了までの時間の目安はコンテンツ 3150109777 を参照してください。

  • [swap 領域が削除された状態からの復旧方法]
  • swap 領域が削除されてしまった場合は、以下の手順で再作成してください。
    RAID デバイス名やパーティション番号は環境により変わるため、お客様環境に合わせて読み替えてください。

    なお、この復旧方法で復旧しても再度前述の異常発生要因となる操作をすると前述の swap 領域が ERROR (inactive) になる事象が再発するため、再発を防ぐには後述の解決方法を実施する必要があります。

    1. swap 領域として使われていたパーティション番号を特定します。
    2. # 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       Status           Member
      ===============================================================================
      < Mirroring Array (RAID1)   >
      md123 /var/crash      DUPLEX            (1)104001-part5      (9)114001-part5
      md125 /boot/efi       DUPLEX            (1)104001-part4      (9)114001-part4
      md126 /               DUPLEX            (1)104001-part1      (9)114001-part1
      md127 /boot           DUPLEX            (1)104001-part3      (9)114001-part3
      
      ※ part2 が抜けているため part2 が swap 領域と推定できます。
      
      # parted -l
      モデル: HGST HUC156030CSS200 (scsi)
      ディスク /dev/sdq: 300GB
      セクタサイズ (論理/物理): 512B/512B
      パーティションテーブル: gpt
      ディスクフラグ:
      
      番号  開始    終了    サイズ  ファイルシステム  名前  フラグ
       1    1049kB  34.4GB  34.4GB                          raid
       2    34.4GB  43.0GB  8598MB                          raid
       3    43.0GB  44.1GB  1075MB                          raid
       4    44.1GB  44.3GB  211MB   fat16                   raid
       5    44.3GB  61.5GB  17.2GB                          raid
      
      モデル: HGST HUC156030CSS200 (scsi)
      ディスク /dev/sdr: 300GB
      セクタサイズ (論理/物理): 512B/512B
      パーティションテーブル: gpt
      ディスクフラグ:
      
      番号  開始    終了    サイズ  ファイルシステム  名前  フラグ
       1    1049kB  34.4GB  34.4GB                          raid
       2    34.4GB  43.0GB  8598MB                          raid
       3    43.0GB  44.1GB  1075MB                          raid
       4    44.1GB  44.3GB  211MB   fat16                   raid
       5    44.3GB  61.5GB  17.2GB                          raid
      
      ※ パーティション番号 2 のサイズが swap 領域として間違いないことを確認します。

    3. 特定したパーティションをメンバとして RAID デバイスを再作成します。
    4. # mdadm -C /dev/md/swap -l1 -n2 -b internal /dev/disk/by-dpid/disk-1[01]4001-part2
      mdadm: /dev/disk/by-dpid/disk-104001-part2 appears to be part of a raid array:
             level=raid1 devices=2 ctime=Tue Mar 24 16:13:03 2020
      mdadm: Note: this array has metadata at the start and
          may not be suitable as a boot device.  If you plan to
          store '/boot' on this device please ensure that
          your boot-loader understands md/v1.x metadata, or use
          --metadata=0.90
      mdadm: /dev/disk/by-dpid/disk-114001-part2 appears to be part of a raid array:
             level=raid1 devices=2 ctime=Tue Mar  3 08:26:28 2020
      Continue creating array? y
      mdadm: Defaulting to version 1.2 metadata
      mdadm: array /dev/md/swap started.

    5. 新しい RAID デバイスが作成されたことを確認します。
    6. # 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       Status           Member
      ===============================================================================
      < Mirroring Array (RAID1)   >
      md123 /boot/efi       DUPLEX            (1)104001-part4      (9)114001-part4
      md124 /var/crash      DUPLEX            (1)104001-part5      (9)114001-part5
      md125 /               DUPLEX            (1)104001-part1      (9)114001-part1
      md126 /boot           DUPLEX            (1)104001-part3      (9)114001-part3
      md127                 DUPLEX            (1)104001-part2      (9)114001-part2
      
      ※ 新しい RAID デバイスのラベル名("Partition" の列)は現時点で表示されていませんが、本手順10まで実施し OS の再起動後に "swap" と表示されるようになります。
      

    7. /dev/md/swap の UUID を確認します。
    8. # blkid /dev/md/swap
      /dev/md/swap: UUID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" TYPE="swap"

    9. テキストエディタで /etc/fstab を開き、swap の UUID を更新します。
    10. UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx swap                    swap    defaults        0 0

    11. /etc/mdadm.conf を更新します。
    12. # cp -a /etc/mdadm.conf /etc/mdadm.conf.bak
      # sed -i -e '/^ARRAY/d' /etc/mdadm.conf
      # mdadm --detail --scan -v | grep '^ARRAY' >> /etc/mdadm.conf

    13. システム起動時に使用する初期 RAM ディスクイメージを更新します。
    14. # mv /boot/initramfs-`uname -r`.img /boot/initramfs-`uname`.img.bak
      # dracut /boot/initramfs-`uname -r`.img `uname -r`

    15. swap を有効にします。
    16. # swapon -a

    17. swap が有効になっていることを確認します。
    18. # swapon -s
      Filename                                Type            Size    Used    Priority
      /dev/md127                              partition       8388604 0       -1

    19. OS を再起動します。
    20. # systemctl reboot

  • [解決方法]
  • 前述のswap 領域が ERROR (inactive) になる事象は OS に含まれるパッケージ dracut の動作が原因で発生します。
    問題が修正済みのバージョンに dracut をアップデートし、dracut コマンドを実行することで発生しなくなります。
    本事象が発生している場合は復旧させ、システム FT ランプが点灯した状態(二重化状態)で以下の手順を実施してください。

    1. 下記のファイルを Red Hat カスタマーポータルからダウンロードし、パッケージをアップデートします。
    2. dracut-033-564.el7.x86_64.rpm
      dracut-network-033-564.el7.x86_64.rpm
      dracut-config-rescue-033-564.el7.x86_64.rpm

    3. dracut パッケージのアップデート後、root ユーザで下記のコマンドを実行してください。
    4. # dracut -f

製品名カテゴリ

Red Hat Enterprise Linux v.7(Express5800/R320e-E4・R320e-M4)

関連情報

  • コンテンツID: 3140107637
  • 公開日: 2020年06月17日
  • 最終更新日:2020年06月17日

アンケート

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



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