Некоторые особенности создания файловых систем в Linux Таблицы разделов




Дата канвертавання27.04.2016
Памер163.91 Kb.


Файл FS-ext2.doc


Раздел.

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




  • до четырех первичных разделов

  • один расширенный раздел ( вместо одного первичного раздела)

Для разбиения на разделы наиболее употребимы такие утилиты, как fdisk и sfdisk.
Вместе с тем поддерживается широкое разнообразие других форматов для таблиц разделов . Это позволяет:

  • проводить инсталляцию совместно с другими операционными системами

  • использовать диски данных, которые были разбиты на разделы в составе других операционных систем.

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



Acorn, OSF, Amiga, Atari, Macintosh, BSD, Minix, Solaris, Unixware, SGI, Ultrix, Sun и пр.
Некоторые количественные характеристики стандартного механизма таблиц разделов.
При работе со SCSI дисками Linux может адресоваться к 15 разделами на одном диске, в то время как при работе с IDE дисками Linux может работать с 63 разделами на диске.
Установлен стандартный идентификатор типа для Linux swap раздела. Он равен 82. А идентификатор типа раздела для файловых систем Linux равен 83.
Примечание.

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


Для программного RAID в Linux используется в качестве идентификатора раздела fd , а для LVM используется идентификатор раздела 8e.

Отображение содержания текущей таблицы разделов

Для вывода содержимого таблицы разделов на текущем дисковом устройстве нужно выполнить:



fdisk -l /dev/XXX
Пример


Создание файловой системы

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

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

Наиболее часто используется файловая система ext3, которая является стандартной для Linux .


После создания раздела с помощью fdisk или sfdisk, файловая система обычно создается с помощью команды mkfs.
Схема создания подобна схеме для работы в среде DOS, где сначала создаются разделы с помощью команды fdisk , а затем создаются файловые системы внутри разделов, используя команду format.

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


Пример.

Нижеследующая команда будет создавать файловую систему ext2 на основном ( первичном) разделе на первом IDE твердом диске:

# mkfs /dev/hda1
Команда mkfs может быть использована для создания файловых систем других типов, используя для этого ключ t и указывая тип файловой системы, которую требуется создать.
Пример.

Следующая ниже команда будет создавать MS-DOS файловую систему:

# mkfs -t msdos /dev/hda1
В действительности команда mkfs сама не создает файловые системы. Команда mkfs представляет собой утилиту-обертку, которая вызывает специфичные команды для работы с конкретной файловой системой.
Пример.

При использовании mkfs -t msdos будет произведен вызов mkdosfs .


При использовании команды mkfs -t ext2 ( или просто команда mkfs, поскольку файловая система ext2 создается при этом по умолчанию), будет произведен вызов mke2fs.
Примечание.

Файловая система ext3 - это, по существу, файловая система ext2, к которой добавлен файл для ведения в нем журнала. Структура файловой системы на диске для ext2 и ext3 идентичны.


Создать файловую систему ext3 можно различным способом, используя для этого команды:

mkfs -t ext3

mkfs.ext3

mke2fs -j.
Пример.

По команде, приведенной ниже, будет создана файловая система ext3 в первом разделе на первом SCSI диске:

# mke2fs -j /dev/sda1
Опция j используется для создания с помощью этой команды журналируемой файловой системы ext3.

Существуют и другие специфические опции.

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

Ниже показано, как создать файловую систему ext3 с размером блока в 4k.

# mke2fs -j -b 4096 /dev/sda1
Информация по использованию опций для работы при создании файловых систем находится в электронном справочнике.
Примечание.

Не все типы файловых систем поддерживаются во всех версиях Linux. Так в версии

Fedora поддерживаются дополнительно, при необходимости такие типы файловых систем, как:


  • JFS (журналируемая файловая система IBM),

  • Reiserfs (продвинутая начальная журналируемая файловая система Linux )

  • XFS (журналируемая файловая система SGI).

А вот в версии RHEL ( Red Hat Enterprise Linux) эти типы файловых систем не поддерживаются.

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



Команда mke2fs – создание файловой системы ext2/ext3
Синтаксис:

