Рішення задачі: як полагодити «зламаний» VPS на Linux

Закінчився наш конкурс «як полагодити зламаний VPS на Linux». Завданням учасників було полагодити «зламаний» VPS сервер на linux. C завданням змогли впоратися лише двоє учасників конкурсу. Переможець впорався із завданням за 17 годин.

» Учасник з поштою farst***@gmail.com отримує головний приз — VPS сервер (5x2.6ГГц, 5 ГБ RAM, 50 ГБ SSD) на рік.
» Учасник з поштою non7*****@gmail.com посідає друге місце — ми даємо йому довічну знижку в 70% на віртуальні сервера RUVDS і нашу фирмунную кухоль. Ну а рішення під катом.



Всім іншим учасникам конкурсу ми даруємо знижку 10% на віртуальні сервера від RUVDS. Щоб отримати знижку напишіть лист на [email protected] вкажіть свій логін.

Отже, викладаємо рішення задачі.

Рішення
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 і відкриваємо браузер, і бачимо наш сайт, задача вирішена:


Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.