Категорії
Linux

Рекомендации по настройке нового сервера Linux

Данная статья поможет вам не забыть настроить основные моменты при поднятии нового сервера с нуля. Будут использоваться общие принципы при настройке сервера, не зависимо от назначения (а если есть специфические моменты – они будут оговорены отдельно)

Кстати, статья будет дополнятся, обновляться.

1) Установка ОС

Рекомендую ставить 64-битные версии, даже если вы используете меньше 4 Гб памяти. Естественно, ваш процессор должен поддерживать 64-битный режим.

Так же хочу добавить рекомендации при разбивке дисков:

– старайтесь разносить базу данных, ОС, сайт на разные физические устройства.
– если предыдущий пункт невозможен, то необходимо выделять отдельные разделы для базы, сайта. Это связано с увеличением безопасности (к примеру, отключаем на таких разделах выполнение)

Хочу отдельно отметить информацию о RAID. Если вы решились на RAID, то внимательно изучите/посчитайте производительность, которую вы получите в таком случае. Диски в составе одного рейда и подключенных к одному контроллеру будут только способствовать снижению производительности I/O. Лучше подключать диски к разным физическим контроллерам, но желательно одинаковым.

Обязательно уделите время на выбор ФС для будущих разделов. Приведу выдержки из различных форумов, касательно выбора ФС.

XFS хорошо подходит для разделов с данными на файл-серверах для больших файлов (образы дисков, фильмы), а так же reflink . Неприятным ограничением XFS является невозможность уменьшения размеров раздела без потери данных, можно только увеличивать. Ext4 с журналированием — для корня (и, в общем, всего остального), с отключенным журналированием можно использовать для сменных твердотельных носителей. ReiserFS оптимизирована для разделов с большим количеством мелких файлов.

Для кеширующего поиска с кучей мелких файлов файлов – reiser

Используй ext4, она годится почти под все задачи, т.к. шустра и настраивается, плюс довольно стабильна и активно поддерживается. С xfs и reiser наверняка рано или поздно можно обрести проблемы. Третий reiser, кстати, свое основное достоинство – шустрость – теряет весьма быстро, если fs активно используется и засоряется из-за фрагментации. На небольших разделах без журналирования можно использовать ext2 – меньше места потратится под служебную информацию.

XFS подходит для больших файлов в несколько ГБ (XFS — система с упором на параллельный доступ), ReiserFS — для кучи мелких файлов. ext4 — нечто среднее между ними.

2) Ядро.

После установки ОС сразу обновите ядро до последнего доступного в репозитарии (лучше конечно до последнего доступного). Идеальным вариантом будет скачивание ядра с kernel.org и последующей сборкой.

Так же, для тюнинга можно использовать патчи pf-kernel, которые тюнят ядро для увеличения производительности.

3) Sysctl

Для увеличения производительность используем изменённе значения переменных sysctl. Для нагруженных систем рекомендую сделать тюнинг sysctl, который описан здесь

Ещё рекомендую изменить ограничения на количество открытых файлов для юзеров, от которых будет работать, например, web-сервер. Сделать это и многое другое можно через /etc/security/limits.conf

4) Увеличение безопасности

Вот некоторые методы, которые помогут вам защитить сервер на 99%

– установка для папки /etc/ прав 0600
– использование анализаторов логов (fail2ban, bruteblock, sshit) для борьбы с подбором паролей
– использование внутренней защиты ПО (не использовать пустые пароли, отключить доступ рута через ssh, chroot, и т.д.)
– Использования различных IDE (rkhunter и другие)
– Аудит и пересылка логов на удалённый сервер
– Ограничение ресурсов (описано здесь )
– Увеличение безопасности через файервол (описано здесь )
GrSecurity

5) Мониторинг ресурсов.

Хорошим тоном является мониторинг ресурсов сервера, а так же просто мониторинг серверов. Для этих целей подойдёт cacti, nagios, zabbix

6) Software

По возможности избегайте использования «тяжёлого» ПО – старайтесь использовать аналоги, которые потребляют намного меньше ресурсов. Здесь можно найти табличку аналогов «тяжеловесов».

7) Планировщик I/O (I/) scheduller)

По дефолту может использоваться не совсем оптимальный планировщик deadline. Рекомендуется его изменить на cfq или bfq. Очень хорошо об этом написано здесь

8 ) Performance

Рекомендую обратить внимание на сборник рецептов для выявления узких мест в вашей ОС. А так же здесь (https://blogs.oracle.com/linux/post/introducing-bpftune)

9) Сеть.

https://habr.com/post/419921/
https://www.stableit.ru/2015/03/blog-post.html
https://fasterdata.es.net/host-tuning/linux/100g-tuning/

10) Разное.

http://www.brendangregg.com/Perf/linux_observability_tools.png
http://www.brendangregg.com/Perf/linux_benchmarking_tools.png
http://www.brendangregg.com/Perf/linux_tuning_tools.png
http://www.brendangregg.com/Perf/linux_observability_sar
https://unix.stackexchange.com/questions/210367/changing-the-tcp-rto-value-in-linux

4 коментарі “Рекомендации по настройке нового сервера Linux”

Чёткой грани нет. Но я бы советовал использовать для файлов до 1Мбайта (на крайний случай даже попробовать и для 10Мбайт).

“XFS хорошо подходит для разделов с данными на файл-серверах”
Но она не поддерживает TRIM для SSD, так что, это уже вообще не вариант! Сейчас только 2 файловые системы подходят: EXT4 и BTRFS!

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Домашняя страничка Andy
Записки молодого админа
Самостоятельная подготовка к Cisco CCNA
Самостоятельная подготовка к Cisco CCNP
Powered by Muff