Пред. Начало След.
Наверх
Сведения о документе

Планирование диска

На жёстком диске любого компьютера хранятся данные, которые используются совершенно по-разному. Одни составляют операционную систему или нужны ей для работы, другие нужны пользователю, он их создаёт сам или откуда-то получает. Некоторые данные нужны временно, например, только на время работы программы, другие предназначены для «вечного» хранения. Есть такие данные, которые может изменить только человек, и такие, которые система сама создаёт или модифицирует в процессе работы. Наконец, есть такие данные, которые могут храниться на одном компьютере, а использоваться на нескольких (например, по локальной сети), и такие, которые предназначены только для данного компьютера.

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

Поскольку разделы не зависят друг от друга, изменение содержимого одного раздела никак не сказывается на других. Одна из выгод такого подхода: в случае физического сбоя повреждения данных будут локализованы внутри того раздела, где произошёл сбой, и не затронут других разделов. Разделы открывают также путь для оптимизации скорости доступа: скорость чтения и записи для большинства дисков выше в середине и ниже к концу и началу диска. В самой быстрой области можно расположить раздел с данными, для которых важна скорость доступа.

Разделение диска на разделы необходимо в том случае, если на одном физическом устройстве должны быть установлены несколько операционных систем. Каждой операционной системе потребуется выделить не менее одного раздела.

Необходимые разделы

Минимальное количество разделов, которые необходимы Linux для работы — два. Первый — для корневой файловой системы, второй — для области подкачки.

Область подкачки (swap space) — это пространство на диске, используемое системой для организации виртуальной памяти. Если какая-то область оперативной памяти долгое время не используется, её содержимое записывается на диск, в область подкачки — тем самым освобождается место в физической памяти для других процессов. Когда же эта область памяти потребуется вновь, ядро подкачает её с диска и разместит в оперативной памяти.

Благодаря этому вполне может сложиться ситуация, когда используется больше оперативной памяти, чем её есть в действительности: если не вся заказанная память используется одновременно, что позволяет системе откачивать некоторые области. В Linux принято размещать область подкачки на отдельном разделе, что позволяет увеличить скорость доступа к данным и уменьшить риск повреждения ценных данных на основных разделах.

Для обеспечения максимальной скорости доступа к данным области подкачки ее раздел рекомендуется размещать в начале либо в середине диска. Данные, находящиеся в swap, являются временными и не представляют ценности после перезагрузки компьютера. Поэтому размещение swap-раздела, как и других разделов с неуникальными данными (например, /tmp и /usr — о них расказано ниже), в начале диска предпочтительнее: снижается риск потери важных данных.

Начало диска более подвержено повреждениям в том числе и из-за человеческого фактора. Печально известным примером опечатки, которая ведет к уничтожению данных в начале диска, может послужить dd of=/dev/hda вместо dd of=/dev/hda3. Однако если в начале диска хранятся неуникальные данные, то этот процесс, будучи вовремя остановленным, не успеет добраться до действительно ценной информации в разделах /etc, /home или /var, в то время как восстановление таблицы разделов — задача несложная.

С корневой файловой системы начинает расти всё дерево файлов Linux. Точкой монтирования для корневой файловой системы служит “/” — корневой каталог. Можно поместить все данные (включая пользовательские файлы) на один раздел — это как раз тот случай, когда для Linux потребуется всего два раздела. Для повышения эффективности и надёжности некоторые ветви дерева файлов можно выносить на другие разделы. Поскольку для файловой системы Linux не важно, каким образом части дерева каталогов расположены на разделах дисков, у вас есть возможность использовать каждый из имеющихся разделов диска под любой каталог файловой системы. В этом случае раздел с корневым каталогом будет служить точкой монтирования для остальных файловых систем.

Смонтированной файловой системе важно указать правильные параметры монтирования. Задавая разделам с разными типами данных походящие параметры, можно добиться значительного повышения производительности и безопаснсти. Ниже перечислены наиболее часто используемые общие параметры монтирования.

noatime
При каждом доступе к файлу, в том числе при чтении, обновляется время последнего доступа к нему. При использлвании этого параметра это обновление производиться не будет, что может быть полезно для ускорения работы (особенно актуально для серверов).
nodev
Этот параметр не позволяет создавать на файловой системе файлы-устройства. Если точно известно, что на данной файовой системе файлы-устройства не нужны, можно использовать этот параметр для повышения безопасности.
nosuid
Параметр запрещает исполнение SUID-программ.
noexec
Запрещает запуск исполняемых программ из файлов на данной файловой системе.
ro
Обеспечивает доступ к файловой системе только для чтения.

