web-dev-qa-db-ja.com

/ dev / md127は停止を拒否します。開いているファイルはありません

だから私は私のUbuntu 12.10ボックスで/ dev/md127を停止しようとしています。 RAID1としてセットアップされましたが、私はすべて(まあ、名前の変更)をmd0に移動しようとしています。名前を変更することは不可能であることを読んだので、ドライブを取り外してmd0として新しいアレイに配置しようとしています。 --failと--removeを使用して1つのドライブ(sdb)を削除できましたが、sdcが応答せず、md127が--stop --forceに応答しません。

私はfuserとlsofを実行しましたが、md127を使用しても何も表示されません。私はmd127の上でLVMを実行していましたが、LVをアンマウントし、「{lv、vg} change -an vg_Name」を実行しました。

次に何をしようか迷っています。そして、なぜ私が名前を変更/移動したいのか知りたい人のために、私はそのようなことについて少しOCDです。

関連がある場合は、ここで私が使用した正確なコマンドを示しますが、stop/fail/removeコマンドは複数回試行されています。

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
7
David Young

デバイス番号を変更するだけの場合は、次のコマンドを使用して、選択したデバイス番号を含む配列を構成ファイルに追加します。

    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

Raidを/etc/mdadm.confに配置したら、再起動するだけで、指定したデバイス番号を使用してraidが自動的に再構築されます。これには、RAIDが毎回同じデバイス名で構築されることを保証するという追加の利点があります。

4
smokes2345

Mdadmの上でLVMを使用している場合、ボリュームグループを非アクティブ化しても、LVMがデバイスマッパーデバイスを削除しないことがあります。手動で削除できます。

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

次のコマンドの出力を貼り付けてもらえますか?

mdadm -D /dev/md127

mdadm -E /dev/sdc

cat /proc/mdstat

RAIDの「名前を変更」できることに注意してください。この場合の名前の変更は、レイドが使用しているスーパーブロックのバージョンによって異なります。

スーパーブロック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は、md127から始まるため、initramfsスクリプトによってアセンブルされます。私が知る限り、優先マイナー番号を変更できますが、initramfsスクリプトは、マイナー番号に関係なく、ノード127の組み立てから始まります。

2
teissler

これは上で述べたと思いますが、念のため:削除しようとしているmdXを使用するアクティブなlvm論理ボリュームが定義されている場合、このドライブを使用する論理ボリュームを削除するまで、mdadmはそうすることを拒否します。少なくともlvmからmdドライブを解放します。論理ボリュームを削除すると、mdadmはraidを喜んで停止します。

0
kali

私はこの問題を抱えていました。 CentOS 6.5で2つのSATAをミラーリングし、7.5にアップグレードしました。 3Wareコントローラーはサポートされなくなりました。

注:3Ware RAIDコントローラがありましたが、mdadmを使用して6.5でソフトウェアRAIDを作成したため、ハードウェアRAIDを構築したことはありません。

コンピューターストアで新しいPCI SATAコントローラーを入手しているときに、別のドライブを追加してRAID 5セットアップに移行することにしました。ボリュームでmkfsを実行できませんでした。別のプロセスで使用されているとのことです。私はそれを止めることも削除することもできませんでした。

私が考えることができるすべてを試みている間、私はこのメッセージを得ました:

mdadm --fail /dev/sda
mdadm: /dev/sda does not appear to be an md device
[root@TomNAS1 ~]# mdadm /dev/md5
/dev/md5: 3725.78GiB raid5 3 devices, 1 spare. Use mdadm --detail for more detail.
/dev/md5: device 0 in 2 device undetected raid1 /dev/md/2_0. Use mdadm --examine for more detail.

だから私はしました:

mdadm --examine /dev/md5
/dev/md5:
          Magic : a92b4efc
        Version : 0.90.00
           UUID : ffd28566:a7b7ad42:b26b218f:452df0ca
  Creation Time : Wed Dec  8 12:52:37 2010
     Raid Level : raid1
  Used Dev Size : 1951311040 (1860.92 GiB 1998.14 GB)
     Array Size : 1951311040 (1860.92 GiB 1998.14 GB)
   Raid Devices : 2
  Total Devices : 2
Preferred Minor : 2

    Update Time : Mon Jul  2 12:39:31 2012
          State : clean
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0
       Checksum : 59b0bc94 - correct
         Events : 1111864


      Number   Major   Minor   RaidDevice State
this     0       8       19        0      active sync

   0     0       8       19        0      active sync
   1     1       8        3        1      active sync

RAIDレベルRAID 1(古いRAID情報を持つスーパーブロックがまだいくつかあります)に注意してください。ただし、それを削除することはできませんでした。

私はついにやった:

mdadm --stop --scan
[root@TomNAS1 ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4] 
unused devices: <none>
[root@TomNAS1 ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4] 
unused devices: <none>

--scanの代わりに/dev/md5オプションを使用すると、最終的にそれが行われました。その後、それを削除し、スーパーブロックをゼロにして再作成することができました

[root@TomNAS1 ~]# mdadm --remove /dev/md5
mdadm: error opening /dev/md5: No such file or directory
[root@TomNAS1 ~]# mdadm --zero-superblock /dev/sda
[root@TomNAS1 ~]# mdadm --zero-superblock /dev/sdb
[root@TomNAS1 ~]# mdadm --zero-superblock /dev/sdd
[root@TomNAS1 ~]# mdadm -E /dev/md5
mdadm: cannot open /dev/md5: No such file or directory

[root@TomNAS1 ~]# lsblk
NAME               MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda                  8:0    0   1.8T  0 disk 
└─sda1               8:1    0   1.8T  0 part 
sdb                  8:16   0   1.8T  0 disk 
└─sdb1               8:17   0   1.8T  0 part 
sdc                  8:32   0 298.1G  0 disk 
├─sdc1               8:33   0     1G  0 part /boot
└─sdc2               8:34   0   297G  0 part 
  ├─centos-root    253:0    0   283G  0 lvm  /
  ├─centos-swap    253:1    0     4G  0 lvm  [SWAP]
  └─centos-dev_shm 253:2    0    10G  0 lvm  
sdd                  8:48   0   1.8T  0 disk 
└─sdd1               8:49   0   1.8T  0 part 
sr0                 11:0    1  1024M  0 rom  


[root@TomNAS1 ~]# mdadm --create /dev/md5 --level=5 --raid-devices=3 /dev/sda1 /dev/sdb1 /dev/sdd1
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md5 started.
[root@TomNAS1 ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4] 
md5 : active raid5 sdd1[3] sdb1[1] sda1[0]
      3906762752 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_]
      [>....................]  recovery =  0.0% (475180/1953381376) finish=684.9min speed=47519K/sec
      bitmap: 0/15 pages [0KB], 65536KB chunk

unused devices: <none>



[root@TomNAS1 ~]# mkfs.ext4 /dev/md5
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=128 blocks, Stripe width=256 blocks
244178944 inodes, 976690688 blocks
48834534 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=3124756480
29807 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
    4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 
    102400000, 214990848, 512000000, 550731776, 644972544

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done       

[root@TomNAS1 ~]# 
0
Joseph Mulkey