Назад | Перейти на главную страницу

AWS - отдельные разделы диска в Ubuntu

Я пытаюсь найти наилучший способ отделения файлов операционной системы от пользовательских файлов. Я хочу разделить жесткий диск моего нового экземпляра (при создании) на несколько разделов (для повышения производительности и безопасности).

Как мне убедиться, что следующие файловые системы смонтированы на отдельных разделах в экземпляре c4.xlarge, Ubuntu Server 14.04 LTS (HVM), тип тома SSD:

Отдельные перегородки для:

/usr
/var
/tmp
/boot
/home
Separate partition for Apache 

большое спасибо

На самом деле есть одна веская причина не разделять разделы в EC2:

... базовая производительность 3 IOPS / ГиБ ...

Тома SSD общего назначения, которые, как правило, предлагают лучшее соотношение цены и производительности, могут обрабатывать больше операций ввода-вывода в секунду, чем они больше.

Производительность тома общего назначения (SSD) определяется размером тома, который определяет базовый уровень производительности тома и скорость накопления кредитов ввода-вывода; большие тома имеют более высокий базовый уровень производительности и быстрее накапливают кредиты ввода-вывода.

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html#EBSVolumeTypes_gp2

Чем крупнее человек объем есть, тем лучше он работает. Это одно из существенных отличий облачных серверов (по крайней мере, в EC2) от физических. Наличие этих разных файловых систем на разных дисках интуитивно подразумевает повышение производительности, но оказывается с точностью до наоборот. Один большой том работает лучше, чем два из половины размера, если только по какой-то причине ваша рабочая нагрузка не будет равномерно распределена между двумя ... что маловероятно.

Если вместо этого несколько ваших разделов находятся на одном томе, это устраняет проблему производительности, но тогда нет особого смысла в нескольких разделах на одном томе, поскольку это имеет тенденцию в конечном итоге оставлять вас с застрявшим свободным пространством на одном разделе, пока вы хватало места на другом.

Конечно, вы можете заплатить надбавку за выделенные IOPS, но кажется разумным не работать «против» системы.

Когда вы выполняете «новую установку» на EC2, конечно, вы не «устанавливаете» ОС в обычном смысле, вы клонируете базовую установку, которая была сделана конкретным дистрибутивом Linux или для него ... и вы можете настроить каждую новую виртуальную машину на основе этого базового уровня или создать свой собственный базовый образ (Amazon Machine Image / AMI), который содержит немного метаданных и указатели на моментальные снимки тома диска, которые будут клонированы в новые тома для создания каждой новой машины ... что означает, что вы должны платить за хранение снимков с нужным разбиением и размером ... или изменять их размер после сборки каждой машины. С другой стороны, если вы используете одну файловую систему, мастер-образ может быть небольшим и автоматически увеличивать файловую систему при первой загрузке, чтобы заполнить диск до любого размера, который был подготовлен для этой конкретной машины.

Конечно, это частично вопрос мнения, но моя стандартная практика - использовать одну файловую систему. Кроме в тех случаях, когда у меня есть единственная цель, требующая значительного объема хранилища, например база данных или приложение, которым требуется необычно большой временный / рабочий каталог. (У меня есть пара систем с 2 ТБ временного пространства, которое им нужно, и 20 ГБ корневого / загрузочного дискового тома ... нет смысла хранить снимок 2 ТБ для клонирования машин.)

Итак, допустим, вас не убедили. Как вы делаете то, о чем просили? Рукой.

Вам понадобится 2 экземпляра в одной зоне доступности. Сделайте базовую установку на первом. Вы будете использовать его временно. Запустите второй со всеми дисковыми томами, которые вы собираетесь подключить, для любых целей. Установите ОС, затем обратите внимание на сопоставление тома с устройствами. Затем остановите второй экземпляр, отсоедините все тома и присоедините их к первому, который уже запущен. Отформатируйте дополнительные диски по желанию (вы жестяная банка разделить их, но это не обязательно - используя все блочное устройство без таблицы разделов, например /dev/xvdf вместо того /dev/xvdf1 значительно упрощает расширение файловой системы позже, монтирование всех файловых систем, переупорядочивание файлов, редактирование /etc/fstab (не тогда один на /etc на временном экземпляре, а скорее на том корневом томе, который вы подключили в другом месте на своем временном экземпляре), чтобы дополнительные файловые системы были смонтированы в нужном месте с правильного тома, затем отключите все файловые системы, отсоедините тома, повторно подключите их в правильном порядке и запустите его.

Убедившись, что он загружается и все находится в нужном месте, сделайте из него AMI и клонируйте оттуда свои будущие машины, и у вас будут тома дисков, файловые системы и (необязательно) разделы, как вы хочу их. Если этого не произойдет, вам может потребоваться проверить журнал консоли, отсоединить тома и снова подключить их к временной машине, пока не найдете то, что вы пропустили ... но в принципе, все это вполне жизнеспособно и, возможно, проще, чем кажется. Во всяком случае, немного.