Давайте дружить в Телеграме: рассказываем про новые фичи, общаемся в комментах, прислушиваемся к вашим идеям Подписаться

На главную

61c46507-12c7-4300-a301-bd8bc30c7c19 Инструкции для серверов

Подготовка образа для создания облачного сервера

Перед тем, как создать облачный сервер из образа, образ необходимо подготовить — это нужно для того, чтобы установка была выполнена корректно и полноценно работал функционал панели управления.

Ниже рассмотрим, какие проверки и настройки потребуется выполнить для успешного создания сервера.

В нашем репозитории на GitHub вы можете найти примеры конфигов сборочной системы Packer для автоматической сборки образов ВМ.

Основные настройки

Таблица разделов

Проверьте разбивку разделов на диске. Мы рекомендуем использовать для разбивки MBR или GPT; они обе поддерживаются большинством Linux-дистрибутивов командами fdisk, gdisk и аналогичными.

gdisk -l /dev/vda

Пример вывода:

GPT fdisk (gdisk) version 1.0.5
Partition table scan:
  MBR: MBR only
  BSD: not present
  APM: not present
  GPT: not present

Если используется иная разметка, потребуется создать образ заново, с корректной разметкой.

Разметка диска

Если на диске размечен всего один раздел (корневой) и он имеет файловую систему ext3 или ext4, то при установке сервера из образа будет выполнен ресайз файловой системы. ФС будет расширена до заданного в конфигурации сервера размера диска.

Например, если размер блочного устройства в образе 10 Гб, то при установке сервера с диском 15 Гб блочное устройство и ФС будут расширены до 15 Гб.

Ресайз файловой системы не будет выполнен, если задействован LVM (Logical Volume Manager).

Загрузчик ОС

Мы используем для запуска виртуальных машин SeaBIOS, поэтому в ОС должен быть установлен обычный загрузчик для BIOS. Если установлен UEFI-загрузчик, его необходимо удалить и установить загрузчик для BIOS.

Если вы используете GRUB2, cмотрите инструкции по установке и настройке здесь.

Настройка /etc/fstab

Для стабильного запуска системы в файле /etc/fstab для корневого раздела указывайте монтирование по UUID, например:

UUID=f19002a1-6e7a-45ac-91cd-24b7cc0e4cd9 / ext4 defaults 0 1

Посмотреть UUID раздела можно, например, командой:

blkid

Пример вывода:

/dev/vda1: UUID="f19002a1-6e7a-45ac-91cd-24b7cc0e4cd9" TYPE="ext4" PARTUUID="f7a1fae1-01"
/dev/loop0: TYPE="squashfs"
/dev/loop1: TYPE="squashfs"
/dev/loop2: TYPE="squashfs"

Наличие основного пользователя

При создании сервера будет сгенерирован пароль для пользователя root (или Администратор в случае Windows). Убедитесь, что такой пользователь существует. Как правило, пользователь есть, если он не был специально удален.

Наличие qemu-guest-agent

Убедитесь, что установлен и запущен сервис qemu-guest-agent — он необходим для выполнения определенных операций из панели, например, для создания бэкапов.

  • Проверьте статус.

Systemd:

systemctl status qemu-guest-agent.service

OpenRC и init.d:

/etc/init.d/qemu-guest-agent status

или:

service qemu-guest-agent status
  • Установите агент, если он отсутствует:

Debian/Ubuntu:

apt-get install qemu-guest-agent

CentOS / RHEL:

yum install qemu-guest-agent

Alpine Linux:

apk add qemu-guest-agent
  • Добавьте в автозагрузку:

Systemd:

systemctl enable qemu-guest-agent.service

init.d:

chkconfig --add qemu-guest-agent

OpenRC:

rc-update add qemu-guest-agent

Для Windows сервис можно установить с помощью специального ISO-образа, который можно скачать здесь. Также с его помощью можно установить virtio-драйверы, необходимые для поддержки виртуализированных устройств. 

Данных настроек достаточно для создания облачного сервера из образа. Остальные настройки рекомендуется выполнить для более удобной работы с сервером.

Дополнительные настройки

Установка Zabbix

Для сбора статистики с серверов мы используем агент Zabbix. Чтобы отображать статистику в панели, рекомендуем установить Zabbix с помощью скрипта командой:

wget -O - http://zabbix.repo.timeweb.ru/zabbix-install.sh | bash

Сетевые настройки

После запуска сервера необходимо обеспечить его доступность по сети. Для этого потребуется настроить DHCP-клиент для автоматического получения IP- и IPv6-адресов. 

В большинстве систем клиент DHCP установлен по умолчанию, мы рекомендуем использовать утилиту dhclient с таким файлом конфигурации:

option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;
option dhcp6.next-hop code 242 = ip6-address;

send host-name = gethostname();
request subnet-mask, broadcast-address, time-offset, routers,
        domain-name, domain-name-servers, domain-search, host-name,
        dhcp6.name-servers, dhcp6.domain-search, dhcp6.fqdn, dhcp6.sntp-servers,
        netbios-name-servers, netbios-scope, interface-mtu,
        rfc3442-classless-static-routes, ntp-servers, dhcp6.next-hop;

timeout 300;

Доступ по SSH

Так как для доступа к серверу, как правило, используется протокол SSH, проверьте, что он установлен и запускается при загрузке сервера.

  • Проверьте статус:

Systemd:

systemctl status ssh.service  

OpenRC и init.d:

/etc/init.d/ssh status

или:

service ssh status
  • Установите SSH, если он отсутствует:

Debian/Ubuntu:

apt-get install openssh-server

CentOS / RHEL:

yum -y install openssh-server openssh-clients

Alpine Linux:

apk add openssh 
  • Добавьте в автозагрузку:

Systemd:

systemctl enable ssh.service

Init.d:

chkconfig --add ssh

OpenRC:

rc-update add sshd
  • Также убедитесь, что в используемом файрволе открыт доступ к порту SSH (по умолчанию — 22).

Отключение swap

Рекомендуем отключить файл подкачки.

  • Проверьте информацию о включенном swap:
swapon --show

Пример вывода:

NAME      TYPE SIZE USED PRIO
/swap.img file 685M   0B   -2
  • Отключите swap:
swapoff -a

Была ли статья полезна?

15 лет опыта
Сосредоточьтесь на своей работе: об остальном позаботимся мы
165 000 клиентов
Нам доверяют частные лица и компании, от небольших фирм до корпораций
Поддержка 24/7
100+ специалистов поддержки, готовых помочь в чате, тикете и по телефону