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

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

systemctl list-unit-files

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

systemctl enable httpd
systemctl enable mariadb

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

systemctl stop firewalld
systemctl mask firewalld

yum install iptables-services

systemctl enable iptables
systemctl start iptables

# to save iptables rules use
service iptables save

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

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

До изменений раздел / (root) заполнен на 98%, и имеются свободные 141GB на партиции /home

[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

1. Отмонтируем раздел /home

umount /home

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

2. Уменьшаем размер раздела /home до 20GB, (Система попросит провести проверку тома коммандой e2fsck)

e2fsck -f /dev/mapper/vg_oracle-lv_home
resize2fs /dev/mapper/vg_oracle-lv_home 20G

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

lvreduce -L 20G /dev/mapper/vg_oracle-lv_home

4. Расширяем LVM том /dev/mapper/vg_oracle-lv_root до максимально возможного размера.

lvextend -l +100%FREE /dev/mapper/vg_oracle-lv_root

5. Увеличиваем раздел /root (ext3/4) используя все свободное место.

resize2fs /dev/mapper/vg_oracle-lv_root

6. Монтируем /home

mount /home

Результат:

[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

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

TL;DR

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

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

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

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

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

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

# dpkg-reconfigure dash

dash dpkg-reconfigure debian linux

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

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

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

kernel: e1000e eth0: Error reading PHY register

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

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

kernel: e1000e 0000:02:00.0: eth0: Error reading PHY register

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

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

Например так выглядит эта строка на моей системе:

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

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

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

dmesg | grep PCIe
PCIe ASPM is disabled

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

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

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

 push "redirect-gateway def1"
 push "dhcp-option DNS 8.8.8.8"

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