Открыть меню
Toggle preferences menu
Открыть персональное меню
Вы не представились системе
Your IP address will be publicly visible if you make any edits.

Пошаговый пример подготовки сервера

Материал из Платформа Эра. Документации

Обзор

На входе сервер с установленной ОС Linux Debian 10, 11.

Приведены примерные этапы процесса настройки нового физического сервера и ОС до начала установки платформы.

Пользователь era_user используется в качестве примера основного пользователя, под которым проводится авторизация для подготовки сервера и последующего запуска установщика платформы.

1. Группа sudoers

Прописать пользователя в группу sudoers:

su root

apt-get install sudo

nano /etc/sudoers

/sbin/usermod -aG sudo era_user

2. Cетевые интерфейсы

Необходимо настроить сетевые интерфейсы сервера.

Серверу надо задать один статический локальный адрес. А также добавить дополнительные адреса в зависимости от требований сети.

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

Запрещено использовать в качестве адреса для развертывания системы loopback интерфейс.

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

Может потребоваться настройка шлюзов и/или маршрутов для обеспечения корректного взаимодействия с внешним окружением.

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

DNS серверы должны позволять серверу адресовать разрешенные правилами сетевого контура DNS-имена, планируемые к использованию. Если сервер имеет выход в интернет, то публичные DNS-имена.

2.1. Задать необходимые IP-адреса:

sudo nano /etc/network/interfaces
auto eno1
iface eno1 inet static
address 192.168.0.115
netmask 255.255.255.0
network 192.168.0.0
gateway 192.168.0.1
dns-nameservers 192.168.0.1 8.8.8.8

auto eno1:1
iface eno1:1 inet static
address 172.22.10.27
netmask 255.255.255.0
network 172.22.10.0
post-up route add -net 45.12.13.0/24 gw 172.22.10.2
pre-down route del -net 45.12.13.0/24 gw 172.22.10.2
Необходимо учесть, что gateway может быть задан только у одного интерфейса, а у остальных необходимо настраивать динамическое управление маршрутами.

2.2. Задать dns-серверы

sudo nano /etc/resolv.conf
nameserver 192.168.0.1
nameserver 8.8.8.8

2.3 При необходимости настроить vlan

sudo apt install -y vlan

sudo nano /etc/network/interfaces
auto eno1.2121
iface eno1.2121 inet static
address 172.22.10.27
netmask 255.255.255.0
network 172.22.10.0
post-up route add -net 45.12.13.0/24 gw 172.22.10.2
pre-down route del -net 45.12.13.0/24 gw 172.22.10.2
В примере 2121 - номер vlan. Разделитель - точка.
При использовании vlan кроме собственно vlan интерфейсов может быть только один untagged интерфейс.

2.4 Перезапустить сетевой сервис и проверить наличие заданных интерфейсов

sudo systemctl restart networking

ip a

2.5 При необходимовсти перезапустить сервер, чтобы изменения гарантированно вступили в силу

reboot

3. Пути к репозитариям пакетов

Проверить и при необходимости прописать пути к репозиториям debian по умолчанию:

sudo nano /etc/apt/sources.list
Добавлять репозитории нужно только при их отсутствии в списке.

Пример списка репозиториев для debian 10:

deb http://deb.debian.org/debian buster main
deb-src http://deb.debian.org/debian buster main

deb http://security.debian.org/debian-security buster/updates main
deb-src http://security.debian.org/debian-security buster/updates main

Пример списка репозиториев для debian 11:

deb http://deb.debian.org/debian bullseye main
deb-src http://deb.debian.org/debian bullseye main

deb http://deb.debian.org/debian-security/ bullseye-security main
deb-src http://deb.debian.org/debian-security/ bullseye-security main

deb http://deb.debian.org/debian bullseye-updates main
deb-src http://deb.debian.org/debian bullseye-updates main

Обновить системные пакеты:

sudo apt-get update

4. SSH сервер и SSH клиент

Установить и настроить SSH-сервер, установить SSH-клиент.

4.1 Установить пакеты и запустить сервис

sudo apt install openssh-server ssh

sudo systemctl start sshd
Если сервер имеет прямой внешний адрес в публичной сети, то в гигиенических целях рекомендуется использовать нестандартный порт и разрешать подключения только с конкретных известных адресов.

4.2 Задать белый список адресов

sudo nano /etc/hosts.allow
sshd : 192.168.0.12
sshd : 127.0.0.1
sshd : ALL : deny

4.3 Задать порт ssh-сервера

sudo nano /etc/ssh/sshd_config
port 9022

4.4 Перезапустить сервис

sudo systemctl restart sshd

4.5 При необходимости сохранить на сервере свой публичный ключ.

5. Пакеты и утилиты мониторинга

Установить пакеты и утилиты мониторинга:

sudo apt-get install parted gnupg curl wget members rsync
sudo apt-get install net-tools iotop htop sysstat tshark

6. Локали и раскладка клавиатуры

Добавление локалей "RU" необходимо в том случае, если на сервере планируется установка postgresql в хосте.
locale -a

sudo dpkg-reconfigure locales
Выбрать ru_RU.UTF-8 и en_US.UTF-8.
Язык по умолчанию для system environment прописывается в файле /etc/default/locale.

Для system environment рекомендуем оставлять в качестве локали по умолчанию en_US.UTF-8.

Настройте консоль и клавиатуру.

Настраивать консоль и клавиатуру имеет смысл только при подключении к серверу непосредственно (не через ssh).
sudo dpkg-reconfigure console-setup
Выбрать UTF-8, Combined - Latin; Slavic Cyrillic; Greek, Terminus, 6x12 (8x14)
sudo dpkg-reconfigure keyboard-configuration
Выбрать Generic 105 key, Other, Russian, Russian
sudo service keyboard-setup restart
Попробуйте переключить раскладку. При необходимости перезапустить сервер.

7. Разметка диска, форматирование

Если подключен RAID-массив, то настроить его и подготовить разделы.

Если к серверу подключены новые неразмеченные диски для хранилищ, то разметить и отформатировать их.

lsblk -a

df -h

sudo сfdisk /dev/sdb

sudo partprobe -s

NOTE! изменение параметров раздела или даже форматирование

# sudo parted /dev/sdb

# sudo mke2fs -t ext4 /dev/sdb1

lsblk -a

mkfs -t ext4 /dev/sdb1

8. Монтирование разделов

Дополнительные диски для хранилищ должны быть примонтированы.

Имена разделов и каталогов произвольны.
sudo mkdir /mnt/data

sudo mount /dev/sdb1 /mnt/data

df -h

sudo blkid
sudo nano /etc/fstab
# data
UUID="422e42c8-f2d5-4c56-b219-3a4c37153c14"     /mnt/data       ext4    defaults        0       1

8.1 Создать группу storage и задать для нее права на смонтированный раздел.

Это пригодится при установке сервера БД с каталогом данных и конфигурации в смонтированном разделе дать пользователю postgres соответствующие права.
sudo groupadd storage

sudo chgrp storage /mnt/data

sudo chmod 775 /mnt/data