Монтирование диска в linux

Identifying filesystems

There are different ways to identify filesystems that will be mounted in : kernel name descriptor, file system label and UUID, and GPT partition label and UUID for GPT disks. UUID or PARTUUID must be privileged over kernel name descriptors and labels. See Persistent block device naming for more explanations. It is recommended to read that article first before continuing with this article.

In this section, we will describe how to mount filesystems using all the mount methods available via examples. The output of the commands and used in the following examples are available in the article Persistent block device naming.

To use , use in the first column.

Kernel name descriptors

Run to list the partitions and prefix the values in the NAME column with .

/etc/fstab
# <device>        <dir>        <type>        <options>        <dump> <fsck>
/dev/sda1         /boot        vfat          defaults         0      2
/dev/sda2         /            ext4          defaults         0      1
/dev/sda3         /home        ext4          defaults         0      2
/dev/sda4         none         swap          defaults         0      0

Warning: Kernel name descriptors are not persistent and can change each boot, they should not be used in configuration files.

File system labels

Run to list the partitions, and prefix the values in the LABEL column with or alternatively run and use the LABEL values without the quotes:

/etc/fstab
# <device>        <dir>        <type>        <options>        <dump> <fsck>
LABEL=EFI         /boot        vfat          defaults         0      2
LABEL=SYSTEM      /            ext4          defaults         0      1
LABEL=DATA        /home        ext4          defaults         0      2
LABEL=SWAP        none         swap          defaults         0      0

Note: If any of your fields contains spaces, see .

File system UUIDs

Run to list the partitions, and prefix the values in the UUID column with or alternatively run and use the UUID values without the quotes::

/etc/fstab
# <device>                                <dir> <type> <options> <dump> <fsck>
UUID=CBB6-24F2                            /boot vfat   defaults  0      2
UUID=0a3407de-014b-458b-b5c1-848e92a327a3 /     ext4   defaults  0      1
UUID=b411dc99-f0a0-4c87-9e05-184977be8539 /home ext4   defaults  0      2
UUID=f9fe0b69-a280-415d-a03a-a32752370dee none  swap   defaults  0      0

GPT partition labels

Run to list the partitions, and use the PARTLABEL values without the quotes:

/etc/fstab
# <device>                           <dir> <type> <options> <dump> <fsck>
PARTLABEL=EFI\040SYSTEM\040PARTITION /boot vfat   defaults  0      2
PARTLABEL=GNU/LINUX                  /     ext4   defaults  0      1
PARTLABEL=HOME                       /home ext4   defaults  0      2
PARTLABEL=SWAP                       none  swap   defaults  0      0

Note: If any of your fields contains spaces, see .

GPT partition UUIDs

Run to list the partitions, and use the PARTUUID values without the quotes:

/etc/fstab
# <device>                                    <dir> <type> <options> <dump> <fsck>
PARTUUID=d0d0d110-0a71-4ed6-936a-304969ea36af /boot vfat   defaults  0      2
PARTUUID=98a81274-10f7-40db-872a-03df048df366 /     ext4   defaults  0      1
PARTUUID=7280201c-fc5d-40f2-a9b2-466611d3d49e /home ext4   defaults  0      2
PARTUUID=039b6c1c-7553-4455-9537-1befbc9fbc5b none  swap   defaults  0      0

Определения полей

/etc/fstab содержит следующие поля разделённые пробелами или tab:

