HomeLab с азартными играми и куртизанками.

HomeLabРазворачиваем домашний сервер виртуализации.

Гипервизор на базе KVM+QEMU+libvirt, хост — HP ProLiant Microserver Gen8 под CentOS 7.3.

Качаем CentOS-7-x8664-Minimal-1611.iso в удобное место.

Монтируем скачанный iso-образ с помощью ILO (это песня!)).

Грузимся с смонтированного iso-образа и если лезет такое:

[Firmware Bug]: the BIOS has corrupted hw-PMU resources

идём в биос: F9 — ROM-Based Setup Utility — System Options — CTRL+A, появится скрытый пункт меню — Service Options — Processor Power and Utilization Monitoring — Disabled — Esc — ещё раз Esc — F10 для сохранения.

[spoiler show="В картинках. F9-BIOS. Развернуть"]

F9-BIOS - HP Microserver Gen8

F9-BIOS

[/spoiler] [spoiler show="В картинках. F9-BIOS — Service Options. Развернуть"]

F9-BIOS - Service Options- HP Microserver Gen8

F9-BIOS — Service Options

[/spoiler] [spoiler show="В картинках. F9-BIOS — Processor Power and Utilization Monitoring. Развернуть"]

F9-BIOS - Processor Power and Utilization Monitoring

F9-BIOS — Processor Power and Utilization Monitoring

[/spoiler]

Готово. Продолжим. Процесс установки описан многократно в различных вариантах. Вкратце — установка «минимал» — на ссд 4 раздела — /boot, корень, своп и /vm, boot обычный раздел в ext2, корень и /vm в ext4 + включая swap размещены на lvm, размеры — boot — 1GiB, корень — 10, swap — 4 и /vm — 200GiB. kdump включен (на всякий случай), SELinux в дефолте, сетевым интерфейсам прописана статика.

Первые команды:

[dis@hp-boy ~]$ uname -a
Linux hp-boy.homelab.su 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
[dis@hp-boy ~]$sudo yum update

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

[sudo] password for dis:
Загружены модули: fastestmirror
base                                                                                                                 | 3.6 kB  00:00:00
extras                                                                                                               | 3.4 kB  00:00:00
updates                                                                                                              | 3.4 kB  00:00:00
(1/4): base/7/x86_64/group_gz                                                                                        | 155 kB  00:00:00
(2/4): extras/7/x86_64/primary_db                                                                                    | 139 kB  00:00:00
(3/4): base/7/x86_64/primary_db                                                                                      | 5.6 MB  00:00:02
(4/4): updates/7/x86_64/primary_db                                                                                   | 3.8 MB  00:00:03
Determining fastest mirrors
 * base: centos-mirror.rbc.ru
 * extras: centos-mirror.rbc.ru
 * updates: centos-mirror.rbc.ru
Разрешение зависимостей
--> Проверка сценария
...
...
...
Выполнено!
[dis@hp-boy ~]$sudo reboot

после ребута

после первого yum update

после первого yum update

поставим полезняшки — утилиты мониторинга сети и системы.

[dis@hp-boy ~]$ sudo yum install htop iftop atop
[sudo] password for dis:
Загружены модули: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.corbina.net
 * extras: mirror.corbina.net
 * updates: mirror.corbina.net
Пакета с названием htop не найдено.
Пакета с названием iftop не найдено.
Пакета с названием atop не найдено.
Ошибка: Выполнять нечего
[dis@hp-boy ~]$

Что за. шляпа?!

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

[dis@hp-boy ~]$ yum repolist
Загружены модули: fastestmirror
Determining fastest mirrors
* base: mirror.awanti.com
* extras: mirror.awanti.com
* updates: mirror.awanti.com
Идентификатор репозитория репозиторий состояние
base/7/x86_64 CentOS-7 - Base 9 363
extras/7/x86_64 CentOS-7 - Extras 311
updates/7/x86_64 CentOS-7 - Updates 1 111
repolist: 10 785
[dis@hp-boy ~]$

Подключаем Software Collections, содержащий новые версии пакетов и софта (всякие там питоны, пхп, движки БД и т. п. — пригодится).

[dis@hp-boy ~]$ sudo yum install centos-release-scl
[sudo] password for dis:
Загружены модули: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.corbina.net
 * extras: mirror.corbina.net
 * updates: mirror.corbina.net
