Решение задачи: как починить «сломанный» VPS на Linux
- Блог компании RUVDS.com ,
- Серверное администрирование
Закончился наш конкурс «как починить сломанный VPS на Linux server ». Задачей участников было починить «сломанный» VPS сервер на linux. C задачей смогли справиться лишь двое участников конкурса. Победитель справился с задачей за 17 часов.
» Участник с почтой farst***@gmail.com получает главный приз — VPS-сервер (5x2.6ГГц, 5 ГБ RAM, 50 ГБ SSD) на год.
» Участник с почтой non7*****@gmail.com занимает второе место — ему мы даём пожизненную скидку в 70% на виртуальные сервера RUVDS и нашу фирменную кружку. Ну а решение под катом.
Всем остальным участникам конкурса мы дарим скидку 10% на виртуальные сервера от RUVDS . Чтобы получить скидку напишите письмо на support@ruvds.com укажите свой логин.
Итак, выкладываем решение задачи.
Решение
1. Используем аварийный режим, подключаемся под пользователем administrator.
2. Монтируем root fs с правами на запись (файловая система монтируется в таком режиме, так как файл /etc/fstab был переименован в /etc/fstab_backup
sudo mount -o remount,rw /dev/sda3 /
sudo mv /etc/fstab_backup /etc/fstab
3. Разрешаем входящие подключения на 80 и 22 порты:
sudo ufw allow 80
sudo ufw allow 22
4. Отключаем swap:
sudo swapoff -a
В fstab комментируем соотвествующую строку:
sudo vim /etc/fstab
#UUID=1dc65039-4ac4-xxxxx-xxx-4xxxxf96xxxx none swap sw 0 0
5. Форматируем swap в xfs (или в любую другую файловую систему), например используя утилиту mkfs -t xfs
6. Удаляем ненужное из текущей инсталляции для того, чтобы её можно было скопировать на раздел /dev/sda2
sudo apt-get autoremove
sudo apt-get remove name-of-package --purge #для ненужных пакетов
sudo rm -rf /var/log
sudo rm -rf /tmp/*
7. Монтируем /dev/sda2 в /mnt и копируем необходимые файлы из корневого раздела и файлы конкурса.
sudo mount /dev/sda2 /mnt
cp -dpRx / /mnt
8. Получаем uuid /dev/sda2:
sudo blkid /dev/sda2
9. Указываем новое значение для root, обновляем uuid в /etc/grub/grub.cfg
10. Загружаемся под новым корневым разделом
shutdown -r now
11. Удаляем (xfs не поддерживает shrink) раздел /dev/sda3 и разбиваем его на 2 (/dev/sda3 и /dev/sda4) в соответствии с условиями задачи. Это можно сделать с помощью fdisk.
12. Форматируем новые разделы в xfs (утилита mkfs -t xfs)
13. Монтируем раздел /dev/sda3 и копируем туда файлы необходимые файлы корневого раздела.
14. Монтируем раздел /dev/sda4 и копируем туда файлы конкурса
15. Снова правим /etc/grub/grub.cfg и прописываем там новый uuid (нового раздела /dev/sda3) и устройство.
16. Правим fstab и перезагружаемся.
17. Помечаем раздел /dev/sda2 снова в качестве swap (раскомментируем запись в fstab, устанавливаем идентификатор swap через fdisk и выполняем swapon)
18. Перезагружаем ваш VPS , настраиваем сайт в nginx и открываем браузер, и видим наш сайт, задача решена: