LINUX.ORG.RU
решено ФорумAdmin

Проблемы с созданием RAID массива

 ,


0

1

Доброго дня. Решил поиграться с RAID массивами, наткнулся на проблему:

sudo mknod /dev/md1 b 9 1
sudo mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sdc1 /dev/sdd1
mdadm: cannot open /dev/sdc1: Device or resource busy /dev/sdd1

Что я делал. У меня есть два диска (/dev/sdc и /dev/cdd), которые ранее стояли на сервере в софтовом рейде. Сервер сдох. При загрузке система обнаруживала, что там есть подобие рейда (/dev/md127), и его даже можно было заюзать:

sudo mount /dev/md127 /mnt/

Я использовал команду mdadm -S /dev/md127 и используя утилиту fdisk удалил старый раздел на каждом диске и создал новые разделы. Теперь диски выглядят так:

ll /dev/sd*
...
brw-rw---- 1 root disk 8, 32 Aug 15 16:12 /dev/sdc
brw-rw---- 1 root disk 8, 33 Aug 15 16:12 /dev/sdc1
brw-rw---- 1 root disk 8, 48 Aug 15 16:12 /dev/sdd
brw-rw---- 1 root disk 8, 49 Aug 15 16:12 /dev/sdd1

Пытаясь заюзать команду выше, возникает ошибка. Что я делаю не так?

В системе уже есть один рейд, который я создал при установке системы:

cat /proc/mdstat 
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md0 : active raid1 sda1[0] sdb1[1]
      244066112 blocks super 1.2 [2/2] [UU]
      
unused devices: <none>

PS Кстати, после перезагрузки пропадают из списка /dev/sdc1 и /dev/sdd1. Хотя если использовать fdisk -l /dev/sdd, например, то все показывает как надо:

sudo fdisk -l /dev/sdd
[sudo] password for engineer: 

Disk /dev/sdd: 1000.2 GB, 1000204886016 bytes
78 heads, 63 sectors/track, 397542 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000b864b

   Device Boot      Start         End      Blocks   Id  System
/dev/sdd1            2048  1953525167   976761560   fd  Linux raid autodetect

Что нужно сделать чтоб «активировать» отображение? Но в первую очередь меня волнует RAID.


Возможно, остались метаданные от предыдущего массива? Попробуйте закатать оба диска нулями через dd, положим, по паре мегабайт в начале и конце каждого из дисков (не разделов).

Frakhtan-teh ★★
()
Ответ на: комментарий от Frakhtan-teh

Пока не получилось, dd пишет вот это:

$ sudo fdisk -l /dev/sdc

Disk /dev/sdc: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/sdc doesn't contain a valid partition table

$ sudo dd if=/dev/zero of=/dev/sdd seek=1000202886016
dd: ‘/dev/sdd’: cannot seek: Invalid argument
modjo
() автор топика
Ответ на: комментарий от modjo

sudo mknod /dev/md1 b 9 1

Было в вики.

Где ты этот раритет откопал?

mdadm: cannot open /dev/sdc1: Device or resource busy /dev/sdd1

Убедись, что ты ТОЧНО не используешь /dev/sdc1

blkid /dev/sd*
df -h
pvdisplay -C
cat /proc/mdadm

PS Кстати, после перезагрузки пропадают из списка /dev/sdc1 и /dev/sdd1.

Из какого списка?

router ★★★★★
()

Я использовал команду mdadm -S /dev/md127 и используя утилиту fdisk удалил старый раздел на каждом диске и создал новые разделы.

скорее всего метаданные не были удалены

Для удаление метаданных рейда нужно выполнить

mdadm misc --zero-superblock <диск>

Или вручную обнулить через dd. Если версия метаданных 0.9 - они находятся в конце диска. Если 1.x - в начала диска

router ★★★★★
()
Последнее исправление: router (всего исправлений: 1)
Ответ на: комментарий от router

https://ru.wikipedia.org/wiki/Mdadm %)

$ blkid /dev/sd*
$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/md0p1      222G  1.3G  209G   1% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
udev            3.9G  4.0K  3.9G   1% /dev
tmpfs           798M  588K  797M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            3.9G     0  3.9G   0% /run/shm
none            100M     0  100M   0% /run/user

