web-dev-qa-db-ja.com

RAID1:「削除済み」とマークされたドライブを「失敗」させるにはどうすればよいですか?

RAID 1アレイ(2ディスクミラー)があり、ディスクの1つであるsdaに障害が発生しました。そのため、不良ディスクを新しいディスクと交換しましたが、2番目のドライブを元に戻してアレイの一部として実行する方法に固執しているようです。

システムはUbuntuServer 9.04を実行しており、次のように構成されています。

MD0 => sda1、sdb1

MD1 => sda3、sdb3

MD2 => sda2、sdb2

 mdadm --detail /dev/md0

2つのドライブを示しています。

0 /dev/sdb1 "Active Sync"

1 [nothing] "Removed"

MD1とMD2は同じように見えます。

私が見つけたチュートリアルでは、コマンドを使用して各パーティションを失敗としてマークするように指示されています。

mdadm --manage /dev/md0 --fail /dev/sda1

しかし、ドライブがないので、次のようになります。

mdadm: cannot find /dev/sda1: No such file or directory

失敗したステップをスキップできますか?または、存在しなくなったパーティションを失敗させる他の方法はありますか?または、古き良きドライブから新しいドライブにパーティションテーブルをコピーした場合、それが交換品であることが自動的に検出されますか?

私はこれが初めてで、それを台無しにしたくありません。 :)

6
Nick

あなたはそれらを失敗させる必要はないはずです。問題に最初に気付いたときにすでに失敗しているはずなので、RAIDメンバーは削除されました。それを元に戻して実行するには、ほんの数ステップがあります。

  1. 交換用ディスクにパーティションを設定します。これらのパーティションは、障害が発生して現在アクティブなディスクのサイズと同じである必要があり、パーティションタイプ「LinuxRAID自動検出」(0xFD)としてマークする必要があります。 sfdiskを使用してパーティションテーブルをコピーすることで、これを簡略化できます。

    sfdisk -d /dev/sdb | sfdisk /dev/sda
    
  2. 以前にディスクを使用したことがある場合は、再開する前に、既存のsoftRAID情報が削除されていることを確認することをお勧めします。

    mdadm --zero-superblock /dev/sda
    
  3. MBRを新しいディスクにインストールして、起動できるようにします。 grubシェルからこれを行います。 /dev/sdaが最初のディスクであると想定します。

    root (hd0,0)
    setup (hd0)
    quit
    
  4. 新しいパーティションをアレイに追加し直します。

    mdadm --add /dev/md0 /dev/sda1
    mdadm --add /dev/md1 /dev/sda3
    mdadm --add /dev/md2 /dev/sda2
    
  5. /proc/mdstatを表示して、再構築のステータスを監視します。これはで自動化できます。

    watch -n10 cat /proc/mdstat
    
6
Dan Carley

チェック http://techblog.tgharold.com/2009/01/removing-failed-non-existent-drive-from.shtml 。使用する

mdadm/dev/mdX-rデタッチ

3
Emil Stoyanov