sda sdb что означает
Администрирование систем Linux. Разделы жестких дисков
Оригинал: Disk partitions
Автор: Paul Cobbaut
Дата публикации: 12 марта 2015 г.
Перевод: A. Панин
Дата перевода: 29 марта 2015 г.
Глава 5. Разделы жестких дисков
Прочитав данную главу, вы будете подготовлены к чтению следующей главы, в которой будет описываться процесс создания файловых систем в подготовленных разделах.
5.1. Информация о разделах жестких дисков
5.1.1. Первичные, расширенные и логические разделы
Для корректного функционирования дистрибутива Linux вам потребуется создать один или несколько разделов (partitions) на жестком диске. Далее будут приведены подробные пояснения относительно создания и использования разделов жестких дисков.
Геометрия раздела (geometry), а также его размер обычно описываются с помощью номеров начального и конечного цилиндра (а иногда начального и конечного сектора). Разделы могут быть первичными (primary, максимум четыре), расширенными (extended, максимум один) или логическими (logical, размещаются внутри расширенного раздела). Каждый раздел имеет поле типа, которое содержит соответствующий код. Данный код позволяет идентифицировать операционную систему компьютера или файловую систему раздела.
Таблица 5.1. Первичные, расширенные и логические разделы
Тип раздела | Порядковый номер |
---|---|
Первичный (максимум 4) | 1-4 |
Расширенный (максимум 1) | 1-4 |
Логический | 5- |
5.1.2. Имена файлов устройств, соответствующих разделам
Таблица 5.2. Имена файлов устройств, соответствующих разделам
Раздел | Устройство |
---|---|
/dev/hda1 | Первый первичный раздел на устройстве, представленном файлом /dev/hda |
/dev/hda2 | Второй первичный раздел или расширенный раздел на устройстве, представленном файлом /dev/hda |
/dev/sda5 | Первый логический раздел на устройстве, представленном файлом /dev/sda |
/dev/sdb6 | Второй логический раздел на устройстве, представленном файлом /dev/sdb |
На рисунке ниже представлены схематичные изображения двух жестких дисков (с вращающимися шпинделями) с разделами. Обратите внимание на то, что расширенный раздел выступает в роли контейнера, содержащего логические разделы.
5.2. Обнаружение разделов жестких дисков
5.2.2. Файл /proc/partitions
Дополнительный номер устройства является уникальным идентификатором экземпляра устройства данного типа. Файл devices.txt в дереве исходного кода ядра Linux содержит полный список основных и дополнительных номеров устройств.
5.2.3. Parted и другие утилиты
Ниже приведен пример использования утилиты parted при работе с дистрибутивом CentOS.
5.3. Создание разделов на новых дисках
5.3.1. Обнаружение жесткого диска
5.3.2. Открытие дискового устройства с помощью утилиты fdisk
После этого мы можем приступить к созданию раздела на жестком диске, представленном файлом устройства /dev/sdb, с помощью утилиты fdisk. Для начала мы должны передать путь к файлу устройства /devsdb в качестве параметра утилиты fdisk. Следует проявить крайнюю осторожность и убедиться еще раз в том, что вы создаете раздел именно на новом диске!!
5.3.3. Пустая таблица разделов
Работая с инструментом fdisk, вы можете выполнить команду p для того, чтобы ознакомиться с текущей таблицей разделов диска.
5.3.4. Создание нового раздела
На данный момент на диске не существует разделов, поэтому мы должны выполнить команду n для создания нового раздела. Мы будем вводить символ p для создания первичного раздела и число 1 в качестве номера раздела, а также число 1 в качестве номера начального цилиндра и число 14 в качестве номера конечного цилиндра.
Теперь мы снова можем выполнить команду p для проверки внесенных нами изменений, причем эти изменения еще не записаны на диск, поэтому мы все еще можем отменить эту операцию! Так как внесенные изменения кажутся нам корректными, мы можем выполнить команду w для записи изменений на диск с последующим завершением работы утилиты fdisk.
5.3.5. Вывод информации о новом разделе
5.4. О таблице разделов
5.4.1. Основная загрузочная запись
Информация из таблицы разделов (об основных и расширенных разделах) записывается в основную загрузочную запись (Master Boot Record или MBR). Вы можете использовать утилиту dd для копирования данных из основной загрузочной записи в файл.
В данном примере осуществляется копирование основной загрузочной записи с первого жесткого диска с интерфейсом SCSI.
Этот же инструмент также может использоваться для удаления всей информации о разделах на диске. В данном примере область основной загрузочной записи заполняется нулевыми байтами.
Или удаления всей информации из раздела на жестком диске или со всего диска.
5.4.2. Утилита partprobe
5.4.3. Логические разделы
В данном примере показана методика создания резервной копии таблицы всех разделов жесткого диска, включая логические, с записью данных в файл.
А в данном примере осуществляется копирование основной загрузочной записи и информации обо всех логических разделах с устройства, представленного файлом /dev/sda, на устройство, представленное файлом /dev/sdb.
5.5. Практическое задание: разделы жестких дисков
4. Создайте основной раздел размером в 200 МБ на жестком диске малого объема.
5. Создайте основной раздел размером в 400 МБ и два логических раздела размером в 300 МБ каждый на жестком диске большого объема.
9. Создайте резервную копию таблицы разделов, содержащей информацию о вашем первичном разделе размером в 400 МБ и о логических разделах размером в 300 МБ каждый. Убедитесь в том, что информация о логических разделах добавлена в файл резервной копии таблицы разделов.
10. (дополнительное задание). Удалите информацию обо всех ваших разделах с помощью утилиты fdisk. После этого восстановите ее из файлов резервных копий.
5.6. Корректная процедура выполнения практического задания: разделы жестких дисков
3. Сравните вывод утилиты fdisk с выводом утилиты df.
Информация о некоторых разделах жестких дисков будет присутствовать в выводах обоих утилит (возможно, одним из таких разделов будет раздел, представленный файлом устройства /dev/sda1 или /dev/hda1).
4. Создайте основной раздел размером в 200 МБ на жестком диске малого объема.
Выберите один из добавленных ранее дисков (в данном примере используется диск, представленный файлом устройства /dev/sdc).
5. Создайте основной раздел размером в 400 МБ и два логических раздела размером в 300 МБ каждый на жестком диске большого объема.
Выберите один из добавленных ранее дисков (в данном примере используется диск, представленный файлом устройства /dev/sdb).
10 (дополнительное задание). Удалите информацию обо всех ваших разделах с помощью утилиты fdisk. После этого восстановите ее из файлов резервных копий.
Посмотреть что на /dev/sda не?
ну вот твой dvd-rom и есть sda, а тебе собственно не плевать ли как какой диск называется во время установки?
А как же я посмотрю, если Центос еще не установился, я только дошел до разбивки диска?
выходи в консоль (C-A-F*), там fdisk.
либо alt-f2.. если в текстмоде, вроде 6-я еще умела.
Вот это сильно маловероятно. Во всяком случае на моем опыте (абсолютно разное железо от серверов, до собранных на помойке) usb-ки (без разницы кто, флэшка, картридер, хард ) апосля саты идут. И это по простой причине, usb погружается позже, поэтому для загрузки с usb харда приходиться rootdelay прописывать.
В конце концов мне это надоело и я решил переустановить систему так, как мне надо (а не как ей хочется).
Но только как? Как заставить 1-й ЖД быть как sda?
sda ставится тем, кто первый инициализирован биосом для загрузки, если есть возможность поставить нужный диск первым в бут-меню, но загрузиться со второго — таки будет sda.
Гм, интересная идея! 🙂 Спасибо, сейчас попробую, на что способен этот BIOS
С тех пор я 2 (!) года мучился с этой неразберихой
Зачем ты два года работал с именами дисков? Прописал бы в fstab-е UUID да и всё.
В конце концов мне это надоело и я решил переустановить систему так, как мне надо (а не как ей хочется)
А после какой-нибудь перезагрузки система загрузится как ей хочется муахаха. Юзай UUID-ы.
Может, я и ретроград, но UUID мне сразу не понравились с момента их появления из-за того, что они решают за меня.
Я предпочитаю старую систему, при которой сам решаю и настраиваю диски как мне нужно.
Я предпочитаю старую систему, при которой сам решаю и настраиваю диски как мне нужно.
А, ну тогда мучайся, да.
Хотя.. sda? dev? Это же не ты их так назвал. Чем оно лучше UUID-ов?
Через label можно, как вариант.
О, как! Век живи век учись, а чего за железка то хоть? И кстати как предположение, bios эмуляция ide для usb cdrom.
Хотя.. sda? dev? Это же не ты их так назвал. Чем оно лучше UUID-ов?
У меня есть место (точнее так места) где использование UUID стало бы неудобным, нет не «невозможным» но пришлось бы допиливать софт на получение UUID и прописывание его в fstab а так он просто копируется. Это не сложно, но зачем менять что-то в системе которая 14 лет успешно работает.
/dev/. удобнее как минимум для случая когда железка рухнула и на новый хард разворачиваешь полный бэкап из tar.
Для случая UUID: надо еще править fstab
Для случая Label: не оставишь старый хард подключенным (надо не только метку другую задать будет, а также поправить fstab). Вообще Label это жуткое зло, подключишь другой хард а он или с него загрузится или смонтирует какой-нибудь раздел не с того харда.
Все операции не сложные, но когда подобное поручаешь эникею, любые лишнии телодвижения могут привести к доп. ошибке и тем самым увеличить время разворота. Недавно вот у меня было, чувак при инстале ввел рутовый пасс не правильно, как так я хз, но после ребута он не смог зайти. Опять потеря времени, перезагрузка, смена пароля.
Все это мелочи, но.
А можешь пример софта привести?
Нет, это специализированный. По простому поясню, в случае выхода из строя железки эникеи берут новую железку, тупо грузяться с (назовем его «шаблонным») диска с которого копируется (обычный cp) система на эту новую железку, задают минимум настроек (настройка ip) и все, профит.
Железки живут в таких условиях и представляют из себя такую помойку, что летят они частенько.
но зачем менять что-то в системе которая 14 лет успешно работает
Затем, что в текущем виде система уже неудобная и зависит от того, какое устройство раньше определилось.
Все эти вещи типа UUID добавили не просто так, а потому что стало неудобно работать по старому принципу, и напрашивалось что-то новое, позволяющее абстрагироваться от физического расположения носителя.
В не внимательны. Я написал.
в системе которая 14 лет успешно работает
Что-то еще пояснять нужно? Она просто работает и все всех устраивает, проблем 0.
но UUID мне сразу не понравились с момента их появления из-за того, что они решают за меня
UUID ничего не решает за тебя, это просто уникальный генерируемый идентификатор, который добавляется в предназначенное для этого поле в таблице разделов или непосредственно в ФС.
А ты, видимо, не разобравшись, сделал выводы.
Если у вас принципиально исключены ситуации с заменой накопителей или вставкой дополнительных интерфейсов SATA/SCSI в PCI/PCI-E, из-за чего может поехать вся нумерация /dev/sdX, то всё ок.
Она просто работала на IDE дисках, когда Master/Slave Primary/Secondary однозначно отображалось в hd.
С SATA(+USB и, я так понимаю, еще с SCSI) все несколько сложнее.
No. Все так же просто. Ну ладно вру, чуть-чуть модифицировал ( уже не помню сколько лет назад) как раз для usb.
Да именно так, т.е. «один» железка «один» хард.
Это: » вставкой дополнительных интерфейсов SATA в PCI/PCI-E» бывает, из-за умершего контроллера, но роли не играет.
Пропустил.
Если у вас принципиально исключены ситуации с заменой накопителей
Это как раз происходит регулярно. Я написал железо, ооочень разнообразное, вылет хардов чаще всего происходит.
В конкретно твоем случае или вообще?
Я помню бывали какие то заморочки с USB загрузочной флешкой, винтом и то что linux и grub их в разном порядке видели или что то такое.
тебе это вообще зачем?
В конкретно твоем случае или вообще?
Господа, вы явно увлеклись дискуссией на околокосмические темы и пропустили мой вопль! :))
А вы пропустили мой пост, на тему изучения меню bios 🙂
«И кстати как предположение, bios эмуляция ide для usb cdrom.»
Это читал, но совсем не понял мысль 🙁
Можно изложить доступнее?
Заходим в биос, ищем все что относиться к usb, читаем, пробуем менять. А конкретно к тому что я написал, была такая тема, мать эмулировала usb cdrom как ide. Вот как раз в этом случае он и окажется перед sata хардами.
Что я только не менял, уже не осталось ничего.
И если в этой материнке такая же эмуляция USB привода, то ничего не остается, как использовать старый ржавый SATA-DVD-привод?
Так если он у вас есть, зачем нам мозг мучаете? 🙂
btw Вы так и не ответили «а чего за железка то хоть? ». Это не к решению вашего вопроса, просто интересно.
Ну так сравните, что удобнее
— здоровенный тяжелый и медленный оптический привод, для которого еще надо каждый раз записывать болванку с дистрибутивом, или
— компактный элегантный ZM-VE300 с быстрым ЖД на 500 ГБ, эмулирующий DVD, на который закатал все свои дистрибутивы? :))
Вместо rootdelay лучше rootwait.
«Твоюж мать» (с) С этого начинать надо было.
Не мучай мозг себе и народу. Есть два варианта.
1. Устанавливаешь как есть на sdb, после установки правишь загрузчик и fstab, радуешься.
2. «использовать старый ржавый SATA-DVD-привод» и так же радоваться.
2.1 Если есть старый/новый ржавый/не_ржавый usb dvd так же подойдет.
«Твоюж мать» (с) С этого начинать надо было.
1. Устанавливаешь как есть на sdb, после установки правишь загрузчик и fstab, радуешься.
Т.е. материнка не причем, виновато это чересчур продвинутая «мечта», в которой надо отключить эмуляцию виртуального HDD.
Так что пошел разбираться с «мечтой».
У меня ZM-VE200. Так вот, в нём три режима: HDD, DVD/CD, HDD+DVD/CD. Переключаются рычажком сбоку при включении (смотри мануал).
Ты прав! После того, как я отключил этот виртуальный HDD, BIOS материнки стал видеть только виртуальный DVD.
Ну и далее установочный ЖД представился как sda, а еще далее все пошло как по маслу 😉
В-общем, дело было не в бобине. :)))
Я многое слышал от людей, но такое.
Да он мне никак, я его не ел. Но вот топик надо начинать с этих слов » ZM-VE300 с быстрым ЖД на 500 ГБ, эмулирующий DVD» а не «USB-DVD-ROM на единственный жесткий диск.» Тогда бы и простыни левых предположений не было.
Надеюсь ошибка понятна?
Я и сам еще не знал тогда, что это безобидное уточнение повлечет за собой такие разрушительные последствия 🙂
Сорри.
Немного обо всем и все о немногом, или практический опыт системного администратора.
Пн | Вт | Ср | Чт | Пт | Сб | Вс |
---|---|---|---|---|---|---|
« Окт | Дек » | |||||
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 |
В Windows системах есть такое понятие как активный раздел жесткого диска. Это раздел который содержит загрузчик Windows, и если вы установите Windows в раздел который не отмечен как активный (не установлен специальный флаг в таблице разделов), то операционная система не сможет загрузиться. В Linux этот флаг не имеет никакого значения и система будет загружаться даже если диск с загрузчиком не отмечен как активный.
Мы уже знаем, что жесткий диск и его разделы представлены в системе в виде файлов-устройств. Диски с интерфесом IDE обозначаются как hda, hdb, hdc или hdd. Если диск подключен к первому IDE разъему как master, то он будет определен как hda, если как slave, то hdb и т.д. Диски с интерфесом SCSI или SATA обозначаются как sda, sdb, sdc и т.д. Диски SATA обозначаются немного по другому чем IDE. Имя SATA диска не зависит от того к какому разъему SATA вы подключили диск. Например у вас есть шесть разъемов SATA (пронумеруем их от 0 до 5). Независимо от того к какому разъему подключить диск он будет называться sda. Если у вас в системе два и более диска SATA, то диск который подключен к разъему с наименьшим номером будет обозначен как sda, и далее по порядку (sdb, sdc и т.д.). Нужно учесть следующее. Если у вас единственный диск SATA был всегда подключен, например, ко второму разъему (и назывался sda), а затем вы подключили еще один диск к первому разъему, то теперь уже новый диск будет называться sda, а ваш старый диск будет называться sdb. Именно по этой причине, рекомендуется записывать разделы жесткого диска в файле /etc/fstab через их UUID.
Как же посмотреть какие у есть диски в системе? Есть несколько вариантов. Например воспользоваться информацией которую можно получить выполним команду dmesg. Команда dmesg выводит все сообщения ядра об аппаратных устройствах системы и об аппаратных изменениях в системе (событиях). Такие сообщения ядро начинает формировать с начала загрузки системы во время инициализации устройств. Если сообщений много и они не помещаются все на экран, то выполните команду dmesg | less, чтобы направить всю информацию в просмотрщик less. Ниже фрагмент вывода описывающий жесткий диск:
[ 1.637632] ata2.00: ATA-7: WDC WD2500KS-00MJB0, 02.01C03, max UDMA/133
[ 1.637635] ata2.00: 488397168 sectors, multi 16: LBA48
[ 1.638258] ata2.00: configured for UDMA/133
[ 1.652114] scsi 1:0:0:0: Direct-Access ATA WDC WD2500KS-00M 02.0 PQ: 0 ANSI: 5
[ 1.652228] sd 1:0:0:0: Attached scsi generic sg0 type 0
[ 1.652266] sd 1:0:0:0: [sda] 488397168 512-byte logical blocks: (250 GB/232 GiB)
[ 1.652306] sd 1:0:0:0: [sda] Write Protect is off
[ 1.652309] sd 1:0:0:0: [sda] Mode Sense: 00 3a 00 00
[ 1.652331] sd 1:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn’t support DPO or FUA
[ 1.652449] sda: sda1 sda2 sda3 sda4
Диск /dev/sda: 250.1 ГБ, 250059350016 байт
255 heads, 63 sectors/track, 30401 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Disk identifier: 0xd4b146b8
Устр-во Загр Начало Конец Блоки Id Система
/dev/sda1 * 1 2304 18506848+ 7 HPFS/NTFS
/dev/sda2 2305 2472 1349460 e W95 FAT16 (LBA)
/dev/sda3 2473 10263 62581207+ 7 HPFS/NTFS
/dev/sda4 10264 30401 161758485 f W95 расшир. (LBA)
/dev/sda5 10264 12826 20587266 83 Linux
/dev/sda6 12827 12947 971901 82 Linux своп / Solaris
/dev/sda7 12948 18184 42066171 7 HPFS/NTFS
/dev/sda8 18185 27967 78581916 7 HPFS/NTFS
/dev/sda9 27968 30401 19551073+ 7 HPFS/NTFS
Диск /dev/sdb: 40.0 ГБ, 40020664320 байт
255 heads, 63 sectors/track, 4865 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Disk identifier: 0xb292b292
Устр-во Загр Начало Конец Блоки Id Система
/dev/sdb1 1 4660 37431418+ 83 Linux
/dev/sdb2 4661 4865 1646662+ 5 Расширенный
/dev/sdb5 4661 4850 1526143+ 82 Linux своп / Solaris
/dev/sdb6 4851 4865 120456 83 Linux
Основы Linux от основателя Gentoo. Часть 4 (1/4): Файловые системы, разделы и блочные устройства
Навигация по основам Linux от основателя Gentoo:
Часть I: 1, 2, 3, 4
Часть II: 1, 2, 3, 4, 5
Часть III: 1, 2, 3, 4
Часть IV
Предисловие
Об этом руководстве
Добро пожаловать в «Системное администрирование», последнюю из четырех частей руководства, предназначенного для подготовки к экзамену “101 Linux Professional Institute’s”. В этой части, вы познакомитесь с такими навыками администрирования Linux, как файловые системы, процесс загрузки, уровни запуска, файловые квоты, а также системные журналы (логи).
Это руководство является особенно полезным для тех, кто хочет впервые попробовать себя в качестве системного администратора, так как тут описано много основных вопросов, которые должны знать системные администраторы. Если вы новичок в Linux, мы рекомендуем вам начать изучение с части 1. Для некоторых, большая часть этого материала будет новой, но и более опытные пользователи Linux могут найти в этом руководстве новое для себя, что может быть отличным способом обновления своих знаний по системному администрированию Linux и подготовке к следующему уровню сертификации LPI.
К концу этой серии учебных пособий (всего их восемь для экзаменов LPI 101 и 102), вы будете иметь знания, необходимые, чтобы стать администратором систем Linux и будете готовы для достижения первого уровня LPIC сертификации от “Linux Professional Institute” если вы того пожелаете.
Файловые системы, разделы и блочные устройства
Введение в блочные устройства
В этом разделе мы будем рассматривать аспекты работы Linux с дисками, включая файловые системы, разделы и блочные устройства. Как только вы познакомились с преимуществами и недостатками дисков и файловых систем, мы с вами разберем процесс настройки разделов и файловых систем на Linux.
Вначале ознакомимся с «блочными устройствами». Наиболее известным блочным устройством, вероятно, будет первый диск IDE в системе Linux, который будет называться: /dev/hda
Если в вашей системе есть SCSI диски (или, что вероятнее, вы используете современным драйвер libATA — прим. ред.), то он будет называться: /dev/sda
Уровни абстрагирования
Блочные устройства представляют абстрактный интерфейс к диску. Пользовательские программы могут использовать эти блочные устройства для взаимодействия с диском, не беспокоясь о том, что у вас за диски: IDE, SCSI, или какие-то другие. Программы могут легко адресовать место на диске, как последовательность блоков по 512 байт с произвольным доступом.
Разделы
Введение в fdisk
Примечание:
Важно!
Не сохраняйте и не вносите каких-либо изменений в дисковую таблицу разделов, если один из них содержит файловую систему, используемую в настоящий момент или хранящую важные данные. Эти действия, скорее всего, приведут к потере данных на диске.
Внутри fdisk
Введите p для отображения текущей таблицы разделов вашего диска:
Данный диск сконфигурирован для размещения семи файловых систем Linux (каждая на соответсвующем разделе, помеченном как «Linux»), а также раздела подкачки (помечен как «Linux swap»).
Обзор блочных устройств и разделов
Разметка диска
Все разделы от hda5 и далее — это логические разделы. Номера с hda1 по hda4 зарезервированы для первичных или расширенного разделов.
Типы разделов
Использование fdisk для создания разделов
Теперь, когда вы имеете представление о дисковых разделах в Linux, пришло время, чтобы начать процесс создания разделов на диске и ФС для установки Linux. Мы настроим разделы на диске, а затем создадим файловые системы на них. На этом этапе мы полностью очистим диск от данных, и будем его использовать для установки новой копии Linux системы.
Важно!
Для выполнения этих действий, у вас должен быть жесткий диск, который не содержит никакой важной информации, так как, на этом этапе, данные на диске будут удалены. Если это всё для вас в новинку, вы можете только прочитать эти шаги, или воспользоваться загрузочным диском с Linux на тестовой системе (например в виртуальной машине — прим. ред.), так что данные не будут в опасности.
Как будет выглядеть диск после разбивки
После того, как мы пройдем процесс создания разделов на вашем диске, ваша таблица разделов будет выглядеть примерно так:
Комментарий к примеру
Рекомендовалось держать загрузочный раздел (содержащий всё необходимое для загрузки) в начале диска. Это не обязательно, так как берет свои истоки из прошлого, когда загрузчик LILO не мог загружать ядро с файловых систем, которые располагались за 1024 цилиндром диска.
Начало работы
Теперь, чтобы создать разделы по примеру выше, введите fdisk /dev/hda или fdisk /dev/sda в зависимости от того, используете ли вы диски IDE или SCSI (или современную libATA — прим. ред.) соответственно. Затем введите “p” для просмотра текущей таблицы разделов. Есть ли что-то на диске, что требуется сохранить? Если да, остановитесь сейчас. Если вы продолжите, вся существующая информация на диске будет уничтожена.
Важно!
Нижеследующие инструкции уничтожат все существующие данные на диске! Если на диске есть какие-либо данные, убедитесь, что информация не является для вас критически важной. Также убедитесь что вы выбрали правильный диск, чтобы ошибочно не стереть данные с другого диска.
Удаление существующих разделов
Теперь самое время удалить все существующие разделы. Чтобы это сделать, введите “d” и нажмите Enter. Вам будет предложено выбрать номер раздела, который будет удален. Чтобы удалить существующий раздел /dev/hda1 вы должны ввести:
Command (m for help): d
Partition number (1-4): 1
Раздел будет запланирован для удаления. Он больше не будет отображаться, если вы введете “p”, но он не будет удален, пока вы не сохраните свои изменения. Если вы ошиблись и хотите отменить действия, введите “q”, и нажмите Enter, и ваш раздел не будет удален.
Теперь, предполагая, что вы в самом деле хотите удалить все разделы в вашей системе, наберите “p”, чтобы вывести еще раз список разделов, а затем введите “d” и номер раздела для удаления. В итоге вы получите пустую таблицу разделов:
Создание загрузочного раздела
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-3876, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-3876, default 3876): +100M
Теперь введите “p”, вы должны увидеть нижеследующую таблицу разделов:
Command (m for help): p
Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes
Device Boot Start End Blocks Id System
/dev/hda1 1 14 105808+ 83 Linux
Создание раздела подкачки
Теперь, давайте создадим раздел подкачки. Чтобы это сделать введите “n” для создания нового раздела, затем “p” чтобы сообщить fdisk что вы хотите создать первичный раздел. Затем введите “2” для создания второго первичного раздела, /dev/hda2 в нашем примере. Затем будет предложено ввести номер первого цилиндра, нажмите Enter, когда будет предложено ввести номер последнего цилиндра, введите “+512M” для создания раздела подкачки, размером 512 МБ. После того, как вы сделаете это, введите “t” для установки типа раздела, и затем введите “82” для установки типа ”Linux swap”. После завершения этих шагов, введите “p” для просмотра таблицы разделов, она должна быть похожей на эту:
Command (m for help): p
Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes
Device Boot Start End Blocks Id System
/dev/hda1 1 14 105808+ 83 Linux
/dev/hda2 15 81 506520 82 Linux swap
Делаем загрузочным
В завершении мы должны установить флаг «загрузочный» на наш загрузочный раздел и записать изменения на диск. Для отметки раздела /dev/hda1 как «загрузочного» раздела, введите в меню “a” и затем “1” как номер раздела. Если вы введете сейчас “p”, вы увидите что /dev/hda1 содержит символ “*” в столбце Boot. Теперь давайте запишем наши изменения на диск. Для этого введите “w” и затем Enter. Ваши разделы диска сейчас правильно сконфигурированы для установки Linux.
Замечание:
Если fdisk запрашивает перезагрузку, пожалуйста, сделайте это для того, чтобы ваша система определила новую настройку разделов.
Расширенные и логические разделы
В приведенном выше примере мы создали один первичный раздел который будет содержать ФС для хранения всех наших данных. Это означает что после установки Linux, главная файловая система будет смонтирована в “/” и будет содержать дерево директорий которое содержит все наши файлы.
Хотя это общий подход, есть и другой подход, с которым вы тоже должны быть знакомы. Этот подход использует несколько разделов, как место для нескольких ФС, и которые вместе образовывают дерево файловой системы. Например, довольно распространено помещать /home и /var в отдельные ФС.
Вы можете узнать больше про эти типы мультисистемной конфигурации, изучив ресурсы, приведенные ниже.
Создание файловых систем
Теперь, когда разделы уже созданы, пришло время установить ФС на загрузочные и корневые разделы так, чтобы они могли использоваться для хранения данных. Мы также настроим раздел подкачки для обслуживания данных подкачки.
Линукс поддерживает различные типы ФС; каждый из них имеет свои достоинства и недостатки и свои характеристики. Мы рассмотрим создание файловых систем ext2, ext3, XFS, JFS и ReiserFS в этом руководстве. Перед созданием ФС на нашем примере, мы кратко рассмотрим различные файловые системы доступные в Linux.
Прим. ред.: К сожалению, ввиду того обстоятельства, что данный цикл был написан авторами примерно в 2003 году, в нем никак не упомянуты многие современные и актуальных файловые системы появившиеся с тех пор, такие как, например, ext4 и btrfs. Но, я верю, что любопытный читатель сможет без труда найти информацию о них в другом месте.
Файловая система ext2
ext2 является проверенной годами файловой системой Linux, но она не обладает средствами журналирования метаданных, что означает, что время на проверку файловой системы во время запуска может быть довольно большим. В настоящее время существует широкий выбор журналируемых файловых систем, которые могут быть проверены на целостность очень быстро, и потому предпочтительны, нежели их не журналируемые аналоги. Журналируемая ФС позволяет избежать долгих задержек при старте системы, когда целостность вашей ФС нарушена (например, в случае сбоя электроснабжения — прим. ред.).
Файловая система ext3
ext3 – журналируемая версия файловой системы ext2, которая обеспечивает журналирование метаданных для быстрого восстановления, а также другие режимы журналирования, такие как полное журналирование всех данных и упорядоченное журналирование. ext3 – очень хорошая и надежная ФС. Она предлагает достойную производительность в большинстве случаев. Поскольку она мало использует «деревья» в своем внутреннем устройстве, она плохо масштабируется, это означает, что этот тип ФС не лучший выбор для очень больших файловых систем, или в условиях, когда вы будете обрабатывать большие файлы или большое количество файлов в одном каталоге. Но при использовании её в условиях, под которые она проектировалась, ext3 прекрасная файловая система.
Одна из приятных особенностей ext3 – это то, что существующие системы ext2 могу быть обновлены «на месте» до ext3 довольно просто. Это позволяет плавно обновлять существующие системы Linux, которые уже используют ext2.
Файловая система ReiserFS
ReiserFS – это файловая система, основанная на B-дереве, которая имеет очень хорошую производительность и значительно превосходит ext2 и ext3 при работе с небольшими файлами (файлы менее 4 кБ), часто в 10-15 раз. А также ReiserFS отлично масштабируется и имеет журналирование метаданных. Начиная с ядра версии 2.4.18 и выше, ReiserFS является стабильной и рекомендуется, как в качестве ФС общего назначения, так и в крайних случаях, таких как создание больших файловых систем, использование для множества маленьких файлов, для огромных файлов, а также для каталогов с десятками тысяч файлов. Мы рекомендуем ФС ReiserFS для использования по умолчанию для всех не загрузочных разделов.
Файловая система XFS
XFS – это файловая система с журналированием метаданных. Она обладает конкретным набором возможностей и оптимизирована для масштабирования. Мы рекомендуем использовать эту файловую систему исключительно на Linux системах с высококлассными SCSI и/или Fibre Channel накопителями и источниками бесперебойного питания. Поскольку XFS агрессивно кэширует данные в ОЗУ, неподходяще спроектированная программа (т. е. та, которая не принимает должной предосторожности при записи на диск (таких совсем немного)) может потерять приличную порцию данных, если система неожиданно даст сбой.
Файловая система JFS
JFS является созданной в IBM высокопроизводительной журналируемой файловой системой. В последнее время она стала предустановленной, и мы бы хотели накопить больший опыт её использования, прежде чем выявлять сильные и слабые стороны этой файловой системы.
Рекомендации к файловым системам
Если вы ищете надежную журналируемую файловую систему, используйте ext3. Если вы ищете хорошую файловую систему общего назначения с высокой производительностью и поддержкой журналирования – используйте ReiserFS; ext3 и ReiserFS проверенные, усовершенствованные и рекомендуемые для общего назначения системы.
Основываясь на нашем примере выше, мы будем использовать следующие команды чтобы инициализировать все наши разделы для использования:
Создание раздела подкачки
mkswap – команда для инициализации раздела подкачки:
В отличии от обычных файловых систем, разделы подкачки не монтируются. Вместо этого, их активируют используя команду swapon :
Создание файловых систем ext2, ext3, ReiserFS
Для создание файловой системы ext2 можно использовать команду mke2fs :
Для создание файловой системы ReiserFS используется команда mkreiserfs :
Создание файловых систем XFS и JFS
Для создания файловой системы XFS используется команда mkfs.xfs :
Примечание:
Прим. ред: Информация в данном руководстве несколько устарела. На самом деле, ещё, по меньшей мере, более 6 лет назад, максимальный размер группы распредления (allocation group) в XFS увеличен до терабайта.
Для создания файловой системы JFS, используется команда mkfs.jfs :
Монтирование файловых систем
После того как файловая система создана, мы можем её примонтировать, используя команду mount :
Чтобы смонтировать файловую систему, в качестве первого аргумента необходимо указать раздел блочного устройства, и «точку монтирования» – в качестве второго. Новая файловая система будет «привита» в точке монтирования. Это также приводит к эффекту скрытия любых файлов которые находятся в директории /mnt в родительской файловой системе. Позже когда файловая система отмонтирована, эти файлы снова появятся. После выполнения команды монтирования, любые файлы созданные или скопированные внутри /mnt будут находится на новой файловой системе ReiserFS, которую вы смонтировали.
# mkdir /mnt/boot
# mount /dev/hda1 /mnt/boot
Чтобы просмотреть какие файловые системы сейчас смонтированы, введите mount без аргументов. В выводе команды mount мы видим одну из наших запущенных Linux систем, которая содержит разделы, настроенные аналогично нашему примеру:
Еще немного о монтировании
Опции монтирования
Также возможно настраивать атрибуты для монтируемых ФС с помощью опций монтирования. К примеру, вы можете смонтировать файловую систему в режиме «только чтение» используя опцию “ro”:
С /dev/hdc6 смонтированной только для чтения, никакие файлы в /mnt не смогу быть изменены – только прочитаны. Если ваша ФС уже смонтирована для «чтения/записи» и вы хотите переключить её в режим «только чтение», вы можете использовать опцию remount избежав отключения и подключения ФС снова:
Знакомство с fstab
Итак, ядру Linux сообщается загрузчиком, какая используется корневая ФС, и мы рассмотрим загрузчики Linux позже в этом руководстве. Но для всего остального, ваша Linux система содержит файл, называемый /etc/fstab который сообщает ядру о доступных для монтирования файловых системах. Давайте взглянем на него.
Образец fstab
Давайте взглянем на образец файла /etc/fstab :
Также обратите внимание на опцию “noatime”, которая отключает запись atime (время последнего доступа) информации на диск. Эта информация в основном не требуется, и выключение всех обновлений atime даст положительный эффект на производительности системы.
Теперь взглянем на строку /proc и заметим опцию “defaults”. Используйте “defaults”, если вы хотите чтобы ФС была смонтирована со стандартными опциями. Т. к. /etc/fstab содержит множество полей, мы не можем просто оставить поле опций пустым.
Мы теперь можем ввести:
На самом деле, /etc/fstab позволяет нам получить приемущество от использования опции “user”. Эта опция монтирования сообщают системе, что данная конкретная ФС может монтироваться любым пользователем. Это очень удобно для съемных носителей, таких как CD-ROM. Без этой опции монтирования, только пользователь root смог бы использовать CD-ROM.
Размонтирование файловых систем
Как правило, все подключенные ФС размонтируются системой автоматически при выключении или перезагрузке. Когда ФС отмонтирована, то все закешированные в памяти данные ФС сброшены на диск.
Введение в fsck
Важно!
Иногда, мы можете обнаружить, что после перезагрузки fsck не может полностью восстановить частично поврежденную ФС. В таких случаях, всё, что вам нужно сделать, это перевести систему в однопользовательский режим и запустить fsck вручную, передав в качестве аргумента блочное устройство раздела. Поскольку fsck будет производить восстановление его ФС, то может спросить вас об исправлении конкретных дефектов ФС. В основном, вам стоит отвечать “y” (да) на все эти вопросы, разрешая fsck делать свое дело.
Проблемы с fsck
Одна из проблем со сканированием fsck состоит в том, что оно может занять длительное время до завершения, поскольку совокупность метаданных файловой системы (внутренняя структура данных) должна быть просканирована, чтобы убедиться в их целостности. Для особо больших ФС, не редко, для полного завершения fsck требуется более часа.
Для того, чтобы решить эту проблему, были спроектированы новые типы ФС, называемые журналируемые файловые системы. Журналируемые ФС пишут на диск журнал последних изменений метаданных файловой системы. В случае сбоя, драйвер ФС проверяет журнал. Так как журнал содержит точный отчет о последних изменениях на диске, то только эти части метаданных ФС требуют проверки на ошибки. Благодаря этому важному отличию, проверка журналируемой системы на целостность обычно занимает только считанные секунды, независимо от размера ФС. Поэтому журналируемые ФС завоёвывают популярность в сообществе Linux. Больше информации про журналируемые ФС смотрите на статье Funtoo Filesystem Guide, part 1: Journaling and ReiserFS.
За перевод этой части благодарим andrewww. Продолжение следует.
Об авторах
Daniel Robbins
Дэниэль Роббинс — основатель сообщества Gentoo и создатель операционной системы Gentoo Linux. Дэниэль проживает в Нью-Мехико со свой женой Мэри и двумя энергичными дочерьми. Он также основатель и глава Funtoo, написал множество технических статей для IBM developerWorks, Intel Developer Services и C/C++ Users Journal.
Chris Houser
Крис Хаусер был сторонником UNIX c 1994 года, когда присоединился к команде администраторов университета Тэйлора (Индиана, США), где получил степень бакалавра в компьютерных науках и математике. После он работал во множестве областей, включая веб-приложения, редактирование видео, драйвера для UNIX и криптографическую защиту. В настоящий момент работает в Sentry Data Systems. Крис также сделал вклад во множество свободных проектов, таких как Gentoo Linux и Clojure, стал соавтором книги The Joy of Clojure.
Aron Griffis
Эйрон Гриффис живет на территории Бостона, где провел последнее десятилетие работая в Hewlett-Packard над такими проектами, как сетевые UNIX-драйвера для Tru64, сертификация безопасности Linux, Xen и KVM виртуализация, и самое последнее — платформа HP ePrint. В свободное от программирования время Эйрон предпочитает размыщлять над проблемами программирования катаясь на своем велосипеде, жонглируя битами, или болея за бостонскую профессиональную бейсбольную команду «Красные Носки».