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

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

Все настройки показаны на примере системы CentOS 7 и пременимы к любому дистрибутиву Linux.

Открываем на редактирование следующий файл:

и добавляем в него следующую строчку:

/dev/sda1 /db xfs defaults 0 0

Где:
/dev/sda1 — диск, который мы монтируем
/db — каталог, в который монтируем диск
xfs — файловая система
defaults — стандартные опции. Полный их перечень можно посмотреть на Википеции.
0 0 — первый отключает создание резервных копий при помощи утилиты dump, второй отключает проверку диска.

Теперь создаем каталог, в который монтируем диск (в данном примере, /db):

И монтируем вручную диск, чтобы проверить правильность настроек fstab:

Должен появиться новый диск. Это можно проверить следующей командой

Пример монтирования сетевого диска

//192.168.0.1/network /mnt cifs user,rw,noauto,credentials=/root/.smbclient 0 0

* в данном примере выполняется монтировние общей папки network на сервере с IP-адресом 192.168.0.1 в каталог /mnt. В качестве сетевой файловой системы используется cifs (протокол SMB: сервер samba или общая папка Windows). Параметры для подключения — user: позволяет выполнить монтирование любому пользователю, rw: с правом на чтение и запись, noauto: не монтировать автоматически при старте системы, credentials: файл, в котором написаны логин и пароль для подключения к общей папке.

Теперь создадим файл аутентификации (credentials):

и приведем его к следующему виду:

* username: имя пользоватля, password: пароль. Само собой, в вашем случае указываются свои данные.

Теперь вводим следующую команду:

Должна примонтироваться сетевая папка //192.168.0.1/network. Это можно проверить следующей командой:

Источник

Файл fstab

Содержание

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

Пример файла fstab

Строки файла содержат следующие поля:

Блочное устройство

То, что нужно смонтировать. Это может быть файл-образ, раздел диска или диск целиком. С файлами-образами всё вполне очевидно — нужно указать путь к файлу. С дисками и их разделами интереснее. Они числятся в системе как, например, /dev/sda (диск целиком) или /dev/hdc1 (раздел диска), но монтировать разделы встроенного диска стоит по UUID. Это позволит правильно монтировать разделы даже если они поменяют свой порядок, например, при добавлении новых разделов или подключении новых дисков. Например, добавление раздела перед /dev/sda6 может превратить его в /dev/sda7. А добавление нового диска может превратить /dev/sdb в /dev/sdc, соответственно раздел /dev/sdb1 станет /dev/sdc1. Но во всех приведенных примерах UUID раздела не изменится.

Узнать UUID раздела можно из вывода команды

Кроме UUID монтировать можно еще и по другим адресам устройств, вот они:

Эти адреса являются ссылками на те же /dev/sd*.

Для флешки (если вы хотите прописать ее монтирование в fstab, а не пользоваться автоматическим монтированием) удобнее использовать адрес из by-id (название), для iSCSI-тома — by-path (используется сетевой адрес и название «цели»).

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

Каталог, в который монтируется файловая система, к примеру /media/disc. Крайне желательно, чтобы он был пустым. Монтировать в непустой каталог тоже можно, но при этом вы заблокируете доступ ко всему содержимому каталога, ведь после монтирование содержимым каталога будет содержимое той файловой системы что была смонтирована.

Файловая система

Обычно что-то из следующего:

Опции файловых систем

(указываются через запятую, без пробелов) :

