Разметка линукс диска: Монтирование диска и его разметка в Linux

Разметка диска в Linux — CADELTA.RU

Разметка жесткого диска

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

  • на компьютер планируется установить несколько операционных систем, например, Windows и Linux;
  • операционная или файловая система имеет ограничения на максимальный размер тома, поэтому диск большого объема необходимо разбивать на несколько мелких логических дисков.

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

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

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

Ext — первая файловая система в Linux. В настоящее время практически не применяется.

Ext2 — нежурналируемая файловая система. Может применяться для данных, которые редко изменяются. Например, для загрузочных секторов дисков, для работы с SSD и флеш-картами, которые имеют ограниченный ресурс циклов записи. Характеризуется высокой скоростью, однако скорость чтения ниже, чем у более современной журналируемой системы — ext4.

Ext3 — является журналируемой версией ext2. Широко применялась до появления ext4.

Ext4 — разработана на основе ext3, обладает более высокой производительностью, позволяет работать с дисками и файлами очень больших размеров. Эта самая популярная на сегодняшний день файловая система для Linux, которая используется для системных файлов и пользовательских данных.

ReiserFS — первая журналируемая файловая система для Linux. Умеет упаковывать файлы в один блок, что улучшает производительность и экономит дисковое пространство при работе с мелкими файлами. Reiser4 — четвертая версия ReiserFS, в которой повышена производительность и надежность работы с данными. Добавлена возможность использования плагинов, которые могут, например, «налету» сжимать или шифровать данные. Рекомендуется для работы с файлами небольших размеров.

XFS — журналируемая система, обладающая высокой производительностью, может быть рекомендована для работы с большими файлами.

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

Tmpfs — предназначена для размещения временных файлов в ОЗУ компьютера. Особенно актуальна при работе с SSD и наличии свободной оперативной памяти.

FAT и NTFS — файловые системы MS-DOS и Windows, которые также поддерживаются Linux. Пользователь Linux может иметь доступ к разделам с FAT и NTFS. Применяется для установки соответствующих систем, для переноса и совместного использования данных.

Swap — может быть как отдельным разделом диска, так и обычным файлом. Используются исключительно для создания виртуальной памяти. Виртуальная память необходима в случае нехватки основной памяти (ОЗУ), однако скорость работы при использовании такой памяти значительно уменьшается. Swap необходим для компьютеров с малым объемом памяти, в этом случае рекомендуется создать swap-раздел или файл размером в 2-4 раза больше, чем ОЗУ компьютера. Также swap необходим для перехода в режим сна, в этом случае необходимо выделить объем памяти равный ОЗУ компьютера или чуть больше. Если компьютер имеет достаточный объем памяти и не требуется режим сна, то swap можно вообще отключить. Современному персональному компьютеру обычно хватает 4 Гигабайт ОЗУ. Но при обработке больших объемов данных, для серверов с большим количеством пользователей могут потребоваться значительно большие объемы памяти.

Структура диска в Linux

Диск можно разбить на четыре физических раздела. Один из этих разделов может быть расширенным. Расширенный раздел может быть разбит на неограниченное число логических разделов. Диски в Linux обозначаются буквами sd?, где вместо знака вопроса используются буквы латинского алфавита, начиная с «a». То есть, первый диск в системе называется sda, второй — sdb, третий — sdc и т. д. На старых компьютерах, с IDE дисками могут использоваться названия: hda, hdb, hdc и т.д. В свою очередь, разделы дисков указываются цифрами: sda1, sdb5, sdc7. Первые четыре цифры зарезервированы за физическими разделами: sda1, sda2, sda3, sda4. Даже если на диске меньше четырех физических разделов, первый логический раздел будет называться sda5.

Структура директорий

Здесь мы рассмотрим только те директории, которые имеет смысл выносить на отдельный раздел.

/ — корень диска. Создается в любом случае. Рекомендуемые файловые системы: ext4, JFS, ReiserFS.

/boot — служит для загрузки системы. Рекомендуемая файловая система — ext2.

/home — содержит файлы пользователей. Рекомендуемые файловые системы: ext4, ReiserFS, XFS (для больших файлов).

/tmp — служит для хранения временных файлов. Рекомендуемые файловые системы: ReiserFS, ext4, tmpfs.

/var — служит для хранения часто изменяемых файлов. Рекомендуемая файловая системы: ReiserFS, ext4.

/usr — содержит файлы программ и библиотек, устанавливаемые пользователем. Рекомендуемая файловая система — ext4.

Разметка диска с помощью программы fdisk

Fdisk — это утилита для разметки жестких дисков с текстовым интерфейсом. Все устройства в Linux находятся в каталоге /dev. Посмотреть список дисков можно с помощью команды:

ls /dev | grep sd

Если диск sda уже размечен, то информацию о разделах можно узнать с помощью команды:

sudo fdisk -l /dev/sda

Также информацию о разделах можно получить с помощью команды:

lsblk

Допустим, что мы хотим получить такую структуру диска:

1 (sda1) раздел для Windows объемом 100 Гбайт.

2 (sda5) раздел для загрузки Linux — /boot 100 Мбайт

