- Как грамотно провести разметку дисков для сервера Ubuntu?
- partitions — разметка диска для Linux сервера
- Назначение дополнительных разделов
- Разница между MBR и GPT
- Разметка диска для Linux — создание таблицы разделов
- Создание партиций на диске
- Создаём файловую систему и монтируем разделы
- Создание extended партиции для диска MBR
Как грамотно провести разметку дисков для сервера Ubuntu?
Планируем брать хостинг hetzner.de, Dedicated Server EQ 4. Конфигурация сервера: Intel® Core™ i7-920 Quadcore incl. Hyper-Threading Technology RAM 8 GB DDR3 RAM (max 24 GB) Hard discs 2 x 750 GB SATA-II HDD (Software-RAID 1) ОС: Ubuntu 10.04 Конфигурация ПО: Nginx + Tomcat 6 + Liferay 6 (Java) + MySql (inno Db). Портал — функционал + форум + wiki + . + немного файлового контента (обучающие видеоролики, презентации) Много примеров, как проводить разметку дисков для декстопов на linux. Но для сервера. Помогите, плиз, грамотно провести разметку дисков (750 GB) для сервера! Стоит ли оставлять Software-RAID 1? Как провести разметку с учетом роста баз данных и логов ? Какие выбрать файловые системы и опции монтирования ? Сколько надо оставить под корень? Куда будет падать закаченный при установке софт? Те, кто работал с hetzner.de, при заказе надо выбрать rescue? 1-ый вариант черновика с уймой вопросов, поправьте его плиз: Каталог Размер раздела Тип раздела Файловая система Опции монтирования /boot 256 Мбайт Первичный, hda1 ? ? Корень (/) 10 Гбайт Первичный, hda2 ? ? Swap 8 — 24 Гбайт (? с учетом того, что память может вырасти до 24 GB) Логический, hda5 — — /tmp 24 Гбайт Логический, hda6 ? ? /var 500 Гбайт Логический, hda7 ? ? — здесь вроде будут базы MySQL и логи ? /usr 32 Гбайт Логический, hda8 ? ? /opt 32 Гбайт Логический, hda9 ? ? /home all Первичный, hda3 ? ? — этот раздел для файлого контента? Буду благодарен за любые подсказки. Может кто приведет примеры своей конфигурации (с пометкой, какой основной софт установлен).
Сначала поставьте ОС и весь софт на тестовую машину у себя дома. Поймете, что вам удобнее и многие вопросы отпадут. Я под Ubuntu ставлю файловую систему по умолчанию ext4 – проблем с ней нет. Я разбиваю диск 4 ТБ (аппаратный RAID10) на 3 раздела. 100 Гб под систему / 2 Гб swap 3900 Гб /home Плодить кучу разделов смысла для себя не вижу.
Да как получится — так и разбивайте. Диск то у Вас один, как не разбей, производительность не изменится. Лишь бы данные помещались. И /boot / /usr /var были на отдельных разделах.
Там во время инсталляции ubuntu по-умолчанию выбирается guided partitioning. оно само сделает /, swap и /boot на lvm. Считай это грамотным. Техническое требование /boot на отдельном разделе заключается в том, что загрузчики не умеют грузиться с raid кроме как с raid1. Они бы и каталог /boot разместили бы в корне, если б не это. Грамотность — вообще-то просто условность, необходимая чтобы тебя понимали. На своем сервере можешь побыть и безграмотным. А то уже пару раз приходилось после грамотных умников из датацентров придумывать куда бы запихнуть логи вебсервера когда /var закончился.
Спасибо всем за советы. ========================================================= Инсталлятор хостера установил следующую конфигурацию Ubuntu 10.04.2 LTS: ========================================================= fdisk -l ——————————————————— Disk /dev/sda: 750.2 GB, 750156374016 bytes 64 heads, 32 sectors/track, 715404 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00024ec5 Device Boot Start End Blocks Id System /dev/sda1 2 2048 2096128 fd Linux raid autodetect /dev/sda2 2049 2560 524288 fd Linux raid autodetect /dev/sda3 2561 715404 729952256 fd Linux raid autodetect Disk /dev/sdb: 750.2 GB, 750156374016 bytes 64 heads, 32 sectors/track, 715404 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00034e59 Device Boot Start End Blocks Id System /dev/sdb1 2 2048 2096128 fd Linux raid autodetect /dev/sdb2 2049 2560 524288 fd Linux raid autodetect /dev/sdb3 2561 715404 729952256 fd Linux raid autodetect Disk /dev/md0: 2146 MB, 2146369536 bytes 2 heads, 4 sectors/track, 524016 cylinders Units = cylinders of 8 * 512 = 4096 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Disk /dev/md0 doesn’t contain a valid partition table Disk /dev/md1: 536 MB, 536805376 bytes 2 heads, 4 sectors/track, 131056 cylinders Units = cylinders of 8 * 512 = 4096 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Disk /dev/md1 doesn’t contain a valid partition table Disk /dev/md2: 747.5 GB, 747471044608 bytes 2 heads, 4 sectors/track, 182488048 cylinders Units = cylinders of 8 * 512 = 4096 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Disk /dev/md2 doesn’t contain a valid partition table ========================================================= mount ——————————————————— /dev/md2 on / type ext3 (rw) proc on /proc type proc (rw) none on /sys type sysfs (rw,noexec,nosuid,nodev) none on /sys/fs/fuse/connections type fusectl (rw) none on /sys/kernel/debug type debugfs (rw) none on /sys/kernel/security type securityfs (rw) none on /dev type devtmpfs (rw,mode=0755) none on /dev/pts type devpts (rw,gid=5,mode=620) none on /dev/shm type tmpfs (rw,nosuid,nodev) none on /var/run type tmpfs (rw,nosuid,mode=0755) none on /var/lock type tmpfs (rw,noexec,nosuid,nodev) none on /lib/init/rw type tmpfs (rw,nosuid,mode=0755) none on /var/lib/ureadahead/debugfs type debugfs (rw,relatime) /dev/md1 on /boot type ext3 (rw) ========================================================= Таким образом, если правильно понимаю, получил (Software-RAID 1): /dev/md0: 2146 MB — swap /dev/md1: 536 MB — boot /dev/md2: 747.5 GB — / (root) Есть ряд вопросов. Смущает, почему команда mount не показала /dev/md0 ? Хотя команда free -m показала, что swap есть: ——————————————————— total used free shared buffers cached Mem: 7995 242 7752 0 2 29 -/+ buffers/cache: 210 7784 Swap: 2046 0 2046 И что означают записи: Disk /dev/md1 doesn’t contain a valid partition table
demon11:
Таким образом, если правильно понимаю, получил (Software-RAID 1):
/dev/md0: 2146 MB — swap
/dev/md1: 536 MB — boot
/dev/md2: 747.5 GB — / (root)
netwind:
все так. но нет LVM. а в некоторых случаях он понадобится.
Я не силен в администрировании, и думаю мне будет сложно переразбить винт c учетом LVM и RAID
(еще не знаю, как сказывается специфика удаленного разбиения).
Хотя отсутствие LVM может осложнить жизнь в дальнейшем, как вы заметили.
Скажите, но данная конфигурация приемлема для продакшен сервера
(достаточно ли 2 Gb Swap и пр.)?
Или пока есть возможность, лучше переразбить на LVM.
netwind:
все так. но нет LVM. а в некоторых случаях он понадобится.
Я не силен в администрировании, и думаю мне будет сложно переразбить винт c учетом LVM и RAID
(еще не знаю, как сказывается специфика удаленного разбиения).
Хотя отсутствие LVM может осложнить жизнь в дальнейшем, как вы заметили.
Скажите, но данная конфигурация приемлема для продакшен сервера
(достаточно ли 2 Gb Swap и пр.)?
Или пока есть возможность, лучше переразбить на LVM.
А почему берете Intel® Core™ i7-920 Quadcore? Думаю лучше бы взяли Xeon E3-12xx, они должны быть примерно в одном диапазоне цен. При этом Xeon E3-12xx лучше по производительности и есть поддержка ECC. Конкретно по вопросам. Покупать RAID контроллер не вижу смысла, т.к программный отличается лишь тем что нагружает дополнительно процессор, лучше выбрать мощный процессор. Так же аппаратный RAID вижу выгодным лишь только тогда, когда используется RAID5 из 3-4 HDD. Ну это мое личное мнение. Обычно делаю разделы: / 50 Gb (первичный) Swap в 2 раза больше RAM (логический) /home все остальное. (логический) Ну это уже от Вас все зависит можете потом добавить новые или изменить старые)
partitions — разметка диска для Linux сервера
Разметка диска для Linux сервера представляет собой выделение разделов или партиций. Партиция — выделенная часть диска, на которой создается своя файловая система. Партиция или раздел монтируется отдельно в определенную точку файловой системы сервера, в определенный каталог.
На разных партициях могут существовать разные файловые системы. Основное преимущество — разделение по назначению.
На любом Linux сервере есть один корневой раздел. Это партиция, которая может занимать отдельный диск или его часть, которая смонтирована в корневой каталог.
Могут быть дополнительные разделы. Часто используется LVM — технология позволяющая создавать логические разделы поверх физических дисков. Это даёт гибкость при изменении объема партиций.
Назначение дополнительных разделов
На веб-сервере в отдельный раздел часто выносят логи. Если логи разрастутся — они займут весь выделенный им раздел, но в корне место не закончится. Сервер продолжит работать.
Также отдельный раздел обычно создают для бэкапов.
Отдельный раздел можно создавать под SWAP, он не монтируется в файловую систему.
Рассмотрим как создаются разделы с помощью утилиты parted, у неё есть аналоги, например fdisk.
Посмотреть список партиций
Таблица разделов имеет тип GPT. На диске два раздела, один из них содержит BIOS boot и имеет объем 1 Мб.
Второй раздел корневой, он является загрузочным и содержит ядро с загрузчиком.
Что и куда смонтировано можно посмотреть выполнив mount просто или df
Раздел /dev/vda2 на взятом для демонстрации сервере смонтирован в корень. Дополнительный раздел выделенный на том же диске мог бы выглядеть так:
При использовании другого диска у него отличалась бы буква в имени, диск бы назывался /dev/vdb или /dev/vdc.
Разница между MBR и GPT
Современные дистрибутивы используют таблицу разделов GUID (globally unique identifiers или GPT) , вместо BIOS в системе UEFI
- позволяет работать с разделами объемом больше 2TB
- первые 512 байт содержат MBR (для обратной совместимости)
С MBR процесс разметки диска имеет особенности
primary (содержит файловые системы, до 4 штук)
extended (содержит логические разделы, до 1 штук)
logical (содержит файловые системы, до 15 штук)
Разберем создание таблицы разделов для диска /dev/vdb. Он пуст, не имеет таблицы разделов и не смонтирован в файловой системе.
Создадим таблицу разделов gpt и две партиции.
Разметка диска для Linux — создание таблицы разделов
Для нового пустого диска!
Выполнение тех же команд для системного диска приведет к потере данных. Команды выполняются утилитой parted сразу, без подтверждения.
Переходим в parted для раздела
При необходимости смотрим подсказки по работе с утилитой
Задаём единицы измерения — Мегабайты
Теперь создание таблицы разделов
Тип (msdos для MBR, gpt для GPT)
Снова выводим список партиций
Таблица разделов создана. Переходим к партициям, их будет две.
Первую создадим выполняя команды по одной, вторую сразу в одну команду.
Создание партиций на диске
Можно просмотреть неразмеченное и доступное пространство и в нём создавать разделы нужного размера
Указываем тип файловой системы
Задаём начальный сектор, расстояние от начала диска до начала партиции (утилита выводит подсказки на всех этапах)
Теперь создаём второй раздел, он начнется с 1025 Мб. Создадим его указывая всё в одну строку
mkpart test2 ext4 1025mib 2000mib
Создаём файловую систему и монтируем разделы
Просмотрим список получившихся партиций — их должно быть две: /dev/vdb1 и /dev/vdb2
Далее создаем файловую систему на разделе /dev/vdb2
Создаем точку монтирования и монтируем /dev/vdb2
В /mount/2 должен появиться каталог lost+found
Разметка диска для Linux сервера на этом завершена. Аналогично можно создавать другие партиции и монтировать их в каталоги, которые предварительно нужно создавать.
Для всех добавляемых разделов кроме раздела под SWAP нужно задавать правила в /etc/fstab чтобы разделы монтировались после перезагрузки.
Создание extended партиции для диска MBR
Для раздела на диске с таблицей MBR можно использовать тип extended.
Это нужно когда планируется больше 4х разделов. Разделов с типом Primary может быть до четырех. Если планируется больше, то один из них делается extended и на нём выделяются логические разделы.
Номера логических партиций начинаются с 5.
Пример создания раздела (до этапа с mkpart всё также как рассмотрено выше):
Создание логического тома на расширенном (extended)
Отмонтировать разделы возникает необходимость при восстановлении поврежденной файловой системы.