Опции Описание
Общие Могут применяться к любой файловой системе (но не все файловые системы на самом деле поддерживают их) — например, опция sync сегодня имеет силу только для ext2, ext3, fat, vfat и ufs
sync / async Все операции ввода / вывода файловой системы должны выполняться синхронно/асинхронно.
atime Производить запись времени последнего доступа к файлу. Значение по умолчанию.
noatime Не обновлять время доступа к файлу (например, для быстрого доступа к новостным потокам, для ускорения серверов новостей).
relatime Обновлять время доступа только при изменении файла или изменении времени доступа. (В отличие от noatime, необходимая опция для нормальной работы, например, почтовых клиентов или других приложений, которым необходимо точное время последнего изменения файлов)
norelatime Не включать функцию relatime (например, для систем, в которых эта функция включена по умолчанию, для более подробной информации см. параметры монтирования в /proc/mounts).
strictatime Обновление времени доступа к структуре данных при изменении файлов. Отключает noatime и relatime.
nostrictatime Обновлять время доступа к структуре данных, в соответствии с настройками ядра по умолчанию.
auto / noauto При auto устройство будет устанавливаться автоматически при загрузке, или по команде mount. auto является вариантом по умолчанию. Если вы не хотите, чтобы устройство устанавливалось автоматически, используйте параметр noauto.
context=
fscontext=
defcontext=
rootcontext=
Эти опции полезны при монтировании файловой систем, которые не поддерживают дополнительные атрибуты, такие как дискеты или жесткие диски отформатирован в VFAT, или файловые системы, которые обычно не работает под SELinux (например ext3 диск отформатированный на не-SELinux рабочей станции). Вы можете также использовать *context= для файловых систем которым вы не доверяете, например на дискетах или флешках. Более подробно о контексте можно узнать прочитав о SELinux.
defaults Использовать настройки по умолчанию. Эквивалентно: rw,suid,dev,exec,auto,nouser,async.
dev / nodev Интерпретировать/не интерпретировать блок специальных устройств на файловой системе.
diratime / nodiratime Обновлять/не обновлять время доступа к каталогу структуры данных. По умолчанию установлено diratime
dirsync Изменения каталогов в файловой системе выполняются синхронно. Это относится к следующим системным командам: creat, link, unlink, symlink, mkdir, rmdir, mknod и rename.
exec / noexec exec позволяет выполнять двоичные файлы, которые находятся на этом раздел, в то время как noexec не позволяет этого делать. noexec может быть полезно для раздела, который не содержит бинарные файлы например /var, или содержит бинарные файлы которые вы не хотите выполнять на вашей системе, или которые не могут быть выполнены в вашей системе. Последнее может быть в случае Windows раздела.
group Разрешает обычным (т.е. не root) пользователям монтировать файловую систему, если одна из его групп совпадает с группой устройства. Эта опция подразумевает наличие опций nosuid и nodev (за исключением случаев, когда пересекается с последующими опциями, такими как group,dev,suid).
encryption Определяет используемый алгоритм шифрования. Используется в сочетании с опцией loop.
keybits Определяет размер ключа для используемого алгоритма шифрования. Используется в сочетании с loop и encryption.
nofail В случае отсутствия устройства не сообщать об ошибке.
iversion Номер версии структуры данных увеличивается каждый раз, когда структура данных изменяется.
noiversion Номер версии структуры данных не увеличивается при изменении структуры данных.
mand Разрешает принудительное блокирование файловой системы.
nomand Не разрешает принудительное блокирование файловой системы.
_netdev Используется для предотвращения попыток смонтировать файловые системы, подключённые к сети.
suid / nosuid Разрешает использование битовых идентификаторов пользователей или групп / Запрещает использование битовых идентификаторов пользователей или групп. (Это достаточно небезопасно, особенно, если установлен suidperl).
owner Разрешает обычному (т.е. не root) пользователю монтировать файловую систему, если он является владельцем устройства. Эта опция подразумевает параметры nosuid и nodev (за исключением случаев, когда пересекается с последующими опциями, такими как owner, suid и dev).
ro Монтировать только для чтения.
rw Монтирование файловой системы для чтения и записи.
user / nouser user — разрешает монтирование от лица обычного пользователя, по умолчанию это имеет право сделать только root. nouser — соответсвенно запрещает (является параметром по умолчанию).
users Разрешает монтирование от лица любого пользователя. Эта опция подразумевает параметры nosuid, noexec и nodev (за исключением случаев, когда пересекается с последующими опциями, такими как users, exec, owner, suid и dev).
Опции для файловой системы Microsoft NTFS
nls=utf8 Включение поддержки utf-8. Поддержка «нестандартных» символов (кирилицы) в файловой системе.
codepage=866 Включаем поддержку кириллицы в названия файлов папок для MS -DOS/fat32 разделов. Подробнее.

FAT 32

Опции для файловой системы Microsoft FAT
utf8 Включение поддержки utf-8. Поддержка «нестандартных» символов (кирилицы) в файловой системе.
codepage=866 Включаем поддержку кириллицы в названия файлов папок для MS -DOS/fat32 разделов. Подробнее.

btrfs

