Gmirror - программный сбой работы RAID

  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:ad1992cbf67bfe8db02e93aa492af710' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p class=\"rtejustify\">Иногда бывает такое,&nbsp;что возникают сбои в работе <strong>gmirror</strong>, и один из дисков зеркала помечен флагом <strong>BROKEN</strong>. Обычно такое бывает,&nbsp;когда <strong>gmirror</strong> обнаруживает&nbsp;на диске ошибки и исключает его из зеркала. Вот и у меня такое случилось на одном из серверов:</p>\n<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\" style=\"width:100%\">\n<tbody>\n<tr>\n<td>\n<p># <strong>gmirror list</strong></p>\n<pre>\nGeom name: gm0\nState: COMPLETE\nComponents: 2\nBalance: round-robin\nSlice: 4096\nFlags: NONE\nGenID: 1\nSyncID: 1\nID: 2932377749\nProviders:\n1. Name: mirror/gm0\n Mediasize: 320072932864 (298G)\n Sectorsize: 512\n Mode: r6w6e11\nConsumers:\n1. Name: ada0\n Mediasize: 320072933376 (298G)\n Sectorsize: 512\n Mode: r1w1e1\n State: ACTIVE\n Priority: 0\n Flags: DIRTY\n GenID: 1\n SyncID: 1\n ID: 3155143249\n2. Name: ada1\n Mediasize: 320072933376 (298G)\n Sectorsize: 512\n Mode: r1w1e1\n State: ACTIVE\n Priority: 0\n Flags: DIRTY, <span style=\"color:#ff0000\">BROKEN</span>\n GenID: 1\n SyncID: 1\n ID: 3936006359</pre></td>\n</tr>\n</tbody>\n</table>\n<p class=\"rtejustify\">При проверка дисков утилитой <strong><a href=\"http://muff.kiev.ua/content/ddrescue-poisk-sboinykh-blokov-na-zhestkom-diske\">ddrescue</a></strong> ошибок не обнаружено,&nbsp;поэтому решил просто пересобрать зеркало без замены HDD. Удалим из зеркала сбойный диск с помощью команды <strong>remove</strong>. Кстати,&nbsp;перед извлечением диска из зеркала, необходимо воспользоваться командой <strong>forget</strong>:</p>\n<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\" style=\"width:100%\">\n<tbody>\n<tr>\n<td># <strong>gmirror forget gm0</strong><br />\n # <strong>gmirror remove gm0 ada1</strong></td>\n</tr>\n</tbody>\n</table>\n<p class=\"rtejustify\">Проверим текущее&nbsp;состояние зеркала:</p>\n<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\" style=\"width:100%\">\n<tbody>\n<tr>\n<td>\n<p># <strong>gmirror list</strong></p>\n<pre>\nGeom name: gm0\nState: COMPLETE\nComponents: 1\nBalance: round-robin\nSlice: 4096\nFlags: NONE\nGenID: 1\nSyncID: 1\nID: 2932377749\nProviders:\n1. Name: mirror/gm0\n Mediasize: 320072932864 (298G)\n Sectorsize: 512\n Mode: r6w6e11\nConsumers:\n1. Name: ada0\n Mediasize: 320072933376 (298G)\n Sectorsize: 512\n Mode: r1w1e1\n State: ACTIVE\n Priority: 0\n Flags: DIRTY\n GenID: 1\n SyncID: 1\n ID: 3155143249</pre></td>\n</tr>\n</tbody>\n</table>\n<p class=\"rtejustify\">Теперь в зеркале только один HDD. &quot;Вставим&quot; в зеркало второй диск,&nbsp;воспользовавшись командой <strong>insert</strong>:</p>\n<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\" style=\"width:100%\">\n<tbody>\n<tr>\n<td># <strong>gmirror insert gm0 ada1</strong></td>\n</tr>\n</tbody>\n</table>\n<p class=\"rtejustify\">Снова проверим текущее состояние зеркала:</p>\n<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\" style=\"width:100%\">\n<tbody>\n<tr>\n<td>\n<p># <strong>gmirror list</strong></p>\n<pre>\nGeom name: gm0\nState: <span style=\"color:#ff0000\">DEGRADED</span>\nComponents: 2\nBalance: round-robin\nSlice: 4096\nFlags: NONE\nGenID: 1\nSyncID: 1\nID: 2932377749\nProviders:\n1. Name: mirror/gm0\n Mediasize: 320072932864 (298G)\n Sectorsize: 512\n Mode: r7w6e11\nConsumers:\n1. Name: ada0\n Mediasize: 320072933376 (298G)\n Sectorsize: 512\n Mode: r1w1e1\n State: ACTIVE\n Priority: 0\n Flags: NONE\n GenID: 1\n SyncID: 1\n ID: 3155143249\n2. Name: ada1\n Mediasize: 320072933376 (298G)\n Sectorsize: 512\n Mode: r1w1e1\n State: SYNCHRONIZING\n Priority: 0\n Flags: DIRTY, <span style=\"color:#ff0000\">SYNCHRONIZING</span>\n GenID: 1\n SyncID: 1\n Synchronized: <span style=\"color:#ff0000\">5%\n</span> ID: 2149005683</pre></td>\n</tr>\n</tbody>\n</table>\n<p class=\"rtejustify\">Как видим,&nbsp;статус зеркала DEGRADED, однако идет синхронизация дисков в зеркале (флаг SYNCHRONIZING на диске ada1). Процесс синхронизации выполнен уже на 5 процентов. Останется только подождать до полной синхронизации зеркала.</p>\n<p class=\"rtejustify\">&nbsp;</p>\n', created = 1767725781, expire = 1767812181, headers = '', serialized = 0 WHERE cid = '2:ad1992cbf67bfe8db02e93aa492af710' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:07243fc0252056071eaa62af8c18d662' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p class=\"rtecenter\"><a class=\"thickbox\" href=\"/files/imagepicker/1/wake_up_ua.png\"><img alt=\"Вставай, Україно!\" class=\"imgp_img\" src=\"/files/imagepicker/1/thumbs/wake_up_ua.png\" style=\"height:200px; width:150px\" /></a></p>\n', created = 1767725781, expire = 1767812181, headers = '', serialized = 0 WHERE cid = '2:07243fc0252056071eaa62af8c18d662' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '3:cc913d232116f0426090404133377d88' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:d9a86123bfcbc57878743027b584400b' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p class=\"rtecenter\"><a href=\"http://muff.kiev.ua/rss.xml\"><img alt=\"RSS\" width=\"160\" height=\"60\" src=\"http://muff.kiev.ua/files/muf-rss.png\" /></a></p>\n', created = 1767725781, expire = 1767812181, headers = '', serialized = 0 WHERE cid = '2:d9a86123bfcbc57878743027b584400b' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '3:39649256b636e3d5ded656bc52bd8c01' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
