Я читал в нескольких местах, что установка /
, /home
и /var
на отдельных разделах сервера, чтобы снизить риск нежелательного приложения / действия, заполняющего диск.
Однако во всех облачных провайдерах, в которых я создал экземпляры (AWS, OVH и GCP), доступный по умолчанию образ для Ubuntu обычно поставляется с одним /
раздел.
Упомянутый выше "передовой опыт" каким-то образом не имеет отношения к облаку или его просто игнорируют? Поскольку корневой раздел, очевидно, монтируется, когда я вхожу на сервер, могу ли я уменьшить его и перераспределить пустое пространство?
Мы используем один раздел на том (за исключением первого тома, который включает загрузку и свопинг). У этого есть много преимуществ (конечно, всегда в зависимости от приложения).
Если ваше приложение имеет большую БД + много файлов, по моему опыту, рекомендуется отделить файловую систему данных от корневой файловой системы. Наиболее очевидная причина заключается в том, что размер раздела данных намного проще увеличить или уменьшить, но изменить загрузочный раздел намного сложнее. В большинстве случаев вам необходимо размонтировать раздел, чтобы изменить его размер.
Вам не нужно перезагружать / переходить в режим обслуживания сервера, чтобы изменить размер / изменить / добавить / удалить тома / разделы..
Другая причина - это оптимизация затрат, поэтому с этой конфигурацией можно иметь разные объемы по разной цене.
Что касается сжатия корневого раздела, то я обычно выбираю конфигурацию с размером диска, который соответствует потребностям моей корневой файловой системы. (Я использую Debian, очень похожий на Ubuntu, и я использую корневой раздел размером 15 ГБ). Я связываю / var / log с разделом данных, который обычно вызывает проблемы с пространством. Таким образом, размер корневого раздела остается практически неизменным. Просто убедитесь, что приложения запускают очистку файлов / tmp.
У вас также есть много других преимуществ:
1) Вы можете создать / построить новый сервер (корневой раздел) и просто перемещать данные с одного сервера на другой. Простой способ обновить версию ОС (меньше рисков, меньше простоев)
2) Если вы отделяете приложения от данных, у вас может быть другой том для приложений, что дает дополнительную гибкость.
3) Если у вашего поставщика виртуальных машин есть разные типы дисков (разные скорости, разные цены), вы можете выбрать быстрые тома для БД и более медленные тома для исполняемых файлов (обычно запускаются один раз) и редко используемых данных.
и т.д.) Я уверен, что есть много других причин для разделения томов / файловых систем. Здесь всего несколько.
Разметка дисков в Linux - довольно самоуверенная тема. Я бы сказал, что в современных системах менее важно разделять такие вещи, как / var и / home, поскольку диски, с которыми мы имеем дело, больше или машины более быстродействующие.
Хорошая идея разделить / home отдельно от остальной ОС в любой системе, которая будет использоваться людьми в интерактивном режиме, по двум причинам:
Большинство облачных провайдеров адаптируют свои настройки по умолчанию ко второму случаю, идее о том, что машины не будут оставаться на работе в течение длительного периода времени. Если ваши веб-сайты работают на облачных платформах, вы, как правило, захотите использовать балансировщики нагрузки и группы автоматического масштабирования, где серверы масштабируются вверх / вниз в зависимости от использования, а когда у вас есть ошибка, вы просто сдуваете их и начинаете новую. один.
Другая часть этого заключается в том, что облачные провайдеры обычно допускают несколько подключенных томов. Если вы хотите, чтобы серверы были более постоянными, рекомендуемой практикой было бы прикрепить дополнительный том к экземпляру, скажем, поверх / srv / www, / home или там, где будут находиться ваши постоянные данные. Таким образом, вы можете повторно подключить свой веб-сайт к новому серверу, когда захотите обновить ОС.