kledgeb UbuntuやLinuxの最新情報を紹介

Ubuntu mdadm その155 - アレイにスクラビングを行い物理ボリュームを検査する・スクラビングを行うコマンドの説明

アレイにスクラビングを行い物理ボリュームを検査する

  アレイに「スクラビング」を行い物理ボリュームを検査します。


  「スクラビング」には、チェックのみ行う「スクラビング」と、チェックに加えエラーを修復するリペアの2種類があります。

  環境について

    ここでは例として「RAID 5」アレイに対し「スクラビング」を行います。
    「RAID 5」アレイの作成については、以下を参考にしてください。

  • RAID 5アレイを作成する基本的なコマンドの例・作成したアレイの確認と利用

  論理ボリュームの情報

    作成した「RAID 5」アレイの論理ボリュームの情報は以下のようになっています。

ubuntu@ubuntu-vb-1404:~$ sudo mdadm --detail /dev/md/RAID5Array
/dev/md/RAID5Array:
        Version : 1.2
  Creation Time : Sat May 10 20:58:20 2014
     Raid Level : raid5
     Array Size : 204544 (199.78 MiB 209.45 MB)
  Used Dev Size : 102272 (99.89 MiB 104.73 MB)
   Raid Devices : 3
  Total Devices : 3
    Persistence : Superblock is persistent

    Update Time : Sat May 10 22:01:49 2014
          State : clean
 Active Devices : 3
Working Devices : 3
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 128K

           Name : ubuntu-vb-1404:RAID5Array  (local to host ubuntu-vb-1404)
           UUID : 2fd3f3d8:ab9bb2cd:923e1b3b:804fc917
         Events : 24

    Number   Major   Minor   RaidDevice State
       0       8       52        0      active sync   /dev/sdd4
       1       8       68        1      active sync   /dev/sde4
       3       8       84        2      active sync   /dev/sdf4

  論理ボリュームのデバイスファイル

    論理ボリュームの実デバイスファイルは、「/dev/md127」であることが分かります。

ubuntu@ubuntu-vb-1404:~$ sudo cat /run/mdadm/map
md127 1.2 d8f3d32f:cdb29bab:3b1b3e92:17c94f80 /dev/md/RAID5Array

スクラビングを行うには

  「スクラビング」を行うには、直接MDドライバー(カーネルモジュール)に対し、指定を行う必要があります。
  MDドライバーにアクセスするには、「sysfs」(仮想ファイルシステム)を経由します。
  指定を行うファイルは、「/sys/devices/virtual/block/論理ボリュームのデバイスファイル/md/sync_action」です。

  1./sys/devices/virtual/block

    「/sys/devices/virtual/block」フォルダーを開くと、以下のように論理ボリュームのデバイスファイル名のフォルダーが見つかります。


  2./sys/devices/virtual/block/論理ボリュームのデバイスファイル/md

    「スクラビング」を行いたい論理ボリュームのデバイスファイル名がついたフォルダーを開くと「md」フォルダーが見つかります。
    その「md」フォルダーを開くと以下のように「sync_action」ファイルが見つかります。


  3.スクラビングの実行を指定するファイル

    「sync_action」ファイルに対し、「スクラビング」の実行を指定します。
    ここでは「/sys/devices/virtual/block/md127/md/sync_action」がコマンドの実行対象となるファイルになります。

スクラビングが実行中かどうか確認する

  「スクラビング」を行う前に、スクラビングが実行中かどうか確認してください。

  1.状態の確認

    上記で見つけた「sync_action」ファイルに対し、以下のコマンドを実行します。

cat '/sys/devices/virtual/block/md127/md/sync_action'

  2.実行結果

    以下のように「idle」と出力されればOKです。

ubuntu@ubuntu-vb-1404:~$ cat '/sys/devices/virtual/block/md127/md/sync_action'
idle

    もし「idle」ではなかった場合、「スクラビング」を実行中です。
    完了するまで待ちます。

    実行中の「スクラビング」を中止したい場合、後述する方法で「スクラビング」を中止することが可能です。

