Установка ОС в Hetzner при помощи Rescue (В картинках)
Сегодня Я расскажу вам как перестанавливать Linux во всеми любимом Hetzner при помощи встроенной системы Rescue.
Для начала заходим в панель управления серверов robot и открываем нужный сервер для переустановки.
1) Открываем вкладку Rescue, в Operating system выбираем Linux а Architecture рекомендуем 64bit (Если у вас даже сервер не имеет более 4GB оперативной памяти, то все ровно лучше ставить 64 так как в дальнейшем вы сможете добавить оперативной памяти, но не переустанавливая ОС с другой архитектурой)
нажимаем наActivate rescue system
после чего вы получите временный root пароль, для доступа к ssh и системы восстановления ОС.
2) Перезагружаем сервер, это можно сделать либо через панель выбрав пункт Reset (выбрав Send CTRL+ALT+DEL to the server или Execute a automatic hardware reset — в том случае если сервер не реагирует на первую команду) выбрав метод перезагрузки и нажав кнопку Send либо через SSH консоль, выполнив команду reboot
3) Открываем любой SSH (в нашем случае это PuTTY), прописываем пользователя root и пароль который вы получили в первом пункте, восстановления ОС.
Открывается консоль и пишем root@rescue
# installimage -h
На запрос получаем полный список данной команды, нам это нужно для того чтобы выбрать какая установка нам нужна. Я в данном описание выбираю
root@rescue
# installimage -n nameserver -r no -f yes (можно просто запустить без каких либо замечаний и в момент установки просто отредактировать конфиг как вам угодно будет)
-n это у нас имя сервера
-r создание raid на моем сервере стоит software-raid в нем смысла невижу так как бессмысленное использование второго диска, отказоустойчивости от него не какой, а если один из дисков падает, то и сайты ваши с ним падают, так как в таком случае контроллер не зависает от этого
-f форматирование вторичного жесткого диска, если не создан software-raid
Команды поддерживающиеся в installimage
-h вызов помощи
-a Автоматический режим / пакетный режим — использовать в комбинации с параметрами указанными ниже, чтобы устанавливать без дополнительных взаимодействий. Не будет никакого подтверждения об удаление диска / всех ваших данных, будьте осторожны используя этот режим
-c использовать файл конфигураций из
/root/.oldroot/nfs/install/configs/ для автоматической установки. С этой командой используется только «-a»
Использовать этот файл как пост установочный скрипт, который будет выполнен после того, как будет выполнена установка внутри корня
-n введите нужное вам имя хоста.
-b выбор между lilo и grub в качестве BOOTLOADER. (Рекомендуется в использование на серверах Hetzner-a grub)
-r активировать software RAIDили нет.
-l выберите raid уровень.
-i использовать специальный образ (полный путь к образу ОС)
— поддерживаемые источники образов: local dir, ftp, http, nfs
— поддерживаемые образы ОС: tar, tar.gz, tar.bz, tar.bz2, tgz, tbz
Примеры:
— локальный: /path/to/image/filename.tar.gz
— ftp: ftp:// : @hostname/path/to/image/filename.tar.bz2
— http: http:// : @hostname/path/to/image/filename.tbz
— https: https:// : @hostname/path/to/image/filename.tbz
— nfs: hostname:/path/to/image/filename.tgz
-p
создание разделов, например:
— обычный раздел: swap:swap:4G,/:ext3:all
— примерная lvm установка: /boot:ext2:256M,lvm:vg0:all
-v определить логические тома которые вы желаете создать
— например: vg0:root:/:ext3:20G,vg0:swap:swap:swap:4G
-d Список жестких дисков для использования, например: sda или sda,sdb
-f форматирование вторичного жесткого диска (если он не собран а raid)?
-s язык используемый для различных программ (например: PLESK)
-z PLESK_ установка PLESK определенной версии
Как упомнила выше, берем команду root@rescue
# installimage -n nameserver -r no -f yes и у нас открывается лист выбора ОС:
В списке указанны официальные релизы которые поддерживаются в настоящее время. Если вам нужно старую версию ОС, но ее нету в списках той или иной системы, то нужно нам смотреть в сторону old_images но учтите сразу, что эти релизы не поддерживаются уже больше не создателями не ДЦ Hetzner, то есть репозитории ОС вам придется указывать свои, так как на многих старых ОС уже нету официальных репозиториев.
4) После того, как мы определились с выбором ОС, ту что хотим иметь на нашем сервере (Я лично рекомендую использовать релизы от Debian 6 Squeeze)
Выбираем свою нужную сборку:
minimal — В нее входит минимальный набор предустановленных ПО, которые нужно для старта сервера и начальной работы сервера. (Рекомендованный)
Lamp — начальный набор ПО в которые входят такие предустановленные программы как Apache, MySQL, PHP, Perl, Webmin, OpenSSL, FTP
5) После уведомления и нажатия ОК, открывается редактирование файла конфигурации и установки, в котором указанны с какими параметрами нужно установить систему, все эти данные можно оставить дефолтом, но рекомендую изменить размер swap под тот объем, сколько вы имеете оперативной памяти на сервере.
По желанию, вы можете добавить дополнительные вам разделы с тем объемом который нужен вам. Например: PART /1 ext4 50G (PART /раздел файловая_система_раздела Раздер_раздела )
P.S. НЕ ИСПОЛЬЗУЙТЕ NumLock ЦИФРЫ, ТАК КАК ОНИ ВАС ПЕРЕМЕЩАТЬ ПО КОНФИГУ А НЕ ПРОПИСЫВАТЬСЯ
Впрочем чтобы не трогать конфигурационный файл, все настройки вы можете задать до начала установки, я описал выше какие команды что делают.
После того как мы все отредактировали и проверили, нажимаем F10 и выбираем yes (Соглашаемся с сохранением внесенных изменений)
6) Соглашаемся с тем что все данный на данном жестком диске, будут потеряны и больше их не вернуть.
7) Ждем окончания установки, все пункты установки должны стоять на done
После чего можете перезагружать сервер командой reboot.
После перезагрузке войдите под root пользователем(пароль который вы использовали для переустановки ОС) и смените пароль на пользователя командой passwd Вас попросят ввести новый пароль и его подтверждение
Ну вот и в прочем все, установка произведена успешной и у вас стоит та система которую вы выбрали.
P.S. Если вы выбрали установку как у меня, то ваш второй диск будет не использоваться и вы сможете примонтировать когда угодно и к чему угодно.
Спасибо за ваше внимание.
Добавить комментарий Отменить ответ
Для отправки комментария вам необходимо авторизоваться.
Hetzner Rescue-System
The Hetzner Rescue System is a Debian based Linux live environment that allows you administrative access to your server, even if the installed system does not boot anymore. The environment starts using network boot (PXE) and runs in the memory of the server, without touching the drives or your data on them. This makes it possible to carry out repairs to the installed system, access the data on the drives, create backups, check the hardware of the server and to install operating systems. Furthermore, any required additional software can be installed temporarily inside the Rescue System.
Alternatively, you can therefore use a KVM Console together with a bootable ISO image of your choice.
Starting the Hetzner Rescue System
Activating the Rescue System
To start a server in the Rescue System, it needs to be activated via the the administration interface Robot. Therefore, click on Servers , select the desired server and then open the tab Rescue . Here the desired variant and architecture can be chosen and activated.
The password that was given to you when you activated the Rescue System can now be used to login as «root» via SSH. Alternatively, you can also select a SSH key (if you uploaded one to the Robot before) and login to the Rescue System without a password.
Restarting the Server
To load the Rescue System, the server must be restarted. If you no longer have access to the server, you can use the reset function in the Robot. You will find this under the Reset tab of the desired server.
Please note that the activation of the Rescue System is only valid for one boot. If you want to boot your server to the Rescue System again, you will have to activate it in the Robot again. If you do not reboot your server within 60 minutes after the activation, the scheduled boot of the Rescue System will automatically become inactive. If the server is restarted later, the system will boot from the internal drive(s).
Mounting the Drive(s) in the Rescue System
First, you should determine the partition identifiers of your system by running the command lsblk .
In case the output looks like below and there are raid entries in the TYPE column, you have a software RAID running:
If the output rather looks like the one below, there is no software RAID configured:
Now you can mount the desired partition within an empty folder, e.g. /mnt .
In case of a software RAID, /dev/md2 is usually the system partition (enter cat /proc/mdstat to display all raid partitions):
Without a software RAID, usually the last or last but one partition contains the system:
Mounting LVM Volumes
First use the following command to get all LVM volumes displayed.
You can then mount the desired LVM volumes.
Resetting the Root Password
To reset the root password of an installed Linux or BSD system, you have to mount the system partition as explained in the previous section of this article «Mounting the Drive(s) in the Rescue System». Then use chroot to switch into the root environment of the mounted system.
You can now change the password of the user «root».
Finally exit the root environment.
Installation of an Operating System
Hetzner offers a a comfortable menu-based script called Installimage for installing an operating system and thereby customize settings like used drives, RAID levels, hostname, partitions and LVM. More information can be found on the Installimage page.
Other Rescue Systems
In addition to the Linux-based Rescue System, Hetzner also offers two other systems:
Реанимация серверов Ubuntu на Hetzner или немного полезных команд
Этот небольшой пост-шпаргалка предназначен для тех у кого внезапно в ходе неудачного эксперимента или обновления перестал пинговаться сервер, отвалился ssh и прочее. Проще говоря он о восстановлении сервера после обновлений, взломов и тому подобного. По моим ощущениям последнее бывает гораздо реже.
Упоминания hetzner носят исключительно мимолетный характер, в силу того, что часто приходится пользоваться его услугами.
Resсue, монтирование разделов, chroot
Итак, начнем с того, что никакого доступа к системе у нас нет, после, к примеру, очередной перезагрузки. Поэтому у нас остается два варианта — переустановить систему или восстановить её. В случае с VPS хецнер просто накатит новую систему и, естественно, что на диске ничего не останется. Поэтому мы, безусловно, выбираем восстановление.
Кому интересно, для переустановки из rescue используется команда:
После этого hetzner покажет сгенерированный пароль. Перегружаем из админки сервер и коннектимся, лучше через IP адресс по ssh , ssh root@55.22.33.44
Логин, естественно, root.
После залогинивания нас встречает приглашение такого рода root@rescue chroot цвет поменяется на синий root@rescue
Первое, что мы делаем — смотрим название наших дисков:
Затем монтируем диск с нашей системой:
Разделы /boot и прочие пока не трогаем. После того как подмонтировали, нам надо сделать видимым содержимое /dev /sys /proc иначе, если мы остались без ядра, то оно не поставится.
в debian есть удобная команда, заменяющая эту строчку, в ubuntu она обнаружена не была.
Теперь можно домонтировать все остальное: /boot
На этом этапе мы имеем, в принципе, более менее подконтрольную нам недавно упавшую систему.
Диагностика
Чаще все приходится сталкиваться с проблемами обновления или установки. Тут, конечно, детализировать что-то сложно — можно только посоветовать, если обновляется дистрибутив, делать это через screen
Например:
Причина одной из самых распространенных проблем — банальная нехватка места на диске
Иногда бывает, что место есть а нодов свободных нет. Тогда это тоже приведет к сбою обновления и дальнейшим проблемам.
Безопасность
Если есть подозрение, что нас взломали или ломают, то первым делом нужно глянуть кто сейчас на сервере:
Посмотреть кто какие команды вводил:
Глянуть на историю
Конечно, это все полумеры, но тем не менее.
Далее нужно:
- Проверить /root/.ssh чтобы там не было левых сертификатов.
- Посмотреть в /etc/passwd чтобы кроме root ни у кого не было полномочий.
- nmap чтобы не было подозрительных открытых портов, а если есть, то убеждаемся, что никто подозрительный их не слушает.
- Меняем на всякий случай пароль root c помощью passwd .
- Польза от изучения логов в /var/log бывает неоценима .
- Проверяем систему на руткиты
Обновление и установка:
Warnin-гов он, скорее всего, найдет много, особенно в /bin и /usr/bin
Еще есть альтернативный вариант:
Установка chkrootkit :
Восстановление
Рассмотрим худший вариант, когда в папке /boot вообще пусто и в системе grub не стоит, ядра нет и большая часть пакетов битая.
Восстановление системы
Чистим архив пакетов
Удаляем не удалённые зависимости от уже удалённых пакетов
Записываем grub в MBR
Устанавливаем или переустанавливаем нормальное ядро.
Обновляем меню grub
Выполняем команды, предназначенные для разрешения конфликтов зависимостей:
Переустанавливаем все пакеты:
Если известно в чем была проблема, то достаточно переустановить нужный пакет:
В конце можно еще раз выполнить:
Заключение
Предварительно выйдя из chroot c помощью Ctrl+D или exit делаем:
Смотрим, что вышло. Если проблема осталась, то все по новой и смотрим, что мы упустили, как можно больше внимания уделяя /var/log .
Все предложенные рецепты не являются панацеей. Возможно, кто-то по другому решал подобные проблемы, но мне эти рецепты часто помогали.