$ cat /proc/mdadm
$ mount
/dev/md0p1 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/cgroup type tmpfs (rw)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755)
none on /sys/fs/pstore type pstore (rw)
systemd on /sys/fs/cgroup/systemd type cgroup (rw,noexec,nosuid,nodev,none,name=systemd)
cat: /proc/mdadm: No such file or directory

$ dmesg | grep sdc
[    6.747765] sd 4:0:0:0: [sdc] 1953525168 512-byte logical blocks: (1.00 TB/931 GiB)
[    6.747815] sd 4:0:0:0: [sdc] Write Protect is off
[    6.747817] sd 4:0:0:0: [sdc] Mode Sense: 00 3a 00 00
[    6.747839] sd 4:0:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    6.779428]  sdc: sdc1
[    6.780128] sd 4:0:0:0: [sdc] Attached SCSI disk
[58824.319206]  sdc: sdc1

PS

Пропадают из /dev/

modjo
() автор топика
Ответ на: комментарий от router
$ sudo blkid /dev/sd*
/dev/sda1: UUID="ba58574a-ca7e-0388-d7d0-822b7fcd571a" UUID_SUB="7046b9de-d58c-13bc-1528-cc4795a3325f" LABEL="mskaursrv4:0" TYPE="linux_raid_member"
/dev/sdb1: UUID="ba58574a-ca7e-0388-d7d0-822b7fcd571a" UUID_SUB="6fd99049-5ba8-f03e-a930-bcc2976d4bf5" LABEL="mskaursrv4:0" TYPE="linux_raid_member"
/dev/sdc: TYPE="nvidia_raid_member"
/dev/sdd: TYPE="nvidia_raid_member"


$ sudo cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sda1[0] sdb1[1]
      244066112 blocks super 1.2 [2/2] [UU]

unused devices: <none>
modjo
() автор топика
Ответ на: комментарий от modjo

/dev/sdc: TYPE=«nvidia_raid_member»
/dev/sdd: TYPE=«nvidia_raid_member»

/me грязно выругался

обнули первые и последние мегабайт 10.

dd if=/dev/zero of=/dev/sdc bs=1M count=10
fdisk -l /dev/sdc

потом пересчитываешь размер диска Мб и

dd if=/dev/zero of=/dev/sdc bs=1M count=20 seek=<размер диска в Мб - 10>

потом удали кэш blkid ( что-то вроде /etc/blkid.tab или /etc/blkid/blkid.tab ) и снова посмотри blkid /dev/sd*

router ★★★★★
()
Ответ на: комментарий от router

nvidia_raid_member

И ещё, убедись что у тебя на матери мост не nvidia. И отключи недорейды в биосе

router ★★★★★
()
Ответ на: комментарий от router
dd: ‘/dev/sdc’: cannot seek: Invalid argument

Подскажите как правильно расчитывать seek? Нужен небольшой ликбез, никогда не пользовался dd для подобных случаев.

$ sudo fdisk -l /dev/sdc
[sudo] password for engineer:

Disk /dev/sdc: 1000.2 GB, 1000204886016 bytes
81 heads, 63 sectors/track, 382818 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x27adf7b6

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1            2048  1953525167   976761560   fd  Linux raid autodetect
modjo
() автор топика
Ответ на: комментарий от modjo

Disk /dev/sdc: 1000.2 GB, 1000204886016 bytes

размер диска в байтах - 1000204886016

размер диска в Мб ~ 953869

router@rhea:~$ echo '1000204886016/1024^2' | bc -l
953869.71093750000000000000
router@rhea:~$ echo $((1000204886016/1024**2))
953869

в результате:

dd if=/dev/zero of=/dev/sdc bs=1M count=20 seek=$((1000204886016/1024**2-10))

Если всё правильно посчитано, dd должен сказать, что записать удалось только ~ 10 Мб, а не 20, как было указано ( count=20 )

router ★★★★★
()
Последнее исправление: router (всего исправлений: 1)
Ответ на: комментарий от router
$ sudo dd if=/dev/zero of=/dev/sdd bs=1M count=20 seek=$((1000204886016/1024**2-10))
dd: error writing ‘/dev/sdd’: No space left on device
11+0 records in
10+0 records out
11231232 bytes (11 MB) copied, 0.0223685 s, 502 MB/s

Я так понимаю вы как раз об это говорили. Все получилось. Нужно было еще перезагрузиться. Спасибо!

PS Разделы пропадали из /dev, видимо, именно из этих проблем.

modjo
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.