Centos 7 systemctl полезные комманды

1. Просмотр всех системных сервисов (аналог chkconfig —list)

[code]systemctl list-unit-files[/code]

2. Автозапуск серверов HTTPD + Mysql при загрузке системы:

[code]
systemctl enable httpd
systemctl enable mariadb
[/code]

3. Замена брандмауэра firewalld на старый iptables:

[code]
systemctl stop firewalld
systemctl mask firewalld

yum install iptables-services

systemctl enable iptables
systemctl start iptables

# to save iptables rules use
service iptables save

[/code]

Изменение размеров разделов LVM

Некоторые установщики Linux создают большой раздел /home, если для системных служб необходимо больше места на разделе / (root), можно изменить конфигурацию LVM разделов без перезагрузки сервера.

До изменений раздел / (root) заполнен на 98%, и имеются свободные 141GB на партиции /home
[code]
[root@oracle ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_oracle-lv_root
50G 1G 50G 98% /
tmpfs 630M 0 630M 0% /dev/shm
/dev/cciss/c0d0p1 477M 106M 346M 24% /boot
/dev/mapper/vg_oracle-lv_home
149G 60M 141G 1% /home
[/code]

1. Отмонтируем раздел /home
[code]
umount /home
[/code]
Для успешного отключения раздела, остановите сервисы работающие на нем, а также выйдите из системы всеми пользователями кроме root

2. Уменьшаем размер раздела /home до 20GB, (Система попросит провести проверку тома коммандой e2fsck)
[code]
e2fsck -f /dev/mapper/vg_oracle-lv_home
resize2fs /dev/mapper/vg_oracle-lv_home 20G
[/code]

3. Уменьшаем LVM том /dev/mapper/vg_oracle-lv_home до 20G
[code]
lvreduce -L 20G /dev/mapper/vg_oracle-lv_home
[/code]

4. Расширяем LVM том /dev/mapper/vg_oracle-lv_root до максимально возможного размера.
[code]
lvextend -l +100%FREE /dev/mapper/vg_oracle-lv_root
[/code]

5. Увеличиваем раздел /root (ext3/4) используя все свободное место.
[code]
resize2fs /dev/mapper/vg_oracle-lv_root
[/code]

6. Монтируем /home
[code]
mount /home
[/code]

Результат:
[code]
[root@oracle ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_oracle-lv_root
178G 50G 128G 28% /
tmpfs 630M 0 630M 0% /dev/shm
/dev/cciss/c0d0p1 477M 106M 346M 24% /boot
/dev/mapper/vg_oracle-lv_home
20G 45M 19G 1% /home

[/code]

Теперь в корневом разделе сервера 72% свободного места.

TL;DR

Уменьшение раздела /home (/dev/mapper/vg_oracle-lv_home) до 20GB и перенос свободного места в корневой раздел диска /root (/dev/mapper/vg_oracle-lv_root):

[code]
umount /home
e2fsck -f /dev/mapper/vg_oracle-lv_home
resize2fs /dev/mapper/vg_oracle-lv_home 20G
lvreduce -L 20G /dev/mapper/vg_oracle-lv_home
lvextend -l +100%FREE /dev/mapper/vg_oracle-lv_root
resize2fs /dev/mapper/vg_oracle-lv_root
mount /home
[/code]

Системные вызовы PHP — exec system не работают в Debian 6

После миграции сайна на Debian 6, вызовы PHP exec и system перестали работать.
Причиной этого оказался пакет dash «ускоряющий» работу системы заменяя стандартную оболочку bash:

[code]
# ls -l /bin/sh
lrwxrwxrwx 1 root root 4 Dec 9 20:25 /bin/sh -> dash
[/code]

Для восстановления стандартной, для большинства дистрибутивов, оболочки bash выполните следующую комманду:

[code]
# dpkg-reconfigure dash
[/code]

dash dpkg-reconfigure debian linux

Выберите ответ «No» и по умолчанию все вызовы системы будт выполнятся bash.

Проверить изменения можно так:

[code]
# ls -l /bin/sh
lrwxrwxrwx 1 root root 4 Dec 9 20:26 /bin/sh -> bash
[/code]

kernel: e1000e eth0: Error reading PHY register

В последних версиях CentOS существует баг который вызывает зависание системы, из-за сетевого драйвера e1000.

В логе /var/log/messages наблюдается следующее сообщение:

[code]
kernel: e1000e 0000:02:00.0: eth0: Error reading PHY register
[/code]

Для временного решения проблемы нуобходимо отклюдить Активное Управление Питанием шины PCI-e (ASPM).

Если вы используете загрузчик GRUB, отредактируйте следующий файл: /boot/grub/grub.conf и добавьте в конец строки, начинающейся с «kernel» следующий параметр pcie_aspm=off.

Например так выглядит эта строка на моей системе:
[code]
kernel /vmlinuz-2.6.32-279.el6.x86_64 ro root=UUID=81e9e0a2-0a51-4d75-955d-909aaf848192 rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_NO_DM rd_MD_UUID=c6855f45:016a63bb:2d79bfb2:07371ed8 rd_NO_LVM rd_MD_UUID=5d5a434e:6c20cfcd:51340c3f:29c29151 pcie_aspm=off
[/code]

Что бы изменения вступили в силу, перезагрузите систему.

Для проверки изменений выполните:

[code]
dmesg | grep PCIe
PCIe ASPM is disabled
[/code]

Если ваш вывод отличается от вышеприведенного, значит изменения не вступили в силу.

OpenVPN рутинг всего трафика через VPN

Чтобы направить весь сетевой траффик через VPN-сервер, необходимо добавить следующие строки в файл конфигурации openVPN (как правило, etc/openvpn/server.conf ).

[code]
push «redirect-gateway def1»
push «dhcp-option DNS 8.8.8.8»
[/code]

Добавление публичного DNS сервера Google может быть необходимо, при проблемах c разрешением доменных имен, после соединения VPN.