Автоматическое монтирование /etc/fstab


Монтирование устройства (logical volume или диска) выполняется командой mount с указанием имени устройства и точки в файловой системе, а также дополнительных опций. Автоматическое монтирование дисков Linux (или разделов) выполняется в файле /etc/fstab.

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



Устройства монтируются следующим образом:

mount /dev/vdc /mnt/sdb

/dev/vdc — устройство, все доступные можно увидеть выполнив fdisk -l

/mnt/sdb — абсолютный путь к пустому каталогу



Таким же образом монтируется устройство в корень сервера, устройством обычно является /dev/vda, после выполнения mount текущее состояние можно посмотреть выполнив df -h

df -h

Filesystem Size Used Avail Use% Mounted on
udev 2,0G 4,0K 2,0G 1% /dev
tmpfs 400M 444K 400M 1% /run
/dev/vda 4,8G 2,8G 1,8G 62% /
/dev/vdc 4,8G 4,7G 0G 1% /mnt/sdb


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



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



Автоматическое монтирование дисков в /etc/fstab


В /etc/fstab указывается имя устройства, точка монтирования раздела и тип файловой системы. Внесение изменений в файл обеспечивает автоматическое монтирование.

mcedit /etc/fstab


/dev/vda      /       ext4      noatime,errors=remount-ro 0 1

/dev/vdc     /mnt/sdb    ext4    default        0 1



Первая строка существовала ранее, за счет нее монтируется устройство в корень, вторая добавлена для /dev/vdc.

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



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

mount -a


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


Автоматическое монтирование дисков в случае если их больше двух лучше выполнять по LABEL или UUID потому, что имена устройств могут меняться местами.



Т.е. в выводе команды blkid можно посмотреть один из двух уникальных идентификаторов и использовать в /etc/fstab его вместо /dev/vdc


blkid

/dev/loop0: UUID="602f7c0b-9a0b-4cd7-a7bb-715cb6f3d4d5" TYPE="ext4" 
/dev/vda: LABEL="rootfs" UUID="3a626376-4af3-4344-8013-155f67392c65" TYPE="ext4"
/dev/vdc: LABEL="3.13.0-100-generic" TYPE="iso9660"


LABEL можно задать вручную выполнив e2label /dev/vda

Читайте также про монтирование с ключем --bind и типы файловых систем

В случае если система представляет собой контейнер (Docker, LXC) — файла /etc/fstab может не быть или в нем может быть сообщение о том что файл не используется


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


На скриншоте приведен пример /etc/fstab для контейнера. При таких конфигурациях используется системный /etc/fstab

Сказать спасибо