web-dev-qa-db-ja.com

LinuxソフトウェアRAIDアレイから「削除済み」状態のデバイスを削除する

私のワークステーションには2つのディスク(/ dev/sd [ab])があり、どちらも同様のパーティションになっています。/dev/sdbが失敗し、cat /proc/mdstat2番目のsdbパーティションの表示を停止しました。

私は走ったmdadm --failおよびmdadm --removeそれらを使用するアレイ上の失敗したディスクからのすべてのパーティションに対して、そのようなコマンドはすべて失敗しましたが

mdadm: set device faulty failed for /dev/sdb2:  No such device
mdadm: hot remove failed for /dev/sdb2: No such device or address

次に、障害が発生したディスクをホットスワップし、新しいディスクをパーティション分割して、それぞれのアレイにパーティションを追加しました。/dev/md2では、障害が発生したディスクがアレイから適切に削除されていないように見えるため、1つを除いてすべてのアレイが適切に再構築されました。このため、新しいパーティションはスペアとしてパーティションに追加され続け、ステータスは低下したままになります。

これがmdadm --detail /dev/md2ショー:

[root@ldmohanr ~]# mdadm --detail /dev/md2
/dev/md2:
    Version : 1.1
  Creation Time : Tue Dec 27 22:55:14 2011
 Raid Level : raid1
 Array Size : 52427708 (50.00 GiB 53.69 GB)
  Used Dev Size : 52427708 (50.00 GiB 53.69 GB)
   Raid Devices : 2
  Total Devices : 2
Persistence : Superblock is persistent

  Intent Bitmap : Internal

Update Time : Fri Nov 23 14:59:56 2012
      State : active, degraded 
 Active Devices : 1
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 1

       Name : ldmohanr.net:2  (local to Host ldmohanr.net)
       UUID : 4483f95d:e485207a:b43c9af2:c37c6df1
     Events : 5912611

Number   Major   Minor   RaidDevice State
   0       8        2        0      active sync   /dev/sda2
   1       0        0        1      removed

   2       8       18        -      spare   /dev/sdb2

ディスクを削除するには、mdadmにデバイスファイル名が必要です。これは元々/ dev/sdb2でしたが、デバイス番号1を参照しなくなりました。「削除済み」ステータスのデバイス番号1を削除し、/ dev/sdb2をアクティブにする方法が必要です。

4
Sahas

ドライブがシステムに表示されなくなった場合は、次のようにします。

mdadm /dev/md2 -r detached

または

mdadm /dev/md2 -r failed

正常に完了すると、次のようなメッセージが表示されます。

mdadm:/ dev/md0から8:50をホット削除

また、ドライブは/ proc/mdstatに表示されなくなります。 manページから:

「1つ目は、障害が発生したすべてのデバイスを削除します。2つ目は、システムに接続されなくなったデバイス(つまり、「open」はENXIOを返します)を削除します。これは、スペアであるか、すでに接続されているデバイスでのみ成功します。失敗としてマークされました。」

4
Mike Taylor