Колисниченко Д.Н. - Linux-сервер своими руками (1077324), страница 26
Текст из файла (страница 26)
Aсоздать файловую систему такого типа можно с помощью команды:mke2fs -с <устройство>Опция -с указывает программе, что нужно сделать проверку устройства наналичие ошибок. В качестве устройства обычно выступает раздел жесткогодиска. Некоторые опции команды nikelfs перечисленны в табл. 4.5. Полныйсписок опций с описанием вы можете получить, введя команду man mkeZfs.Естественно, прежде чем создавать файловую систему на жестком диске,необходимо создать на нем разделы с помощью программы fdisk. Linux в.качестве устройства может использовать обыкновенный файл.
Его можносоздать командой dd. Затем файловую систему нужно примонтировать командой mount. Обо всем этом будет сказано немного позднее. Сейчас жерассмотрим, как перейти от обыкновенной файловой системы ext2 к журналируемой системе ext3. Как я уже отмечал, после/конвертирования с файло704Файловая система LinuxПараметры mke2fsОпцияТаблица 4.5Описание-Ь размер_блокаУстанавливает размер блока.
Допустимыми являются 1024, 2048 и 4096 байт/блок.Если размер блока не указан, то mke2fs устанавливает его исходя из размера итипа файловой системы (см. опцию -Т)-f размер_фрагментаУстанавливает размер фрагмента в байтах-1 имя_файлаЧитает список «плохих» блоков из указанного файла-Т тип ФСУстанавливает оптимальные параметры для файловой системы указанного типа-т количество_блоковРезервирует указанное количество блоков под суперпользователя. Задаетсяв процентах от общего количества. По умолчанию резервируется 5%-сПеред созданием файловой системы производит проверку устройствана предмет присутствия «плохих» блоков-VВ процессе работы выдает подробную информациювой системой ext3 можно будет работать в режиме ext2, отключив журналирование.
Другими словами, просто нужно будет использовать драйвер ext2.Если вы используете операционную систему Red Hat 7.2 или Mandrake 8.1и выше, то, скорее всего, у вас уже будет установлена файловая системаext3. Если же вы во время установки не включили поддержку ext3, то сейчассамое время это сделать, хотя переходить на новую файловую систему илинет, решать только вам.Прежде чем перейти к практике, прочитаем немного теории о новойфайловой системе. Файловая система ext3 имеет два основных преимущества перед ext2.
Первое состоит в том, что ext3 записывает изменениеданных и метаданных, что позволяет сохранять содержимое файлов. Второепреимущество состоит в том, что разделы ext3 ничем не отличаются отразделов ext2, поэтому всегда можно перейти к старой файловой системе инаоборот. Главным здесь является то, что вы можете спокойно делатьрезервную копию файловой системы ext3, а потом развернуть ее на ext2разделе.
Позже можно будет включить журналирование.Немного определений:Метаданные (metadata) -- это данные, которые являются описанием другихданных (например, схема базы данных по отношению к содержимому базыданных).Журналирование — это запись изменения метаданных во время совершениятранзакции. В журнал записывается состояние трех типов данных: метаданных, блоков описания и блоков-заголовков. Уровень журналирования (то,что будет писаться в журнал) можно указать при монтировании файловойсистемы с помощью программы mount. Журналируемый блок всегда записывается полностью, даже если произошло маленькое изменение.
Это делается очень быстро, так как операции журналируемого ввода/вывода объединены в большие кластеры.Блоки описания описывают другие метаданные. Запись блоков описания происходит перед записью метаданных. Блоки-заголовки описывают заголовок иокончание журнала. Каждому блоку-заголовку присваивается порядковый номер, чтобы гарантировать упорядоченную запись во время восстановления.105Файловая система LinuxТеперь перейдем непосредственно к практике. Для того, чтобы наилучшим образом понять этот материал, вам следует прочитать пункт этой главыо монтировании дисков, а также гл.
18. Тем не менее, дальнейший материализложен таким образом, что перекомпилировать ядро вы сможете и не читаягл. 18, просто на данном этапе вы не все поймете. В этом разделе книги япопытаюсь как можно подробнее описать процесс перехода на новую систему.Переход на файловую систему ext3 нужно начинать, собственно, с включения поддержки новой файловой системы. При этом необходимо перекомпилировать ядро. С этой целью перейдите в каталог / u s r / s r c / l i n u x и запуститепрограмму make menuconfig. В разделе Filesystem отметьте файловую систему ext3.Если эта опция уже включена, то ядро уже поддерживает файловую систему ext3.Примечание.Для поддержки ext3 необходимо ядро версии 2.4.7 или выше.
В дистрибутиве LinuxRed Hat 7.2 используется ядро версии 2.4.7.После этого согласитесь сохранить изменения в конфигурации ядра ивыполните следующие команды:makemakemakemakemakedepbzlmagemodulesmodules_installinstallНекоторые из этих команд, возможно, вам и не понадобятся, а какиеименно, вы узнаете в гл. 18. Однако вы уже сейчас можете вводить этикоманды — они будут у вас работать, но при этом на их выполнениепонадобится гораздо больше времени, так как это общий случай — для всех.Первая команда производит необходимую подготовку к компилированию ядра.
В принципе, она необязательна, но относится к категории весьмажелательных. Вторая собирает само ядро. Две следующих — собирают иустанавливают модули ядра. Последняя команда устанавливает ядро. Послевыполнения последней команды желательно ввести команду Шо для перезаписи главной загрузочной записи MBR. Кроме этого, желательно перезагрузить компьютер (не подумайте, что по рекомендациям Microsoft!) для того,чтобы убедиться, что собранное ядро работает. Если же ядро отказалосьработать, то загрузитесь с системной дискеты Linux (создается при установке) и повторите процесс сборки ядра.Затем нужно создать журнал командойtune2fs -i 0 -с 0 -j/dev/hdalЭта команда создает и конвертирует корневую файловую систему типаext2, расположенную на устройстве /dev/hdal, в файловую' систему ext3.На этом, собственно, весь процесс конвертирования можно считать завершенным.
Остается только сказать системе, что ей нужно использоватьдрайвер ext3. Для этого откройте в любом текстовом редакторе файл/etc/fstab, в котором вы должны увидеть примерно такую строку:/dev/hdal / ext2 defaults,usrquota,grpquota 1 1106Файловая система LinuxОбычно она самая первая строка в файле. Эта строка означает, чтокорневая файловая система (/) расположена на устройстве /dev/hdal и длянее используется драйвер extl. Просто замените extl на ext3 и сохранитеизменения.
После этого можно перезагрузить компьютер. Аналогично выможете конвертировать другие extZ-разделы: выполните команду tune2fs длякаждого раздела и измените драйвер в файле /etc/fstab.4.7. Использование программы fdiskПрограмма fdisk для Linux используется при создании разделов подLinux. Естественно, ее можно использовать для создания разделов и другихтипов. Каждая операционная система имеет свою версию fdisk. При этомрекомендуется для создания разделов конкретной операционной системыиспользовать ее «родную» версию fdisk.
Запуск fdisk производится следующим образом:fdisk <диск>Дальнейшее изложение материала будет построено на примере, в котором я буду издеваться над старым жестким диском, имеющем 683 цилиндра.Честно говоря, это устройство как-то страшно даже назвать жестким диском — скорее устройством, выполняющим его функции.Итак, запускаем fdisk, указав параметр /dev/hda. Если этого не сделать,то вам придется созерцать недовольное ворчание программы по этому поводу — это вам не DOS.I fdisk /dev/hdaComamnd (m for h e l p ) :Для получения справки можно ввести m.
На экране вы увидите примерно следующее:Command actiona toggle a bootable flagd delete a partition1 list known partition typesm print this menun add a new partitionp print the partition tableq quit without saving changest change a partition's system idu change display/entry unitsv verify the partition tablew write table to disk and exitx extra functionality (experts only)Нам потребуются только команды p, n, q и w.Для начала распечатаем таблицу разделов:Command (m for help): pDisk /dev/hda: 16 heads, 38 sectors, 683 cylindersUnits = cylinders of 608 * 512 bytes107Файловая система LinuxDeviceBoot Begin Start End Blocks IdSystem/dev/hdal*11203616936DOS 16-bit >=32MЗдесь видно, что имеется один DOS-раздел приблизительно на 60 Мб(1 блок = 1024 байт).