mke2fs [ -c | -l filename ] [ -b block-size ] [ -f fragment-size ] [ -g

blocks-per-group ] [ -i bytes-per-inode ] [ -I inode-size ] [ -j ] [ -J

journal-options ] [ -N number-of-inodes ] [ -n ] [ -m reserved-blocks-

percentage ] [ -o creator-os ] [ -O feature[,...] ] [ -q ] [ -r fs-

revision-level ] [ -E extended-options ] [ -v ] [ -F ] [ -L volume-

label ] [ -M last-mounted-directory ] [ -S ] [ -T filesystem-type ] [

-V ] device [ blocks-count ]
mke2fs -O journal_dev [ -b block-size ] [ -L volume-label ] [ -n ] [ -q

] [ -v ] external-journal [ blocks-count ]
Таблица опций для команды mke2fs


-b block-size


Указывается размер блока в байтах

-c

Проверка устройства на наличие bad блоков

-E

Расширенные опции:

stride=stripe-sizeконфигурирование ф.с. под RAID массив

resize=max-online-resizeрезервирование дополнительной памяти для расширения block group descriptor table

-f fragment-size


Определение размера фрагментов в байтах

-F


Безусловное создание файловой системы

-g blocks-per-group


Количество блоков в группе блоков

-i bytes-per-inode


Определяется соотношение bytes/inode

-I inode-size

Определяется размер каждого inode в байтах.

-j

Создание файловой системы с журналом ext3.

-J journal-options


Создание журнала для ext3 , используя при этом опции, заданные в командной строке.

size=journal-size - Создать внутренний журнал

device=external-journal - Присоединение к файловой системе блокового устройства журналирования, где находится внешний журнал

-l filename

Прочитать список bad блоков из filename

-L new-volume-label


Установить значение new-volume-label в качестве значения для метки тома у файловой системы.

Максимальная длина метки тома – 16 байтов.



-m reserved-blocks-percentage


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

-M


Установить последний смонтированный каталог в файловой системе.

-n

Отображается свойства ф.с., если бы она была создана. Реально ф.с. не создается.

-N number-of-inodes

Прямое задание пользователем числа inodes в системе

-o creator-os


Происходит ручное перезаписывание значения поля "creator os" в файловой системе.

-O feature[,...]

Создание файловой системы с заданными свойствами ( опциями файловой системы), переписывая при этом опции файловой системы по умолчанию.

Базовые значения по умолчанию можно найти:

либо в base_features отношении ,

или в конфигурационном файле /etc/mke2fs.conf в секции [libdefaults],

или в подсекции для секции [fs_types] для заданного типа файловой системы , как определено опцией -T

dir_index -Использовать хэшированные b-деревья для эффективной работы с каталогами

filetype - Хранить информацию о типе файла в записях каталога.

has_journal - Создать журнал ext3 ( как в случае, если бы была использована опция -j ) .

journal_dev - Создать внешний ext3 журнал на заданном устройстве вместо регулярной ext2 файловой системы.

resize_inode - Зарезервировать память для возможности динамического увеличения размера block group descriptor table.

sparse_super - Создать файловую систему с рядом backup копиями суперблока.


-q

Выполнить Quiet.

-r revision

Установить filesystem revision для новой файловой системы

-S

Крайний способ восстановления. Записать только суперблок и group descriptors.

-T fs-type


Определении вариантов поведения файловой системы в будущем с помощью указания fs-type.

По умолчанию в конфигурационном файле /etc/mke2fs.conf содержатся определения для таких вариантов (fs-type) поведения файловых систем:


small, floppy, news, largefile, largefile4.


-v

Выполнение в режиме Verbose.

-V

Вывести номер версии для mke2fs и выйти.


Команда mount

mount – монтировать файловую систему
Синтаксис

mount [-lhV]
mount -a [-fFnrsvw] [-t vfstype] [-O optlist]

mount [-fnrsvw] [-o options [,...]] device | dir

mount [-fnrsvw] [-t vfstype] [-o options] device dir
Опции команды mount


-a

Смонтировать все файловые системы (заданных типов), которые представлены в файле fstab.


-F

( Используется совместно с -a.) Разветвление (Fork off ) нового сеанса монтирования на каждом устройстве.

-f

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

-i

Не производить вызова /sbin/mount. , даже если он есть.


-l

Вывод в протокол команды mount метки для ext2, ext3 и XFS.

-n

Производить монтирование без записи об этом событии в файл /etc/mtab.

-p num

В случае loop монтирования с использованием шифрования, следует читать passphrase с помощью дескриптора num , а не с терминала

-s

Допускается сырые (sloppy ) опции монтирования , а не те, которые вызывают неудачу.

-r

Монтируется файловая система в режиме read-only. Синонимом является -o ro.

-w

Монтируется файловая система в режиме read/write. Это режим по умолчанию. Синонимом является -o rw.