Разрешение зависимостей
--> Проверка сценария
---> Пакет centos-release-scl.noarch 0:2-2.el7.centos помечен для установки
--> Обработка зависимостей: centos-release-scl-rh пакета: centos-release-scl-2-2.el7.centos.noarch
--> Проверка сценария
---> Пакет centos-release-scl-rh.noarch 0:2-2.el7.centos помечен для установки
--> Проверка зависимостей окончена

Зависимости определены

========================================================================================================================
 Package                              Архитектура           Версия                          Репозиторий           Размер
========================================================================================================================
Установка:
 centos-release-scl                   noarch                2-2.el7.centos                  extras                 12 k
Установка зависимостей:
 centos-release-scl-rh                noarch                2-2.el7.centos                  extras                 12 k

Итого за операцию
========================================================================================================================
Установить  1 пакет (+1 зависимый)

Объем загрузки: 24 k
Объем изменений: 39 k
Is this ok [y/d/N]: y
Downloading packages:
(1/2): centos-release-scl-rh-2-2.el7.centos.noarch.rpm                                           |  12 kB  00:00:00
(2/2): centos-release-scl-2-2.el7.centos.noarch.rpm                                              |  12 kB  00:00:00
------------------------------------------------------------------------------------------------------------------------
Общий размер                                                                            220 kB/s |  24 kB  00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Установка   : centos-release-scl-rh-2-2.el7.centos.noarch                                                         1/2
  Установка   : centos-release-scl-2-2.el7.centos.noarch                                                            2/2
  Проверка    : centos-release-scl-rh-2-2.el7.centos.noarch                                                         1/2
  Проверка    : centos-release-scl-2-2.el7.centos.noarch                                                            2/2

Установлено:
  centos-release-scl.noarch 0:2-2.el7.centos

Установлены зависимости:
  centos-release-scl-rh.noarch 0:2-2.el7.centos

Выполнено!
[dis@hp-boy ~]$ 

Конечно же EPEL (Extra Packages for Enterprise Linux).

[dis@hp-boy ~]$ sudo yum install epel-release
Загружены модули: fastestmirror
centos-sclo-rh                                                                                   | 2.9 kB  00:00:00
centos-sclo-sclo                                                                                 | 2.9 kB  00:00:00
(1/2): centos-sclo-sclo/x86_64/primary_db                                                        | 149 kB  00:00:00
(2/2): centos-sclo-rh/x86_64/primary_db                                                          | 2.2 MB  00:00:01
Loading mirror speeds from cached hostfile
 * base: mirror.corbina.net
 * extras: mirror.corbina.net
 * updates: mirror.corbina.net
Разрешение зависимостей
--> Проверка сценария
---> Пакет epel-release.noarch 0:7-9 помечен для установки
--> Проверка зависимостей окончена

Зависимости определены

========================================================================================================================
 Package                          Архитектура                Версия                    Репозиторий                Размер
========================================================================================================================
Установка:
 epel-release                     noarch                     7-9                       extras                      14 k

Итого за операцию
========================================================================================================================
Установить  1 пакет

Объем загрузки: 14 k
Объем изменений: 24 k
Is this ok [y/d/N]: y
Downloading packages:
epel-release-7-9.noarch.rpm                                                                      |  14 kB  00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Установка   : epel-release-7-9.noarch                                                                             1/1
  Проверка    : epel-release-7-9.noarch                                                                             1/1

Установлено:
  epel-release.noarch 0:7-9

Выполнено!
[dis@hp-boy ~]$

Добавим IUS

[dis@hp-boy ~]$ wget //centos7.iuscommunity.org/ius-release.rpm
-bash: wget: команда не найдена
[dis@hp-boy ~]$ sudo yum -y install wget
Загружены модули: fastestmirror
epel/x86_64/metalink | 19 kB 00:00:00
epel | 4.3 kB 00:00:00
(1/3): epel/x86_64/group_gz | 170 kB 00:00:00
(2/3): epel/x86_64/updateinfo | 765 kB 00:00:00
(3/3): epel/x86_64/primary_db | 4.6 MB 00:00:01
Loading mirror speeds from cached hostfile
 * base: centos-mirror.rbc.ru
 * epel: mirror.awanti.com
 * extras: mirror.awanti.com
 * updates: mirror.awanti.com