3 (sda6) раздел swap — 4 Гбайта.

4 (sda7) раздел корневой — / 20 Гбайт.

5 (sda8) раздел /home — весь оставшийся диск.

Внимание: операции, описанные далее, могут привести к потере данных. Перед их выполнением следует сделать резервную копию всех важных данных с дисков.

Запускаем fdisk:

sudo fdisk /dev/sda

Если надо разметить второй или третий диск, вместо sda пишем sdb или sdc.

После запуска программы нажимаем «m» для просмотра списка команд.

Смотрим таблицу разделов, нажав «p».

Если диск не пустой, удаляем старые разделы командой «d», после чего указываем номер раздела. Если разделов несколько, придется выполнить команду несколько раз.

Создаем новый раздел физический Windows, нажав клавишу «n», а потом «p». Далее указываем номер раздела — «1». Первый сектор по умолчанию — нажимаем «Enter». И в конце вводим размер диска «+100G ».

В терминале это будет выглядеть следующим образом:

Команда (m для справки): n

Partition type:

p primary (0 primary, 0 extended, 4 free)

e расширенный

Select (default p): p

Номер раздела (1-4, по умолчанию 1): 1

Первый сектор (2048-976773167, по умолчанию 2048):

Используется значение по умолчанию 2048

Last сектор, +секторы or +size{K,M,G} (2048-976773167, по умолчанию 976773167): +100G

Далее добавляем расширенный раздел для Linux. Нажимаем «n», потом «e» и два раза «Enter». По умолчанию под расширенный раздел будет использоваться все оставшиеся место на диске.

Команда (m для справки): n

Partition type:

p primary (1 primary, 0 extended, 3 free)

e расширенный

Select (default p): e

Номер раздела (1-4, по умолчанию 2): 2

Первый сектор (209717248-976773167, по умолчанию 209717248):

Используется значение по умолчанию 209717248 Last сектор, +секторы or +size{K,M,G} (209717248-976773167, по умолчанию 976773167):

Используется значение по умолчанию 976773167

Далее создаем логический раздел /boot, размером 100 Мегабайт. Нажимаем «n», потом «l», первый сектор по умолчанию («Enter»), последний сектор +100M.

Следующий раздел swap, объемом 4 Гигабайта. Последовательно «n», «l», «Enter» и в конце вводим +4G.

Таким же образом создаем корневой раздел в 20 Гигабайт, нажимая «n», «l», «Enter» и +20G.

И раздел /home, который займет все оставшееся дисковое пространство: «n», «l», «Enter», «Enter».

После чего, нажав «p», мы увидим примерно следующее:

Устр-во Загр Начало Конец Блоки Id Система

/dev/sda1 2048 209717247 104857600 83 Linux

/dev/sda2 209717248 976773167 383527960 5 Расширенный

/dev/sda5 209719296 209924095 102400 83 Linux

/dev/sda6 209926144 218314751 4194304 83 Linux

/dev/sda7 218316800 260259839 20971520 83 Linux

/dev/sda8 260261888 976773167 358255640 83 Linux

Так как на раздел sda1 планируется установить Windows, то сменим тип файловой системы. Нажмем «l» и увидим, что NTFS соответствует id=7. Для смены типа, нажимаем «t», потом номер раздела «1» и код «7», в терминале это будет выглядеть так:

Команда (m для справки): t

Номер раздела (1-8): 1

Шестнадцатеричный код (введите L для получения списка кодов): 7

Системный тип раздела 1 изменен на 7 (HPFS/NTFS/exFAT)

Аналогичным образом меняем id файла подкачки для раздела sda6: нажимаем «l», «6» и вводим код 82.

Смотрим, что получилось командой «p»:

Устр-во Загр Начало Конец Блоки Id Система

/dev/sda1 2048 209717247 104857600 7 HPFS/NTFS/exFAT

/dev/sda2 209717248 976773167 383527960 5 Расширенный

/dev/sda5 209719296 209924095 102400 83 Linux

/dev/sda6 209926144 218314751 4194304 82 Linux своп / Solaris

/dev/sda7 218316800 260259839 20971520 83 Linux

/dev/sda8 260261888 976773167 358255640 83 Linux

Если все в порядке, то для записи разделов на диск, нажимаем «w». Пока мы не ввели команду «w», выполняются только предварительные операцию, данные на диск не записываются. После записи разделов, перезагружаемся и устанавливаем системы.

Рекомендуется сначала установить Windows, а потом Linux, поскольку Windows стирает загрузчики других систем.

Разметка диска с помощью GParted

GParted или GNOME Partition Editor представляет собой программу для редактирования разделов диска с графическим интерфейсом. По существу, она является оболочкой текстовой утилиты GNU Parted. GParted имеет простой и интуитивно понятный интерфейс. Она позволяет не только создавать и удалять разделы, но также изменять их размеры, копировать и перемещать. Программа поддерживает работу со многими популярными файловыми системами.

Внимание: последующие действия могут привести к полной потере информации с дисков компьютера. Перед использованием программы GParted обязательно сделайте копии важной информации. Также желательно зарядить аккумулятор ноутбука, использовать ИБП. Некоторые операции могут занять продолжительное время и в случае отключения питания данные могут быть утеряны.