Дополнительно выделяемые разделы

/home
Домашние каталоги пользователей. Здесь хранятся персональные каталоги всех пользователей машины. Размер каталога зависит от количества работающих пользователей и от их потребностей. Рекомендуемые файловые системы — Ext3 или XFS. Параметры — noexec (в случае невозможности применения — nosuid).
/usr
Статические данные: большая часть пакетов устанавливает свои исполняемые файлы и данные в каталог /usr. Преимуществом размещения этого каталога в отдельном разделе является то, что при нормальной работе (кроме установки/удаления пакетов) не требуется в него записывать никаких данных, поэтому этот раздел можно монтировать в режиме «только чтение», в том числе по локальной сети. В этом случае несколько машин могут пользоваться одним сетевым разделом /usr. Размер этого раздела зависит от количества пакетов, которые будут установлены, он колеблется в пределах от 500 Мб для маленькой установки до нескольких гигабайт для полной установки. Вариант на 2–3 Гб (в зависимости от размера диска) скорее всего подойдёт.
/var
Переменные данные, которые создаются системой в процессе работы. Запись в этот каталог осуществляется весьма часто, а количество данных в нём имеет тенденцию расти (здесь расположены все системные журналы). Требования к объёму очень сильно зависят от профиля машины. На пользовательских домашних станциях может быть достаточно и нескольких сотен мегабайт, однако лучше выделять не меньше свободного места, чем для раздела /usr. На серверах объем раздела с переменными данными, как правило, больше. К тому же, для повышения производительности и надежности хранения информации переменные данные разных типов рекомендуется располагать на разных разделах. Файловая система этого раздела должна поддерживать журналирование (Ext3). При монтировании желательно задать параметры noexec и nosuid.
/var/log
При установке как на сервер, так и на рабочие станции, лучшим решением будет вынести системные журналы на отдельный раздел. При сбоях или внешних атаках размер журналов может резко увеличиваться, заполняя все доступное на разделе пространство, что, в случае их хранения вместе с другими переменными системными данными, чревато сбоем в работе системы. Также, если сервер используется для выполнения узкого круга задач (например, как web-сервер), рекомендуется выносить на отдельный раздел журналы основной системной службы (например, /var/log/apache). Оптимальная файловая система — Ext3, параметры — noatime, noexec, nosuid.
/var/tmp
Может быть полезным создать отдельную файловую систему для временных данных, которые нежелательно потерять в случае программного или аппаратного сбоя. Этот раздел должен обеспечивать высокую надежность хранения данных, поэтому оптимально создать в нем файловую систему с поддержкой журналирования (Ext3), указав параметры noexec и nodev.
/var/spool/mail
Если на сервере хранится почта пользователей, каталог с ней необходимо выделить в отдельный раздел. Также обязательно устаналивать ограничения на использование дискового пространства для отдельных пользователей, чтобы избежать неожиданного переполнения раздела и проблем с работоспособностью сервера.
/var/www
Раздел для сайтов пользователей.
/tmp
Этот каталог предназначен для временных файлов: в таких файлах программы хранят промежуточные данные, необходимые для работы. После завершения работы программы временные файлы теряют смысл и должны быть удалены. Обычно каталог /tmp очищается при каждой загрузке системы. Поскольку запись в этот каталог осуществляется очень часто, а требования к надёжности очень низкие, то есть большой смысл выделить /tmp в отдельный раздел. В противном случае он окажется частью раздела “/”, требования к которому по записи и надёжности прямо противоположные (см. ниже). Размер раздела /tmp в обычном случае должен быть примерно равен размеру swap. В последнее время раздел /tmp зачастую размещают в виртуальной файловой системе tmpfs непосредственно в оперативной памяти.
/
Корневой раздел — это самый важный раздел. Он не только содержит наиболее важные данные и программы системы, но будет также служить точкой монтирования для других разделов. Если /usr, /var и /home вынесены на отдельные разделы, то потребность в объёме корневого раздела небольшая, обычно достаточно 500 Мб. Требования: корневой раздел должен быть доступен в процессе загрузки, в процессе работы доступ на запись в этот раздел требуется нечасто, но весьма важна надёжность.
/boot
Небольшой раздел (5–10 Мб), на котором хранятся исполняемые и failsafe ядра и данные используемого загрузчика. Обычно располагается в самом начале жесткого диска и всегда является первичным разделом (в отличие от логических томов в случае использования LVM). Оптимальная файловая система — Ext2, поскольку запись в раздел производится редко, а его объём мал.

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

Пред. Начало След.
Наверх
Сведения о документе