Корректная замена SATA дисков на горячую в linux

Ответить
admin
Администратор
Сообщения: 198
Зарегистрирован: 05 янв 2011, 04:19

Корректная замена SATA дисков на горячую в linux

Сообщение admin »

Как оказалось SATA диски не такие уж и HotSwap и требуются некоторые действия, что бы все корретно заработало.
Для начала нужно отмонтировать или вывести из рейд массива диск.

Как извлечь диск из рейда md можно узнать здесь.

После этого сбросить весь кэш контроллера, т.е. провести синхронизацию данных на диске до актуальной:
sync

Извлечь устройство командой:
echo 1 >/sys/block/sdX/device/delete

где sdX — имя диска, например sda, sdb, sdc…
или по номеру контроллера:
echo 1 > /sys/bus/scsi/devices/targetX:0:0/X:0:0:0/delete

Теперь можно физически извлечь диск и заменить на новый.
Новый диск автоматически не появится, для этого нужно сделать сброс контроллера, после переинициализации найдется новый диск:
echo "- - -" >/sys/class/scsi_host/hostX/scan

где Х номер шины, можно узнать из dmesg место где стоял старый диск (host’ы нумеруются с 0, а не с 1, а в dmesg ata устройства нумеруются с 1). Если расположение диска неизвестно — можно сделать для всех хост-контроллеров, ничего страшного не произойдет, данные не потеряются, файловая система не поломается, возможен только небольшой лаг в доступе к активным дискам.
Ответить