Запускаем программу командой:

gparted

Запуск нужно производить от привилегированного пользователя, для этого предварительно выполняем команду su, либо sudo:

sudo gparted

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

Если диск уже размечен, мы увидим примерно такую картину:

Рис. 1. Программа GParted

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

В случае, если диск неразмеченный, можно сразу же приступить к созданию разделов. В противном случае удаляем ненужные разделы — кликаем правой кнопкой мыши (ПКМ) на названии раздела и выбираем в меню «Удалить».

Если раздел используется системой (примонтирован), то перед выполнением операций нужно его отмонтировать — кликаем ПКМ на разделе и выбираем в меню «Отмонтировать».

Если на диске есть нужные разделы, можно изменить их размер, чтобы освободить место для новых разделов. Допустим, что есть раздел с Windows, который занимает весь диск. Необходимо оставить Windows и установить Linux. Для этого кликаем ПКМ на разделе Windows и выбираем в меню «Изменить размер/Переместить». После чего указываем новый размер раздела Windows, либо свободное место до или после раздела. После этого нажимаем кнопку «Изменить размер или переместить».

Рис. 2. Изменение размера раздела

Естественно, что для этой операции раздел с Windows должен иметь достаточное количество свободного места. После изменения размера раздела появится неразмеченное пространство, которое можно использовать для создания разделов с Linux.

Для создания нового раздела нужно кликнуть ПКМ на неразмеченном пространстве и выбрать в меню пункт «Новый». Далее в поле «Новый размер» указываем размер раздела. Указываем тип раздела (основной, расширенный, логический) и файловую систему, а также метку диска, например «home».

Рис. 3. Создание нового раздела

Создаем все необходимые разделы (смотрите выше описание работы с fdisk).

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

3.5. Переразметка для мульти-загрузочных систем

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

Если у вас уже установлена операционная система на машине и вы хотите добавить Linux на тот же диск, то вам нужно его переразметить. Для Debian нужно создать отдельные разделы на жёстком диске. Он не может быть установлен на разделы Windows или MacOS. Он может совместно использовать некоторые разделы с другими системами Linux, но в этом руководстве это не описывается. Как минимум, вам нужно выделить место под корневой раздел Debian.

Вы можете найти информацию об имеющихся разделах с помощью инструментов разметки из имеющейся операционной системы. Любая утилита разметки умеет показывать существующие разделы без их изменения.

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

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

Если ваша машина содержит только один жёсткий диск и вы хотите заменить установленную операционную систему на Debian GNU/Linux, то также можете произвести разметку в процессе установки (Раздел 6. 3.2.1, «Разметка дисков») после загрузки системы установки. Однако, это сработает только если вы планируете загружать программу установки с лент, CD-ROM или с удалённой машины. Учтите: если вы загружаетесь с раздела жёсткого диска и затем разметите этот жёсткий диск во время установки системы, то это удалит загрузочные файлы, и будем надеяться, что установка пройдёт с первого раза. Для этого случая вы должны иметь альтернативное средство оживить машину, например, с оригинальных системных установочных лент или CD.

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

Если ни один из описанных вариантов не подошёл, то вам нужно разметить диск перед запуском установки, чтобы выделить место под разделы Debian. Если некоторые разделы должны принадлежать другим операционным системам, то вы должны создать эти разделы с помощью программ разметки из этих операционных систем. Мы не рекомендуем пытаться создавать разделы Debian GNU/Linux с помощью утилит других операционных систем. Пользуйтесь ими только для создания разделов операционных систем, которые вы захотели оставить.

Если вы хотите установить более одной операционной системы на одну машину, то вы должны установить все операционные системы перед установкой Linux. Windows и другие ОС могут уничтожить возможность запуска Linux или посоветовать вам переформатировать все неизвестные для них разделы.

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

Если сейчас у вас один диск с одним разделом (обычное дело для настольных компьютеров) и вы хотите запускать родную систему и Debian, то вам нужно:

  1. Сделать резервную копию всех файлов компьютера.

  2. Загрузить программу установки родной операционной системы с CD-ROM или лент.

  3. С помощью родных утилит разметки создать родной системный раздел(ы). Оставить или раздел-пустышку, или свободное место для Debian GNU/Linux.

  4. Установить родную операционную систему в её новый раздел.

  5. Загрузиться в родную операционную систему и проверить, что всё хорошо, и загрузить файлы программы установки Debian.

  6. Загрузить программу установки Debian, чтобы продолжить установку Debian.

Linux : Разметка жесткого диска

В этой статье вы узнаете, как спроектировать разметку диска для системы Linux. Научитесь:

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

Эта статья поможет вам подготовиться к задаче 102. 1 в теме 102 экзамена 101 начального уровня администрирования Linux Professional Institute (LPIC-1). Задача имеет вес 2.

Примечание:  Эта статья в основном посвящена планированию макета.

Предварительные требования

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

Обзор файловой системы