-L label

Монтируется раздел, который имеет специальную метку.

-U uuid

Монтируется раздел, который имеет специальный uuid.

-t vfstype


За опцией -t следует указатель типа файловой системы. В состав поддерживаемых типов файловых систем в текущий момент входят:

adfs, affs, autofs, coda, coherent, cramfs, devpts, efs, ext, ext2, ext3, hfs, hpfs, iso9660, jfs, minix, msdos, ncpfs, nfs, nfs4, ntfs, proc, qnx4, ramfs, reiserfs, romfs, smbfs, sysv, tmpfs, udf, ufs, umsdos, usbfs, vfat, xenix, xfs, xiafs.


-O

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

-o

Опции, заданные с флагом -o, представлены строкой опций, разделенных запятыми:
Следующие опции применимы к любой файловой системе, которая будет монтироваться:

async - Все операции I/O для файловой системы должны

выполняться асинхронно.



atime - Модификация времени доступа к inode при каждом доступе. Это выполняется по умолчанию.

auto - Может быть смонтирована с опцией -a.

defaults - Использовать опции по умолчанию :

rw, suid, dev, exec, auto, nouser, async.

dev - Интерпретация символьных и блоковых

специальных устройств для файловой системы.



exec - Разрешить исполнение бинарных файлов.

group - Позволить обычному (не root) пользователю монтировать файловую систему, если одна из его групп соответствует группе устройства

mand - Разрешить принудительные блокировки (mandatory locks) в этой файловой системе.

_netdev - Файловая система располагается на устройстве, к

которому необходим сетевой доступ .



noatime - Не модифицировать время доступа к inode в

данной файловой системе



noauto - Может быть установлена только явно .

nodev - Не интерпретировать символьные или специальные блоковые специальные для файловой системы.

noexec - Не разрешать непосредственное выполнение произвольных бинарных файлов на смонтированной файловой системе .

nomand - Не допускается использование mandatory locks на

этой файловой системе.



nosuid Не допускается действие битов set-user-identifier или

set-group-identifier.



nouser - Запрещается обычному ( не root) пользователю монтировать файловую систему. Это действие по умолчанию.

owner - Разрешается обычному ( не root) пользователю монтировать файловую систему , если он является собственником устройства.

remount - Попытка проведения повторного монтирования в отношении уже-смонтированной файловой системы.

ro - Монтирование файловой системы в статусе read-only.
rw - Монтирование файловой системы в статусе read-write.

suid - Устанавливает действие разрядов set-user-identifier и

set-group-identifier .
sync - Все операции I/O в файловой системе должны

быть синхронизированы



dirsync - Все модификации каталогов в файловой системе

должны выполняться синхронно



user - Предоставляется возможность обычному пользователю монтировать файловую систему.

users - Допускается проведение монтирования и размонтирование файловой системы любому пользователю.

encryption - Задается алгоритм шифрования для

использования. Используется совместно с опцией loop .


keybits - Определяется размер ключа, который используется

в алгоритме шифрования. Используется совместно с

опциями loop и encryption .

--bind - Повторно монтировать поддерево где-то в другом месте.

--move - Перемещение поддерева в некоторое другое место.






Следующие опции применимы к файловой системе конкретного типа, которая будет монтироваться.
Опции монтирования для ext2:
acl / noacl - Поддержка POSIX Access Control Lists

(или отсутствие поддержки).



bsddf / minixdf - Установка поведения системного вызова statfs .

check - Проводить проверку файловой системы (block и inode bitmaps)

во время монтирования.



check=none / nocheck

Не проводить проверку во время монтирования . Это значение по умолчанию.

debug Вывод debugging сообщений во время каждого

(пере) монтирования.



errors=continue / errors=remount-ro / errors=panic

Определение поведения системы, когда будут

обнаруживаться ошибки. Значение по умолчанию устанавливается

в суперблоке файловой системы и может быть изменено с

помощью tune2fs(8).

grpid или bsdgroups / nogrpid или sysvgroups

Эти опции определяют , какой идентификатор группы будет

получать вновь созданный файл.

nouid32 - Запрет на использование 32-разрядных UID и GID.

oldalloc или orlov - Использовать old allocator или Orlov allocator

для новых new inodes



resgid=n и resuid=n

В файловой системе ext2 производится

резервирование определенного процента доступного

