Особенности gmirror на FreeBSD
Интересной особенностью немецко-фашистского датацентра HETZNER является добровольно-принудительное навязывание использования на выделенных серверах бюджетного класса под управлением нашей настоящей системы — софтовой реализации зеркального RAID — gmirror. Поскольку качество жестких дисков оставляет желать лучшего, зачастую ставят на новый сервер диски в ошибками SMART, то и на рабочих серверах ошибки SMART не новость.
ATA Error Count: 3
CR = Command Register [HEX]
FR = Features Register [HEX]
SC = Sector Count Register [HEX]
SN = Sector Number Register [HEX]
CL = Cylinder Low Register [HEX]
CH = Cylinder High Register [HEX]
DH = Device/Head Register [HEX]
DC = Device Command Register [HEX]
ER = Error register [HEX]
ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It «wraps» after 49.710 days.Error 3 occurred at disk power-on lifetime: 1576 hours (65 days + 16 hours)
When the command that caused the error occurred, the device was active or idle.
Такая картина — суровая реальность. Естественно, что софтовый RAID в таком режиме не живет. Статус выглядит как-то так:
Name Status Components
mirror/gm0 DEGRADED ad6 (ACTIVE)
Чтобы не искать каждый раз 2 команды для восстановления массива решение на сторонних сайтах, делаю себе пометку в этом блоге.
# gmirror insert gm0 ad4
Сначала приказываем системе «забыть» про массив. Далее добавляем «потерянного бойца» в ряды, так сказать РККА.
Сбор массива — дело не одной минуты, сервер будет мучаться примерно сутки для дисков размером 2 ТБайта. Еще бы, ведь он просто копирует диски.
Name Status Components
mirror/gm0 DEGRADED ad6 (ACTIVE)
ad4 (SYNCHRONIZING, 0%)Disks ad4 ad6
KB/t 127 119
tps 652 723
MB/s 80.79 84.02
%busy 22 96
Полка 3 ошибки, молча собираем массив. Вот будет 30, тогда можно создать тикет в саппорт.