Файловая система Linux содержит файлов , расположенных на диске или другом блочном запоминающем устройстве  в каталогах . Как и во многих других системах, каталоги в системе Linux могут содержать другие каталоги, называемые подкаталогами . В отличие от такой системы, как Microsoft® Windows® с концепцией отдельных файловых систем на разных буквах дисков (A:, C: и т. д.), файловая система Linux представляет собой единое дерево с каталогом / в качестве корневого каталога .

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

Обычно ядро ​​запускает этот процесс монтирования, монтируя файловую систему на каком-либо разделе жесткого диска как /. Вы можете монтировать другие разделы жесткого диска как /boot, /tmp или /home. Вы можете смонтировать файловую систему на дискете как /mnt/floppy, а файловую систему на компакт-диске, например, как /media/cdrom1. Вы также можете монтировать файлы из других систем, используя сетевую файловую систему, такую ​​как NFS. Существуют и другие типы монтирования файлов, но это дает вам представление о процессе. В то время как процесс монтирования фактически монтирует файловая система  на каком-либо устройстве обычно просто говорят, что вы «монтируете устройство», что означает «монтируете файловую систему на устройстве».

Теперь предположим, что вы только что смонтировали корневую файловую систему (/) и хотите смонтировать компакт-диск /dev/sr0 в точке монтирования /media/cdrom. Точка монтирования должна существовать до того, как вы смонтируете CD-ROM поверх нее. Когда вы монтируете компакт-диск, файлы и подкаталоги на компакт-диске становятся файлами и подкаталогами внутри и ниже /media/cdrom. Любые файлы или подкаталоги, которые уже находились в /media/cdrom, больше не видны, хотя они все еще существуют на блочном устройстве, содержащем точку монтирования /media/cdrom. Если CD-ROM размонтирован, исходные файлы и подкаталоги снова становятся видимыми. Вы должны избежать этой проблемы, не помещая другие файлы в каталог, предназначенный для использования в качестве точки монтирования.

В таблице 1 показаны каталоги, требуемые в / по стандарту иерархии файловой системы (для получения более подробной информации о FHS.

Таблица 1. Каталоги FHS в /

9006 6 Точка монтирования для временного монтирования файловой системы

Каталог Описание 900 61
корзина Основные двоичные файлы команд
boot Статические файлы загрузчика
dev Файлы устройств
и т. д. Конфигурация системы для конкретного хоста
lib Основные общие библиотеки и модули ядра
носитель Точка монтирования для съемных носителей
mnt
opt Дополнительное приложение пакеты программного обеспечения
sbin Основные системные двоичные файлы
srv Данные об услугах, предоставляемых этой системой
tmp Временные файлы
usr Вторичная иерархия
var Переменные данные 900 67

Разделы

Первым диском SCSI обычно является /dev/sda. В старой системе Linux первым жестким диском IDE является /dev/hda. С появлением последовательно подключенных (SATA) IDE-дисков смешанная система PATA/SATA иногда использовала /dev/hda для первого диска PATA и /devsda для первого диска SATA. В более новых системах все диски IDE имеют имена /dev/sda, /dev/sdb и т. д. Изменение названия дисков IDE произошло в результате  hotplug  система, которая изначально поддерживала USB-накопители. Горячее подключение позволяет подключать новые устройства и сразу же их использовать, и теперь оно используется для всех устройств, независимо от того, встроены ли они в систему или подключены позже к работающей системе с использованием USB или Firewire (IEEE 1394) или, возможно, других типов подключения.

Традиционно жесткий диск форматируется в 512-байтовые секторов . Все сектора на пластине диска, которые можно прочитать, не двигая головку, составляют трек . Диски обычно имеют более одной пластины. Совокупность дорожек на различных дисках, которые можно прочитать, не двигая головой, называется цилиндром . Геометрия жесткого диска выражается в цилиндрах, дорожках (или головках) на цилиндр и секторах на дорожку. На момент написания этой статьи производители дисков начинают выпускать диски с секторами размером 4 КБ. Если файловая система по-прежнему предполагает 512-байтовые сектора, вы можете потерять производительность, если раздел не начинается с сектора, который находится на границе 4 КБ.

Ограничения на возможные размеры цилиндров, головок и секторов, используемые с операционными системами DOS на ПК, привели к тому, что BIOS преобразовывал значения геометрии, чтобы можно было поддерживать жесткие диски большего размера. В конце концов, даже эти методы оказались недостаточными. Более поздние разработки в технологии дисковых накопителей привели к адресации логических блоков (LBA) , поэтому измерения геометрии CHS менее важны, а сообщаемая геометрия на современном диске может иметь мало отношения или не иметь никакого отношения к реальной структуре физического сектора. Используемые сегодня диски большего размера вынудили расширение LBA, известное как LBA48, которое резервирует до 48 бит для номеров секторов.

Пространство на жестком диске разделено (или разделено) на  разделов . Разделы не могут перекрываться; пространство, не выделенное для раздела, называется  свободное пространство . Разделы имеют такие имена, как /dev/hda1, /dev/hda2, /dev/hda3, /dev/sda1 и так далее. Диски IDE ограничены 63 разделами в системах, которые не используют поддержку горячего подключения для дисков IDE. Диски SCSI, USB-накопители и диски IDE, поддерживаемые функцией «горячей замены», ограничены 15 разделами. Раздел часто выделяется как целое число цилиндров (исходя из возможно неточного понятия цилиндра).

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

Вы можете увидеть номинальную геометрию в системе Linux, используя parted или fdisk 9.0177  инструменты. Старые системы Linux также сообщали о геометрии в файловой системе /proc, в файле, таком как /proc/ide/hda/geometry, файле, который может отсутствовать в более новых системах. В листинге 1 показано, как использовать команду fdisk для отображения разделов и геометрии жесткого диска IDE с подключением SATA. Параметр -v для fdisk показывает версию. Вы должны быть пользователем root или иметь полномочия root через  sudo , как показано здесь, чтобы отображать таблицу разделов или управлять ею.

Листинг 1. Геометрия жесткого диска
 [email protected]:~$  fdisk -v 
fdisk (util-linux-ng 2.16)
[электронная почта защищена]:~$  sudo fdisk /dev/sdb 
[sudo] пароль для ian:
Количество цилиндров для этого диска установлено 30401.
В этом нет ничего плохого, но это больше, чем 1024,
и может при определенных настройках вызывать проблемы с:
1) программное обеспечение, которое запускается во время загрузки (например, старые версии LILO)
2) загрузка и создание разделов программного обеспечения из других ОС
   (например, FDISK для DOS, FDISK для OS/2)