Опции для файловой системы btrfs
subvol=subvolume_name Монтирует корень указанного подраздела subvolume_name, где subvolume_name — путь к нему в корне btrfs.
subvolid=subvolume_ID Монтирует корень указанного подраздела subvolume_ID, где subvolume_ID — идентификатор подраздела.
autodefrag Дефрагментация на «лету», не применять для SSD
noacl Отключить контроль доступа к файлам (права)
compression
compress=zlib Включение прозрачного сжатия с алгоритмом gzip (медленнее lzo, но лучше сжимает)
compress=lzo Включает алгоритм прозрачного сжатия lzo (быстрее gzip, немного хуже сжимает) Btrfs LZO Compression Performance.
compress=zstd (>5,14)Включает алгоритм прозрачного сжатия zstd (настраиваемый уровень сжатия) wiki о zstd.
compress=no Без компрессии с версии ядра 3.6
compress-force=… Применяется аналогично compress, опция force позволяет выполнять компрессию файлов, которые обычно имеют низкий коэффициент сжатия (таких, как сжатые аудио или видео форматы).
cache
inode_cache (>3,0) Включить кэширование inode. Эта опция может замедлить работу системы при первом запуске.
space_cache Кэширование данных о свободных блоках, чтобы не искать их перед записью
clear_cache (>2.6.37) Очищает весь кеш свободного места, после монтирования. Это безопасная опция, но вызывает пересоздание кеша.
nospace_cache (>3.2) выключает space_cache
другие
skip_balance (>3.3)Пропускает автоматическую балансировку после монтирования или неправильного выключения.
nodatasum Не высчитывать хэш-сумму, для новых файлов. Некоторый мусор и ошибки могут быть не замечены, но позволяет ускорить работу с FS. На большинстве современных CPU не даст ощутимого прироста к производительности.
SSD
ssd Включает некоторые оптимизации для SSD в Btrfs. Минимизируется количество записей, отключается последовательная запись файлов. Эта опция включается автоматически, если вращение диска = 0. Не влечет за собой включения параметров TRIM/discard.
ssd_spread Монтирование с -o ssd_spread вынуждает драйвер использовать для записи преимущественно не занятые области жёсткого диска, что специально вызывает сильную фрагментацию. Может значительно ускорить недорогие SSD.
recovery and debug
recovery (>3.2)Включает автовосстановление после монтирования, на данный момент сканирует старые списки корней и деревьев, которые можно прочесть. Информация о корнях деревьев сохраняется с версии ядра > 3.2, старые ядра не смогут использовать режим восстановления. Практика показала что оно работает, но нужно иметь снимки файловой системы и оно просто вытаскивает списки корней и деревьев из снимков если таковые имеются
degraded Используйте это, если у вас есть несколько устройств в объеме Btrfs (одна из RAID конфигураций или несколько дисков в Single или DUP режиме) и одно из них не монтируется. Это позволит вам по-прежнему монтировать файловую систему, даже если неисправное устройство выдаёт ошибки.
enospc_debug Используйте, если столкнулись с ошибкой «Не хватает места»

Актуально для выбора алгоритма сжатия (смотрите как соотносятся реализованные в BTRFS zlib/lzo/zstd)

Источник

fstab (Русский)

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

Он состоит из набора определений файловых систем. Каждая файловая система занимает свою строку. Эти определения динамически преобразуются в юниты монтирования systemd во время загрузки системы. При этом производится автоматическое разрешение зависимостей: службы, которые зависят от конкретной файловой системы, запускаются только после ее монтирования, а удаленные файловые системы вроде NFS или Samba, в свою очередь, монтируются только после того, как будет установлено сетевое подключение. Таким образом, и локальные, и удаленные файловые системы, указанные в /etc/fstab , будут правильно смонтированы без дополнительной настройки. По умолчанию, при монтировании также производится запуск проверки файловой системы программой fsck. За подробной информацией обратитесь к man-странице systemd.mount(5) .

При монтировании с помощью mount fstab используется для определения точки монтирования, если указано только устройство, и наоборот. При этом параметры монтирования также берутся из fstab.

Contents

Пример файла

Простой пример /etc/fstab , в котором файловые системы заданы по именам файлов устройств:

Формат строки

Каждая строка в файле /etc/fstab содержит следующие поля, разделенные пробелами или символами табуляции:

filesystem Физическое место размещения файловой системы, по которому определяется конкретный раздел или устройство хранения для монтирования. Смотрите подробнее в разделе #Определение файловой системы. dir Точка монтирования, куда монтируется корень файловой системы. type Тип файловой системы. Поддерживается множество типов: ext2 , ext3 , ext4 , btrfs , reiserfs , xfs , jfs , smbfs , iso9660 , vfat , ntfs , swap и auto . При выборе auto команда mount попытается определить реальный тип файловой системы самостоятельно. Это полезно для компакт-дисков (CD/DVD). options Параметры монтирования файловой системы. Подробнее смотрите на mount(8) § FILESYSTEM-INDEPENDENT_MOUNT_OPTIONS . Обратите внимание, что некоторые параметры относятся к конкретным типам файловых систем. dump Используется утилитой dump для определения того, нужно ли создать резервную копию данных в файловой системе. Возможные значения: 0 или 1. Если указано число 1, dump создаст резервную копию. У большинства пользователей утилита dump не установлена, поэтому им следует указывать 0 в этом поле. pass Используется программой fsck для определения того, нужно ли проверять целостность файловой системы. Возможные значения: 0, 1 или 2. Значение 1 следует указывать только для корневой файловой системы (с точкой монтирования / ); для остальных ФС, которые вы хотите проверять, используйте значение 2, которое имеет менее высокий приоритет.Обратите внимание, что в случае btrfs следует всегда указывать 0, даже если эта файловая система используется в качестве корневой. Файловые системы, для которых в поле указано значение 0, не будут проверяться fsck.

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

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

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

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

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

