Tuesday, January 5, 2016

linux - mdadm mdadm: cannot open /dev/sda1: Device or resource busy



I am having trouble going from a single disk to raid 10



The command issued is:



mdadm --create /dev/md0 --level=10 --raid-devices=8 /dev/sd[abcdefgh]1



The output is:



mdadm mdadm: cannot open /dev/sda1: Device or resource busy


I have verified this has nothing to do with DM:



]# dmsetup status


No devices found


The file system is GPT, I used sgdisk --backup=table /dev/sda follwoed by sgdisk --load-backup=table /dev/sdb through to sdh to copy the partitions table



the table looks like:



Number  Start   End     Size    File system     Name  Flags
1 1049kB 525MB 524MB ext3 boot
2 525MB 86.4GB 85.9GB ext4

3 86.4GB 90.7GB 4295MB linux-swap(v1)
4 90.7GB 1000GB 909GB


I have created the other arrays fine however I cannot create the raid for the 1st and 2nd partition.



current status:



]# cat /proc/mdstat
Personalities : [raid10]

md3 : active raid10 sdh3[7] sdg3[6] sdf3[5] sde3[4] sdd3[3] sdc3[2] sdb3[1] sda3[0]
16766976 blocks super 1.2 512K chunks 2 near-copies [8/8] [UUUUUUUU]
resync=DELAYED

md4 : active raid10 sdh4[7] sdg4[6] sdf4[5] sde4[4] sdd4[3] sdc4[2] sdb4[1] sda4[0]
3552147456 blocks super 1.2 512K chunks 2 near-copies [8/8] [UUUUUUUU]
[========>............] resync = 42.5% (1513033344/3552147456) finish=76.2min speed=445722K/sec

unused devices:



Can anyone offer any advice, do I need to boot in to a rescue disk and create the arrays for / and /boot while they are not mounted?


Answer




do I need to...create the arrays for / and /boot while they are not mounted?




Precisely.



I hope you also realised that the old contents will be wiped in the process, so you might want to create a new array with one device missing (use mdadm --level=10 --raid-devices=8 --missing /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1 /dev/sdg1 /dev/sdh1). Then format the filesystem on the new array volume and copy all data from /dev/sda1 to it. Then reboot from the array (thus NOT using the /dev/sda1 root) and actually add /dev/sda1.




Do not forget to adjust the bootloader accordingly.


No comments:

Post a Comment

linux - How to SSH to ec2 instance in VPC private subnet via NAT server

I have created a VPC in aws with a public subnet and a private subnet. The private subnet does not have direct access to external network. S...