Команда (м для помощи):  р 
Диск /dev/sdb: 250,1 ГБ, 250059350016 байт
255 головок, 63 сектора на дорожку, 30401 цилиндр
Единицы = цилиндры 16065 * 512 = 8225280 байт
Идентификатор диска: 0x000404d6
   Система идентификаторов блоков начала загрузки устройства
/dev/sdb1 1 25 200781 83 Linux
/dev/sdb2 26 12965 103940550 83 Linux
/dev/sdb3 12966 30401 140054670 83 Linux
 

Обратите внимание, что в листинге 1 fdisk выводит предупреждение о номинальном положении конца цилиндра 1024. Цилиндр 1024 важен в некоторых старых системах, где BIOS может загружать только разделы, полностью расположенные в пределах первых 1024 цилиндров диск. Чаще всего это происходит в BIOS, не поддерживающем LBA, или в некоторых старых менеджерах загрузки. Обычно это не проблема для современных машин, хотя вы должны знать, что может существовать предел.

Вы можете использовать fdisk для отображения единиц измерения в секторах, используя параметр -u , или вы можете использовать подкоманду u в интерактивном режиме для переключения между секторами и цилиндрами. Команда parted поддерживает несколько различных единиц измерения. В листинге 2 показано использование разных модулей в parted для того же диска, что и в листинге 1.0017
[sudo] пароль для ian:
GNU Часть 1.8.8.1.159-1e0e
Использование /dev/sdb
Добро пожаловать в GNU Parted! Введите «помощь», чтобы просмотреть список команд.
(разошлись) помоги тебе
unit UNIT установить единицу измерения по умолчанию на UNIT
UNIT является одним из: s, B, kB, MB, GB, TB, compact, cyl, chs, %, kiB, MiB,
ГиБ, ТиБ
(разделенный) р
Модель: ATA HDT722525DLA380 (SCSI)
Диск /dev/sdb: 250 ГБ
Размер сектора (логический/физический): 512Б/512Б
Таблица разделов: msdos
Номер Начало Конец Размер Тип Файловая система Флаги
1 32,3 КБ 206 МБ 206 МБ основной ext3
2 206 МБ 107 ГБ 106 ГБ основной доб. 4
3 107ГБ 250ГБ 143ГБ основной доб.3
(расстались) с
(разделенный) р
Модель: ATA HDT722525DLA380 (SCSI)
Диск /dev/sdb: 488397168s
Размер сектора (логический/физический): 512Б/512Б
Таблица разделов: msdos
Номер Начало Конец Размер Тип Файловая система Флаги
1 63s 401624s 401562s основной доб.3
2 401625s 208282724s 207881100s основной доб.4
3 208282725с 488392064s 280109340s основной доб.3
(разъединенный) у чс
(разделенный) р
Модель: ATA HDT722525DLA380 (SCSI)
Диск /dev/sdb: 30401,80,62
Размер сектора (логический/физический): 512Б/512Б
БИОС цилиндр,головка,геометрия секторов: 30401,255,63. Каждый цилиндр имеет размер 8225 КБ.
Таблица разделов: msdos
Номер Начало Конец Тип Файловая система Флаги
1 0,1,0 24,254,62 первичный доб3
2 25,0,0 12964,254,62 первичный доб.4
3 12965,0,0 30400,254,62 первичный доб3
(расстались)

Обратите внимание, что очевидное несоответствие между стартовым цилиндром и конечными цилиндрами, показанными на выходе и FDISK , обусловлен тем фактом, что раздел начинает считать цилиндры на 0, в то время как FDISK начинает их на 1 -й списке 3. что fdisk имеет тот же начальный и конечный сектор, что и , разделенный на .