<file system>   <dir>   <type>  <options>       <dump>  <pass>
  • <file systems> — название накопителя (например: /dev/sda1).

  • <dir> — точка монтирования, куда монтировать <file system>.

  • <type> — тип файловой системы монтируемого устройства или раздела. Поддерживает много различных файловых систем, например: ext2, ext3, reiserfs, xfs, jfs, smbfs, iso9660, vfat, ntfs, swap и auto. Тип ‘auto’ позволяет команде монтирования определить тип используемой файловой системы, полезно для съёмных устройств, таких как CD и DVD.

  • <options> — специальные опции для файловых систем. Некоторые опции относятся только к определённой файловой системе, наиболее распространённые варианты:

    • auto — файловая системы будет смонтирована автоматически при загрузке или после выполнения команды ‘mount -a’.

    • noauto — файловая система может быть смонтирована только вручную.

    • exec — разрешить исполнять бинарных файлов с этого раздела (по умолчанию).

    • noexec — запретить исполнять бинарные файлы с этой файловой системы.

    • ro — монтировать файловую систему только для чтения.

    • rw — монтировать файловую систему для чтения и записи.

    • sync — операции ввода/вывода должны выполняться синхронно.

    • async — операции ввода/вывода должны выполняться асинхронно.

    • flush — опция специфичная для FAT. To flush data more often, thus making copy dialogs or progress bars to stays up until things are on the disk.

    • discard — включает поддержку команды TRIM для SSD дисков.

    • user — разрешить любому пользователю монтировать файловую систему (с опциями noexec,nosuid,nodev если не указано иное).

    • nouser — только root может монтировать файловую систему (по умолчанию).

    • defaults — использовать настройки по умолчанию (эквивалентно rw,suid,dev,exec,auto,nouser,async).

    • suid — разрешать операции с битами suid и sgid. Восновном используемые, чтобы позволить пользователям выполнять бинарные файлы со временно повышенными привилегиями для выполнения определённой задачи.

    • nosuid — запретить операции с битами suid и sgid.

    • noatime — не обновлять информацию о времени доступа к файловой системе. Может повысить производительность.

    • nodiratime — не обновлять информацию о времени доступа к каталогам файловой системе. Может повысить производительность.

    • relatime — обновлять информацию о времени доступа по сравнению с временем последнего изменения. Время доступа обновляется только если предыдущее было больше текущего времени изменения (аналог noatime, только не создаёт проблемы для приложений которым нужно знать, если файл был прочитан с момента последнего изменения). Может повысить производительность.

  • <dump> — используется утилитой dump для того чтобы определить, когда делать резервную копию. После установки, dump проверяет эту запись и использует значение, чтобы решить, подключать ли файловую систему. Возможные значения 0 или 1. Если 0, dump игнорирует файловую систему, если 1, dump сделает резервную копию. У большинства пользователей dump не установлен, поэтому в поле <dump> следует задать 0.

  • <pass> fsck читает значение <pass> и определяет, в каком порядке должны быть проверены файловые системы. Возможные значения 0, 1, или 2. Файловая система root должна иметь наивысший приоритет, 1, все остальные файловые системы которые будут проверятся должны получить 2. Файловые систему с значением 0 в <pass> не будут проверяться утилитой fsck.

Beta features and releases

  • Documentation on handling of NTFS features in NTFS-3G, including:
    • Symlinks, junctions, and other reparse points
    • Extended attributes (xattrs) as an interface for ADS streams and special NTFS attributes
    • Security and permission, including POSIX mapping and ACL mapping
  • Advanced releases containing features not yet cleared for release by Tuxera, but table enough to pass the full test suite. Available as AUR.
  • Plugins for parsing special reparse points.

Information provided in the documentation apply to the Tuxera version (2017.3.23) too. The system-compression and dedupe plugins work with the Tuxera version, but the onedrive plugin requires a tweak of the plugin-loading system only available in advanced releases.

Field definitions

/etc/fstab contains the following fields separated by a space or tab:

<file system>   <dir>   <type>  <options>       <dump>  <pass>
  • <file systems> — defines the storage device (i.e. /dev/sda1).

  • <dir> — tells the mount command where it should mount the <file system> to.

  • <type> — defines the file system type of the device or partition to be mounted. Many different file systems are supported. Some examples are: ext2, ext3, reiserfs, xfs, jfs, smbfs, iso9660, vfat, ntfs, swap, and auto. The ‘auto’ type lets the mount command to attempt to guess what type of file system is used, this is useful for removable devices such as CDs and DVDs.

  • <options> — define particular options for filesystems. Some options relate only to the filesystem itself. Some of the more common options are:

    • auto — file system will mount automatically at boot, or when the command ‘mount -a’ is issued.

    • noauto — the filesystem is mounted only when you tell it to.

    • exec — allow the execution binaries that are on that partition (default).

    • noexec — do not allow binaries to be executed on the filesystem.

    • ro — mount the filesystem read only.

    • rw — mount the filesystem read-write.

    • sync — I/O should be done synchronously.

    • async — I/O should be done asynchronously.

    • flush — specific option for FAT to flush data more often, thus making copy dialogs or progress bars to stays up until things are on the disk.

    • user — permit any user to mount the filesystem (implies noexec,nosuid,nodev unless overridden).

    • nouser — only allow root to mount the filesystem (default).

    • defaults — default mount settings (equivalent to rw,suid,dev,exec,auto,nouser,async).

    • suid — allow the operation of suid, and sgid bits. They are mostly used to allow users on a computer system to execute binary executables with temporarily elevated privileges in order to perform a specific task.

    • nosuid — block the operation of suid, and sgid bits.

    • noatime — do not update inode access times on the filesystem. Can help performance.

    • nodiratime — do not update directory inode access times on the filesystem. Can help performance. You do not need to enable this flag if you have already enabled noatime.

    • relatime — update inode access times relative to modify or change time. Access time is only updated if the previous access time was earlier than the current modify or change time (similar to noatime, but doesn’t break mutt or other applications that need to know if a file has been read since the last time it was modified). Can help performance.

  • <dump> — is used by the dump utility to decide when to make a backup. When installed, dump checks the entry and uses the number to decide if a file system should be backed up. Possible entries are 0 and 1. If 0, dump will ignore the file system, if 1, dump will make a backup. Most users will not have dump installed, so they should put 0 for the <dump> entry.

  • <pass> fsck reads the <pass> number and determines in which order the file systems should be checked. Possible entries are 0, 1, and 2. The root file system should have the highest priority, 1, all other file systems you want to have checked should get a 2. File systems with a <pass> value 0 will not be checked by the fsck utility.

