ノート:

Oracle LinuxでのソフトウェアRAIDアレイの構築

イントロダクション

冗長アレイの独立ディスクまたはRAIDデバイスは、2つ以上の実ブロックデバイスから作成された仮想デバイスです。この機能により、複数のデバイス(通常はディスクドライブまたはディスクパーティション)を単一のデバイスに組み合わせて、単一のファイルシステムを保持できます。一部のRAIDレベルには冗長性が含まれており、ファイルシステムがなんらかの程度のデバイス障害に耐えられるようにします。

Oracle Linuxカーネルは、マルチデバイス(MD)ドライバを使用して LinuxソフトウェアRAIDをサポートし、ディスクドライブをRAIDデバイスに整理し、さまざまなRAIDレベルを実装できるようにします。

これらのさまざまなRAIDレベルの詳細については、Oracleドキュメントを参照してください。

このチュートリアルでは、MDユーティリティ(mdadm)と連携してスペアを使用してRAID1デバイスを作成し、ディスク障害に対処します。

目的

前提条件

次の構成を持つ任意の Oracle Linux 8システム:

演習環境の設定

ノート: 無料ラボ環境を使用する場合、接続およびその他の使用手順については、Oracle Linux Labの基本を参照してください。

  1. まだ接続していない場合は、端末を開き、ssh経由で前述の各インスタンスに接続します。

    ssh oracle@<ip_address_of_instance>
    
  2. ブロック・ボリュームが存在することを確認します。

    sudo lsblk
    

    フリー・ラボ環境の出力には、既存のファイル・システムの/dev/sdaと、使用可能なディスク/dev/sdb/dev/sdcおよび/dev/sddが表示されます。

MDユーティリティのインストール

  1. システムで使用できない場合は、MDユーティリティをインストールします。

    mdadmがインストールされているかどうかを確認します。

    sudo dnf list --installed mdadm
    

    インストールされていない場合は、mdadmをインストールします。

    sudo dnf -y install mdadm
    

    ノート: 無料ラボ環境では、MDユーティリティがすでにインストールされています。

RAIDデバイスを作成します。

RAID1は、配列内の各ドライブに同一のデータを書き込むことで、データ冗長性および耐障害性を提供します。1つのドライブが失敗した場合、ミラーはI/Oリクエストに対応できます。ミラーリングは、システムがすべてのディスクに同じ情報を書き込むため、高コストなソリューションです。

RAID1の機能:

  1. RAIDデバイスの作成に使用できるオプションを一覧表示します。

    mdadm --helpを使用すると、--createオプションを使用して、未使用のデバイスから新しい配列を作成することを示します。

    sudo mdadm --create --help
    
  2. 1つのスペア・ディスクを使用してRAID1デバイスを作成します。

    sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc --spare-devices=1 /dev/sdd
    
    • --create:: 新しい配列を作成します。
    • --level: raidレベル
    • --raid-devices: 配列内のアクティブなデバイスの数
    • --spare-devices: 初期配列内のスペア(extra)デバイスの数

    このコマンドでは、デバイス(配列)の名前は/dev/md0で、/dev/sdbおよび/dev/sdcを使用してRAID1デバイスを作成します。デバイス /dev/sddは、アクティブなデバイスの障害から回復するためのスペアとして自動的に使用されます。

    yと入力し、ENTERを押して、Continue creating array?プロンプトを受け入れます。

    出力例:

    [oracle@ol-mdadm-2022-06-04-180415 ~]$ sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc --spare-devices=1 /dev/sdd
    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: size set to 52395008K
    Continue creating array? y
    mdadm: Defaulting to version 1.2 metadata
    mdadm: array /dev/md0 started.
    

ファイルシステムの作成

  1. RAIDデバイスに ext4ファイルシステムを作成してマウントします。

    sudo mkfs.ext4 -F /dev/md0
    sudo mkdir /u01
    sudo mount /dev/md0 /u01
    
    
  2. ファイルシステムのディスク使用量を報告します。

    df -h
    

    出力例:

    [oracle@ol-mdadm-2022-06-04-180415 ~]$ df -h
    Filesystem                  Size  Used Avail Use% Mounted on
    ...
    /dev/md0                     49G   53M   47G   1% /u01
    
  3. /etc/fstabにエントリを追加し、リブート後もマウントポイントを維持します。

    echo "/dev/md0    /data01    ext4    defaults    0 0" | sudo tee -a /etc/fstab > /dev/null
    

RAIDデバイスの確認

  1. 配列の詳細を取得します。

    sudo mdadm --detail /dev/md0
    

    出力例:

    [oracle@ol-mdadm-2022-06-04-180415 ~]$ sudo mdadm --detail /dev/md0
    /dev/md0:
               Version : 1.2
         Creation Time : Sat Jun  4 20:08:32 2022
            Raid Level : raid1
            Array Size : 52395008 (49.97 GiB 53.65 GB)
         Used Dev Size : 52395008 (49.97 GiB 53.65 GB)
          Raid Devices : 2
         Total Devices : 3
           Persistence : Superblock is persistent
    
           Update Time : Sat Jun  4 20:28:58 2022
                 State : clean, resyncing 
        Active Devices : 2
       Working Devices : 3
        Failed Devices : 0
         Spare Devices : 1
    
    Consistency Policy : resync
    
         Resync Status : 59% complete
    
                  Name : ol-mdadm-2022-06-04-180415:0  (local to host ol-mdadm-2022-06-04-180415)
                  UUID : f6c35144:66a24ae9:5b96e616:f7252a9f
                Events : 9
    
        Number   Major   Minor   RaidDevice State
           0       8       16        0      active sync   /dev/sdb
           1       8       32        1      active sync   /dev/sdc
    
           2       8       48        -      spare   /dev/sdd
    

    出力で、Stateは配列がクリーンで再同期していることを示します。resyscは、アレイの初期作成後、または回復後に常に発生します。出力は、再同期が59%完了していることを示しています。

  2. カーネルからのリアルタイム情報を確認します。

    sudo cat /proc/mdstat
    

    出力例:

    [oracle@ol-mdadm-2022-06-04-180415 ~]$ cat /proc/mdstat 
    Personalities : [raid1] 
    md0 : active raid1 sdd[2](S) sdc[1] sdb[0]
          52395008 blocks super 1.2 [2/2] [UU]
          [==================>..]  resync = 92.2% (48341824/52395008) finish=2.7min speed=24677K/sec
          
    unused devices: <none>
    

