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, она, как правило, не стоит усилий, потому что в конце концов она не сработает...