Листинг 3. Проверка номеров начального и конечного секторов
 [электронная почта защищена]:~$ sudo fdisk -ul /dev/sdb
Диск /dev/sdb: 250,1 ГБ, 250059350016 байт
255 головок, 63 сектора на дорожку, 30401 цилиндр, всего 488397168 секторов
Единицы = сектора 1 * 512 = 512 байт
Идентификатор диска: 0x000404d6
   Система идентификаторов блоков начала загрузки устройства
/dev/sdb1 63 401624 200781 83 Linux
/dev/sdb2 401625 208282724 103940550 83 Linux
/dev/sdb3 208282725 488392064 140054670 83 Linux
[электронная почта защищена]:~$ echo $(( 208282725 / 255 / 63 ))
12965 
Раздел

На дисках IDE существует три типа разделов: первичный , логический и расширенный . Таблица разделов находится в главной загрузочной записи (MBR) диска. MBR — это первый сектор на диске, поэтому таблица разделов — не очень большая его часть. Это ограничивает количество первичных разделов на диске до четырех. Когда требуется более четырех разделов, как это часто бывает, один из основных разделов должен вместо этого стать расширенным разделом.

Расширенный раздел  – это просто контейнер для одного или, как правило, нескольких логических разделов. Эта схема разбиения изначально использовалась в MS DOS и PC DOS и позволяет использовать диски ПК в системах DOS, Windows или Linux. Диск может содержать только один расширенный раздел. Данные хранятся в логических разделах в расширенном разделе. Вы не можете хранить данные в расширенном разделе без предварительного создания в нем логического раздела.

Linux нумерует первичные или расширенные разделы от 1 до 4, поэтому dev/sda может иметь четыре первичных раздела: /dev/sda1, /dev/sda2, /dev/sda3 и /dev/sda4. Или он может иметь один основной раздел /dev/sda1 и дополнительный раздел /dev/sda2. Если определены логические разделы, они нумеруются, начиная с 5, поэтому первым логическим разделом на /dev/sda будет /dev/sda5, даже если на диске нет основных разделов и есть один расширенный раздел (/dev/sda1). . Поэтому, если вы хотите иметь более четырех разделов на диске IDE, вы потеряете один номер раздела в пользу расширенного раздела. Хотя теоретическое максимальное количество разделов на диске IDE теперь ограничено 15 для ядер с возможностью горячей замены, вы можете или не сможете создать несколько последних. Убедитесь, что все работает, если вы планируете использовать более 12 разделов на диске.

Диск, использованный в предыдущих примерах, состоит из трех основных разделов, отформатированных для использования в Linux. Два используют файловую систему ext3, а другой использует ext4. В листинге 4 показан вывод команды parted p для внутреннего диска с основным, дополнительным и логическим разделами в системе Ubuntu 9.10 и для USB-накопителя, подключенного к системе Fedora 12. Обратите внимание на разные типы файловых систем. Также обратите внимание, что вы можете указать одну или несколько команд parted в командной строке, чтобы избежать интерактивного режима.

Листинг 4. Отображение таблицы разделов с parted
[электронная почта защищена]:~$  sudo parted /dev/sda s p 
[sudo] пароль для ian:
Модель: ATA WDC WD6401AALS-0 (scsi)
Диск /dev/sda: 1250263728s
Размер сектора (логический/физический): 512Б/512Б
Таблица разделов: msdos
Номер Начало Конец Размер Тип Файловая система Флаги
 1 63s 2040254s 2040192s основной доб.3
 2 2040255s 22523129s 20482875s основной linux-swap(v1)
 4 22523130с 1250258624с 122773549расширенная загрузка 5s
 5 22523193s 167397299s 144874107s логический ext3
 6 167397363s 310761359s 143363997s логический ext3
 7 310761423s 455442749s 144681327s логический ext3
 8 455442813s 600092009s 144649197s логический ext3
[[электронная почта защищена] ~]#  parted /dev/sdc p 
Модель: WD My Book (scsi)
Диск /dev/sdc: 750 ГБ
Размер сектора (логический/физический): 512Б/512Б
Таблица разделов: msdos
Номер Начало Конец Размер Тип Файловая система Флаги
 1 32,3 КБ 135 ГБ 135 ГБ основной жир 32 фунта
 2 135 ГБ 750 ГБ 616 ГБ расширенный
 5 135 ГБ 292 ГБ 157 ГБ логический ext3
 6 292 ГБ 479 ГБ 187 ГБ лог.  ext3
 7 479 ГБ 555 ГБ 76,5 ГБ логический ext3
 8 555 ГБ 750 ГБ 195 ГБ логический ext3 
