Raid1 ухудшается после каждой перезагрузки

После установки вывод cat / proc / mdstat выглядит следующим образом:

proxmox:~# cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdc2[1] sdb2[0]
      293024832 blocks [2/2] [UU]

unused devices: <none>

Кроме того, после того, как я установил raid1 fresh, я получил следующее:

proxmox:~# mdadm --examine --scan
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=fbda4051:61cbc27f:7f2b1f39:e153e83f

Но после перезагрузки cat / proc / mdstat выдает:

proxmox:~# cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active (auto-read-only) raid1 sdc[1]
      293024832 blocks [2/1] [_U]

unused devices: <none>

Почему сейчас используется sdc1?

Также теперь я получаю:

proxmox:~# mdadm --examine --scan
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=fbda4051:61cbc27f:7f2b1f39:e153e83f
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=fbda4051:61cbc27f:9822ee23:9b948649


proxmox:~# dmesg | grep md0
md/raid1:md0: active with 1 out of 2 mirrors
md0: detected capacity change from 0 to 300057427968
 md0: p1 p2
md0: p2 size 586049840 exceeds device capacity, limited to end of disk

Откуда появились два раздела в /dev/md0? Я никогда не делал их. Кроме того, sdc1 и sdc2 не перечислены в дереве / dev.

Вот вывод fdisk:

proxmox:~# fdisk -l /dev/sdb

Disk /dev/sdb: 300.0 GB, 300069052416 bytes
255 heads, 63 sectors/track, 36481 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x3bd84a48

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1           2       10240   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sdb2               2       36482   293024920   fd  Linux raid autodetect
Partition 2 does not end on cylinder boundary.

proxmox:~# fdisk -l /dev/sdc

Disk /dev/sdc: 300.0 GB, 300069052416 bytes
255 heads, 63 sectors/track, 36481 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x371c8012

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1               1           2       10240   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sdc2               2       36482   293024920   fd  Linux raid autodetect
Partition 2 does not end on cylinder boundary.

Немного информации: Сервер под управлением Proxmox v1.9, который является 64-битным Debian Lenny. sda - системный жесткий диск (аппаратный RAID). SDB и SDC - новые жесткие диски Raptor емкостью 300 ГБ.

2 ответа

Прежде всего, проверьте физическое оборудование, такое как соединения, кабели и правильно установленные карты. Для самого диска, проверьте данные SMART в /dev/sdb, чтобы убедиться, что сам диск периодически не выходит из строя. Western Digital Raptors работают быстро, но подвержены сбоям, у меня был один сбой из ниоткуда (даже данные SMART не предсказывали этого). Используйте smartctl для чтения данных SMART и запуска тестов. Он поставляется в пакете smartmontools:

apt-get install smartmontools

Извлеките данные и найдите аномалии или зарегистрированные ошибки:

smartctl -a /dev/sdb

Наконец, запустите ручную самопроверку, которая займет около 2 минут. long можно заменить shortи более тщательный, но занимает гораздо больше времени ("десятки минут"):

smartctl -t short /dev/sdb

После завершения теста просмотрите результаты:

smartctl -l selftest /dev/sdb

Если все вернется чистым, вы можете перейти к отладке стека mdadm.

Ваше расположение разделов на устройствах RAID немного странно. Если эти устройства будут выделены для RAID, вам вообще не понадобится таблица разделов. Предполагая, что данных нет, вам бы посоветовали сохранить простоту и напрямую использовать блочные устройства. В fdisk они будут отображаться так:

Disk /dev/sdb: 300.0 GB, 300069052416 bytes
255 heads, 63 sectors/track, 36481 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000000
Disk /dev/sdb doesn't contain a valid partition table

Чтобы устранить любые проблемы с разметкой и начать с нуля, просто добавьте несколько нулей в начале каждого диска;

dd if=/dev/zero of=/dev/sdb count=128 bs=4096k

Повторите для /dev/sdc. Создайте массив, используя эти два устройства:

mdadm --create --raid-devices=2 --level=raid1 --bitmap=internal --assume-clean --name=RAID1 /dev/sdb /dev/sdc

Не забудьте проверить dmesg на наличие выходных данных, связанных с диском!

Proxmox не поддерживает программный RAID:

Для производства возможен только аппаратный рейд. если вы используете пользовательский софтрайд, вы будете запускать его сейчас, а в будущих версиях возникнут проблемы, это не будет работать. Довольно интересно, что люди не верят нам, что Proxmox VE не будет работать с мягким рейдом - опять же: мы разработчики, и мы должны это знать!?

PS Разработчики, кажется, никогда не объясняют, "почему" это не работает... Это просто говорит, что это не будет.

http://forum.proxmox.com/threads/838-Install-on-Soft-Raid?p=4406

Даже если "эта" проблема не связана с Proxmox, она, как правило, не стоит усилий, потому что в конце концов она не сработает...

Другие вопросы по тегам