пространства ( по умолчанию 5%,



sb=n - Использовать в качестве суперблока блок с номером n,

вместо блока с индексом 1.



user_xattr / nouser_xattr

Поддерживается или нет расширенные атрибуты "user."







Опции монтирования для ext3:

journal=update

Модифицировать системный журнал ext3 в соответствии с

текущим форматом.
journal=inum

Если журнал уже есть, то данная опция игнорируется. В

противном случае она определяет номер inode ,

который представлены для файла журналирования в ext3.



noload - Не загружать журнал файловой системы ext3 при

выполнении монтирования.



data=journal / data=ordered / data=writeback

Задается режим журналирования для данных файла.





Используемые файлы:

/etc/fstab Таблица файловых систем (file system table)
/etc/mtab Таблица смонтированных файловых систем

(table of mounted file systems )


/etc/mtab~ Файл блокировки
/etc/mtab.tmp Временный файл
/etc/filesystems Список типов файловых систем для проверки
Системные вызовы и команды:

mount(2), umount(2), fstab(5), umount(8), swapon(8), nfs(5), xfs(5),

e2label(8), xfs_admin(8), mountd(8), rpc.nfsd(8), mke2fs(8),

tune2fs(8), losetup(8)




Команда umount
umount – размонтирование файловых систем

Синтаксис

umount [-hV]
umount -a [-dflnrv] [-t vfstype] [-O options]

umount [-dflnrv] dir | device [...]
Опции команды umount:







-V

Вывод версии и выход.


-h

Вывод справочной информации и выход.

-v

Режим Verbose.


-n

Размонтирование без записи в файл /etc/mtab.

-r

В случае возникновение неудачи при размонтировании попытка повторного монтирования в режиме read-only.

-d

Если размонтировнным устройством было loop device, то следует пометить это loop device как свободное.


-i

Не вызывать /sbin/umount.<filesystem> helper , даже если он есть .

-a

Размонтировать все файловые системы, которые представлены в файле /etc/mtab . ( Начиная с версии 2.7 и далее файловая система proc не размонтируется ).


-t vfstype

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

-O options

Указывает на необходимость выполнения действий над файловыми системами , опции которых заданы в файле /etc/fstab:

-f - Заставляет выполнить безусловно unmount ( в случае недостижимой файловой системы NFS).

-l Lazy unmount. - Происходит отсоединение файловой системы из иерархии дерева файлов и происходит очистка всех ссылок на файловую систему , как только она становится больше не занятой.





Пример содержимого /etc/fstab :

[nik111@samos]:~$ ls -l /etc/fstab

-rw-r--r-- 1 root root 1378 2007-10-31 17:21 /etc/fstab

[nik111@samos]:~$ more /etc/fstab

# /etc/fstab: static file system information.

#


Описания блокового специального устройства или удаленной файловой системы, которые должны быть смонтированы

Тип файловой

системы

Порядок проверки ф.с. при перезагрузке





Точка монтирования



Необходимость

дампирования для ф.с.




Опции монтирования



Порядок

обработки

строк файла

/etc/fstab





#


proc /proc proc defaults 0 0

/dev/hda2 / reiserfs notail 0 1

/dev/hda3 /home ext3 defaults 0 2

/dev/hda11 /pxe_root ext2 defaults 0 2

/dev/hda5 /student ext2 nodev,nosuid,usrquota 0 2

/dev/hda6 /tmp reiserfs noatime,nodev,nosuid 0 2

/dev/hda12 /usr ext3 ro 0 2

/dev/hda7 /var ext3 defaults 0 2

/dev/hda9 /var/log reiserfs nodev,noexec 0 2

/dev/hda10 /var/spool reiserfs nodev,noexec 0 2

/dev/hda8 /var/tmp reiserfs noatime,nodev,nosuid,noexec 0 2

/dev/hda1 none swap sw 0 0

#/dev/hdb1 none swap sw 0 0

/dev/hdc /media/cdrom0 iso9660 ro,noauto 0 0

/dev/fd0 /media/floppy0 auto rw,noauto 0 0

/dev/fd0 /a auto rw,user,sync,noauto 0 0

/dev/sda /flash auto rw,user,noauto,iocharset=koi8-r 0 0

/dev/sda1 /flash1 vfat rw,user,noauto,iocharset=koi8-r 0 0

/dev/sda2 /flash2 vfat rw,user,noauto,iocharset=koi8-r 0 0



/dev/hdc /cdrom iso9660 ro,noauto 0 0

[nik111@samos]:~$


База данных защищена авторским правом ©shkola.of.by 2016
звярнуцца да адміністрацыі

    Галоўная старонка