Anrock 17.02.2011 23:30
Переводы — Как выбрать схему разбиения жёстких дисков на компьютере под управлением Linux
Комментарий переводчика: комковатый первоблин, предназначено для новичков. Для очень новичков. Приветствуются замечания по качеству переводаБоитесь страшного слова на букву "р"? Вы не одиноки. Разбиение может быть сложным, так что ниже я расскажу, что такое разделы, зачем они нужны и опишу простой случай разбиения на компьютере с Linux.
Что такое разделы жёсткого диска?
Представьте, что вы разделили один жесткий диск на два части. Таким образом, получается как бы два жестких диска, только в отличие от двух физически разделенных диска, ваши разделены логически и существуют на одном физическом диске. Такие логические диски и называются разделами жесткого диска.
Благодаря своей природе такими разделами-песочницами можно вертеть как угодно - удалять, разделять, объединять или создавать новые без какого-либо вреда для других разделов или оборудования. Например, у вас есть жесткий диск на один терабайт, и на нем существует два раздела - один на 250 гигабайт и второй на 750 гигабайт. Что бы не происходило с одним разделом, это никаким образом не может повлиять на другой: один из разделов может быть расшарен по сети, и можно абсолютно не волноваться, что кто-то также может получить доступ к информации на втором разделе. На одном разделов может стоять Windows, полная вирусов и троянов, а на другом давно не обновлявшийся Linux с кучей незакрытых дыр, и эти двое никогда не пересекутся. По крайней мере, пока вы этого не захотите, или пока физический диск выйдет из строя.
А еще вы можете создавать разделы, каждый из которых будет отформатирован в отдельную файловую систему. Файловая система это специальным образом записанная на жесткий диск "таблица", с помощью которой операционная система может писать, читать или обрабатывать данные. У вас только один жесткий диск? Не беда, с помощью разделов вы все равно можете установить несколько операционных систем на него, не заботясь о покупке отдельного жесткого диска.
Несмотря на то, что существует целая куча разных файловых систем, есть только три вида разделов: первичный (основной), расширенный и логический.
На любом жестком диске может существовать только четыре первичных раздела. Такое ограничение существует из-за штуки под названием Master Boot Record (главная загрузочная запись), которая говорит компьютеру с какого раздела он может загружаться, так что первичные разделы обычно зарезервированы для операционных систем. Но что делать, если нам нужно больше четырех разделов? В таком случае в дело вступает расширенный раздел. Расширенный раздел играет роль пустого контейнера для логических разделов. Внутри такого раздела вы можете создать сколько душе угодно логических разделов и использовать их под не ОС-нужды.
Раз уже расширенные разделы такие классные, то почему бы не использовать только их? А потому, что нельзя загружаться ни с каких разделов внутри расширенного. Есть, конечно, обходные пути, но куда лучше заранее спланировать использование первичных разделов. К тому же, способ которым система нумерует разделы зависит от типов раздела. Сначала система нумерует все первичные разделы, а затем уже и логические. Из-за этого буквы дисков могут меняться местами в случае, если вы меняли ОС, добавляли или удаляли разделы.
Точки монтирования
С Windows все лаконично:эта ОС живет на вашем жестком диске, обычно на одном разделе и все. Если у вас есть другие разделы, отформатированные в понятную ей файловую систему, то ими также можно пользоваться. Если же файловая система не поддерживается, то этот диск обычно игнорируется, либо Windows предлагает его отформатировать в знакомую файловую систему.
В Linux и Unix-подобных системах не все так просто.
Linux организует все в виде дерева. Так что если у вас есть другой раздел или диск, то он "монтируется", словно ветка в определенной папке, обычно в /media или /mnt. Папка, в которую примонтирован раздел, называется "точкой монтирования". Такой тип организации отлично работает с дерево-подобной системой Linux, и вы можете легко монтировать разделы в папки, почти везде, где вам угодно. В Windows не все так гибко - новые разделы отображаются как отдельные диски. К тому же Linux изначально поддерживает огромное количество разных файловых систем, в отличии от Windows.
Помните ограничение на четыре первичных раздела? Если вам хочется иметь не 4 ОС, а 145, как кое-кому на форуме JustLinux, то вы можете создать первичный раздел /boot, на котором будет находиться загрузчик, например, GRUB или LiLo. Загрузчик обрабатывает первичные функции и затем начинает загрузку с расширенного раздела
Как же мне разметить диск?
Стандартная схема разметки разделов для домашнего Linux:
Раздел, размером в 12-20 гигабайт для самой ОС, который монтируется как / (root, или корень)
Небольшой раздел, используемый для расширения оперативной памяти, монтируемый и известный как swap.
Большой раздел для персонального использования, монтируемый как /home
Конкретные размеры разделов определяются пользователем, в зависимости от его потребностей. Для начала стоит определиться со свопом (разделом подкачки). Если вы часто занимаетесь обработкой мультимедиа-файлов и\или у вас мало оперативной памяти, то вам необходимо выделить под своп побольше места. С другой стороны, если у вас много оперативной памяти, то можете вообще не обращать внимания на своп, хотя некоторые дистрибутивы Linux имеют проблемы с уходом в спящий режим или гибернацией, если не хватает места в свопе.
Под своп следует выделять места приблизительно в 1.5-2 раза больше, чем объем вашей оперативной памяти и располагать его в начале или конце диска, где скорость доступа выше всего.
Даже если вы установите тонны софта, хватит и 20 гигабайт на рутовом разделе. Большая часть дистрибутивов Linux на данный момент использует файловую систему ext3 или ext4, которые имеют встроенный механизм "само-очистки", так что вам не нужно беспокоиться о дефрагментации. Чтобы этот механизм мог хорошо работать, на разделе должно оставать 25-35% незанятого пространства.
И наконец, все остальное идет в ваш /home-раздел. Это место, где хранятся все ваша персональные файлы. Этот раздел является функциональным эквивалентом папки "Users" в Windows и хранит в себе настройки приложений, музыку, загрузки, документы и прочее. И так для каждого пользователя, зарегистрированного в системе. Очень полезно выносить /home на отдельный раздел, т.к. в случае апгрейда или переустановки ОС вам не придется делать бэкап. Удобно, неправда ли? И более того, настройки большинства программ и пользовательского окружения также сохранятся!
Если вы держите сервер с большим количеством пользователей и\или большим количеством media, то вы можете увеличить производительность, используя два жестких диска. Небольшой SSD-накопитель, скажем, 32 гигабайта максимум, отлично подойдет для размещения на нем ОС, а своп вы можете разместить в начале одно- или двух-терабайтного "зеленого" диска, на котором примонтирован /home.
Если вам хочется сильнее углубиться в оптимизацию, то вы можете даже выделить отдельные разделы для разных вещей, вроде папки для временных файлов (/tmp), папки для контента веб-сервера (/var/www), отдельной папки для программ (/usr) или логов (/var/log).
Указываем точки монтирования во время установки
В этот раз мы покажем редактирование разделов на примере установщика Ubuntu Maverick Meercat. Когда вы дойдете до места, где установщик дойдет до этапа "Распределить место на жестком диске," выберите пункт "Указать разделы вручную (для опытных пользователей)."
Не бойтесь слов "для опытных пользователей", на самом деле здесь нет ничего сложного, и небольшие трудности в процессе потом окупятся сторицей. Нажмите "далее", и появится таблица разделов.
Нажмите на зону нераспределенного пространства в полоске с разделами и нажмите "Добавить". Если на диске не осталось нераспределенного пространства, то выделите раздел с Windows, нажмите "Изменить" и уменьшите его размер. Это даст вам немного свободного места для работы.
Как видите, я уже создал первичный раздел размером в 11.5 гигабайт в начале диска и обозначил его как точку монтирования корня файловой системы. Вам придется использовать Linux-совместимую файловую систему, так что я выбрал стандартную ext4, хотя вы можете использовать ext2, ext3, ReiserFS или любую другую. Прочтите в интернете о каждой из них, и вы сможете сделать лучший выбор, но если сомневаетесь, оставьте все по умолчанию. Вы можете увеличить объем раздела, если у вас еще осталось свободное место, но повторюсь: вам вряд ли понадобиться больше 20 гигабайт, если вы не устанавливаете/компилируете большое количество софта. Нажмите "Ок" и вы готовы создавать другой раздел.
В этот раз, как видите, я выбрал логический раздел (программа автоматически создала расширенный раздел для него). Мой компьютер имеет 512 мегабайт оперативной памяти, так что я установил размер раздела приблизительно в полтора раза больше и пометил его как своп. Заметьте, этот раздел я разместил в самом конце диска так, чтобы свести задержку чтения к минимуму. Нажмите "Ок" и приступайте к созданию следующего раздела.
Оставшееся место посередине диска я решил сделать своим /homе-разделом. Файловой системой я снова выбрал ext4. Делать ли этот раздел первичным или же логическим? Я сделал первичным, т.к. я не собираюсь устанавливать другую ОС, в противном случае я бы сделал бы его логическим. Если вы не планируете использовать больше трех ОС, вы можете сделать этот раздел первичным простоты ради
Когда вы закончите с разделами, можете продолжить установку. Так выглядит моя таблица разделов:
Если вы вдруг передумали, вы можете прекратить установку на этом этапе без потери данных. Никакие изменения не будут применены до тех пор, пока вы не нажмете "Установить сейчас", так что можно вернуться назад и внести поправки.
Теперь, когда вы узнали, что такое разделы и как оптимально разметить диск не стесняйтесь продолжить свой поиск онлайн. Предстоит еще столько узнать!
Хотите что-то посоветовать или знаете какую-нибудь хитрость? Возможно, желаете поделиться полезным опытом?
Не забудьте оставить комментарий!
-------------------------------------------------------------------------------
http://translated.by/you/how-to-choose-a-partition-scheme-for-your-linux-pc/into-ru/trans/
Оригинал (английский): How to Choose a Partition Scheme for Your Linux PC (http://www.howtogeek.com/howto/35676/how-to-choose-a-partition-scheme-for-your-linux-pc/)
Перевод: © Anrock, Zereal, Shtsh.
translated.by переведено толпой
Думаю, такая картинка больше бы подошла тематике данной статьи (линукс же) ;)
Эх, вот только пару дней назад экспромтом рассказывал людям, как ставить убунту. В закладки для следующих поколений неофитов :). Спасибо.
Прочитал только первую часть. Рад что она там есть. Новичкам действительно будет полезно.
Плохо, что тэги для перевода не поставили.
Плохо, что тэги для перевода не поставили.
Да вообще можно и на один раздел поставить, только потом при переезде и переустановке будет задача стоять весь хом бекапить. Кстати пресловутая убунта 10.10 помойму если автоматом ей отдаешь весь диск на один раздел и ставилась.
Я всегда использую /boot, а если больших экспериментов над системой не ставить то / можно и в 7-10G обойтись, правда тут как раз и вылазиет что лучше отдельно /tmp вынести.
Я всегда использую /boot, а если больших экспериментов над системой не ставить то / можно и в 7-10G обойтись, правда тут как раз и вылазиет что лучше отдельно /tmp вынести.
А да еще... если нажать кнопку "Новая таблица раздела" то это уже нельзя отменить))
Да, я так сделал давным-давно, когда первый раз еще ставил и теперь вот думу думаю: куда бэкапить 600гб всякой фигни.
Я корень всегда не больше гига делаю. Зачем ему 7 гигов?
Ну, да. Разумеется, у меня /tmp, /var, /home, /usr, /opt и /boot на отдельных разделах.
Ну, да. Разумеется, у меня /tmp, /var, /home, /usr, /opt и /boot на отдельных разделах.
Вообще для новичков статья хорошая. А вот для более продвинутых не очень. Полезного мало, и даже есть немного вредного =) Говоря о разделах, все обычно говорят о древней таблице разделов, под названием msdos, где используется mbr, возможно сделать только максимум 4 главных раздела, или 3 главных и 1 расширеный. Эта схема давно устарела, даже в Windows уже добавили поддержку новой таблици разделов под названием GPT. Собственно советую почитать об этом хотя бы тут, для привлечения внимания скажу что в примере там описывается что можно создать 128 разделов. Мало ли, вдруг кто-то захочет потестировать ;)
блин, только заметил что это перевод =) Да, и как же совет вывести /boot на отдельный раздел? ИМХО, это самое правильное решение, особенно в таких случаях когда полетит /, и если есть бэкап в виде образа dd то можно будет с него загрузится (об этом я писал в блоге ArchLinux, думаю так же можно сделать и в убунте, не проверял)
Я тоже делаю под /boot отдельный раздел на метров 100-150 c фс ext2
Если вам хочется сильнее углубиться в оптимизацию, то вы можете даже выделить отдельные разделы для разных вещей, вроде папки для временных файлов (/tmp), папки для контента веб-сервера (/var/www), отдельной папки для программ (/usr) или логов (/var/log)
не знаю, насчет /usr, но в основном те кто хочет оптимизировать отдельно берет /var и /opt (opt кстати от слова оптимизация, так как оптимизированные проги его используют)
а у меня /opt почему то обычно используют программы с закрытым кодом\бинарники. ???
твоя правда http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard#Directory_structure
просто в маймо5 опт и рутфс разные диски, и если прога не оптимизирована (именно для этой папки), она ест много рутфс, а его там мало. вот я и подумал.
ну и туда идут 3rd party программы и екстра проги :
просто в маймо5 опт и рутфс разные диски, и если прога не оптимизирована (именно для этой папки), она ест много рутфс, а его там мало. вот я и подумал.
ну и туда идут 3rd party программы и екстра проги :
The rest of the hard disk(s) is generally divided in data partitions, although it may be that all of the non-system critical data resides on one partition, for example when you perform a standard workstation installation. When non-critical data is separated on different partitions, it usually happens following a set pattern:
a partition for user programs (/usr)
a partition containing the users' personal data (/home)
a partition to store temporary data like print- and mail-queues (/var)
a partition for third party and extra software (/opt)
a partition for user programs (/usr)
a partition containing the users' personal data (/home)
a partition to store temporary data like print- and mail-queues (/var)
a partition for third party and extra software (/opt)
Если новичок попался суровый и поставил Gentoo то есть смысл выделить /usr/portage т.к. порты имеют свойство раздуваться до огромных размеров без регулярной чистки. Обычно ставят 8Gb на него, но у меня всего 4Gb.
В Gentoo дерево портов не раздувается, может имеется в виду /usr/portage/distfiles и /usr/portage/packages? Их можно и на отдельный винт или в сеть, указываешь в make.conf и все. RTFM
а подскажите в чем смысл отдельных разделов для /usr, /var, /opt?
если с /home и /boot понятно(хотя для бута я отдельный раздел не делаю), то с остальным не очень
если с /home и /boot понятно(хотя для бута я отдельный раздел не делаю), то с остальным не очень
Ну вот пара примеров:
Для веб-сервера, в случае его атаки, логи могут занять всё свободное пространство за несколько часов, и если /var не будет вынесен в отдельный раздел - вся система может встать.
Отдельный /usr хорош тоже тем, что не получится застопорить систему установив слишком много софта - ну кончится на /usr место, почистил и всё.
К тому же есть ещё разные фс и параметры для них. Для корня подходит одна фс и одни параметры монтирования, для /var - лучше подходят другие параметры и фс. Например, на / можно смело включить noatime, в то время как многим программам, работающим /var, нужны эти отметки последнего доступа.
Или в плане бэкапов - если всё будет на одном разделе, выборочный бэкап будет сложновато делать. А так - сделать dd корневого раздела и /var и всё, зачем бэкапить /usr, когда софт всегда можно будет установить по-новой.
Насчёт /opt - не знаю, т.к. слабо представляю его реальное назначение - в разных дистрах он по разному исползуется..
Вообще, где-то была обширная статья на эту тему. Если найду - кину ссыль.
Для веб-сервера, в случае его атаки, логи могут занять всё свободное пространство за несколько часов, и если /var не будет вынесен в отдельный раздел - вся система может встать.
Отдельный /usr хорош тоже тем, что не получится застопорить систему установив слишком много софта - ну кончится на /usr место, почистил и всё.
К тому же есть ещё разные фс и параметры для них. Для корня подходит одна фс и одни параметры монтирования, для /var - лучше подходят другие параметры и фс. Например, на / можно смело включить noatime, в то время как многим программам, работающим /var, нужны эти отметки последнего доступа.
Или в плане бэкапов - если всё будет на одном разделе, выборочный бэкап будет сложновато делать. А так - сделать dd корневого раздела и /var и всё, зачем бэкапить /usr, когда софт всегда можно будет установить по-новой.
Насчёт /opt - не знаю, т.к. слабо представляю его реальное назначение - в разных дистрах он по разному исползуется..
Вообще, где-то была обширная статья на эту тему. Если найду - кину ссыль.
спасибо
как я понял обычному юзеру(типа меня) вполне хватит стандартной разбивки
как я понял обычному юзеру(типа меня) вполне хватит стандартной разбивки
Ну, в целом - да. Скажу даже больше - стандартной разбивки хватит любому, кто не понимает, зачем ещё что-то выносить в отдельный раздел :)
Добавлю по /tmp. Права на тмп стоят 777, типакто хочешь заходи записывай любой файл и исполняй. А исполнение неизвестных файлов на машине, чревато. Поэтому можно примонтировать отдельный раздел с опциями nodev,nosuid,noexec,mode=01777 (да хоть и tmpfs). Обезопасил дирреекторий - спас систему! Есть правда отдельныйе проги, которым нужно, при установке, распаковаться и запустить прверку из /tmp, ну таким просто по рукам.
Такие советы дают на домашнем компьютере только те, кто не пробовал монтировать /tmp с noexec. Сделайте, перезагрузитесь, и попробуйте, например, запустить glxgears. Большая вероятность, что он сразу же за сегфолтится. И это не единичный пример.
Стоит ещё добавить, что фишка в том, чтобы из корневого раздела всё лишнее вынести. В случае сбоев или каких-либо проблем с винтом, например, для загрузки системы достаточно только /boot и /, а там уже шаманить и чинить. Если они отдельно, то меньше вероятность, что накроются.
А вообще derfenix в основном всё правильно говорит.
А вообще derfenix в основном всё правильно говорит.
В принципе, для новичков и для домашнего пользования сойдет. Сам когда-то так разбивал. Правда, смущает
Всю жизнь думал, что самый быстрый доступ к разделам в начале харда.. Debian, к примеру, ставит swap вторым разделом.
И, кстати, если оперативки больше 2Гб и не нужет suspend-to-disk, то, имхо, размер swap в 1,5-2 раза больше оперативной не обязателен. Если при 4Гб оперативы выставить swap 5Гб, он ведь все время будет простаивать.
Ну, и tmpfs рулит однозначно)
Заметьте, этот раздел я разместил в самом конце диска так, чтобы свести задержку чтения к минимуму.
Всю жизнь думал, что самый быстрый доступ к разделам в начале харда.. Debian, к примеру, ставит swap вторым разделом.
И, кстати, если оперативки больше 2Гб и не нужет suspend-to-disk, то, имхо, размер swap в 1,5-2 раза больше оперативной не обязателен. Если при 4Гб оперативы выставить swap 5Гб, он ведь все время будет простаивать.
Ну, и tmpfs рулит однозначно)
С последними винтами я вообще не вижу необходимости следить за тем, какой винт в начале, какой в конце. Когда разделы меряются десятками и даже сотнями гигов, головка винта будет бегать только внутри раздела киллометры в не зависимости от того, в какой части диска физически находится раздел.
Это было справедливо на медленных маленьких винтах.
Это было справедливо на медленных маленьких винтах.
Имеется ввиду, я думаю, доступ к разделам хоум и /, тк своп используется очень редко. И смысл держать его в начале, если он постоянно будет пропускаться, из-за чего головка постоянно будет проделывать больший путь=)
В оригинале:
что поможет свести задержку чтения диска к минимуму.
В оригинале:
which will help keep disk seeking times at a minimum.
что поможет свести задержку чтения диска к минимуму.
ОС - Gentoo
/boot - <300-500> мб ext2
/ - все остальное ext4
swap в файл
/boot - <300-500> мб ext2
/ - все остальное ext4
swap в файл
Раньше было можно /usr, /etc ставить в RO, сейчас-то какой смысл? ... вощем моё имхо...
То ли статья для аццке зеленючих нубасов то ли автор слишком упрощает суть вещей.
Фрагментация на линуксовых ФС есть, хватит уже повторять этот боян с 20-летней историей. Никакого механизма само-очистки нет, придумывать не надо. Дефрагментатора для ext4 нет (пока). Если речь об экстентах, то это ext3 не касается. Если речь о TRIM то тем более. В общем вам бы сказки писать, а не статьи.
Применительно к настоящему времени, а не к дремучему прошлому, это верно только для очень небольшого размера оперативы, для обычного юзера на обычном современном компе хватит 0.5-1.
Если у вас есть деньги на SSD, то и добавить памяти будет несложно, чтобы вообще не использовать своп. А использовать его на "зеленом диске" это извините моветон. Мало того что там 5400 RPM так еще и акустика настроена на максимальную тишину в ущерб производительности. Причем страдает именно случайные запись и чтение. Так что это совет из разряда "поставить движок от камаза за запорожец".
ext3 или ext4, которые имеют встроенный механизм "само-очистки", так что вам не нужно беспокоиться о дефрагментации
Фрагментация на линуксовых ФС есть, хватит уже повторять этот боян с 20-летней историей. Никакого механизма само-очистки нет, придумывать не надо. Дефрагментатора для ext4 нет (пока). Если речь об экстентах, то это ext3 не касается. Если речь о TRIM то тем более. В общем вам бы сказки писать, а не статьи.
Под своп следует выделять места приблизительно в 1.5-2 раза больше, чем объем вашей оперативной памяти и располагать его в начале или конце диска, где скорость доступа выше всего
Применительно к настоящему времени, а не к дремучему прошлому, это верно только для очень небольшого размера оперативы, для обычного юзера на обычном современном компе хватит 0.5-1.
Небольшой SSD-накопитель, скажем, 32 гигабайта максимум, отлично подойдет для размещения на нем ОС, а своп вы можете разместить в начале одно- или двух-терабайтного "зеленого" диска
Если у вас есть деньги на SSD, то и добавить памяти будет несложно, чтобы вообще не использовать своп. А использовать его на "зеленом диске" это извините моветон. Мало того что там 5400 RPM так еще и акустика настроена на максимальную тишину в ущерб производительности. Причем страдает именно случайные запись и чтение. Так что это совет из разряда "поставить движок от камаза за запорожец".
Для ext4 экспериментальный дефрагментатор есть. Пару раз пробовал, ничего мне не убило ?
Я рекомендовал бы отделять /var/log, т.к. были случаи что логами забивало корневой раздел и удалённо эта проблема уже не решалась :)
LVM2. и я забыл про все эти извращения с разделами и перемещениями при переразбиениях.
под отдельный /boot какую лучше файловую систему ставить ?...или ext3/4 подойдет ?
Кстати вопрос. А что эта статья делает в блоге с таким странным названием. Вроде у нас все переводы постятся в соответствующем блоге "Переводы".
Про переводы я нашел только этот блог и блог howtogeek. Потому и тут лежит.
Я еще позанудствую чутка. Пост должен быть "Перевод", а не просто текст.
Насколько мне известно в большинстве дистров /tmp монтируется на tmpfs.