Разрешение зависимостей
--> Проверка сценария
---> Пакет wget.x86_64 0:1.14-13.el7 помечен для установки
--> Проверка зависимостей окончена

Зависимости определены

========================================================================================================================
 Package Архитектура Версия Репозиторий Размер
========================================================================================================================
Установка:
 wget x86_64 1.14-13.el7 base 546 k

Итого за операцию
========================================================================================================================
Установить 1 пакет

Объем загрузки: 546 k
Объем изменений: 2.0 M
Downloading packages:
wget-1.14-13.el7.x86_64.rpm | 546 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
 Установка : wget-1.14-13.el7.x86_64 1/1
 Проверка : wget-1.14-13.el7.x86_64 1/1

Установлено:
 wget.x86_64 0:1.14-13.el7

Выполнено!
[dis@hp-boy ~]$ wget //centos7.iuscommunity.org/ius-release.rpm
--2017-03-22 10:21:40--  //centos7.iuscommunity.org/ius-release.rpm
Распознаётся centos7.iuscommunity.org (centos7.iuscommunity.org)... 162.242.221.48, 2001:4802:7801:102:be76:4eff:fe21:14aa
Подключение к centos7.iuscommunity.org (centos7.iuscommunity.org)|162.242.221.48|:443... соединение установлено.
HTTP-запрос отправлен. Ожидание ответа... 301 Moved Permanently
Адрес: //dl.iuscommunity.org/pub/ius/stable/CentOS/7/x86_64/ius-release-1.0-15.ius.centos7.noarch.rpm [переход]
--2017-03-22 10:21:40--  //dl.iuscommunity.org/pub/ius/stable/CentOS/7/x86_64/ius-release-1.0-15.ius.centos7.noarch.rpm
Распознаётся dl.iuscommunity.org (dl.iuscommunity.org)... 146.20.25.47, 2001:4802:7901:0:4ccc:ff11:0:a
Подключение к dl.iuscommunity.org (dl.iuscommunity.org)|146.20.25.47|:443... соединение установлено.
HTTP-запрос отправлен. Ожидание ответа... 200 OK
Длина: 8340 (8,1K) [application/x-redhat-package-manager]
Сохранение в: «ius-release.rpm»

100%[==============================================================================>] 8 340       --.-K/s   за 0s

2017-03-22 10:21:41 (294 MB/s) - «ius-release.rpm» сохранён [8340/8340]

[dis@hp-boy ~]$

[dis@hp-boy ~]$ sudo rpm -Uvh ius-release*.rpm
предупреждение: ius-release.rpm: Заголовок V4 DSA/SHA1 Signature, key ID 9cd4953f: NOKEY
Подготовка...               ################################# [100%]
Обновление / установка...
   1:ius-release-1.0-15.ius.centos7   ################################# [100%]
[dis@hp-boy ~]$ 

прибираемся

[dis@hp-boy ~]$ yum clean all
Загружены модули: fastestmirror
Сброс источников:base centos-sclo-rh centos-sclo-sclo epel extras ius updates
Cleaning up everything
Cleaning up list of fastest mirrors
[dis@hp-boy ~]$

обновим кеш

