Проверка и замена Жесткого диска

Жесткий диск

Всем привет, давно не писал … надо было заменить диск и вот начал серфить интернет.

Итак, для замены диска нам понадобиться smartctl, atop,mdadm,hdparm устанавливаем их с помощью yum install или apt-get install название программы.

Далее делаем быстрый тест коммандой

smartctl -t short /dev/sda
и смотрим резальтат

smartctl -l selftest /dev/sda
в случае если этого мало можно понаблюдать за выводом команды atop.

Узнаем серийный номер

hdparm -i /dev/sda | grep SerialNo

Megacli

После того как определились какой диск сбоит, его над отметить, а потом выкинуть с массива.

Отмечаем (пример Raid1)

mdadm —manage /dev/md0 —fail /dev/sda1
mdadm —manage /dev/md1 —fail /dev/sda2
mdadm —manage /dev/md2 —fail /dev/sda3
Выкидываем

mdadm —manage /dev/md0 —remove /dev/sda1
mdadm —manage /dev/md1 —remove /dev/sda2
mdadm —manage /dev/md2 —remove /dev/sda3

Далее меняем диск.

Копируем разметку диска

sfdisk -d /dev/sdb | sfdisk /dev/sda можно и насильно если диски разные
sfdisk -d /dev/sdb | sfdisk —force /dev/sda

Если диск 3тб и более то используем Gdisk

sgdisk -R /dev/sda /dev/sdb

Новый UUID:

sgdisk -G /dev/sda

Добавляем в массив диск

mdadm —manage /dev/md0 —add /dev/sda1
mdadm —manage /dev/md1 —add /dev/sda2
mdadm —manage /dev/md2 —add /dev/sda3

Начинается синхронизация

cat /proc/mdstat

На этом все, спасибо.

З,ы квоыты в OVH

ln -s /dev/md2 /dev/root

Увеличить скорость ресинхронизации софтового рейда

echo 50000 > /proc/sys/dev/raid/speed_limit_min — минимально на 50 мегабит
echo 300000 > /proc/sys/dev/raid/speed_limit_max — максимально на 300 мегабит

проверить работу

watch cat /proc/mdstat

Если диски впали в статус Spare sda1[2](S)

Выполнить команду

mdadm —grow —raid-devices=2 /dev/md1 //devices= указываем число дисков в md

MEgacli

# MegaCli -CfgLdAdd -r0[80:17] -a0
The specified physical disk does not have the appropriate attributes to complete
the requested command.
Exit Code: 0x26

Обнаружить сколько дисков в такой конфигурации можно так:

# MegaCli -CfgForeign -Scan -a0
There are 1 foreign configuration(s) on controller 0.
Exit Code: 0x00

Очистить «не родную» конфигурацию:

# MegaCli -CfgForeign -Clear -a0
Foreign configuration 0 is cleared on controller 0.
Exit Code: 0x00

==========================
Выключаем диск
MegaCli64 -pdoffline -physdrv[25:1] -a0

Adapter: 0: EnclId-25 SlotId-1 state changed to OffLine.

Exit Code: 0x00

2) Помечаем как пропавший

MegaCli64 -pdmarkmissing -physdrv[25:1] -aAll

EnclId-252 SlotId-3 is marked Missing.

Exit Code: 0x00

3) Подготавливаем диск к удалению из сервера

MegaCli64 -pdprprmv -physdrv[25:1] -a0