スクラビングを中止する

  スクラビングを中止する方法です。

  スクラビングの中止

    上記で見つけた「sync_action」ファイルに対し、以下のコマンドを実行します。

echo idle | sudo tee '/sys/devices/virtual/block/md127/md/sync_action' 

    しばらく待ってから、上記の方法でスクラビングが実行中かどうか確認してください。

スクラビング(チェック)を行う

  物理ボリュームのチェックを行う方法です。

  1.スクラビングの実行

    上記で見つけた「sync_action」ファイルに対し、以下のコマンドを実行します。

echo check | sudo tee '/sys/devices/virtual/block/md127/md/sync_action'

  2.スクラビングの実行状況を確認する

    論理ボリュームの情報を表示すると、以下のように「スクラビング」が実行されチェック中であることが分かります。

ubuntu@ubuntu-vb-1404:~$ sudo mdadm --detail /dev/md/RAID5Array
/dev/md/RAID5Array:
        Version : 1.2
  Creation Time : Sat May 10 20:58:20 2014
     Raid Level : raid5
     Array Size : 204544 (199.78 MiB 209.45 MB)
  Used Dev Size : 102272 (99.89 MiB 104.73 MB)
   Raid Devices : 3
  Total Devices : 3
    Persistence : Superblock is persistent

    Update Time : Sat May 10 23:50:18 2014
          State : clean, checking
 Active Devices : 3
Working Devices : 3
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 128K

   Check Status : 87% complete

           Name : ubuntu-vb-1404:RAID5Array  (local to host ubuntu-vb-1404)
           UUID : 2fd3f3d8:ab9bb2cd:923e1b3b:804fc917
         Events : 30

    Number   Major   Minor   RaidDevice State
       0       8       52        0      active sync   /dev/sdd4
       1       8       68        1      active sync   /dev/sde4
       3       8       84        2      active sync   /dev/sdf4

スクラビング(リペア)を行う

  物理ボリュームのチェック及び修復を行う方法です。

  1.スクラビングの実行

    上記で見つけた「sync_action」ファイルに対し、以下のコマンドを実行します。

echo repair | sudo tee '/sys/devices/virtual/block/md127/md/sync_action'

  2.スクラビングの実行状況を確認する

    論理ボリュームの情報を表示すると、以下のように「スクラビング」が実行され再同期中であることが分かります。

ubuntu@ubuntu-vb-1404:~$ sudo mdadm --detail /dev/md/RAID5Array
/dev/md/RAID5Array:
        Version : 1.2
  Creation Time : Sat May 10 20:58:20 2014
     Raid Level : raid5
     Array Size : 204544 (199.78 MiB 209.45 MB)
  Used Dev Size : 102272 (99.89 MiB 104.73 MB)
   Raid Devices : 3
  Total Devices : 3
    Persistence : Superblock is persistent

    Update Time : Sun May 11 00:04:28 2014
          State : clean, resyncing
 Active Devices : 3
Working Devices : 3
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 128K

  Resync Status : 37% complete

           Name : ubuntu-vb-1404:RAID5Array  (local to host ubuntu-vb-1404)
           UUID : 2fd3f3d8:ab9bb2cd:923e1b3b:804fc917
         Events : 34

    Number   Major   Minor   RaidDevice State
       0       8       52        0      active sync   /dev/sdd4
       1       8       68        1      active sync   /dev/sde4
       3       8       84        2      active sync   /dev/sdf4

スクラビングのチェック結果について

  「スクラビング」のチェック結果は、「mismatch_cnt」ファイルから取得します。
  「sync_action」ファイルがあるフォルダーと同じフォルダー内に「mismatch_cnt」ファイルがあります。
  ここの例では、「/sys/devices/virtual/block/md127/md/mismatch_cnt」ファイルになります。


  1.状態の確認

    「mismatch_cnt」ファイルに対し、以下のコマンドを実行します。

