Gmirror: различия между версиями
FireWolf (обсуждение | вклад) (Новая страница: «= 1. Проверить состояние дисков в SMART = Выполнить команду smartctl -a /dev/ada* == 1.1 Критически важн…») |
FireWolf (обсуждение | вклад) м |
||
Строка 8: | Строка 8: | ||
=== 1.1.1 Переназначения секторов === | === 1.1.1 Переназначения секторов === | ||
Число операций переназначения секторов, должно быть 0:<syntaxhighlight> | Число операций переназначения секторов, должно быть 0:<syntaxhighlight lang="text"> | ||
5 Reallocated_Sector_Ct 0x0033 100 100 010 Pre-fail Always - 0 | 5 Reallocated_Sector_Ct 0x0033 100 100 010 Pre-fail Always - 0 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 14: | Строка 14: | ||
=== 1.1.2 Секторы, являющиеся кандидатами на замену === | === 1.1.2 Секторы, являющиеся кандидатами на замену === | ||
Число секторов, являющихся кандидатами на замену, должно быть 0. | Число секторов, являющихся кандидатами на замену, должно быть 0. | ||
<syntaxhighlight> | <syntaxhighlight lang="text"> | ||
197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 0 | 197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 0 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 20: | Строка 20: | ||
=== 1.1.3 Температурный режим диска === | === 1.1.3 Температурный режим диска === | ||
Температурный режим диска, не должен превышать 50 градусов цельсия. | Температурный режим диска, не должен превышать 50 градусов цельсия. | ||
<syntaxhighlight> | <syntaxhighlight lang="text"> | ||
190 Airflow_Temperature_Cel 0x0022 070 057 045 Old_age Always - 30 (Min/Max 24/35) | 190 Airflow_Temperature_Cel 0x0022 070 057 045 Old_age Always - 30 (Min/Max 24/35) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 27: | Строка 27: | ||
=== 1.2.1 Количество запусков и остановок === | === 1.2.1 Количество запусков и остановок === | ||
Количество запусков и остановок, включений/выключений (если они не совпадают - это тревожный фактор). | Количество запусков и остановок, включений/выключений (если они не совпадают - это тревожный фактор). | ||
<syntaxhighlight> | <syntaxhighlight lang="text"> | ||
4 Start_Stop_Count 0x0032 100 100 020 Old_age Always - 15 | 4 Start_Stop_Count 0x0032 100 100 020 Old_age Always - 15 | ||
Строка 35: | Строка 35: | ||
=== 1.2.2 Время работы === | === 1.2.2 Время работы === | ||
Время работы (в часах), если оно превышает 17520 - значит винчестеру уже больше 2-х лет и его пора менять: | Время работы (в часах), если оно превышает 17520 - значит винчестеру уже больше 2-х лет и его пора менять: | ||
<syntaxhighlight> | <syntaxhighlight lang="text"> | ||
9 Power_On_Hours 0x0032 078 078 000 Old_age Always - 19726 | 9 Power_On_Hours 0x0032 078 078 000 Old_age Always - 19726 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 41: | Строка 41: | ||
=== 1.2.3 Число повторных раскруток дисков === | === 1.2.3 Число повторных раскруток дисков === | ||
Число повторных попыток раскрутки дисков до рабочей скорости в случае, если первая попытка была неудачной, должно быть 0: | Число повторных попыток раскрутки дисков до рабочей скорости в случае, если первая попытка была неудачной, должно быть 0: | ||
<syntaxhighlight> | <syntaxhighlight lang="text"> | ||
10 Spin_Retry_Count 0x0013 100 100 097 Pre-fail Always - 0 | 10 Spin_Retry_Count 0x0013 100 100 097 Pre-fail Always - 0 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 47: | Строка 47: | ||
=== 1.2.4 Количество ошибок во время ударных нагрузок === | === 1.2.4 Количество ошибок во время ударных нагрузок === | ||
Количество ошибок, возникающих в результате ударных нагрузок, должен быть 0: | Количество ошибок, возникающих в результате ударных нагрузок, должен быть 0: | ||
<syntaxhighlight> | <syntaxhighlight lang="text"> | ||
191 G-Sense_Error_Rate 0x0032 100 100 000 Old_age Always - 0 | 191 G-Sense_Error_Rate 0x0032 100 100 000 Old_age Always - 0 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 55: | Строка 55: | ||
Пример синхронизорованного состояния: | Пример синхронизорованного состояния: | ||
<syntaxhighlight> | <syntaxhighlight lang="shell"> | ||
# gmirror status | # gmirror status | ||
Строка 66: | Строка 66: | ||
Пример деградированного состояния с указанием процента восстановления второго диска | Пример деградированного состояния с указанием процента восстановления второго диска | ||
<syntaxhighlight> | <syntaxhighlight lang="shell"> | ||
# gmirror status | # gmirror status | ||
Строка 77: | Строка 77: | ||
Пример деградированного состояния с исчезновением диска из системы из-за сбоя диска | Пример деградированного состояния с исчезновением диска из системы из-за сбоя диска | ||
<syntaxhighlight> | <syntaxhighlight lang="shell"> | ||
# gmirror status | # gmirror status | ||
Строка 86: | Строка 86: | ||
Пример деградированного состояния с отключенным авторебилдом | Пример деградированного состояния с отключенным авторебилдом | ||
<syntaxhighlight> | <syntaxhighlight lang="shell"> | ||
# gmirror status | # gmirror status | ||
Строка 98: | Строка 98: | ||
= 3. Отключение не синхронизированного диска = | = 3. Отключение не синхронизированного диска = | ||
Если зеркало не синхронизировано - отключить диск, который выпал из зеркала (в примере ada2): | Если зеркало не синхронизировано - отключить диск, который выпал из зеркала (в примере ada2): | ||
<syntaxhighlight> | <syntaxhighlight lang="shell"> | ||
gmirror forget gm0 | gmirror forget gm0 | ||
Строка 109: | Строка 109: | ||
= 5. Вернуть диск в зеркало = | = 5. Вернуть диск в зеркало = | ||
Вернуть диск в зеркало, если был до этого отключен диск из зеркала (в примере ada2): | Вернуть диск в зеркало, если был до этого отключен диск из зеркала (в примере ada2): | ||
<syntaxhighlight> | <syntaxhighlight lang="shell"> | ||
gmirror forget gm0 | gmirror forget gm0 | ||
Строка 117: | Строка 117: | ||
= 6. Восстановление зеркала с отключенным авторебилдом = | = 6. Восстановление зеркала с отключенным авторебилдом = | ||
Запустить процесс перестройки зеркала | Запустить процесс перестройки зеркала | ||
<syntaxhighlight> | <syntaxhighlight lang="shell"> | ||
gmirror rebuild gm0 /dev/ada2 /dev/ada3 | gmirror rebuild gm0 /dev/ada2 /dev/ada3 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 136: | Строка 136: | ||
= Дополнительные опции = | = Дополнительные опции = | ||
Выключить автосинхронизацию дисков | Выключить автосинхронизацию дисков | ||
<syntaxhighlight> | <syntaxhighlight lang="shell"> | ||
gmirror configure -n gm0 | gmirror configure -n gm0 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Включить автосинхронизацию дисков | Включить автосинхронизацию дисков | ||
<syntaxhighlight> | <syntaxhighlight lang="shell"> | ||
gmirror configure -a gm0 | gmirror configure -a gm0 | ||
</syntaxhighlight> | </syntaxhighlight> |
Версия 07:31, 10 января 2017
1. Проверить состояние дисков в SMART
Выполнить команду
smartctl -a /dev/ada*
1.1 Критически важные атрибуты
Обратить особое внимание на атрибуты (смотрим на последнюю цифру, пример для винчестеров Seagate ES Constellation)
1.1.1 Переназначения секторов
Число операций переназначения секторов, должно быть 0:
5 Reallocated_Sector_Ct 0x0033 100 100 010 Pre-fail Always - 0
1.1.2 Секторы, являющиеся кандидатами на замену
Число секторов, являющихся кандидатами на замену, должно быть 0.
197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 0
1.1.3 Температурный режим диска
Температурный режим диска, не должен превышать 50 градусов цельсия.
190 Airflow_Temperature_Cel 0x0022 070 057 045 Old_age Always - 30 (Min/Max 24/35)
1.2 Важные атрибуты
1.2.1 Количество запусков и остановок
Количество запусков и остановок, включений/выключений (если они не совпадают - это тревожный фактор).
4 Start_Stop_Count 0x0032 100 100 020 Old_age Always - 15
12 Power_Cycle_Count 0x0032 100 100 020 Old_age Always - 15
1.2.2 Время работы
Время работы (в часах), если оно превышает 17520 - значит винчестеру уже больше 2-х лет и его пора менять:
9 Power_On_Hours 0x0032 078 078 000 Old_age Always - 19726
1.2.3 Число повторных раскруток дисков
Число повторных попыток раскрутки дисков до рабочей скорости в случае, если первая попытка была неудачной, должно быть 0:
10 Spin_Retry_Count 0x0013 100 100 097 Pre-fail Always - 0
1.2.4 Количество ошибок во время ударных нагрузок
Количество ошибок, возникающих в результате ударных нагрузок, должен быть 0:
191 G-Sense_Error_Rate 0x0032 100 100 000 Old_age Always - 0
2. Проверить зеркало (RAID1)
Убедиться что зеркало (RAID1) в синхронизированном состоянии с помощью gmirror status.
Пример синхронизорованного состояния:
# gmirror status
Name Status Components
mirror/gm0 COMPLETE ada2 (ACTIVE)
ada3 (ACTIVE)
Пример деградированного состояния с указанием процента восстановления второго диска
# gmirror status
Name Status Components
mirror/gm0 DEGRADED ada2 (SYNCHRONIZING, 26%)
ada3 (ACTIVE)
Пример деградированного состояния с исчезновением диска из системы из-за сбоя диска
# gmirror status
Name Status Components
mirror/gm0 DEGRADED ada3 (ACTIVE)
Пример деградированного состояния с отключенным авторебилдом
# gmirror status
Name Status Components
mirror/gm0 DEGRADED ada2 (STALE)
ada3 (ACTIVE)
3. Отключение не синхронизированного диска
Если зеркало не синхронизировано - отключить диск, который выпал из зеркала (в примере ada2):
gmirror forget gm0
gmirror remove gm0 ada2
4. Выполнить проверку ФС
Выполнить проверку ФС в интерактивном или автоматическом режиме fsck (или fsck -y для автоматических исправлений ошибок).
5. Вернуть диск в зеркало
Вернуть диск в зеркало, если был до этого отключен диск из зеркала (в примере ada2):
gmirror forget gm0
gmirror insert gm0 ada2
6. Восстановление зеркала с отключенным авторебилдом
Запустить процесс перестройки зеркала
gmirror rebuild gm0 /dev/ada2 /dev/ada3
Документация по теме
GMirror (RAID1):
http://www.ru.freebsd.org/doc/ru/books/handbook/GEOM-mirror.html (EN: https://www.freebsd.org/doc/handbook/geom-mirror.html)
Настройка ФС (FS tuning):
http://www.ru.freebsd.org/doc/ru/books/handbook/configtuning-disk.html (EN: https://www.freebsd.org/doc/handbook/configtuning-disk.html)
Проверка дисков (FS check):
EN: https://www.freebsd.org/cgi/man.cgi?query=fsck&sektion=8&manpath=freebsd-release-ports
Дополнительные опции
Выключить автосинхронизацию дисков
gmirror configure -n gm0
Включить автосинхронизацию дисков
gmirror configure -a gm0