Загрузка...
Загрузка...

Zimbra Read-only file system RAID 1 on OVH

•   Администрирование   •

Zimbra Read-only file system RAID 1 on OVH
01 июл 2019

Zimbra Read-only file system RAID 1 on OVH

Если вдруг увидели при работе Zimbra "Read-only file system", скорее всего Зимбра не причем....

Это означает, что Ваша файловая система перешла в режим только чтения. Такое случается при проблемах с жесткими дисками, колизиях и сделанно, что б не допустить еще больших проблем. В моем случае, виновником был один из дисков в RAID 1. И так, что же требуется сделать, что б восстановить работоспособность системы.

Данные шаги нужно делать только на свой страх и риск и если есть возможность загрузиться с RECOVERY.

Первое, что нужно проверить, это статус RAID. Делается это коммандой:

cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath] [faulty] 
md1 : active raid1 sdb1[1] sda1[0]
      976234432 blocks [2/2] [UU]
      bitmap: 7/8 pages [28KB], 65536KB chunk

В идеале у Вас должно быть "[UU]", что означает, что оба диска в статусе UP и работают, но, скорее всего вы увидите "[_U]" или "[U_]", что значит, что работает только один диск из масива, что будет выглядеть так:

Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]
md0 : active raid1 sda1[0]
      24418688 blocks [2/1] [U_]

Далее смотрим какие диски есть, в системе командой:

fdisk -l

Нам выдаст список текущих дисков в системе, если у Вас всего два диска, и в RAID показано, что активный sda1 или sdb1, то мы понимаем, что неисправны наверняка sdb1 или sda1 соответсвенно.

Так, мы поняли, что что-то не так с RAID, не будем мучать систему дальше и перезагружаемся в recovery.

Важно!!! В этот момент перезагружаться можно только если у Вас есть возможность подключится по RECOVERY, в противном случае Вы не сможете подключится к серверу по ssh, так как он не будет работать после перезагрузки.

У OVH переключение в режим RECOVERY делается очень просто:
Заходите в админку, выбираете сервер с которым проблемы, дальше жмете на три точки возле надписи hd(Boot from hard drive)

Далее жмете EDIT, выбираете пункт BOOT IN RESCUE MODE и жмете NEXT.

Далее, если Вы можете перзагрузить свой сервер командой reboot - перезагружаете сами, если сервер не может выключиться самостоятельно из-за ошибок - делаем hard reset, для этого в той-же админ-панели напротив Status: Normal, жмем на три точки и выбираем пункт Restart:

Ждем письма на почту с паролем и логином от ssh. Когда он приходит - заходим на сервер.

В RECOVERY:

Еще раз проверяем статус RAID, если по прежднему один диск не поднялся убираем неисправный диск из массива. Если у Вас активный sdb1, соответственно неисправен sda1.

Для того, что б его убрать из масива - нужно сначала поставить ему статус faulty:

mdadm --manage /dev/md0 --fail /dev/sda1

Далее удаляем его из масива окончательно:

mdadm --manage /dev/md0 --remove /dev/sda1

После того как удалили диск из масива, нам нужно восстановить систему. Делаем это командой:

fsck /dev/md0

Где md0 - названия масива, на все вопросы отвечаем согласием, это может занят довольно длительное время.

Теперь нам нужно достать всю смарт информацию по неисправному диску командой:

sudo smartctl --all /dev/sda

И просто копируем весь вывод команды и в админке OVH создаем Ticket с просьбой о замене HDD и вставляем в информацию вывод этой команды.

Далее в админке меняем BOOT назад на Boot from hard drive.

И в rescue режиме вводим:

reboot

Теперь сервер должен загрузится и все заработать, но не забывайте, у Вас сейчас вся система только на одном диске.

После того, как Вы получите сообщение от поддержки, что жесткий диск заменен Вы можете приступить к ресинхронизации дисков и воссозданию RAID 1.

Сначала нужно скопировать разделы с диска sdb на sda командой:

sfdisk -d /dev/sdb | sfdisk /dev/sda

Теперь добавляем диск в RAID:

mdadm --manage /dev/md0 --add /dev/sda1

Теперь проверяем, что статус масива изменится на resync и появится полоска с процентами и временем требуемом для полной синхронизации.

cat /proc/mdstat

 

Если у Вас синхронизация идет слишком медленно и займет пару дней - Вы можете ее ускорить.

Дело в том, что стандартно скорость синхронизации стоит невысокая для того, что б не нагружать единственный жесткий диск, что б он не вышел из строя, но ,на свой страх и риск, Вы можете ускорить синхронизацию, для этого требуется ввести следующие команды:

sudo echo 100000 > /proc/sys/dev/raid/speed_limit_min
sudo echo 400000 > /proc/sys/dev/raid/speed_limit_max

Теперь еще раз проверяем время синхронизации, оно должно уменьшится:

cat /proc/mdstat

По окончанию синхронизации статус масив должен автоматически снова стать active.

По завершению синхронизаций рекомендую сделать исправление всех разрешений, но оно может затянуться на долго и занять несколько часов, поэтому лучше сделать в фоне командой от имени root:

/opt/zimbra/libexec/zmfixperms -extended &

На этом всё!