====== Linux recovery system - руководство ====== Для серверов, предоставляемых server4you.de предусмотрена linux recovery system. Для чего может потребоваться загрузка вашего сервера под linux recovery system? Очевидный ответ -- для проведения диагностики и процедур восстановления работоспособности ОС. Что же из себя представляет сервер, загруженный в recovery? Это загруженный на Вашем сервере, по сети, образ linux. В нём уже установлены все основные утилиты, которые могут быть использованы при диагностике и восстановлении работоспособности сервера. И так, у нас есть сервер в вышеупомянутом датацентре, загруженный в recovery mode. Подключаемся к серверу по ssh. В качестве имени пользователя указываем суперпользователя root, пароль указывается при отправке сервера в recovery mode. ===== 1. Запуск и монтирование корневой файловой системы ===== В случае, если в системе используется RAID массив, начнём с его запуска: ~# mdadm --assemble --run /dev/md2 Эта команда запускает software RAID массив с меткой md2. На серверах s4y чаще всего md2 является rootfs (корневой файловой системой). Но не исключено, что искомым будем массив с меткой md1. Массив md0 – раздел /boot По выполнению команды вы должны увидеть: mdadm: /dev/md2 has been started with 2 drives Это значит, что RAID успешно запущен. Проверим нормально ли собрался RAID: ~# cat /proc/mdstat Personalities : [raid1] [raid0] [raid6] [raid5] [raid4] md2 : active raid1 sdb4[0] sda4[1] 1456634744 blocks super 1.2 [2/2] [UU] unused devices: 2/2 дисков добавлено в массив. Всё в порядке. В случае 1/2 или ошибок после ввода команды сборки массива обращайтесь в раздел Проблемы RAID. Монтируем md2 в любую удобную вам точку. В данном случае я понтирую файловую систему в точку /mnt: ~# mount /dev/md2 /mnt Удостоверимся, что то, что мы примонтировали является rootfs нашего сервера: ~# ls /mnt aquota.user dev initrd.img lib64 mnt root srv usr bin etc lib lost+found opt sbin sys var boot home lib32 media proc selinux tmp vmlinuz Видим вполне стандартное дерево каталогов корневой файловой системы linux дистрибутива. Значит md2 является rootfs Вашего сервера. Если у Вас установлен шаблон без использования RAID, то нужно просто смонтировать /dev/sdaX, где X номер раздела с ОС. После монтирования файловой системы можно начинать работу по диагностике проблем ОС или работать с вашими файлами. ===== 2. Ошибки файловой системы ===== Часто ОС не может загрузиться из за ошибок файловой системы. Что бы исключить или подтвердить и исправить данную проблему необходимо выполнить проверку файловой системы с помощью fsck. fsck должен выполняться на отмонтированной файловой системе. Выполните запуск и монтирование корневой файловой системы в соответствии с этим руководством, исключая монтирование файловой системы. Запустите таким образом md0 и md2 (/boot и корневую fs). После того как массивы для проверки собраны выполняется fsck для md0 и md2: ~# fsck -y /dev/md2 fsck from util-linux 2.20.1 e2fsck 1.42 (29-Nov-2011) /dev/md2 has been mounted 22 times without being checked, check forced. Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information /dev/md2: 68650/91045888 files (0.2% non-contiguous), 6396596/364158686 blocks fsck, в данном случае, выполнился без ошибок. ===== 3. Проблемы RAID ===== Проблема при загрузке сервера может быть вызвана не собирающимся, повреждённым, “развалившимся” RAID. Как запустить RAID указано в первой главе этой статьи. Запустите все имеющиеся у вас массивы и проверьте статистику mdstat: ~# cat /proc/mdstat Personalities : [raid1] [raid0] [raid6] [raid5] [raid4] md1 : active raid1 sdb3[0] sda3[1](F) 7999476 blocks super 1.2 [2/1] [U_] md2 : active raid1 sdb4[0] sda4[1](F) 1456634744 blocks super 1.2 [2/1] [U_] md0 : active raid1 sdb2[0] sda2[1](F) 499700 blocks super 1.2 [2/1] [U_] unused devices: Если вывод выглядит примерно так (обратите внимание на (F) и [2/1]) – это значит, что массив не собран и не работает. (F) – обозначает пометка массива как fail. [2/1] обозначает, что только один диск массива работает. Нужно удалить из массива сбойные разделы и попробовать добавить их снова: ~# mdadm /dev/md1 -r /dev/sda3 mdadm: hot removed /dev/sda3 from /dev/md1 ~# mdadm /dev/md0 -r /dev/sda2 mdadm: hot removed /dev/sda3 from /dev/md0 ~# mdadm /dev/md2 -r /dev/sda4 mdadm: hot removed /dev/sda3 from /dev/md2 Добавляем: ~# mdadm /dev/md0 -a /dev/sda2 Мы можем увидеть несколько ошибок и среди них mdadm: To make this a spare, use "mdadm --zero-superblock /dev/sda2" first. Выполняем ~# mdadm --zero-superblock /dev/sda2 и повторяем для каждого удаляемого выше раздела. ~# mdadm /dev/md0 -a /dev/sda2 Проверим добавились ли разделы в массив: ~# cat /proc/mdstat Personalities : [raid1] [raid0] [raid6] [raid5] [raid4] md1 : active raid1 sda3[2] sdb3[0] 7999476 blocks super 1.2 [2/1] [U_] resync=DELAYED md2 : active raid1 sda4[2] sdb4[0] 1456634744 blocks super 1.2 [2/1] [U_] [>....................] recovery = 0.1% (2332928/1456634744) finish=365.5min speed=66306K/sec md0 : active raid1 sda2[2] sdb2[0] 499700 blocks super 1.2 [2/2] [UU] unused devices: Значит RAID собирается нормально. Если на одном из этапов возникла ошибка, то стоит попробовать сначала пересоздать всю таблицу разделов, возможно её что-то покрошило. Если даже после этого RAID не собирается, то нужно проверить жёсткие диски. ===== 4. Проблемы HDD ===== Не загружается сервер? Не собирается RAID? Проверим диски! Конкретная ситуация – RAID на сервере не собирается. Разделы диска sda помечены как сбойные. Нужно проверить состояние s.m.a.r.t. этого диска. smartctl -a /dev/sda Из всего вывода нас интересует только серийный номер диска и таблица s.m.a.r.t : Model Family: Seagate Barracuda LP Device Model: ST31500541AS Serial Number: 5XW2PTK4 Из таблицы интересуют только показатели, связанные с bad blocks: 5 Reallocated_Sector_Ct 0x0033 100 100 036 Pre-fail Always - 23 198 Offline_Uncorrectable 0x0010 100 100 000 Old_age Offline - 15 Если показатели в последнем столбце отличнны от 0, это признак нарушения поверхности диска и он подлежит замене. Если значения равны нулю, но диск в RAID добавить не удаётся (или не удаётся смонтировать, в случае с шаблоном без RAID), то нужно выполнить проверку диска на badblocks. Процедура потребует времени – от 3 до 6 часов. ~# badblocks -v /dev/sda Checking blocks 0 to 1465138583 Checking for bad blocks (read-only test): 0.01% done, 0:02 elapsed. (0/0/0 errors) Если во время проверки появились ошибки залогируйте их где-нибудь для передачи в техподдержку для замены диска. ===== 5. Сброс правил firewall ===== Случайно сохранили некорректные правила iptables и установили на автозагрузку? Вам нужно примонтировать вашу файловую систему и исправить/удалить правила из автозагрузки. Путь до файла будет другой - файл, бывший /etc/rc.local будет /mnt/etc/rc.local ===== 6. Доступ к данным ===== Нужно просто снять бекапы? Выполняйте все действия из раздела 1. После этого Вы можете подключиться к серверу по sftp любым клиентом, например WinSCP и забрать Ваши файлы. Они будут находиться в каталоге /mnt ===== 7. Сброс пароля ===== Для того, что бы сбросить root пароль нужно выполнить все действия из раздела 1 и выполнить chroot на папке в которую примонтирована корневая файловая система, в данном случае, это /mnt root@servername:~# chroot /mnt Теперь можно менять пароль root: servername:/# passwd root Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully =====Ссылки ===== * [[https://anikin.pw/linux-recovery-system-server4you.html|Оригинал статьи]] * [[http://xgu.ru/wiki/%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D1%8B%D0%B9_RAID_%D0%B2_Linux|Software RAID в Linux]]