LINUX.ORG.RU

Проблемы с программным Raid 5


0

0

Джентльмены, я организовал два программных массива Raid 5 на трех жестких дисках и столкнулся с двумя проблемами. Первый raid практически после каждой загрузки системы пересинхронизируется. Второй raid показывает ничтожную скорость чтения, это уже вне связи с загрузкой. Вопрос в том, являются ли эти проблемы аппаратными (винчестеры накрываются) или я просто неправильно настроил raid.

А теперь подробнее. Я купил три sata hdd Seagate 7200.10 по 500Gb, подключил их к материнке msi на nforce 4 (процессор athlon64 3500, 2Gb памяти). На каждом винчестере я создал разделы по 20 и 480 GB, и объединил тройки разделов в два массива raid 5 при помощи mdadm. Массивы отформатированы под ext3. Маленький рейд /dev/md3 смонтирован под /, большой /dev/md0 смонтирован под /home.

1. Практически при каждой загрузке системы, массив /dev/md3 подвергается ресинхронизации. Причем предыдущее выключение всегда происходит штатно, массив чисто отмонтируется. Подчеркну, что по информации mdadm, ни один из трех дисков не помечается как неисправный или свободный. Все три диска активны, но при этом происходит ресинхронизация. Mdadm показывает примерно следующее:

hawaii:/home/yasha # mdadm -D /dev/md3
/dev/md3:
Version : 01.00.03
Creation Time : Sun Nov 4 12:25:14 2007
Raid Level : raid5
Array Size : 41945344 (40.00 GiB 42.95 GB)
Used Dev Size : 41945344 (20.00 GiB 21.48 GB)
Raid Devices : 3
Total Devices : 3
Preferred Minor : 3
Persistence : Superblock is persistent

Intent Bitmap : Internal

Update Time : Wed Nov 7 00:14:35 2007
State : active,resyncing
Active Devices : 3
Working Devices : 3
Failed Devices : 0
Spare Devices : 0

Rebuild Status : 76% complete

Layout : left-symmetric
Chunk Size : 128K

Name : 3
UUID : 70d39a0d:72416064:98237df9:6d8f7938
Events : 818

Number Major Minor RaidDevice State
0 8 2 0 active sync /dev/sda2
1 8 18 1 active sync /dev/sdb2
3 8 34 2 active sync /dev/sdc2

Система при этом нещадно тормозит, но когда синхронизация заканчивается, все работает как часы. Ресинхронизация никогда не начинается посреди работы, а только во время загрузки, как при включении компьютера, так и после перезагрузки. В чем может быть причина этого? Я проверил диски на плохие блоки программой seatools, но винчестеры успешно прошли самотестирование, как short, так и long smart test.

2. Второй raid /dev/md0 приступам ресинхронизации не подвержен. Зато скорость чтения с него ничтожно мала. hdparm -t /dev/md0 дает 27.31 MB/sec. Это в два-три раза меньше, чем скорость чтения с одиночного винчествера! Для сравнения, на массиве /md3 выходит 150.15 MB/sec.
Оба рейда при этом подмонтированы с одинаковыми параметрами, а именно
/dev/md0 /home ext3 noatime,nodiratime,acl,user_xattr 1 2

Вот подробности о рейде:
hawaii:/home/yasha # mdadm -D /dev/md0
/dev/md0:
Version : 01.00.03
Creation Time : Mon Nov 5 10:32:17 2007
Raid Level : raid5
Array Size : 932444416 (889.25 GiB 954.82 GB)
Used Dev Size : 932444416 (444.62 GiB 477.41 GB)
Raid Devices : 3
Total Devices : 3
Preferred Minor : 0
Persistence : Superblock is persistent

Intent Bitmap : Internal

Update Time : Wed Nov 7 00:34:13 2007
State : active
Active Devices : 3
Working Devices : 3
Failed Devices : 0
Spare Devices : 0

Layout : left-symmetric
Chunk Size : 128K

Name : 0
UUID : cf499b9d:e743c543:5eed4591:00fb359d
Events : 16

Number Major Minor RaidDevice State
0 8 4 0 active sync /dev/sda4
1 8 20 1 active sync /dev/sdb4
3 8 36 2 active sync /dev/sdc4


Как вы думаете, в чем причина такой низкой производительности и не связана ли эта проблема с предыдущей?
Спасибо.

> 1. Практически при каждой загрузке системы, массив /dev/md3 подвергается ресинхронизации.

man md -> Unclean shutdown?

> 2. Второй raid /dev/md0 приступам ресинхронизации не подвержен. Зато скорость чтения с него ничтожно мала.

Это происходит когда у первого "Rebuild Status : 76% complete"? Тогда естественно это связано с предыдущей проблемой - он же пытается с тех же хардов читать, которые интенсивно используются для синхронизации первого массива.

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

1. Не-не, никакого Unclean shutdown не происходит. Выключаю всегда чисто. Поэтому и возникает вопрос, с какого фига raid пересинхронизируется.

2. >Это происходит когда у первого "Rebuild Status : 76% complete

Нет, такая низкая скорость наблюдается постоянно, в том числе, и после полного завершения всех синхронизаций.

SlonoInquisitor
() автор топика

Есть мнение, что один из жестких дисков неисправен. Я тут замерил (hdparm -t) скорость чтения не с массива, с отдельных разделов. Так вот у /dev/sda4 и /dev/sdb4 она порядка 75 Mb/s, а у /dev/sdc4 стабильно на уровне 12 Mb/s. Наверное, это и объясняет низкую скорость чтения с /dev/md0. А скорость чтения с /dev/sdc2 прыгает между двумя значениями, то 75, то 12 Mb/s. Возможно, это имеет общую причину с ресинхронизациями. То есть, я думаю, что все-таки хард /dev/sdc накрылся.

Проблема в том, что смарттесты не выдают никаких ошибок на этом жестком диске. Вот как я пойду менять хард? Бэдблоков нет, но читает медленно?

SlonoInquisitor
() автор топика
Ответ на: комментарий от anonymous

Да с режимами все нормально. Смотрите, скорость чтения с раздела /dev/sdc2 составляет 76Mb/s, а вот с раздела /dev/sdc4 того же диска - жалкие 12 Mb/s. Я подозреваю, что неисправна какая-то одна головка/пластина. Про Seagate говорят, что это распространенная проблема на этих моделях. Я уже отнес хард продавцу, пусть меняют.

Меня сейчас другое беспокоит. Я вот пометил все разделы /dev/sdc как failed, удалил их из массива. Специально проверил, что рутовский массив /dev/md3 остался active. Но после того, как я выдернул хард из контроллера, система с /dev/md3 все же не загрузилась. Опаньки, говорит, два харда это слишком мало для raid 5, поскольку в твоем случае массив не чист (clean). Ну вот как это не чист, если он был active, и когда я отключал хард /dev/sdc, ресинхронизация не происходила?

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