По меткам

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

По UUID

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

По меткам GPT

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

По UUID GPT

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

Советы и рекомендации

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

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

При этом процедура проверки и монтирования /home будет запущена только при первой попытке доступа, и ядро будет держать в ожидании все создаваемые потоки ввода-вывода в /home , пока раздел не будет смонтирован.

Автоматическое монтирование может аналогичным образом использоваться и для монтирования удаленных файловых систем. В дополнение, вы можете использовать параметр x-systemd.device-timeout=# для указания времени ожидания удаленной файловой системы при перебоях в соединении.

Если у вас имеются зашифрованные файловые системы, вы можете также добавить параметр noauto в соответствующие записи в /etc/crypttab . Тогда systemd не будет пытаться открыть зашифрованное устройство во время загрузки системы, а сделает это при первой попытке доступа к файловой системе на этом устройстве, применив указанный файл ключа и затем автоматически смонтировав ФС. Это может дать выигрыш в несколько секунд при загрузке системы, например, если у вас зашифрованный RAID массив: systemd не придется ожидать готовности устройства. Пример записи:

Пробелы в значениях полей

Так как пробельные символы используются в fstab для разделения полей, их нельзя напрямую использовать в значениях полей. Любые пробелы в полях (например, значения PARTLABEL , LABEL или точки монтирования) должны быть заменены специальными управляющими последовательностями, которые состоят из обратной косой черты ( \ ) и трех восьмеричных цифр (например, для пробела это \040 ):

Внешние устройства

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

Параметры atime

  • Если файловая система смонтирована с параметром atime , то, когда происходит обращение к файлу, в его поле atime записывается текущее время (иными словами, время доступа). Это может быть полезно, когда Linux используется на сервере; на персональном компьютере эта функция обычно не нужна. Недостаток этой функции в том, что даже при чтении файла из кэша (в оперативной памяти) все равно производится медленная операция записи на диск. Использование параметров монтирования noatime , nodiratime или relatime может улучшить производительность доступа к данным, а также уменьшить износ твердотельных (SSD) накопителей.
  • Параметр noatime полностью отключает запись времени доступа к файлу. Большинство программ не используют это поле. Но бывают и редкие исключения — например, Mutt полагается на его значение. Для mutt вы можете использовать параметр relatime .
  • Параметр nodiratime отключает обновление времени доступа только для каталогов; для остальных файлов время atime будет обновляться всегда.
  • Параметр relatime включает обновление поля только когда содержимое файла перезаписывается (в отличие от noatime , при котором поле atime вообще не обновляется, и может становиться раньше времени изменения mtime). Использование этого параметра наиболее предпочтительно, так как программы вроде Mutt будут работать корректно, и при этом вы все равно получите достаточное улучшение производительности: при операциях чтения (как правило, гораздо более частых, чем записи) не будет производиться запись времени на диск. По умолчанию файловые системы монтируются с этим параметром.

Запись в FAT32 с правами обычного пользователя

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

Флаг user означает, что любой пользователь сможет монтировать и размонтировать раздел /dev/sdX . Параметр rw дает доступ на чтение-запись; umask убирает указанные права — например, umask=111 удаляет права на выполнение. Проблема в том, что права на «выполнение» также удаляются у каталогов, поэтому мы должны исправить это при помощи параметра dmask=000 (подробности смотрите на странице Umask).

Без этих параметров все файлы будут восприниматься исполняемыми. Вы можете использовать параметр showexec вместо umask и dmask, при которой исполняемыми будут файлы, имеющие расширения исполняемых файлов Windows (.com, .exe, .bat).

Например, если ваш раздел FAT32 на /dev/sda9 , и вы хотите смонтировать его в каталог /mnt/fat32 , то вам следует использовать запись следующего вида:

Перемонтирование корневого раздела

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

Источник

Читайте также:  Dep windows 10 отключать или нет
Оцените статью