У меня установлен сервер ubuntu 10.04 на массиве Raid10 (MD) с использованием 4 жестких дисков.
Как известно, Raid10 - это Raid 1 + Raid 0. Итак, два жестких диска удаляются и они зеркалируются (или наоборот).
Есть ли простой способ выяснить, какие два из этих четырех дисков лишены, а какие зеркалируются?
Вот результат: /proc/mdstat
Personalities : [raid10] [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4]
md0 : active raid10 sda1[0] sdb1[1] sdd1[3] sdc1[2]
388992 blocks 64K chunks 2 near-copies [4/4] [UUUU]
md2 : active raid10 sda7[0] sdb7[1] sdd7[3] sdc7[2]
19529600 blocks 64K chunks 2 near-copies [4/4] [UUUU]
md4 : active raid10 sda9[0] sdb9[1] sdd9[3] sdc9[2]
9762688 blocks 64K chunks 2 near-copies [4/4] [UUUU]
md1 : active raid10 sda6[0] sdb6[1] sdd6[3] sdc6[2]
19529600 blocks 64K chunks 2 near-copies [4/4] [UUUU]
md5 : active raid10 sda10[0] sdb10[1] sdd10[3] sdc10[2]
195309440 blocks 64K chunks 2 near-copies [4/4] [UUUU]
md6 : active raid10 sda11[0] sdb11[1] sdd11[3] sdc11[2]
1558599552 blocks 64K chunks 2 near-copies [4/4] [UUUU]
md3 : active raid10 sda8[0] sdb8[1] sdd8[3] sdc8[2]
146483072 blocks 64K chunks 2 near-copies [4/4] [UUUU]
unused devices: <none>
Наверное, зависит от того, какие варианты используются для изготовления арария.
Прочтите man md (4). По умолчанию n2 (рядом). Вот отрывок из руководства:
При настройке массива RAID10 необходимо указать ... ... должны ли реплики быть «рядом», «смещены» или «далеко».
Когда выбираются «близкие» реплики, несколько копий данного фрагмента размещаются последовательно по полосам массива, поэтому две копии блока данных, вероятно, будут с одинаковым смещением на двух соседних устройствах.Когда выбраны «дальние» реплики, несколько копий данного фрагмента располагаются довольно далеко друг от друга. Первая копия всех блоков данных будет распределена по ранней части всех дисков в режиме RAID0, а затем следующая копия всех блоков будет чередоваться по более поздней части всех дисков, всегда гарантируя, что все копии любого данного блока на разных дисках.
Если проблема на самом деле заключается в загрузке с разных дисков, как, возможно, можно определить по вашим комментариям к ответу Chopper3, то ответ не имеет ничего общего с MD, а скорее с тем, на каком диске (ах) находится основная загрузочная запись, нет?
Чтобы ответить на буквальный вопрос, IIRC mdadm распознает элементы массива по UUID, поэтому переключение их должно быть безопасным.
Эм ... странный вопрос, они все в полоску и все зеркальные.
Обычно у вас есть два набора из двух дисков, каждый из которых разделен, а два набора зеркально отражены, они активны-активны, это не похоже на то, что один набор просто сидит там.
Я сам не уверен, я знаю, что если вы загружаетесь по-другому (например, после удаления диска), буквы, присвоенные дискам, изменяются. Итак, то, что было sdb, могло стать sda.
Если у вас возникли проблемы с загрузкой, установите grub на все диски. Это не повредит массиву рейдов, поскольку grub находится за пределами конфигурации рейда. Grub также не понимает raid, поэтому вы не сможете загрузиться при смене дисков. Может показаться, что он установлен на / dev / md0, но это только файлы grub, MBR не зеркалируется.
Здесь есть две разные проблемы.
- замена дисков:
Это всегда будет работать, поскольку md использует внутренние номера UUID, чтобы указать, какой диск является частью данного массива, а не путь / dev или физические пути. Таким образом, перемещение дисков с одного порта на другой не имеет никакого эффекта, поскольку md может видеть все диски, которые ему нужны. проверьте вывод mdadm --misc --detail для поля UUID. Это считается особенностью md.
--Узнайте, какие диски зеркалируются, а какие пары объединены.
Скажем, топология 1 + 0 с дисками b, c, d, e одинакового размера. Например:
[root@of ~]# cat /proc/mdstat
Personalities : [raid10]
md0 : active raid10 sde1[3] sdd1[2] sdc1[1] sdb1[0]
181760 blocks super 1.2 64K chunks 2 near-copies [4/4] [UUUU]
проблема, с которой мы сталкиваемся, заключается в том, как определить, какие диски можно удалить, не нарушив тома.