[dis@hp-boy ~]$ yum makecache
Загружены модули: fastestmirror
base                                                                                             | 3.6 kB  00:00:00
centos-sclo-rh                                                                                   | 2.9 kB  00:00:00
centos-sclo-sclo                                                                                 | 2.9 kB  00:00:00
epel/x86_64/metalink                                                                             |  19 kB  00:00:00
epel                                                                                             | 4.3 kB  00:00:00
extras                                                                                           | 3.4 kB  00:00:00
ius                                                                                              | 2.3 kB  00:00:00
updates                                                                                          | 3.4 kB  00:00:00
(1/19): base/7/x86_64/other_db                                                                   | 2.4 MB  00:00:01
(2/19): centos-sclo-sclo/x86_64/filelists_db                                                     | 606 kB  00:00:02
(3/19): centos-sclo-sclo/x86_64/other_db                                                         |  88 kB  00:00:00
(4/19): base/7/x86_64/filelists_db                                                               | 6.6 MB  00:00:02
(5/19): centos-sclo-rh/x86_64/other_db                                                           | 1.1 MB  00:00:03
(6/19): epel/x86_64/filelists_db                                                                 | 7.7 MB  00:00:02
(7/19): epel/x86_64/updateinfo                                                                   | 759 kB  00:00:00
(8/19): epel/x86_64/primary_db                                                                   | 4.6 MB  00:00:01
(9/19): extras/7/x86_64/prestodelta                                                              | 117 kB  00:00:00
(10/19): extras/7/x86_64/other_db                                                                | 545 kB  00:00:00
(11/19): extras/7/x86_64/filelists_db                                                            | 596 kB  00:00:00
(12/19): epel/x86_64/other_db                                                                    | 2.1 MB  00:00:00
(13/19): ius/x86_64/primary_db                                                                   | 200 kB  00:00:00
(14/19): ius/x86_64/other_db                                                                     |  87 kB  00:00:00
(15/19): ius/x86_64/filelists_db                                                                 | 508 kB  00:00:00
(16/19): updates/7/x86_64/prestodelta                                                            | 430 kB  00:00:00
(17/19): updates/7/x86_64/filelists_db                                                           | 2.2 MB  00:00:01
(18/19): centos-sclo-rh/x86_64/filelists_db                                                      | 6.7 MB  00:00:11
(19/19): updates/7/x86_64/other_db                                                               |  44 MB  00:00:14
Determining fastest mirrors
 * base: mirror.awanti.com
 * epel: mirror.nsc.liu.se
 * extras: mirror.awanti.com
 * ius: mirrors.ircam.fr
 * updates: mirror.awanti.com
Кэш метаданных создан
[dis@hp-boy ~]$

посмотрим обновленный репозиторный список

[dis@hp-boy ~]$ yum repolist
Загружены модули: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.awanti.com
 * epel: mirror.nsc.liu.se
 * extras: mirror.awanti.com
 * ius: mirrors.ircam.fr
 * updates: mirror.awanti.com
Идентификатор репозитория                репозиторий                                                           состояние
base/7/x86_64                            CentOS-7 - Base                                                        9 363
centos-sclo-rh/x86_64                    CentOS-7 - SCLo rh                                                     4 948
centos-sclo-sclo/x86_64                  CentOS-7 - SCLo sclo                                                     390
epel/x86_64                              Extra Packages for Enterprise Linux 7 - x86_64                        11 372
extras/7/x86_64                          CentOS-7 - Extras                                                        311
ius/x86_64                               IUS Community Packages for Enterprise Linux 7 - x86_64                   360
updates/7/x86_64                         CentOS-7 - Updates                                                     1 111
repolist: 27 855
[dis@hp-boy ~]$ 

Всё чётко!

Пробуем ещё раз установить монитор задач.

[dis@hp-boy ~]$ sudo yum install htop
[sudo] password for dis:
Загружены модули: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.corbina.net
 * epel: epel.mirror.far.fi
 * extras: mirror.corbina.net
 * ius: mirror.amsiohosting.net
 * updates: mirror.corbina.net
Разрешение зависимостей
--> Проверка сценария
---> Пакет htop.x86_64 0:2.0.2-1.el7 помечен для установки
--> Проверка зависимостей окончена

Зависимости определены

========================================================================================================================
 Package                   Архитектура                 Версия                           Репозиторий               Размер
========================================================================================================================
Установка:
 htop                      x86_64                      2.0.2-1.el7                      epel                       98 k

Итого за операцию
========================================================================================================================
Установить  1 пакет

Объем загрузки: 98 k
Объем изменений: 207 k
Is this ok [y/d/N]: y
Downloading packages:
предупреждение: /var/cache/yum/x86_64/7/epel/packages/htop-2.0.2-1.el7.x86_64.rpm: Заголовок V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY
Публичный ключ для htop-2.0.2-1.el7.x86_64.rpm не установлен
htop-2.0.2-1.el7.x86_64.rpm                                                                      |  98 kB  00:00:00
Получение ключа из file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
Импорт GPG ключа 0x352C64E5:
 Владелец   : "Fedora EPEL (7) <epel@fedoraproject.org>"
 Отпечаток  : 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5
 Пакет      : epel-release-7-9.noarch (@extras)
 Источник   : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
