/dev/md127 は停止を拒否します。オープンファイルなし

/dev/md127 は停止を拒否します。オープンファイルなし

そのため、Ubuntu 12.10システムで/ dev / md127を停止しようとしています。 RAID1に設定されていますが、すべてをmd0に移動しようとしています(名前を変更してください)。名前の変更が不可能であることを読んだので、ドライブを取り外してmd0として新しいアレイに入れてみました。 --failと--removeを使用してドライブ(sdb)を削除できましたが、sdcは応答せず、md127は--stop --forceに応答しません。

私はfusionrとlsofを実行しましたが、md127を使用して何も表示しませんでした。 md127でLVMを実行していますが、LVを削除して「{lv,vg}change -an vg_Name」を実行しました。

次は何を試すべきかわかりません。私が名前を変更したり移動したりする理由を疑問に思う人のために申し上げると、私はこの種のことについて少し強迫症を持っています。

関連がある場合は、コマンドを停止/失敗/削除しようとする複数の試みにもかかわらず、私が使用した正確なコマンドは次のとおりです。

mdadm --stop --force /dev/md127 # this failed with the error message "mdadm: Cannot get exclusive access to /dev/md127:Perhaps a running process, mounted filesystem or active volume group?"
fuser /dev/md127 # no output
lsof /dev/md127 # no output
mdadm --fail /dev/md127 /dev/sdb # succeeded
mdadm --remove /dev/md127 /dev/sdb # succeeded
mdadm --fail /dev/md127 /dev/sdc # this failed - "device or resource busy"
mdadm --remove /dev/md127 /dev/sdc # this failed - "device or resource busy"
lvchange -an vg_Name
vgchange -an vg_Name

答え1

mdadmの上にLVMを使用している場合、ボリュームグループを無効にしたときにLVMがデバイスマッパーデバイスを削除しないことがあります。手動で削除できます。

  1. 出力に何もないことを確認してくださいsudo vgdisplay
  2. を見てください/dev/mapper/。このファイルに加えて、controlボリュームグループ名を付けたデバイスマッパーデバイスが必要ですVolGroupArray-name
  3. 実行しますsudo dmsetup remove VolGroupArray-nameVolGroupArray-nameデバイスマッパーデバイスの名前に置き換えます)。
  4. これで実行できますsudo mdadm --stop /dev/md0(またはデバイス名は何でもmdadm)。

答え2

デバイス番号のみを変更する場合は、次のコマンドを使用して、選択したデバイス番号を含むアレイを設定ファイルに追加します。

    echo "ARRAY /dev/md0 level=raid1 num-devices=2 UUID=$(blkid -s UUID -o value /dev/md127) devices=/dev/sdb,/dev/sdc" >> /etc/mdadm.conf

/etc/mdadm.confにRAIDをデプロイして再起動するだけで、指定したデバイス番号を使用してRAIDが自動的に再組み立てされます。これは、起動するたびに同じデバイス名でRAIDを構築できるようにするもう1つの利点です。

答え3

次のコマンドの出力を貼り付けることはできますか?

mdadm -D /dev/md127

mdadm -E /dev/sdc

cat /proc/mdstat

攻撃隊は「名前変更」が可能です。この場合、名前の変更はチームが使用するスーパーブロックのバージョンによって異なります。

スーパーブロック0.90 raidの名前を変更するには、次のコマンドを使用する必要があります。 mdadm -A /dev/md0 -U super-minor -u <uuid of the array>

スーパーブロック1.X raidの名前を変更するには、次のコマンドを使用する必要があります。 mdadm -A /dev/md0 -U name -N <new name> -u <uuid of the array>

理解できないのに、なぜ名前を変更したいのか説明してもらえますか?ノード名md127は、initramfsスクリプトがmd127で始まるため、このスクリプトに組み込まれます。私が知る限り、好みのマイナー番号を変更できますが、initramfsスクリプトはマイナー番号に関係なくアセンブリノード127で始まります。

答え4

上記のように見えますが、削除したいmdXを使用してアクティブなlvm論理ボリュームを定義した場合、mdadmはそのドライブボリュームを使用する論理ボリュームを削除するか削除を拒否します。少なくともlvmでmdドライブを空にします。 mdadm は、論理ボリュームが削除されると RAID を停止します。

関連情報