После настройки вывод 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, который является debian lenny 64bit. sda - это системный жесткий диск (жесткий диск RAID). sdb и sdc - это новые диски Raptor емкостью 300 ГБ.
Прежде всего, проверьте физическое оборудование, такое как соединения, кабели и правильно установленные карты. Что касается самого диска, проверьте данные 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:
Для продакшена возможен только аппаратный рейд. если вы используете пользовательский softraid, вы будете запускаться сейчас, а в будущих версиях проблемы будут означать, что он НЕ будет работать. Довольно интересно, что люди не верят нам, что Proxmox VE не будет работать с soft raid - опять же: мы разработчики и должны это знать !?
P.S. Разработчики, кажется, никогда не объясняют, «почему» это не работает ... Просто говорят, что не будет.
http://forum.proxmox.com/threads/838-Install-on-Soft-Raid?p=4406#post4406
Даже если «эта» проблема не из-за Proxmox, обычно это не стоит затраченных усилий, потому что в конце концов это не сработает ...