Продолжить? [y/N]: y
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
ПРЕДУПРЕЖДЕНИЕ: база данных RPM была изменена вне Yum.
  Установка   : htop-2.0.2-1.el7.x86_64                                                                             1/1
  Проверка    : htop-2.0.2-1.el7.x86_64                                                                             1/1

Установлено:
  htop.x86_64 0:2.0.2-1.el7

Выполнено!
[dis@hp-boy ~]$

Другое дело! Пакет подтянулся с репозитория EPEL

Шпора по командам yum и списочек валидных репозиториев

Ставим самое, по мелочи)), необходимое:

[dis@hp-boy ~]$ sudo yum -y install mc atop iftop nano lsof screen bash-completion logwatch mtr policycoreutils-python sysstat
..
..
Выполнено!
[dis@hp-boy ~]$

И начнём оптимизацию старта системы. Мануальчик раз и два

Смотрим сколько времени занимает штатная загрузка.

[dis@hp-boy ~]$ systemd-analyze
Startup finished in 424ms (kernel) + 4.244s (initrd) + 15.334s (userspace) = 20.003s
[dis@hp-boy ~]$ 

20.003s — не мало. Смотрим какие именно сервисы сколько времени грузятся.

[dis@hp-boy ~]$ systemd-analyze blame
 9.301s NetworkManager-wait-online.service
 2.510s kdump.service
 2.020s lvm2-pvscan@8:66.service
 2.010s lvm2-pvscan@9:126.service
 1.449s lvm2-pvscan@9:127.service
 481ms network.service
 400ms lvm2-monitor.service
 297ms dev-mapper-vg_hpx2dx2dboyx2droot.device
 283ms postfix.service
 237ms firewalld.service
 118ms tuned.service
 98ms plymouth-quit.service
 94ms plymouth-quit-wait.service
 51ms systemd-fsck@dev-disk-byx2duuid-244c3f2bx2d9b02x2d4c76x2db98fx2d72c3b8bb3c97.service
 48ms NetworkManager.service
 42ms systemd-vconsole-setup.service
 39ms systemd-udevd.service
 32ms systemd-logind.service
 28ms systemd-udev-trigger.service
 26ms polkit.service
 26ms rhel-readonly.service
 24ms systemd-tmpfiles-setup-dev.service
 22ms microcode.service
 22ms systemd-user-sessions.service
 22ms boot.mount
 21ms systemd-tmpfiles-setup.service
 21ms sysstat.service
 21ms rhel-dmesg.service
 20ms systemd-readahead-replay.service
 19ms chronyd.service
 18ms sshd.service
 17ms systemd-journald.service
 17ms plymouth-start.service
 17ms rhel-import-state.service
 17ms systemd-tmpfiles-clean.service
 14ms sys-kernel-debug.mount
 13ms plymouth-read-write.service
 12ms auditd.service
 11ms dev-mapper-vg_hpx2dx2dboyx2dswap.swap
 11ms systemd-fsck-root.service
 11ms kmod-static-nodes.service
 11ms vm.mount
 10ms systemd-journal-flush.service
 10ms systemd-fsck@dev-mapper-vg_hpx2dx2dboyx2dvm.service
 8ms dev-hugepages.mount
 8ms dev-mqueue.mount
 7ms systemd-readahead-collect.service
 7ms systemd-sysctl.service
 6ms systemd-random-seed.service
 5ms systemd-remount-fs.service
 5ms rsyslog.service
 4ms systemd-readahead-done.service
 3ms systemd-update-utmp-runlevel.service
 3ms systemd-update-utmp.service
 1ms sys-kernel-config.mount
[dis@hp-boy ~]$

Для начала проведём некоторую оптимизацию параметров загрузчика ядра

$sudo mcedit /etc/default/grub

GRUB_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT=1
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_DISTRIBUTOR="$(sed 's, release .*$, g' /etc/system-release)"
GRUB_DEFAULT=0
GRUB_SAVEDEFAULT='false'
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=128M rootfstype=ext4 libahci. ignore_sss=1 plymouth. enable=0 rd.lvm.lv=vg_hp-boy/root rd.lvm.lv=vg_hp-boy/sw$
GRUB_DISABLE_RECOVERY="true"