RAID構成ファイルの作成

  1. (オプション) RAID構成を/etc/mdadm.confに追加します。

    構成ファイルは、どのデバイスがRAIDデバイスであるか、および特定のデバイスが属するアレイを特定します。この構成ファイルに基づいて、mdadmは起動時にアレイをアセンブルできます。

    sudo mdadm --examine --scan | sudo tee -a /etc/mdadm.conf
    

    出力例:

    [oracle@ol-mdadm-2022-06-04-180415 ~]$ sudo mdadm --examine --scan | sudo tee -a /etc/mdadm.conf
    ARRAY /dev/md/0  metadata=1.2 UUID=f6c35144:66a24ae9:5b96e616:f7252a9f name=ol-mdadm-2022-06-04-180415:0
       spares=1
    

RAIDデバイスの管理

このオプションは、デバイスの追加、削除、障害など、アレイ内のコンポーネントデバイスを管理するためのものです。

  1. RAIDデバイスの管理に使用できるオプションを一覧表示します。

    sudo mdadm --manage --help
    
    • --add: 後続のデバイスに移動します。
    • --remove: 後続の非アクティブなデバイスを削除します。
    • --fail: 後続のデバイスを障害のあるものとしてマークします。
  2. キャッシュされた書込みを永続ストレージに同期します。

    これは、すべてのディスクキャッシュがディスクに書き込まれるように、ディスク管理を実行する前に必要です。

    sudo sync
    
  3. ディスクに障害のマークを付けます。

    sudo mdadm --manage /dev/md0 --fail /dev/sdb
    
  4. 配列の詳細を取得します。

    sudo mdadm --detail /dev/md0 
    

    出力例:

    [oracle@ol-mdadm-2022-06-04-180415 ~]$ sudo mdadm --detail /dev/md0 
    /dev/md0:
               Version : 1.2
         Creation Time : Sat Jun  4 20:08:32 2022
            Raid Level : raid1
            Array Size : 52395008 (49.97 GiB 53.65 GB)
         Used Dev Size : 52395008 (49.97 GiB 53.65 GB)
          Raid Devices : 2
         Total Devices : 3
           Persistence : Superblock is persistent
    
           Update Time : Sat Jun  4 21:34:19 2022
                 State : clean, degraded, recovering 
        Active Devices : 1
       Working Devices : 2
        Failed Devices : 1
         Spare Devices : 1
    
    Consistency Policy : resync
    
        Rebuild Status : 1% complete
    
                  Name : ol-mdadm-2022-06-04-180415:0  (local to host ol-mdadm-2022-06-04-180415)
                  UUID : f6c35144:66a24ae9:5b96e616:f7252a9f
                Events : 19
    
        Number   Major   Minor   RaidDevice State
           2       8       48        0      spare rebuilding   /dev/sdd
           1       8       32        1      active sync   /dev/sdc
    
           0       8       16        -      faulty   /dev/sdb
    

    アレイは degradedrecoveringとマークされます。出力には、スペア・デバイス/dev/sddが配列を自動的に再構築しているのに対して、/dev/sdbに障害が発生していることも示されています。

  5. 障害が発生したディスクを取り外します。

    sudo mdadm --manage /dev/md0 --remove /dev/sdb
    
  6. 障害が発生したディスクを交換します。

    サーバーの障害が発生した物理ディスクを新しいディスクに置き換えます。

    ノート: 無料ラボ環境を使用する場合、このステップには何も関係ありません。演習では、既存のdev/sdbデバイスを再利用します。

  7. 以前の linux_raid_member署名を削除します。

    署名、メタデータは、RAIDアレイで使用するとディスクに書き込まれ、これらの署名を削除するまでディスクを別のシステムに移動したり、再利用することはできません。

    sudo wipefs -a -f /dev/sdb
    

    警告: wipefsコマンドは破壊的であり、ターゲットディスク上のパーティションテーブル全体(/dev/sdb)およびすべての署名を削除します。

  8. アレイに新しいスペアを追加します。

    sudo mdadm --manage /dev/md0 --add /dev/sdb
    
  9. スペアディスクが存在することを確認します。

    sudo mdadm --detail /dev/md0 
    

    出力の下部では、「状態」スペアに設定されているデバイス/dev/sdbがリストに表示されます。

詳細情報:

その他の学習リソース

他のラボをdocs.oracle.com/learnで探すか、Oracle Learning YouTubeチャネルでより無料の学習コンテンツにアクセスします。また、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerになります。

製品のドキュメントは、Oracle Help Centerを参照してください。