Как стать автором
Обновить
3270.91
RUVDS.com
VDS/VPS-хостинг. Скидка 15% по коду HABR15

Решение задачи: как починить «сломанный» VPS на Linux

Время на прочтение2 мин
Количество просмотров17K
Закончился наш конкурс «как починить сломанный 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 и открываем браузер, и видим наш сайт, задача решена:

Теги:
Хабы:
Всего голосов 40: ↑29 и ↓11+18
Комментарии24

Публикации

Информация

Сайт
ruvds.com
Дата регистрации
Дата основания
Численность
11–30 человек
Местоположение
Россия
Представитель
ruvds