Linux разметка диска (файловые системы Linux)

14. 06. 2013

Linux разметка диска - В этом посте я расскажу о файловых системах и поделюсь своим мнением о том, как же лучше разметить диск. На данный момент в Linux существует множество файловых систем и вариантов как разметить диск. Но, активно используются далеко не все.

Файловые системы Linux.

Linux разметка диска

Linux разметка диска

ext2 — Главный недостаток, он же плюс — это отсутствие журналирования, благодаря чему высокая производительность. Идеально подходит для загрузочного раздела /boot.

ext4 — Это журналируемая файловая система, основная файловая система, используется во всех остальных разделов кроме /boot.

Помимо этих двух братьев, есть еще менее популярные, о всех файловых системах рассказывать смысла нет. Ниже те, что часто используются:

ReiserFS — Журналируемая файловая система, в некоторых случаях быстрее ext4  но менее стабильна. Быстро работает с мелкими файлами, хорошо подходит для хранения и работы с  мультимедиа, торрентами. В основном используется для разделов /home, /var, /tmp.

Reiser4 — 4-ая версия ReiserFS, тоже быстрая файловая система, хорошо работает с большим количеством мелких файлов, но есть минус —  отсутствие файловой системы в основной ветви ядра.

Tmpfs — Временное файловое хранилище /tmp, помещенное в ОЗУ, а не на физический диск. Подобное еще называют «ram drive». Многие *nix дистрибутивы используют ее по умолчанию. Tmpfs — особенно полезна для тех, кто использует SSD, она продлевает жизнь, храня временные файл в ОЗУ. Tmpfs —  варьируется в размерах и при необходимости расширяется swap-ом. Советую, всем обладателям большого объема оперативной памяти.

swap — стоящий отдельно от файловых систем, это раздел(файл) подкачки. Используется в случаи нехватке ОЗУ.

Итак, с файловыми системами, более-менее разобрались, кому нужна более  подробная информация — есть википедия.

Linux разметка диска

Теперь поделюсь своим субъективным мнением, о том как лучше разметить диск. Начну с того какие бывают основные разделы и для чего они нужны:

/ - Это корневой раздел, он же root. Самый главный, к нему монтируются все последующие разделы и в нем хранятся самые важные файлы ОС.
/boot - Содержит ядро OC и файлы для загрузки.
/usr - Все важные программы и библиотеки пользователя.
/tmp - Раздел содержит временные файлы.
/var - Хранит log, ceсh-файлы, а также почту, иногда web.
/opt - Туда устанавливаются дополнительные - сторонние программы.
/home - Сюда помещаются все домашние каталоги пользователей.

Вот и все основные разделы, есть еще такие как: /etc,/bin,/llib,/mnt и многие другие, но это уже другая тема...

Существует множество вариантов, как разметить диск для Linux  и среди них нет 100% правильного. Чтобы выбрать наиболее подходящий вариант, нужно определиться с целью. Будит это web-сервер, email-сервер, ftp, desktop или что-то еще.

Нужно упомянуть, что диск делить до бесконечности нельзя.

Существуют всего 4-ре первичных раздела (Primary partition). Если нужно, один из первичных разделов, можно объявить расширенным (Extended partition) и в расширенном, можно создать логические (Logical partition) разделы, до 15шт. (если не ошибаюсь).

Дистрибутив Linux, роли выбора не играет, будто это UbuntuFedoraOpenSUS или что-то еще. Даже, по большому счету, разметку диска, можно доверить инсталлятору дистрибутива или использовать все пространство диска. Разметить диск руками нужно для того, чтобы иметь возможность, при выходе из строя одного раздела, спасти информацию других разделов и систему в целом (для хранения информации достаточно /home).

(Linux разметка диска)  Покажу мой работающий пример, на ноутбуке, desktop (настольная). Винчестер на 250gb, операционная система - ArchLinux.