Версия для печатиОтправить другуPDF version

Иногда бывает такое, что возникают сбои в работе gmirror, и один из дисков зеркала помечен флагом BROKEN. Обычно такое бывает, когда gmirror обнаруживает на диске ошибки и исключает его из зеркала. Вот и у меня такое случилось на одном из серверов:

# gmirror list

Geom name: gm0
State: COMPLETE
Components: 2
Balance: round-robin
Slice: 4096
Flags: NONE
GenID: 1
SyncID: 1
ID: 2932377749
Providers:
1. Name: mirror/gm0
   Mediasize: 320072932864 (298G)
   Sectorsize: 512
   Mode: r6w6e11
Consumers:
1. Name: ada0
   Mediasize: 320072933376 (298G)
   Sectorsize: 512
   Mode: r1w1e1
   State: ACTIVE
   Priority: 0
   Flags: DIRTY
   GenID: 1
   SyncID: 1
   ID: 3155143249
2. Name: ada1
   Mediasize: 320072933376 (298G)
   Sectorsize: 512
   Mode: r1w1e1
   State: ACTIVE
   Priority: 0
   Flags: DIRTY, BROKEN
   GenID: 1
   SyncID: 1
   ID: 3936006359

При проверка дисков утилитой ddrescue ошибок не обнаружено, поэтому решил просто пересобрать зеркало без замены HDD. Удалим из зеркала сбойный диск с помощью команды remove. Кстати, перед извлечением диска из зеркала, необходимо воспользоваться командой forget:

# gmirror forget gm0
# gmirror remove gm0 ada1

Проверим текущее состояние зеркала:

# gmirror list

Geom name: gm0
State: COMPLETE
Components: 1
Balance: round-robin
Slice: 4096
Flags: NONE
GenID: 1
SyncID: 1
ID: 2932377749
Providers:
1. Name: mirror/gm0
   Mediasize: 320072932864 (298G)
   Sectorsize: 512
   Mode: r6w6e11
Consumers:
1. Name: ada0
   Mediasize: 320072933376 (298G)
   Sectorsize: 512
   Mode: r1w1e1
   State: ACTIVE
   Priority: 0
   Flags: DIRTY
   GenID: 1
   SyncID: 1
   ID: 3155143249

Теперь в зеркале только один HDD. "Вставим" в зеркало второй диск, воспользовавшись командой insert:

# gmirror insert gm0 ada1

Снова проверим текущее состояние зеркала:

# gmirror list

Geom name: gm0
State: DEGRADED
Components: 2
Balance: round-robin
Slice: 4096
Flags: NONE
GenID: 1
SyncID: 1
ID: 2932377749
Providers:
1. Name: mirror/gm0
   Mediasize: 320072932864 (298G)
   Sectorsize: 512
   Mode: r7w6e11
Consumers:
1. Name: ada0
   Mediasize: 320072933376 (298G)
   Sectorsize: 512
   Mode: r1w1e1
   State: ACTIVE
   Priority: 0
   Flags: NONE
   GenID: 1
   SyncID: 1
   ID: 3155143249
2. Name: ada1
   Mediasize: 320072933376 (298G)
   Sectorsize: 512
   Mode: r1w1e1
   State: SYNCHRONIZING
   Priority: 0
   Flags: DIRTY, SYNCHRONIZING
   GenID: 1
   SyncID: 1
   Synchronized: 5%
   ID: 2149005683

Как видим, статус зеркала DEGRADED, однако идет синхронизация дисков в зеркале (флаг SYNCHRONIZING на диске ada1). Процесс синхронизации выполнен уже на 5 процентов. Останется только подождать до полной синхронизации зеркала.

 

Ваша оценка: Нет Средняя: 4 (3 голоса)

Вставай, Україно!

Литература

А в високосном байте девять бит!