Примеры

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

Пример обычного[что?] файла fstab:

# <device-spec>        <mount-point> <fs-type> <options>          <dump> <pass>
none                   /dev/pts      devpts    defaults            0      0
none                   /dev/shm      tmpfs     defaults            0      0

/dev/cdrom             /mnt/cd   iso9660   ro,user,noauto,unhide   0      0
/dev/dvd               /mnt/dvd  udf       ro,user,noauto,unhide   0      0
/dev/fd0               /mnt/fl   auto      user,noauto             0      0

/dev/hda1              swap       swap      defaults               0      0
/dev/hda4              /          ext3      defaults               0      1
/dev/hda3              /home      xfs       rw,suid,exec,auto,nouser,async 0      2

Пример типового файла fstab в FreeBSD:

# Device Mountpoint FStype Options Dump Pass#
/dev/ad0s1b none swap sw 0 0
/dev/ad0s1a /    ufs  ro 1 1
/dev/ad0s1e /tmp ufs  rw 2 2
/dev/ad0s1f /usr ufs  rw 2 2
/dev/ad0s1d /var ufs  rw 2 2 

Автоматическое монтирование в systemd

Система инициализации Systemd разбирает /etc/fstab при загрузке и автоматически генерирует все нужные файлы юнитов на основе описанных там крапинок монтирования, а уже потом их загружает. Вы можете посмотреть все созданные в systemd точки монтирования подобной командой:

Но нам ничего не мешает самим создать такой файл крапинки монтирования. Например, для той же домашней папки автоматическое монтирование fstab будет выглядеть вот так, имя непременно должно состоять из точки монтирования (Монтирование файловой системы Каскадно-объединённое монтирование Монтировка Установка), в которой слеши заменены на дефис:

Как уже упоминалось реке, в файловой структуре Linux можно монти-ровать разделы, используемые операционной системой MS-DOS. Случится это так же, как при монтировании любой файловой системы Linux. Нужно только указать тип раздела — msdos. Возможно, будет удобнее, если система будет автоматически монтировать разделы MS-DOS при пуске системы Linux.

Для этого нужно ввести в файл /etc/fstab запись для любого монтируемого раздела MS-DOS. Укажите имя устройства для раздела и имя каталога, в котором он должен устанавливаться. Логичный выбор — каталог /mnt/dos (убедитесь, что каталог dos в /mnt уже создан). В качестве типа файловой системы заведите msdos. В следующем примере показана стандартная строка файла /etc/fstab для раздела MS-DOS

Адресуете внимание на то, что эта запись является последней в приведенном выше файле /etc/fstab

Разоблачил, для которого в файле /etc/fstab есть запись, можно монтировать только в каталоге, подтвержденном в этой записи. Имя файла (именованная область данных на носителе информации) устройства вводить не нужно. Программа mount найдет запись, подходящую этому разделу, в файле fstab (по имени каталога) и таким образом определит имя приборы. Например, чтобы демонтировать DOS-раздел /dev/hda1 в предыдущем примере, команде mount нужно показать только каталог, в котором он смонтирован. В данном случае это /mnt/dos.

Если файл /etc/fstab порван — скажем, вы случайно удалили или изменили строку — система загрузится в режиме сопровождения и даст вам доступ к разделам только для чтения. Чтобы получить доступ на чтение и запись и отремонтировать файл fstab, необходимо перемонтировать основной раздел. Эту операцию выполняет следующая бригада:

Приведенный здесь в качестве примера файл /etc/fstab можно утилизировать как руководство по формированию записей. Особенно важны элементы, соответствующие разделам /ргос и swap.

Подготовка для постоянных именований

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

$ ls -lR /dev/disk