Primary /boot (ext2) - 100mb Это потолок, более 50mb у меня никогда не грузилось.
Primary /swap - рекомендуют ОЗУ х 2, но если у вас 6 и более gb то можно ОЗУ х 1 или ОЗУ x 0.5.
Primary /usr (ext4)  50gb - Это основной раздел где будет ОС и программы, у меня при установленных KDE + куча программ, более 15gb не превышало.
Logical /tmp (ext4) 7gb -  Тоже пока хватало.
Logical /var (ext4) 5gb - Хватает за глаза, если не хранить почту дома.
Logical /var/log (ext4) 2gb - Так сделал, чтобы ограничить место под логи (журнал событий).
Logical /opt (ext4) 20gb - На нем установлен xampp и лежат сайты.
Logical /home (ext4) ~150gb (оставшиеся место) под домашнею директорию.

Многие предпочитают отделять раздел /usr от / (root), якобы безопаснее и создавать еще /media для хранения медиатеки. Также многие форматируют /tmp и /var в ReiserFS, так якобы быстрее, но на мой взгляд, все-таки лучше ext4.

Если у вас 6gb и более ОЗУ, и есть SSD, то рекомендовал бы раздел /tmp поместить в tmpfs. Будет быстрее и SSD на дольше хватит.

Например, если делать под  email-сервер, то раздел /var должен занимать самое большое место.

Про то, как и чем разметить диск для linux, в этой теме говорить не буду. У каждого дистрибутива Linux есть свой инсталлятор и свои программы, хотя есть и общие, такие как: fdisk, sfdisk, cfdisk.

  • Максим

    Спасибо за статью! Все по полочкам. Без воды.

    • root

      Пожалуйста, спасибо за комментарий.

  • Петрович

    спасибо за советы. вопрос — что значит «х1-05» во фразе «если у вас 6 и более gb то можно х1-05»?

    • root

      имел в виду один к одному (6gb озу -> 6gb swap), или один к половине (6gb озу -> 3gb swap)

  • krash1408

    С таблицей разделов в вашем примере, по моему, недочет. Не вижу корневого раздела :/

    • У меня установлен arch, а там вроде как, в корень «/» входит «/usr». И на десктопе я не отделяю «корень» от «/usr», все-таки не сервер. Немного выше, я писал о существовании главного раздела «/ (корень)».

      • krash1408

        Я, видимо, ещё слишком мало знаю о GNU/Linux...

  • Сергей

    у меня вопрос по разметке диска.

    я оставляю винду и буду запускать линукс с флешки.

    т.е. мне надо разметить диск на КОМПЬЮТЕРЕ, выбрать свободное пространство под нужды линукс?так?

    • root

      Запускать или устанавливать линукс? Для установки нужно выделить один первичный раздел, например: диск С — Windows, диск D — Linux и диск D использовать для установки линукса. т.е. во время установки линукса выбираем диск D, размечаем его под нужды линукса, возможно придется добавить адрес диска с виндой в grub.

      • Сергей

        опять вопрос.

        линукс у меня на флешке.

        мне надо его установить на ноутбук или можно все время запускать с флешки?

        и еще вопрос:

        при попадании в биос я не могу найти флешку; она не отображается. когда я перенастраиваю boot.

        что делать?

        • root

          Можно установить и запускать линукс с флешки.

          Сама по себе флешка не отображается в биосе, есть только USB-контролер который включается в пункте меню «Advanced», а в пункте «Hard Disk Drives» нужно выставить на первое место «USB-HDD», а на второе винчестер.

          Разные версии биоса немного отличаются!

          • Сергей

            спасибо попробую.

  • guest

    Не понял юмора. А корень то где? Или archlinux тупо забили не стандарт?

  • Алексей Дьяконов

    Спасибо за статью! А не могли бы Вы рассказать про форматирование винчестеров ssd в связке с hdd? Возьмём для примера ssd диск небольшого размера. Например 60 gb. Вполне нормально для системы. Hdd 160 gb. Память 3 гб. Многое разное пишут о том как это сделать. Расскажите как бы вы сделали форматирование?

    P.s. если важно то ОС Xubuntu 14.04