# Отключаем загрузочное меню.
GRUB_TIMEOUT=0
# Ждём 1 сек. для принудительного входа в отключенное меню по клавише Esc.
GRUB_HIDDEN_TIMEOUT=1
# Убираем таймер ожидания клавиши Esc.
GRUB_HIDDEN_TIMEOUT_QUIET=true
# Отключаем графическую заставку при загрузке системы.
В строке GRUB_CMDLINE_LINUX_DEFAULT убрать параметр splash.
# Отключаем графический режим загрузчика.
GRUB_TERMINAL_OUTPUT='console'
# Запрещаем автовыбор пункта меню, указанный в прошлую загрузку.
GRUB_DEFAULT='0'
# Запрещаем сохранять выбранный пункт меню для следующей загрузки.
GRUB_SAVEDEFAULT='false'

[dis@hp-boy ~]$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-514.10.2.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-514.10.2.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-514.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-514.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-4c503881ae0a4f5eb6ebc07fc954b371
Found initrd image: /boot/initramfs-0-rescue-4c503881ae0a4f5eb6ebc07fc954b371.img
done
[dis@hp-boy ~]$sudo reboot

после рестарта

[dis@hp-boy ~]$ systemd-analyze
Startup finished in 423ms (kernel) + 1.941s (initrd) + 14.732s (userspace) = 17.097s
[dis@hp-boy ~]$

17.097s — это минус три секунды. Эффект есть! произведём также оптимизацию дисковой подсистемы средствами fstab.

[dis@hp-boy ~]$ sudo mcedit /etc/fstab
fstab              [----] 29 L:[  1+12  13/ 13] *(527 / 527b) <EOF>                               [*][X]

#
# /etc/fstab
# Created by anaconda on Tue Mar 21 00:10:17 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/vg_hp--boy-root <--><------><------>/<----->ext4    defaults        1 1
UUID=efdb03aa-1169-4c26-b92e-6e4ee4e7a4e7<----->/boot<->ext2    noauto,comment=systemd.automount 1 0
/dev/mapper/vg_hp--boy-vm <----><------><------>/vm<--->ext4    defaults        1 0
/dev/mapper/vg_hp--boy-swap <--><------><------>swap<-->swap    defaults        0 0
tmpfs /tmp tmpfs defaults 0 0

 1Помощь   2Сохр~ить 3Блок     4Замена    5Копия     6Пере~ить 7Поиск    8Удалить  9МенюMC   10Выход

результат оптимизации

[dis@hp-boy ~]$ systemd-analyze
Startup finished in 424ms (kernel) + 1.936s (initrd) + 14.741s (userspace) = 17.102s
[dis@hp-boy ~]$

Никакой)

Отключаем postfix и средствами systemctl mask отключим plymouth, bluetooth, firewalld (да, не нужен) и прожорливый NetworkManager-wait-online.service

[dis@hp-boy ~]$ systemctl stop postfix
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Для управления системными службами и юнитами, необходимо пройти аутентификацию.
Authenticating as: dis
Password:
==== AUTHENTICATION COMPLETE ===
[dis@hp-boy ~]$ su -c "systemctl disable postfix"
Пароль:
Removed symlink /etc/systemd/system/multi-user.target.wants/postfix.service.
[dis@hp-boy ~]$
[dis@hp-boy ~]$ cd /lib/systemd/system
[dis@hp-boy ~]$ su
[root@hp-boy dis]# for i in plymouth-*.*; do systemctl mask $i;done
Created symlink from /etc/systemd/system/plymouth-halt.service to /dev/null.
Created symlink from /etc/systemd/system/plymouth-kexec.service to /dev/null.
Created symlink from /etc/systemd/system/plymouth-poweroff.service to /dev/null.
Created symlink from /etc/systemd/system/plymouth-quit.service to /dev/null.
Created symlink from /etc/systemd/system/plymouth-quit-wait.service to /dev/null.
Created symlink from /etc/systemd/system/plymouth-read-write.service to /dev/null.
Created symlink from /etc/systemd/system/plymouth-reboot.service to /dev/null.
Created symlink from /etc/systemd/system/plymouth-start.service to /dev/null.
Created symlink from /etc/systemd/system/plymouth-switch-root.service to /dev/null.

[root@hp-boy dis]# for i in bluetooth*.*; do systemctl mask $i;done
Created symlink from /etc/systemd/system/bluetooth.target to /dev/null.

[root@hp-boy dis]# for i in NetworkManager-wait-online.service; do systemctl mask $i;done
Created symlink from /etc/systemd/system/NetworkManager-wait-online.service to /dev/null.

[root@hp-boy system]# for i in firewalld.service; do systemctl mask $i;done
Created symlink from /etc/systemd/system/firewalld.service to /dev/null.
[root@hp-boy system]# reboot

проверяем

[dis@hp-boy ~]$ systemd-analyze
Startup finished in 444ms (kernel) + 1.895s (initrd) + 5.487s (userspace) = 7.826s
[dis@hp-boy ~]$

7.826s — красота!

Пора посмотреть, что у нас смотрит в сеть.

[dis@hp-boy ~]$ netstat -ntulp
-bash: netstat: команда не найдена

упс, исправляем

[dis@hp-boy ~]$ yum whatprovides netstat
Загружены модули: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.awanti.com
 * epel: mirror.awanti.com
 * extras: mirror.awanti.com
 * ius: mirrors.ircam.fr
 * updates: mirror.awanti.com
No matches found
[dis@hp-boy ~]$ sudo yum whatprovides netstat
Загружены модули: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.corbina.net
 * epel: mirror.awanti.com
 * extras: mirror.corbina.net
 * ius: mirror.amsiohosting.net
 * updates: mirror.corbina.net
base/7/x86_64/filelists_db                                                                       | 6.6 MB  00:00:01
centos-sclo-rh/x86_64/filelists_db                                                               | 6.7 MB  00:00:01
centos-sclo-sclo/x86_64/filelists_db                                                             | 606 kB  00:00:00
epel/x86_64/filelists_db                                                                         | 7.7 MB  00:00:01
extras/7/x86_64/filelists_db                                                                     | 596 kB  00:00:00
ius/x86_64/filelists_db                                                                          | 511 kB  00:00:00
//mirror.amsiohosting.net/iuscommunity.org/stable/CentOS/7/x86_64/repodata/filelists.sqlite.bz2: [Errno -1] Metadata file does not match checksum
Пробуем другое зеркало.
ius/x86_64/filelists_db                                                                          | 511 kB  00:00:00
//mirrors.ircam.fr/pub/ius/stable/CentOS/7/x86_64/repodata/filelists.sqlite.bz2: [Errno -1] Metadata file does not match checksum
Пробуем другое зеркало.
ius/x86_64/filelists_db                                                                          | 509 kB  00:00:00
updates/7/x86_64/filelists_db                                                                    | 2.2 MB  00:00:00
net-tools-2.0-0.17.20131004git.el7.x86_64 : Basic networking tools
Источник: base
Совпадения с:
Имя файла   : /bin/netstat

[dis@hp-boy ~]$ sudo yum -y install net-tools
[sudo] password for dis:
Загружены модули: fastestmirror
base                                                                                             | 3.6 kB  00:00:00
centos-sclo-rh                                                                                   | 2.9 kB  00:00:00
centos-sclo-sclo                                                                                 | 2.9 kB  00:00:00
epel/x86_64/metalink                                                                             |  25 kB  00:00:00
extras                                                                                           | 3.4 kB  00:00:00
ius                                                                                              | 2.3 kB  00:00:00
updates                                                                                          | 3.4 kB  00:00:00
Loading mirror speeds from cached hostfile
 * base: mirror.corbina.net
 * epel: mirror.awanti.com
 * extras: mirror.corbina.net
 * ius: mirror.amsiohosting.net
 * updates: mirror.corbina.net
Разрешение зависимостей
--> Проверка сценария
---> Пакет net-tools.x86_64 0:2.0-0.17.20131004git.el7 помечен для установки
--> Проверка зависимостей окончена

Зависимости определены

========================================================================================================================
 Package                   Архитектура            Версия                                     Репозиторий          Размер
========================================================================================================================
Установка:
 net-tools                 x86_64                 2.0-0.17.20131004git.el7                   base                 304 k

Итого за операцию
========================================================================================================================
Установить  1 пакет

Объем загрузки: 304 k
Объем изменений: 917 k
Downloading packages:
net-tools-2.0-0.17.20131004git.el7.x86_64.rpm                                                    | 304 kB  00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Установка   : net-tools-2.0-0.17.20131004git.el7.x86_64                                                           1/1
  Проверка    : net-tools-2.0-0.17.20131004git.el7.x86_64                                                           1/1

Установлено:
  net-tools.x86_64 0:2.0-0.17.20131004git.el7

Выполнено!
[dis@hp-boy ~]$

и ещё раз

[dis@hp-boy ~]$ netstat -ntulp
(No info could be read for "-p": geteuid()=1000 but you should be root.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN -
tcp6 0 0 :::22 :::* LISTEN -
udp 0 0 127.0.0.1:323 0.0.0.0:* -
udp6 0 0 ::1:323 :::* -
[dis@hp-boy ~]$

Отлично! Слушают сетку часики, sshd и ничего лишнего.

какие соединения открыты?

[dis@hp-boy ~]$ sudo lsof -i
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
chronyd 754 chrony 1u IPv4 15725 0t0 UDP localhost:323
chronyd 754 chrony 2u IPv6 15726 0t0 UDP localhost:323
sshd 1074 root 3u IPv4 15974 0t0 TCP *:ssh (LISTEN)
sshd 1074 root 4u IPv6 15976 0t0 TCP *:ssh (LISTEN)
sshd 1142 root 3u IPv4 16105 0t0 TCP hp-boy.homelab.su:ssh->192.168.11.11:54232 (ESTABLISHED)
sshd 1146 dis 3u IPv4 16105 0t0 TCP hp-boy.homelab.su:ssh->192.168.11.11:54232 (ESTABLISHED)
[dis@hp-boy ~]$

Нужен ли нам ipv6? Сейчас нет — отрубаем!

[dis@hp-boy ~]$ su -c "echo net.ipv6.conf.all.disable_ipv6 = 1 >> /etc/sysctl.conf"
Пароль:
[dis@hp-boy ~]$ su -c "echo net.ipv6.conf.default.disable_ipv6 = 1 >> /etc/sysctl.conf"
Пароль:
[dis@hp-boy ~]$ sudo reboot

проверяем

[dis@hp-boy ~]$ sudo netstat -ntulp
[sudo] password for dis:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1081/sshd
udp 0 0 127.0.0.1:323 0.0.0.0:* 758/chronyd
[dis@hp-boy ~]$ sudo lsof -i
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
chronyd 758 chrony 1u IPv4 14157 0t0 UDP localhost:323
sshd 1081 root 3u IPv4 17283 0t0 TCP *:ssh (LISTEN)
sshd 1156 root 3u IPv4 21535 0t0 TCP hp-boy.homelab.su:ssh->192.168.11.11:57034 (ESTABLISHED)
sshd 1160 dis 3u IPv4 21535 0t0 TCP hp-boy.homelab.su:ssh->192.168.11.11:57034 (ESTABLISHED)
[dis@hp-boy ~]$

отлично.

Раз отрубили ipv6, надо и с SELinux-ом что-то делать, т.к. умные люди обещают проблемы с SELinux при отключении ipv6.

Сначала посмотрим, в каком состоянии SELinux

[dis@hp-boy ~]$ getenforce
Enforcing
[dis@hp-boy ~]$ sestatus
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   enforcing
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Max kernel policy version:      28
[dis@hp-boy ~]$

Установим режим permissive, SELinux будет в режиме наблюдателя, ни во что активно не вмешиваясь, только фиксируя в логах возможные нарушения (а они будут)), исходя из выбранной политики. Режим устанавливается редактированием параметра SELINUX в файле /etc/selinux/config, политику targeted оставим без изменения.

  GNU nano 2.3.1                        Файл: /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=permissive
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

перезагружаемся и смотрим

[dis@hp-boy ~]$ getenforce
Permissive
[dis@hp-boy ~]$ sestatus
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   permissive
Mode from config file:          permissive
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Max kernel policy version:      28
[dis@hp-boy ~]$

Отлично! Можно переходить к азартным играм подъёму и настройке гипервизора конечно же!)