RAID-10. Наше все.

Предыстория:

Возникла проблема с увеличение нагрузки на ввод/вывод и после чего постепенно начали отказывать все "органы" a на Linux, что собственно стало БОЛЬШОЙ проблемой в филиале.

Поиск причины:

Для того чтобы понять, в чем проблема - необходимо проверить доступность дисков и возможность открытия директорий.

В моем случае, оказалось что проблема быстродействия и перегрузки системы связаны с выходом из стоя одного диска из RAID10, на котором собственно и крутится Oracle.

На сервере (DBServer) находятся 6 дисков. 4 из них отведены под RAID10

Выводим информацию о дисках:
[root@dbserver38 ~]# fdisk -l Disk /dev/sda: 1000.2 GB, 1000204886016 bytes 255 heads, 63 sectors/track, 121601 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 1 121601 976760001 83 Linux

Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes 255 heads, 63 sectors/track, 121601 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdb1 1 121601 976760001 fd Linux raid autodetect

Disk /dev/sdc: 1000.2 GB, 1000204886016 bytes 255 heads, 63 sectors/track, 121601 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdc1 1 121601 976760001 83 Linux

Disk /dev/sdd: 1000.2 GB, 1000204886016 bytes 255 heads, 63 sectors/track, 121601 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdd1 1 121601 976760001 83 Linux

Disk /dev/sde: 2000.3 GB, 2000398934016 bytes 255 heads, 63 sectors/track, 243201 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sde1 1 243201 1953512001 83 Linux

Disk /dev/sdf: 160.0 GB, 160000000000 bytes 18 heads, 4 sectors/track, 4340277 cylinders Units = cylinders of 72 * 512 = 36864 bytes Device Boot Start End Blocks Id System /dev/sdf1 * 1 2844 102382 83 Linux /dev/sdf2 2845 4340277 156147588 8e Linux LVM
Disk /dev/dm-0: 140.9 GB, 140995723264 bytes 255 heads, 63 sectors/track, 17141 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/dm-0 doesn't contain a valid partition table
Disk /dev/dm-1: 18.8 GB, 18891145216 bytes 255 heads, 63 sectors/track, 2296 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/dm-1 doesn't contain a valid partition table

Disk /dev/md0: 2000.4 GB, 2000404348928 bytes 2 heads, 4 sectors/track, 488379968 cylinders Units = cylinders of 8 * 512 = 4096 bytes
Disk /dev/md0 doesn't contain a valid partition table

Учитывая, что проблема в RAID, то необходимо проверить его утилитой mdadm
 [root@dbserver38 ~]# mdadm --detail /dev/md0
/dev/md0: Version : 0.90 Creation Time : Mon Oct 8 15:24:16 2018 Raid Level : raid10 Array Size : 1953519872 (1863.02 GiB 2000.40 GB) Used Dev Size : 976759936 (931.51 GiB 1000.20 GB) Raid Devices : 4 Total Devices : 3 Preferred Minor : 0 Persistence : Superblock is persistent Update Time : Mon Oct 22 14:33:51 2018 State : active, degraded Active Devices : 3 Working Devices : 3 Failed Devices : 0 Spare Devices : 0 Layout : near=2 Chunk Size : 64K UUID : b2f4207f:eb8ea65b:dd6dbe43:9773250b Events : 0.1213223 Number Major Minor RaidDevice State 0 8 1 0 active sync /dev/sda1 1 0 0 1 removed 2 8 33 2 active sync /dev/sdc1 3 8 49 3 active sync /dev/sdd1
При нормальном функционировании рэйда, значение параметра State(состояние) должно быть clean, active. 
А здесь мы видим, что raid работает, но при этом есть проблемы и по сути наш raid-массив стал неполным (degraded).
State : active, degraded

и в списке дисков, используемых в данном массиве, указано что один диск просто не подключен (удален):
Number Major Minor RaidDevice State
1 0 0 1 removed

При попытке узнать информацию о нем, получаем следующую информацию: [root@dbserver38 ~]# fsck /dev/sdb1 fsck 1.39 (29-May-2006) e2fsck 1.39 (29-May-2006) Group descriptors look bad... trying backup blocks... fsck.ext3: Bad magic number in super-block while trying to open /dev/sdb1 The superblock could not be read or does not describe a correct ext2 filesystem. If the device is valid and it really contains an ext2 filesystem (and not swap or ufs or something else), then the superblock is corrupt, and you might try running e2fsck with an alternate superblock: e2fsck -b 8193
В принципе, видим, что проблема в диске, его необходимо вытащить из RAID и проверить на проблемы в сторонней программе (я проверял под Windows с установленной программой для считывания формата ext).


Но как узнать, какой диск нужно вытащить?
Если вытащить не тот диск, то есть вероятность полностью поломать RAID, так как по факту сейчас RAID10 работает на 3 дисках, а при двух работающих дисках вероятность того что он будет работать корректно и правильно очень низкое.

Диск узнал с помощью утилиты hdparm, который выдал серийный номер и по нему я уже вытащил диск и проверил на ошибки.

Ошибок не обнаружилось, считаю пока что ошибка с диском случайная, но на всякий случай отформатировал диск и повторно вставил в рэйд. Правда изначально пришлось немного побороться с системой при загрузке (из-за того что я забыл изменить точки монтирования), но все было исправлено и диск встал в рэйд и синхронизировался.

Источники:

Комментарии

Популярные сообщения из этого блога

TRUNCATE / DELETE / DROP или как очистить таблицу

Linux (РедОС). Сброс пароля

ЭС с ЦБ РФ. РЕКВИЗИТНЫЙ СОСТАВ ЭС

КБК. КВФО - Код вида финансового обеспечения (деятельности)

ТФФ 35.0. Полный перечень документов альбома ТФФ (Таблица 2)