---
title: "Подготовка образа для создания облачного сервера — База знаний Timeweb Cloud"
description: "Подготовка образа для создания облачного сервера. Документация и инструкции по управлению IT-инфраструктурой. Timeweb Cloud — облачные решения для вашего бизнеса."
---

> Полный индекс документации для ИИ-агентов: [llms.txt](https://timeweb.cloud/llms.txt).

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

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

В нашем [репозитории на GitHub](https://github.com/timeweb-cloud/image-build-examples) вы можете найти примеры конфигов сборочной системы Packer для автоматической сборки образов ВМ.

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

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

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

```shell
gdisk -l /dev/vda
```

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

```shell
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мотрите инструкции по установке и настройке [здесь](https://wiki.archlinux.org/title/GRUB_\(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9\)).

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

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

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

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

```shell
blkid
```

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

```shell
/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"
```

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

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

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

Systemd:

```shell
systemctl status qemu-guest-agent.service
```

OpenRC и init.d:

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

или:

```shell
service qemu-guest-agent status
```

-   Установите агент, если он отсутствует:

Debian/Ubuntu:

```shell
apt-get install qemu-guest-agent
```

CentOS / RHEL:

```shell
yum install qemu-guest-agent
```

Alpine Linux:

```shell
apk add qemu-guest-agent
```

-   Добавьте в автозагрузку:

Systemd:

```shell
systemctl enable qemu-guest-agent.service
```

init.d:

```shell
chkconfig --add qemu-guest-agent
```

OpenRC:

```shell
rc-update add qemu-guest-agent
```

> [!NOTE]
> Для Windows сервис можно установить с помощью специального ISO-образа, который можно [скачать здесь](https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/?C=M;O=D). Также с его помощью можно установить virtio-драйверы, необходимые для поддержки виртуализированных устройств. 

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

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

### Установка Zabbix

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

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

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

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

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

```shell
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:

```shell
systemctl status ssh.service
```

OpenRC и init.d:

```shell
/etc/init.d/ssh status
```

или:

```shell
service ssh status
```

-   Установите SSH, если он отсутствует:

Debian/Ubuntu:

```shell
apt-get install openssh-server
```

CentOS / RHEL:

```shell
yum -y install openssh-server openssh-clients
```

Alpine Linux:

```shell
apk add openssh
```

-   Добавьте в автозагрузку:

Systemd:

```shell
systemctl enable ssh.service
```

Init.d:

```shell
chkconfig --add ssh
```

OpenRC:

```shell
rc-update add sshd
```

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

### Отключение swap

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

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

```shell
swapon --show
```

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

```shell
NAME      TYPE SIZE USED PRIO
/swap.img file 685M   0B   -2
```

-   Отключите swap:

```shell
swapoff -a
```