также есть более удобная команда blkid (которая находится в /sbin, но не требует привилегий root) дающая более удобный вывод:

$ /sbin/blkid
/dev/sda1: LABEL=Root UUID="87f2b245-6ab3-4021-bf07-d069b4d387a1" TYPE="ext3"
/dev/sda2: TYPE="swap"
/dev/sda3: LABEL=Home UUID="a6f7a63f-71ac-4361-b49a-39d62b06f18a" TYPE="ext3"

Как видно, раздел swap здесь не имеет UUID или label; инсталлер Debian Lenny использует версию partman которая не делает раздел swap. Тем не менее, разделу подкачки может быть дано «постоянное имя» через mkswap.

Назначение постоянных имен для раздела Swap

Сначала, необходимо чётко убедиться в том, что раздел подкачки определён верно (см. /proc/swaps)! Затем (от имени суперпользователя — root) отмонтировать существующий раздел подкачки, пересоздать его (тут можно добавить также и метку), и вновь примонтировать/запустить, примерно таким образом:

# swapoff /dev/sda2
# mkswap -L Swap /dev/sda2
Setting up swapspace version 1, size = 1998737 kB
LABEL=Swap, UUID=7cdfeb21-613b-4588-abb5-9d4049854e9a
# swapon /dev/sda2

Результат можно проверить от имени обычного пользователя:

$ /sbin/blkid
/dev/sda1: LABEL=Root UUID="87f2b245-6ab3-4021-bf07-d069b4d387a1" TYPE="ext3"
/dev/sda2: LABEL=Swap UUID="7cdfeb21-613b-4588-abb5-9d4049854e9a" TYPE="swap"
/dev/sda3: LABEL=Home UUID="a6f7a63f-71ac-4361-b49a-39d62b06f18a" TYPE="ext3"
$ free
             total       used       free     shared    buffers     cached
Mem:      33017956     298700   32719256          0      17060     148668
-/+ buffers/cache:     132972   32884984
Swap:      1951888          0    1951888

Определение файловой системы

Конкретное место расположения файловой системы может быть определено различными способами. В файле можно указать имя файла устройства, его метку или UUID (в том числе GPT-метку и GPT-UUID для дисков GPT). Определение по UUID является наиболее предпочтительным способом. Подробнее об этом вы можете узнать на странице Persistent block device naming.

Далее приведены примеры определений файловых систем с использованием каждого из способов. Вывод and для этих примеров вы можете найти на странице Persistent block device naming.

Примечание: Рекомендуем вам прочесть статью Persistent block device naming перед тем, как продолжить.

По именам устройств

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

/etc/fstab
# <file system> <dir> <type> <options>                                                                                            <dump> <pass>
/dev/sda1       /boot vfat   rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=utf-8,shortname=mixed,errors=remount-ro 0      2
/dev/sda2       /     ext4   rw,relatime,discard,data=ordered                                                                     0      1
/dev/sda3       /home ext4   rw,relatime,discard,data=ordered                                                                     0      2
/dev/sda4       none  swap   defaults                                                                                             0      0

По меткам

Запустите , чтобы отобразить список разделов. Укажите метки из столбца с префиксом :

/etc/fstab
# <file system> <dir> <type> <options>                                                                                            <dump> <pass>
LABEL=EFI       /boot vfat   rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=utf-8,shortname=mixed,errors=remount-ro 0      2
LABEL=SYSTEM    /     ext4   rw,relatime,discard,data=ordered                                                                     0      1
LABEL=DATA      /home ext4   rw,relatime,discard,data=ordered                                                                     0      2
LABEL=SWAP      none  swap   defaults                                                                                             0      0

Примечание: Если какое-нибудь из полей содержит пробелы, прочитайте в разделе о том, как правильно их указывать.

По UUID

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

/etc/fstab
# <file system>                           <dir> <type> <options>                                                                                            <dump> <pass>
UUID=CBB6-24F2                            /boot vfat   rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=utf-8,shortname=mixed,errors=remount-ro 0      2
UUID=0a3407de-014b-458b-b5c1-848e92a327a3 /     ext4   rw,relatime,discard,data=ordered                                                                     0      1
UUID=b411dc99-f0a0-4c87-9e05-184977be8539 /home ext4   rw,relatime,discard,data=ordered                                                                     0      2
UUID=f9fe0b69-a280-415d-a03a-a32752370dee none  swap   defaults                                                                                             0      0

Совет: Если вы хотите отобразить только UUID конкретного раздела, используйте команду .

По меткам GPT

Запустите чтобы отобразить список разделов. Укажите значения без кавычек:

/etc/fstab
# <file system>                      <dir> <type> <options>                                                                                            <dump> <pass>
PARTLABEL=EFI\040SYSTEM\040PARTITION /boot vfat   rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=utf-8,shortname=mixed,errors=remount-ro 0      2
PARTLABEL=GNU/LINUX                  /     ext4   rw,relatime,discard,data=ordered                                                                     0      1
PARTLABEL=HOME                       /home ext4   rw,relatime,discard,data=ordered                                                                     0      2
PARTLABEL=SWAP                       none  swap   defaults                                                                                             0      0

Примечание: Если какое-нибудь из полей содержит пробелы, прочитайте в разделе о том, как их правильно указать.

По UUID GPT

Запустите чтобы отобразить список разделов. Укажите значения без кавычек:

/etc/fstab
# <file system>                               <dir> <type> <options>                                                                                            <dump> <pass>
PARTUUID=d0d0d110-0a71-4ed6-936a-304969ea36af /boot vfat   rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=utf-8,shortname=mixed,errors=remount-ro 0      2
PARTUUID=98a81274-10f7-40db-872a-03df048df366 /     ext4   rw,relatime,discard,data=ordered                                                                     0      1
PARTUUID=7280201c-fc5d-40f2-a9b2-466611d3d49e /home ext4   rw,relatime,discard,data=ordered                                                                     0      2
PARTUUID=039b6c1c-7553-4455-9537-1befbc9fbc5b none  swap   defaults                                                                                             0      0

Using Persistent Naming

Having chosen which naming method you’d like to use, let’s now enable persistent naming for your system:

In fstab

Enabling persistent naming in /etc/fstab is easy; for each filesystem in your fstab file, just replace the device name in the first column (where it says something like /dev/sda7) with the new persistent name. This can be achieved by substituting in the appropriate path under /dev/disk, such as:

/dev/disk/by-label/home

or

/dev/disk/by-uuid/31f8eb0d-612b-4805-835e-0e6d8b8c5591

However, instead of giving an explicit /dev/disk path, the method usually recommended is to indicate how the filesystem is to be mounted by writing LABEL=<label> or UUID=<uuid> — for example:

LABEL=home

or

UUID=31f8eb0d-612b-4805-835e-0e6d8b8c5591

CategorySystemAdministration | CategoryRedundant: merge with fstab. Maybe rather with udev? at least partially? | CategoryStorage

Как подключить дополнительный диск в Linux (создание таблицы разделов, разметка, форматирование и монтирование)

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

В нашем примере к виртуальной машине (на базе гипервизора Microsoft Hyper-V) с ОС Ubuntu Linux 14.04 LTS подключается дополнительный диск. Для виртуальной машины Hyper-V второго поколения (Gen2) это можно сделать «на горячую»,
то есть не останавливая гостевую ОС и не выключая виртуальную машину.

Монтирование разделов диска

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

Создаём каталог, в который будем монтировать новый раздел и сразу монтируем его:

sudo mkdir /mnt/backup

sudo mount /dev/sdd1 /mnt/backup</code>

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

sudo touch /mnt/backup/write-test.txt
sudo rm /mnt/backup/write-test.txt

Выясним идентификатор раздела (UUID), чтобы использовать его для настройки автоматического монтирования:

sudo blkid /dev/sdd1

Чтобы монтирование диска происходило автоматически при каждой загрузке системы внесём изменения в системный конфигурационный файл fstab.

sudo nano /etc/fstab

Добавим в конец файла строку монтирования нашего раздела:

/etc/fstab
...
# mount backup disk /dev/sdd1 on /mnt/backup
UUID=93bf0582-e787-4f4e-a529-0198753c614f mntbackup ext4 defaults  2

После сохранения конфигурационного файла проверяем, что команда обработки файла fstab утилитой mount выполняется без ошибок

sudo mount -a

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

Дополнительные источники информации

  • Gnu.org — Using Parted
  • FOSSBook от alv’а — Linux: разметка диска с помощью утилиты parted
  • Ubuntu Community Help Wiki — InstallingANewHardDrive
  • Ubuntu Community Help Wiki — Файл fstab
  • AskUbuntu.com — Terminal method of formatting storage drive
  • SysAdmins Location — Parted: The resulting partition is not properly aligned for best performance
  • Блог IT-KB — Настройка прокси сервера Squid 3.3 на Ubuntu Server 14.04 LTS. Часть 2. Настройка диска для кэша Squid

Автор первичной редакции:Алексей Максимов
Время публикации: 27.03.2016 18:28

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector