LinuxUnix

Installing CentOS

Установка CentOS

LVM не используем

По умолчанию на небольшой диск (< 2TB) Linux пытается установить MBR. Чтобы выбрать EUFI (GPT) либо выбираем ее как основной способ загрузки в BIOS, либо выбираем в качестве первого загрузочного устройства USB-флэшку, с которой проводим инсталляцию, тогда программа установки сама переключится на EUFI.

Если используется EUFI, дополнительно к стандартным разделам (/boot, swap, /) нужен дополнительно /boot/efi размером не менее 200MB (выбираем 1GB для надежности).

файловая система для /boot и /: ext4

размер swap = RAM

размер boot = 1G

под / не менее 10G (выбираем 50GB, чтоб уж точно хватило)

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

# yum update

Установить ifconfig и другие привичные сетевые команды

# yum install net-tools

Вместо firewalld поставить более привычный iptables

# systemctl stop firewalld

# systemctl disable firewalld

# yum -y install iptables-services

# systemctl enable iptables.service

# systemctl start iptables.service

Отключить автообновление /etc/resolv.conf:

# systemctl stop NetworkManager

# systemctl disable NetworkManager

Можно попробовать не гасить NetworkManager целиком, а только отключить автообновление resolv.conf

#vi /etc/NetworkManager/NetworkManager.conf

[main]
plugins=ifcfg-rh
dns=none # << добавить

Если нужна rule-based маршрутизация (например, для multihomed)

$sudo yum install NetworkManager -dispatcher-routing-rules

$sudo systemctl enable NetworkManager -dispatcher.service

$sudo systemctl start NetworkManager -dispatcher.service

(шаг 1 не обязательно) потом добавить таблицы в /etc/iproute2/rt_tables, например:

100 1
101 2

и завести файлы

/etc/sysconfig/network-scripts/route-<iface>, например:

193.232.72.0/28 dev eno1 tab 1
default via 193.232.72.1 dev eno1 tab 1

/etc/sysconfig/network-scripts/rule-<iface>, например

from 193.232.72.14/32 tab 1 priority 100

чтобы проверить, что получилось:

# ip route show tab 1
# ip route show tab 2
# ip rule show

в случае, если на multihomed-машине используется docker, может понадобиться отключить rp_filter # sysctl net.ipv4.conf.all.rp_filter=2

# echo “net.ipv4.conf.all.rp_filter = 2″|sudo tee /etc/sysctl.d/99-rp_filter.conf

подробности здесь: http://jensd.be/468/linux/two-network-cards-rp_filter

Поменять hostname

#hostnamectl set-hostname escrow-b1.mks-ix.ru

Сконфигурировать перенаправление системной консоли на IPMI SOL

Номер последовательного порта, к которому прикручен SOL, иногда приходится подбирать. Для этого удобно:

1. остановить все процессы agetty: systemctl stop serial-getty@ttyS0.service и т.д. по списку

2. подключиться к консоли IPMI SOL

3. запустить вручную /sbin/agetty -L ttyS1 115200 vt100

и посмотреть, не появилось ли в консоли приглашение на login

Чтобы видеть меню GRUB и сообщения в процессе загрузки:

# cat /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
#GRUB_TERMINAL_OUTPUT=”console”
#GRUB_CMDLINE_LINUX=”rd.lvm.lv=centos/root rd.lvm.lv=centos/swap crashkernel=auto rhgb quiet”
GRUB_CMDLINE_LINUX=”rd.lvm.lv=centos/root rd.lvm.lv=centos/swap crashkernel=auto rhgb console=ttyS1,115200 console=tty0″
GRUB_DISABLE_RECOVERY=”true”
GRUB_TERMINAL=”console serial”
GRUB_SERIAL_COMMAND=”serial –speed=115200 –unit=1 –word=8 –parity=no –stop=1″

# sudo /sbin/grub2-mkconfig -o /boot/grub2/grub.cfg

Чтобы перенаправить консоль Linux

# cp /usr/lib/systemd/system/serial-getty@.service /etc/systemd/system/serial-getty@ttyS1.service

# cat /etc/systemd/system/serial-getty@ttyS1.service

(поправить строчку

ExecStart =-/sbin/agetty -L ttyS1 115200 vt100

)

# systemctl enable serial-getty@ttyS1.service

# systemctl start serial-getty@ttyS1.service

# yum install ipmitool.x86_64

Чтобы зайти через IPMI на консоль:

ssh host-mgmt.domain.com

->cd system1/sol1

->start

Или

$ ipmitool -I lanplus -H host-mgmt.domain.com -U ADMIN -a sol activate

Чтобы разрешить логин root’а через консоль, добавить в /etc/securetty нужную консоль, например:

ttyS1

Отключить selinux

sudo vi /etc/sysconfig/selinux>> SELINUX=disabled

Настроить NTP

# yum install ntpdate# yum install ntp

# vi /etc/ntp.conf

# systemctl enable ntpd

# systemctl start ntpd

# ntpq -r

Установить Docker

# yum install -y yum-utils device-mapper-persistent-data lvm2# yum-config-manager –add-repo https://download.docker.com/linux/centos/docker-ce.repo

(если ругается, что сертификат протух, то поставить sslverify=false в /etc/yum.conf)

# yum install docker-ce

# vi /etc/docker/daemon.json

{
“storage-driver”: “devicemapper”
}

Переместить директорию docker, в которой он хранит образы контейнеров:

# mv /var/lib/docker/* /docker/ # ln -s /docker /var/lib/docker

sudo curl -L https://github.com/docker/compose/releases/download/1.17.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

!! Workaround против проблемы с “device busy” при остановке контейнеров $ sudo vi /usr/lib/systemd/system/docker.service добавить в раздел [Service] MountFlags =slave

!! Для продуктива на CentOS рекомендуется использовать в качестве файловой системы для образов и контейнеров direct-lvm Для этого см https://platform9.com/support/preparing-centos-7-system-running-containers/ #yum list lvm2 #yum install lvm2 #bd2tp.sh BLOCK_DEVICE_NAME “docker-vg” где BLOCK_DEVICE_NAME – это имя блочного устройства для тома “thin LVM”

Добавить разделы

# fdisk

# mkfs.ext4 /dev/sda5

посмотреть uuid дисков

$ ls -l /dev/disk/by-uuid

Сконфигурировать bird (чтобы анонсировать сервис через BGP)

# yum install epel-release# yum install bird

# systemctl start bird

# birdc

> show ospf status all

добавить loopback-интерфейс

# vi /etc/sysconfig/network-scripts/ifcfg-lo:1

# ifup lo:1

Настроить мониторинг

# yum install -y nagios-plugins-all

для мониторинга контроллера LSI и томов RAID установить # rpm -i storcli-1.23.02-1.noarch.rpm # ln /opt/MegaRAID/storcli/storcli64 /usr/local/sbin/storcli

чтобы пользователь мониторинга мог через ssh запускать sudo, нужно в sidoers добавить

Defaults:myosuser requiretty

Отключить RPCBIND

По умолчанию systemd слушает на порту 111 на всех интерфейсах. Это сервис rpcbind, который скорее всего не нужен. Чтобы его отключить:#systemctl stop rpcbind.socket
#systemctl disable rpcbind.socket

Проверить:

#systemctl list-sockets

Leave a Reply

Your email address will not be published. Required fields are marked *