I have 2 320GB SATA drives arranged in a partitioned stripeset (for data only), named /dev/md_d0. I need it partitioned in order to have it work in windows as well (there it is used as a BIOS-RAID). This worked well until recently i switched to a different distribution (from Ubuntu Studio to Debian-based 64Studio). I remember installing mdadm from the Debian testing repository. Now i experience some strange behaviour with mdadm. When i set it to assemble automatically at boot it shows a red error message that flashes by. When i try to assemble it manually,
Code:
mdadm --assemble /dev/md_d0 --auto=mdp /dev/sda /dev/sdb
i get an error that the devices are busy. In fact they were assembled at boot time as /dev/md0. OK, i disjoin and reassemble them and try to mount the partition:
Code:
mdadm --stop /dev/md0
mdadm --assemble /dev/md_d0 --auto=mdp /dev/sda /dev/sdb
mount /dev/md_d0p1
- i get the error "/dev/md_d0p1 is not a valid block device".
After this, i tried to turn off the auto-assembling at boot time in /etc/mdadm/mdadm.conf. After reboot i did the same as above (disassemble /dev/md0, reassemble /dev/md_d0, mount /dev/md_d0p1) and miraculously it works!
Now the question: the array is still being assembled as /dev/md0 automatically and this seems to be the problem. By what process is this being done and how can i turn it off? Or would it be possible with or without loosing the data, to just re-create the array with the name "/dev/md0" (data is backed-up)?
syslog when auto-assembling at boot-up:
Code:
Aug 28 16:56:09 64studio kernel: md: linear personality registered for level -1
Aug 28 16:56:09 64studio kernel: md: multipath personality registered for level -4
Aug 28 16:56:09 64studio kernel: md: raid0 personality registered for level 0
Aug 28 16:56:09 64studio kernel: md: raid1 personality registered for level 1
Aug 28 16:56:09 64studio kernel: raid5: measuring checksumming speed
Aug 28 16:56:09 64studio kernel: 8regs : 3168.000 MB/sec
Aug 28 16:56:09 64studio kernel: 8regs_prefetch: 2880.000 MB/sec
Aug 28 16:56:09 64studio kernel: 32regs : 2152.000 MB/sec
Aug 28 16:56:09 64studio kernel: 32regs_prefetch: 1908.000 MB/sec
Aug 28 16:56:09 64studio kernel: raid5: using function: 8regs (3168.000 MB/sec)
Aug 28 16:56:09 64studio kernel: raid6: int32x1 687 MB/s
Aug 28 16:56:09 64studio kernel: raid6: int32x2 863 MB/s
Aug 28 16:56:09 64studio kernel: raid6: int32x4 714 MB/s
Aug 28 16:56:09 64studio kernel: raid6: int32x8 519 MB/s
Aug 28 16:56:09 64studio kernel: raid6: mmxx1 1691 MB/s
Aug 28 16:56:09 64studio kernel: raid6: mmxx2 2738 MB/s
Aug 28 16:56:09 64studio kernel: raid6: sse1x1 1562 MB/s
Aug 28 16:56:09 64studio kernel: raid6: sse1x2 2519 MB/s
Aug 28 16:56:09 64studio kernel: raid6: using algorithm sse1x2 (2519 MB/s)
Aug 28 16:56:09 64studio kernel: md: raid6 personality registered for level 6
Aug 28 16:56:09 64studio kernel: md: raid5 personality registered for level 5
Aug 28 16:56:09 64studio kernel: md: raid4 personality registered for level 4
Aug 28 16:56:09 64studio kernel: md: raid10 personality registered for level 10
Aug 28 16:56:09 64studio kernel: attempt to access beyond end of device
Aug 28 16:56:09 64studio kernel: sda: rw=0, want=1250274496, limit=625142448
[many more attempts]
Aug 28 16:56:09 64studio kernel: attempt to access beyond end of device
Aug 28 16:56:09 64studio kernel: sda: rw=0, want=1250274679, limit=625142448
Aug 28 16:56:09 64studio kernel: md: md0 stopped.
Aug 28 16:56:09 64studio kernel: attempt to access beyond end of device
Aug 28 16:56:09 64studio kernel: sda: rw=0, want=1250274496, limit=625142448
[many more attempts]
Aug 28 16:56:09 64studio kernel: attempt to access beyond end of device
Aug 28 16:56:09 64studio kernel: sda: rw=0, want=1250274503, limit=625142448
Aug 28 16:56:09 64studio kernel: md: bind<sdb>
Aug 28 16:56:09 64studio kernel: md: bind<sda>
Aug 28 16:56:09 64studio kernel: md0: setting max_sectors to 128, segment boundary to 32767
Aug 28 16:56:09 64studio kernel: raid0: looking at sda
Aug 28 16:56:09 64studio kernel: raid0: comparing sda(312571136) with sda(312571136)
Aug 28 16:56:09 64studio kernel: raid0: END
Aug 28 16:56:09 64studio kernel: raid0: ==> UNIQUE
Aug 28 16:56:09 64studio kernel: raid0: 1 zones
Aug 28 16:56:09 64studio kernel: raid0: looking at sdb
Aug 28 16:56:09 64studio kernel: raid0: comparing sdb(312571136) with sda(312571136)
Aug 28 16:56:09 64studio kernel: raid0: EQUAL
Aug 28 16:56:09 64studio kernel: raid0: FINAL 1 zones
Aug 28 16:56:09 64studio kernel: raid0: done.
Aug 28 16:56:09 64studio kernel: raid0 : md_size is 625142272 blocks.
Aug 28 16:56:09 64studio kernel: raid0 : conf->hash_spacing is 625142272 blocks.
Aug 28 16:56:09 64studio kernel: raid0 : nb_zone is 1.
Aug 28 16:56:09 64studio kernel: raid0 : Allocating 4 bytes for hash.
Aug 28 16:56:09 64studio kernel: device-mapper: ioctl: 4.11.0-ioctl (2006-10-12) initialised: dm-devel@redhat.com
Aug 28 16:56:09 64studio kernel: kjournald starting. Commit interval 5 seconds
Aug 28 16:56:09 64studio kernel: EXT3-fs: mounted filesystem with ordered data mode.
[...]
Aug 28 16:56:09 64studio kernel: md: md_d0 stopped.
^--- i think this is the point where the red error is displayed. I think it says "device is busy".