Выделение дискового пространства

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

  • Загрузочные файлы. Некоторые файлы должны быть доступны для BIOS или загрузчика во время загрузки.
  • Несколько жестких дисков. Обычно каждый жесткий диск делится на один или несколько разделов, каждый из которых имеет файловую систему, которая должна быть смонтирована где-то в дереве файловой системы.
  • Общие файлы. Несколько системных образов могут совместно использовать статические файлы, такие как исполняемые файлы программ. Динамические файлы, такие как домашние каталоги пользователей или файлы почтовой очереди, также могут быть общими, так что пользователи могут входить в систему на любом из нескольких компьютеров в сети и по-прежнему использовать один и тот же домашний каталог и почтовую систему.
  • Возможное переполнение. Если файловая система может заполниться на 100 % своего объема, обычно рекомендуется отделить ее от файлов, необходимых для работы системы.
  • Квоты. Квоты ограничивают объем пространства, которое пользователи или группы могут занимать в файловой системе.
  • Монтаж только для чтения. До появления журналируемых файловых систем восстановление файловой системы после системного сбоя часто занимало много времени. Поэтому файловые системы, которые редко изменяются (например, каталог исполняемых программ), можно было монтировать только для чтения, чтобы не тратить время на их проверку после системного сбоя.

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

Выбор

Предположим, вы настраиваете систему, в которой есть хотя бы один жесткий диск, и вы хотите загрузиться с жесткого диска. (В этой статье не рассматривается настройка бездисковой рабочей станции, которая загружается по локальной сети, а также рекомендации по использованию Live CD или DVD системы Linux.) Хотя позже можно будет изменить размеры разделов, это обычно требует определенных усилий, поэтому выбор впереди важен. Давайте начнем.

В первую очередь нужно убедиться, что ваша система будет загружаемой. Некоторые старые системы имеют ограничение, согласно которому BIOS может загружаться только с раздела, полностью расположенного в пределах первых 1024 цилиндров диска. Если у вас есть такая система, вы должны создать раздел, который в конечном итоге будет смонтирован как /boot и будет содержать ключевые файлы, необходимые для загрузки системы. Как только они будут загружены, система Linux возьмет на себя управление диском, и ограничение в 1024 цилиндра не повлияет на дальнейшую работу системы. Если вам нужно создать раздел для /boot, обычно достаточно примерно 100 мегабайт (МБ).

Следующим вашим соображением, скорее всего, будет объем требуемого пространства подкачки. При текущих ценах на память пространство подкачки представляет собой очень медленную вторичную память. Когда-то общепринятым правилом было создание пространства подкачки, эквивалентного объему реальной оперативной памяти. Сегодня вы можете захотеть настроить рабочую станцию ​​в один или два раза больше реальной оперативной памяти, чтобы вы могли использовать несколько больших программ без нехватки оперативной памяти. Даже если вы медленно переключаетесь между ними, вы, вероятно, работаете только с одним или двумя в любой момент времени.

Большое пространство подкачки также рекомендуется для системы с очень маленьким объемом памяти. Для сервера вы можете захотеть использовать пространство подкачки примерно в половину вашей оперативной памяти, если только вы не запускаете приложение, которое рекомендует другое значение. В любом случае вам следует отслеживать использование памяти сервера, чтобы при необходимости можно было добавить реальную оперативную память или распределить рабочую нагрузку между дополнительными серверами. Слишком много свопинга редко бывает полезным на сервере. Можно использовать файл подкачки, но выделенный раздел работает лучше.

Теперь мы подошли к точке расхождения. Использование персональной рабочей станции гораздо менее предсказуемо, чем использование сервера. Я предпочитаю, особенно для новых пользователей, размещать большинство стандартных каталогов (/usr, /opt, /var и т. д.) в одном большом разделе. Это особенно полезно для новых пользователей, которые могут не иметь четкого представления о том, что будет установлено в будущем. Для рабочей станции с графическим рабочим столом и разумным количеством средств разработки, скорее всего, потребуется 5 или более гигабайт дискового пространства плюс место для нужд пользователя. Некоторым более крупным инструментам разработки может потребоваться несколько гигабайт каждый. Обычно я выделяю от 40 до 60 ГБ на операционную систему, а остальную часть диска оставляю свободной для загрузки других дистрибутивов.

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

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

Независимо от того, настраиваете ли вы рабочую станцию ​​или сервер, у вас будут определенные файлы, уникальные для каждой системы, расположенные на локальном диске. Как правило, это /etc для системных параметров, /boot для файлов, необходимых во время загрузки, /sbin для файлов, необходимых для загрузки или восстановления системы, /root для домашнего каталога пользователя root, /var/lock для файлов блокировки, /var/run для информации о текущей системе и /var/log для файлов журнала для этой системы. Другие файловые системы, такие как /home для домашних каталогов пользователей, /usr, /opt, /var/mail или /var/spool/news, могут быть на отдельных разделах или подключены к сети в соответствии с вашими потребностями и предпочтениями при установке.

Схемы разметки диска Linux

Схемы разметки диска Linux и макет

Схема вашей схемы разбиения на разделы в Linux в значительной степени зависит от того, как вы планируете использовать свою систему. Во-первых, нет правильного решения для вашего макета, однако есть несколько простых правил, которые вы можете применить и которые принесут пользу. По умолчанию многие дистрибутивы Linux создают макет по умолчанию, обычно создавая разделы для «/», «/ boot» и «swap». Хотя это, вероятно, будет работать достаточно хорошо, это не идеальная компоновка для использования. Большинство дистрибутивов во время установки предоставят вам несколько вариантов расположения вашего диска. Многие из них также предлагают LVM (менеджер логических томов) в качестве метода управления дисковым пространством.