cat '/sys/devices/virtual/block/md127/md/mismatch_cnt'

  2.実行結果

    以下のように「0」と出力されれば問題ありません。

ubuntu@ubuntu-vb-1404:~$ cat '/sys/devices/virtual/block/md127/md/mismatch_cnt'
0
    この数値は問題のあったセクターの数です。

    「RAID 1」アレイや「RAID 10」アレイの論理ボリューム上にスワップ用のパーティションを作成し、使用している場合、問題がなくても問題ありとして報告される場合があります。


mdadm
スポンサー
コメント
コメントポリシー
コメントをする前に UbuntuのCode of Conduct(CoC/行動規範) を確認し、CoCに沿ったコメントをお願いします。
コメントの使い方は、コメントの使い方を参照してください。
同一カテゴリーの記事
SNS
人気の記事
  • Ubuntu 22.04 LTSのインストール その5 - UEFI環境でパーティションの作成と構成 〜 ブートローダーのインストール先の選択
    UEFI環境でパーティションの作成と構成を行う UEFI環境でパーティションの作成と構成を行います。
  • Ubuntu 22.04 その120 - UbuntuのブートローダーをBoot Repairで修復するには・Ubuntuが起動しないトラブルを解決
    UbuntuのブートローダーをBoot Repairで修復するには 「Boot Repair」はOSのブートローダーに起因するOSが起動しない問題を簡単に解決してくれるアプリです。
  • Ubuntu 22.04 その98 - 入力ソースとキーボートレイアウトと日本語入力のカスタマイズ
    入力ソースとキーボートレイアウトと日本語入力 「Ubuntu」ではユーザーが利用しているキーボードレイアウトや日本語入力のカスタマイズが可能です。
  • VirtualBox その125 - ゲストOSのUbuntuにLinux Guest Additionsをインストールするには
    ゲストOSのUbuntuにLinux Guest Additionsをインストールするには 仮想マシンにインストールしたゲストOSの「Ubuntu」に、「Linux Guest Additions」をインストールする方法です。
  • Ubuntu 22.04 その79 - 画面ロックの有効・無効を設定するには・画面ロック時の設定をカスタマイズするには
    画面ロックの有効・無効を設定するには 一定時間ユーザーによる操作がない時に、自動的に画面をロックしパスワードで保護したり、画面をブランク状態にできます。
  • Ubuntu 22.04 その95 - ディスプレイサーバーを切り替えるには・XorgとWayland
    ディスプレイサーバーを切り替えるには 「Ubuntu」はデフォルトで2種類のディスプレイサーバーを提供しています。
  • Ubuntu 22.04 その64 - Windows/Linux/macOSでUbuntu 22.04 LTSのライブUSBメモリーを作るには
    Ubuntu 22.04 LTSのライブUSBメモリーを作る方法 Windows/Linux/macOSでPC向け「Ubuntu 22.04 LTS」のライブUSBメモリーを作る方法を紹介します。
  • Ubuntuのバージョンと開発コードの対応表
    UbuntuのバージョンとUbuntuの開発コード 「Ubuntu」には各バージョンごとに開発コードが設定されます。
  • Linux その215 - GNOME 48 リリース・GNOME 48 の新機能と変更点
    GNOME 48 の新機能と変更点 2025年3月19日、GNOME 48(コードネーム:Bengaluru) がリリースされました。 リリースノートから GNOME 48 の新機能と変更点を紹介します。
  • Ubuntu 22.04 LTSのインストール その1 - インストールの準備 〜 ライブメディアの作成とUbuntuの起動
    Ubuntu 22.04 LTSのインストールの準備 ここではPCに「Ubuntu 22.04 LTS(Ubuntu Desktop)」をインストール方法を紹介します。 まずはインストールの準備からです。
記事のピックアップ
オプション