На что обратить внимание

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

Во-первых, какой дистрибутив вы планируете установить? Есть ли у дистрибутива рекомендации по размеру на домашней странице?

Какова основная функция установки вашего сервера? (веб-сервер, файловый сервер, сервер баз данных, медиасервер, сервер печати или семейный компьютер)

Сколько людей будет использовать эту систему? (однопользовательский, многопользовательский, малый офис, колл-центр)

Какова ваша стратегия резервного копирования? (Используете ли вы настраиваемый сценарий rsync, резервное копирование с локального на удаленный сервер, полный дамп данных или инкрементное, с автоматической синхронизацией в облаке)

Какую частоту резервных копий вы будете делать? (ежедневно, еженедельно, ежемесячно)

Насколько важны ваши данные?

Каково ожидаемое использование диска?

Какую стратегию вы будете использовать, если вам нужно больше места?

Простая схема диска с отдельной домашней областью

Популярным вариантом при создании схемы диска является размещение области «/home» на отдельном разделе. Преимущество этого в том, что вы можете позже обновить или перейти на другой дистрибутив Linux, не удаляя существующую область «/home». Отделяя файловые системы от области «/» вашей системы, вы можете продолжать работать, если ваша домашняя область полностью заполнена. Еще одним преимуществом наличия отдельной домашней области является то, что, если вам не повезло столкнуться с поврежденной системой «/», у вашей домашней области гораздо больше шансов не быть поврежденной, и ее можно будет легко восстановить или использовать после того, как основная система была повреждена. отремонтировано. Ниже приведен пример установки на один диск с отдельной областью «/home»:

 
$ дф-ч
Используемый размер файловой системы Доступно Использование % Установлено на
/dev/mapper/crunchbang-root
                      2,4 г 2,0 г 329 млн 86% /
tmpfs 506M 0 506M 0% /lib/init/rw
udev 501M 168K 501M 1% /dev
tmpfs 506M 4.0K 506M 1% /dev/shm
/dev/sda1 228M 15M 202M 7% /загрузка
/dev/mapper/crunchbang-home
                      5. 0G 163M 4.6G 4% /домашний
$ судо лвс
  LV VG Attr LSize Origin Snap% Move Log Copy% Convert
  домашний хруст -wi-ao 5.06g
  корень crunchbang -wi-ao 2,40 г
  swap_1 crunchbang -wi-ao 300.00м
  

Выше приведена очень маленькая установка с одним диском и отдельными разделами "/", "/boot" и "/home". Мы также использовали LVM для раздела «/», а также для области «/home». Если нам понадобится больше места в будущем, мы можем выделить больше дисков для соответствующих групп томов. (См. Объяснение LVM).

Стандартная схема разбиения

Стандартный подход, часто используемый в системе Linux, заключается в использовании схемы разделов, подобной следующей:

Справочная Размер
/ 25 ГБ
/дом 50 ГБ
/вар 4 ГБ
/tmp 2 ГБ
замена 2 физических ОЗУ

Вышеприведенное следует использовать только в качестве примера, и размеры будут различаться в зависимости от того, насколько велик ваш исходный жесткий диск. В приведенном выше примере корневая область «/» содержит основную операционную систему. «/home» — это место, где будут храниться все ваши загрузки и документы для всех пользователей. Это эквивалент области Windows «Документы и настройки». Вы можете увеличить эту область, если несколько пользователей будут использовать эту систему. «/var» — это область, используемая большинством приложений для хранения файлов журналов. Всегда лучше держать эту область на отдельном разделе. Это мера предосторожности. Если «/var» разделяет то же пространство раздела, что и «/», и программа столкнулась с серьезной проблемой, возможно, что «/var» может быстро заполниться. В конечном итоге это может привести к заполнению «/». «/tmp» — это временная область, которую могут использовать все пользователи системы. Эта область не должна быть слишком большой, поскольку любые данные, хранящиеся здесь, обычно удаляются при загрузке. Вы также должны иметь в виду, что более крупные системы Linux могут загружаться только один раз в месяц. Это следует учитывать.

Большинство больших систем будут использовать LVM (менеджер логических томов) для управления дисковым пространством. Использование LVM дает системному администратору возможность быстро и эффективно увеличивать или уменьшать пространство. Этот метод часто используется на предприятиях в сочетании с конфигурацией хранилища SAN. Здесь диск можно быстро развернуть на серверах и при необходимости добавить с помощью LVM.
Примеры LVM см. в нашем руководстве по LVM.

обмен

Во время установки дистрибутива Linux вы назначите или установка назначит так называемый «Раздел подкачки». Это область дискового пространства, которая используется для хранения программ, которые не нужно хранить в физической памяти. Если системе требуется больше физической памяти, чем доступно, программы выгружаются в это пространство подкачки. Это также называется «Виртуальная память». Как правило, раздел пространства подкачки должен примерно в два раза превышать объем физической памяти.