Файл fstab Сравнение версий

Различия

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

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:fstab [2012/11/21 17:33]
[btrfs] +
wiki:fstab [2020/01/30 01:02] (текущий)
[btrfs]
Строка 20: Строка 20:
 # Windows disc (NTFS) D:\ # Windows disc (NTFS) D:\
 /dev/sda4 /​media/​BA1AF3B41AF36C2F ntfs-3g rw,​nosuid,​nodev,​allow_other,​default_permissions,​blksize=4096 0 0 /dev/sda4 /​media/​BA1AF3B41AF36C2F ntfs-3g rw,​nosuid,​nodev,​allow_other,​default_permissions,​blksize=4096 0 0
 +#/dev/sdb1
 +UUID=54AE4096AE407292 ​          /​mnt/​backup ​    ​ntfs-3g ​        ​defaults,​windows_names,​locale=en_US.utf8 0 0
 </​file>​ </​file>​
  
 Строки файла содержат следующие поля: Строки файла содержат следующие поля:
   * Что монтируем — некоторое **блочное устройство**,​ которое должно быть [[монтирование_разделов|примонтировано]]   * Что монтируем — некоторое **блочное устройство**,​ которое должно быть [[монтирование_разделов|примонтировано]]
-  * Куда монтируем — **точка монтирования** +  * Куда монтируем — **точка монтирования** ​- путь в корневой файловой системе к каталогу в который будет смонтировано устройство 
-  * Тип файловой системы монтируемого раздела +  * Тип ​**файловой системы** монтируемого раздела 
-  * Опции ​для файловой системы+  * Опции ​монтирования файловой системы
   * Индикатор необходимости делать резервную копию (как правило не используется и равно 0)    * Индикатор необходимости делать резервную копию (как правило не используется и равно 0) 
   * Порядок проверки раздела (0- не проверять,​ 1 - устанавливается для корня, 2 - для остальных разделов). ​   * Порядок проверки раздела (0- не проверять,​ 1 - устанавливается для корня, 2 - для остальных разделов). ​
-<note important>​Поля в файле fstab отделяются друг от друга пробелами. Строки,​ начинающиеся с символа #, являются комментариями. Пустые строки игнорируются. В конце файла требуется одна пустая строка.</​note>​+<note important>​Поля в файле fstab отделяются друг от друга пробелами ​или знаками табуляция (произвольным количеством - любой набор пробелов и табуляций считается просто разделителем между двумя полями). Значения в списке опций разделяются запятыми **без пробелов**. Если опций нет, то указывается специальная опция defaults (указывать defaults вместе с другими опциями не нужно). Строки,​ начинающиеся с символа #, являются комментариями. Пустые строки игнорируются. В конце файла требуется одна пустая строка.</​note>​
  
  
 ==== Блочное устройство ==== ==== Блочное устройство ====
-То, что нужно смонтировать. Это может быть файл-образ,​ раздел диска или диск целиком. С файлами-образами всё вполне очевидно — нужно указать путь к файлу. С дисками и их разделами интереснее. Они числятся в системе как, например,​ /dev/sda или /dev/hdc1, но обратиться к ним можно и по другим адресам,​ вот они:+То, что нужно смонтировать. Это может быть файл-образ,​ раздел диска или диск целиком. С файлами-образами всё вполне очевидно — нужно указать путь к файлу. С дисками и их разделами интереснее. Они числятся в системе как, например,​ /​dev/​sda ​(диск целиком) ​или /​dev/​hdc1 ​(раздел диска), но монтировать разделы встроенного диска стоит по UUID. Это позволит правильно монтировать разделы даже если они поменяют свой порядокнапример, при добавлении новых разделов или подключении новых дисков. Например,​ добавление раздела перед /​dev/​sda6 ​может превратить его в /dev/sda7. А добавление ​нового диска может превратить /dev/sdb в /dev/sdc, соответственно раздел /dev/sdb1 станет /dev/sdc1. Но во всех приведенных примерах UUID раздела не изменится. 
 + 
 +Узнать UUID раздела можно из вывода команды  
 +  blkid 
 + 
 +Кроме UUID монтировать можно еще ​и по другим адресам ​устройств, вот они:
 <​code>​ls -Rhal /​dev/​disk/​by-*</​code>​ <​code>​ls -Rhal /​dev/​disk/​by-*</​code>​
 +
 Эти адреса являются ссылками на те же /dev/sd*. Эти адреса являются ссылками на те же /dev/sd*.
-Монтировать корневой раздел и другие разделы встроенного диска стоит по UUID (это позволит правильно монтировать разделы даже если они поменяют свой порядок на диске. Например,​ добавление раздела перед /dev/sda6 может превратить его в /dev/sda7, но UUID его не изменится.+
 Для флешки (если вы хотите прописать ее монтирование в fstab, а не пользоваться автоматическим монтированием) удобнее использовать адрес из ''​by-id''​ (название),​ для iSCSI-тома — ''​by-path''​ (используется сетевой адрес и название "​цели"​). Для флешки (если вы хотите прописать ее монтирование в fstab, а не пользоваться автоматическим монтированием) удобнее использовать адрес из ''​by-id''​ (название),​ для iSCSI-тома — ''​by-path''​ (используется сетевой адрес и название "​цели"​).
 ==== Точка монтирования ==== ==== Точка монтирования ====
-Каталог,​ в который монтируется файловая система,​ к примеру /​media/​disc. Крайне желательно,​ чтобы он был пустым. Монтировать в непустой каталог можно только тогда, когда точно знаешь, что делаешь. +Каталог,​ в который монтируется файловая система,​ к примеру /​media/​disc. Крайне желательно,​ чтобы он был пустым. Монтировать в непустой каталог ​тоже ​можно, но при этом вы заблокируете доступ ко всему содержимому ​каталога, ведь после монтирование содержимым каталога будет содержимое той файловой системы что была смонтирована
-===== Примеры монтирования разделов ===== +==== Файловая система ​==== 
-<​note ​important>​Примеры монтирования разделов рассмотрены в соответствующей [[монтирование_разделов|статье]]+Обычно что-то из следующего:​  
 +  * [[ext4]]  
 +  * [[swap]] (раздел подкачки) 
 +  * [[btrfs]] (B-tree file system), 
 +  * [[wpru>​XFS|xfs]] 
 +  * jfs 
 +  * ext3 
 +  * ext2 
 +  * hfsplus (Apple HFS) 
 +  * ntfs-3g (Microsoft NTFS) 
 +  * vfat (Microsoft FAT16, FAT32) 
 +  * iso9660 (CD/DVD диски) 
 +  * udf (съёмные носители). 
 +<​note>​Примеры монтирования разделов рассмотрены в соответствующей [[монтирование_разделов|статье]]
 </​note>​ </​note>​
-===== Обозначения файловых систем ===== 
-  * **Обозначения файловых систем (наиболее часто используемые):​** 
- 
-^ Обозначение в /etc/fstab ^ Тип файловой системы^ 
-| vfat | Microsoft FAT16, FAT32 | 
-| ntfs-3g | Microsoft NTFS | 
-| ext2 | Ext2 | 
-| ext3 | Ext3 | 
-| ext4 | [[Ext4]] | 
-| xfs | XFS | 
-| jfs | JFS | 
-| btrfs | Btrfs (B-tree file system) | 
-| swap  | [[swap|Раздел подкачки]] | 
-| iso9660 | CD/DVD диски | 
-| udf | UDF, съёмные носители | 
-| auto | Floppy дисковод | 
-| hfsplus | Apple HFS | 
  
 =====Опции файловых систем===== =====Опции файловых систем=====
Строка 95: Строка 99:
 |users|Разрешает монтирование от лица любого пользователя. Эта опция подразумевает параметры nosuid, noexec и nodev (за исключением случаев,​ когда пересекается с последующими опциями,​ такими как users, exec, owner, suid и dev).| |users|Разрешает монтирование от лица любого пользователя. Эта опция подразумевает параметры nosuid, noexec и nodev (за исключением случаев,​ когда пересекается с последующими опциями,​ такими как users, exec, owner, suid и dev).|
  
-====adfs (ОС Microsoft Server)==== 
-^Опции для файловой системы adfs (ОС Microsoft Server)^^ 
-|uid=\\ gid=|Идентификаторы пользователя и группы. По умолчанию uid=gid=0.| 
-|ownmask=\\ othmask=|Устанавливает маску для установок прав доступа владельца и остальных пользователей,​ соответственно. (По умолчанию 0700 и 0077, соответственно).| 
  
-====affs (ОС AmigaFFS)==== 
-^Опции для файловой системы affs (ОС AmigaFFS)^^ 
-|uid=\\ gid=|Идентификаторы пользователя и группы. По умолчанию uid=gid=0, но допускаются uid или gid без определенного значения,​ в таком случае принимаются uid и gid текущего процесса).| 
-|setuid=\\ setgid=|Устанавливают пользователя и группу для всех файлов.| 
-|setuid=\\ setgid=|Устанавливают пользователя и группу для всех файлов.| 
-|mode=\\ setgid=|Устанавливает значение кода доступа как значение mode и 0777 независимо от первоначального значения кода доступа. Дополнительно ищет коды доступа в папках,​ доступных для чтения. Значение указывается в восьмеричном виде.| 
-|protect|Запрещает любые изменения защищённых битов файловой системы| 
-|fmask=xxxx|Устанавливает маску для установок прав доступа групп к файлам. Значение указывается в восьмеричном виде.| 
-|dmask=xxxx|Устанавливает маску (образец) для установок прав доступа групп к директориям (папкам). Значение указывается в восьмеричном виде.| 
-|umask=xxx|Устанавливает маску (образец) для установок прав доступа групп к файлам и директориям (папкам). Значение указывается в восьмеричном виде.| 
-|uid=xxxx|Идентификатор пользователя| 
-|iocharset=utf8|Добавляет поддержку кодировок в названиях файлов и директорий. Применяется при необходимости.| 
-|errors=remount-ro |При ошибке перемонтировать с параметром только для чтения (ro).| 
-|data=writeback\\ data=ordered\\ data=journal|Указываем тип журналирования:​\\ writeback - журналируются только метаданные,​ максимальная производительность. Возможно повреждение данных.\\ ordered - тоже что и writeback, но без повреждения данных. Медленнее.\\ journal - полное журналирование файловой системы. Самый медленный. Максимальный уровень сохранности информации при сбое.| 
-|quiet|система не показывает ошибки когда мы попытаемся изменить параметры настройки файла, не поддерживает VAT | 
-|showexec|Все исполняемые файлы Windows (.exe/.com и тд.) получат возможность запуска ( тоже что и  ''​chmod 770''​ ).| 
  
 ====NTFS==== ====NTFS====
Строка 127: Строка 111:
  
 ====btrfs==== ====btrfs====
-<note warning>​Все опции ради совместимости и отсутствия проблем применяются при вынесеном на отдельный раздел /boot и ядром 3.0+</​note>​ 
 ^Опции для файловой системы btrfs^^ ^Опции для файловой системы btrfs^^
 +|subvol=subvolume_name|Монтирует корень указанного подраздела subvolume_name,​ где subvolume_name - путь к нему в корне btrfs.|
 +|subvolid=subvolume_ID|Монтирует корень указанного подраздела subvolume_ID,​ где subvolume_ID - идентификатор подраздела.|
 |autodefrag|Дефрагментация на "​лету",​ не применять для SSD| |autodefrag|Дефрагментация на "​лету",​ не применять для SSD|
 |noacl| Отключить контроль доступа к файлам (права)| |noacl| Отключить контроль доступа к файлам (права)|
 ^compression^^ ^compression^^
 |compress=zlib|Включение прозрачного сжатия с алгоритмом gzip (медленнее lzo, но лучше сжимает)| |compress=zlib|Включение прозрачного сжатия с алгоритмом gzip (медленнее lzo, но лучше сжимает)|
-|compress=lzo|Включает алгоритм прозрачного сжатия lzo (быстрее gzip, немного хуже сжимает), граб не умеет грузится с lzo. [[http://​www.phoronix.com/​scan.php?​page=article&​item=btrfs_lzo_2638&​num=2|Btrfs LZO Compression Performance]].|+|compress=lzo|Включает алгоритм прозрачного сжатия lzo (быстрее gzip, немного хуже сжимает) [[http://​www.phoronix.com/​scan.php?​page=article&​item=btrfs_lzo_2638&​num=2|Btrfs LZO Compression Performance]].| 
 +|compress=zstd|(>​5,​14)Включает алгоритм прозрачного сжатия zstd (настраиваемый уровень сжатия) [[https://​ru.wikipedia.org/​wiki/​Zstandard|wiki о zstd]].|
 |compress=no|Без компрессии с версии ядра 3.6| |compress=no|Без компрессии с версии ядра 3.6|
-|compress-force|Применяется ​вместо compress, опция force позволяет выполнять компрессию файлов,​ которые обычно имеют низкий коэффициент сжатия (таких,​ как сжатые аудио или видео форматы).|+|compress-force=...|Применяется ​аналогично compress, опция force позволяет выполнять компрессию файлов,​ которые обычно имеют низкий коэффициент сжатия (таких,​ как сжатые аудио или видео форматы).|
 ^cache^^ ^cache^^
 |inode_cache| (>3,0) Включить кэширование inode. Эта опция может замедлить работу системы при первом запуске.| |inode_cache| (>3,0) Включить кэширование inode. Эта опция может замедлить работу системы при первом запуске.|
Строка 141: Строка 127:
 |clear_cache|(>​2.6.37) Очищает весь кеш свободного места, после монтирования. Это безопасная опция, но вызывает пересоздание кеша.| |clear_cache|(>​2.6.37) Очищает весь кеш свободного места, после монтирования. Это безопасная опция, но вызывает пересоздание кеша.|
 |nospace_cache|(>​3.2) выключает space_cache| |nospace_cache|(>​3.2) выключает space_cache|
-^^ +^другие ^^
-|subvol=name_subvolume|"​Подразделы" FIXME|+
 |skip_balance|(>​3.3)Пропускает автоматическую балансировку после монтирования или неправильного выключения.| |skip_balance|(>​3.3)Пропускает автоматическую балансировку после монтирования или неправильного выключения.|
 |nodatasum|Не высчитывать хэш-сумму,​ для новых файлов. Некоторый мусор и ошибки могут быть не замечены,​ но позволяет ускорить работу с FS. На большинстве современных CPU не даст ощутимого прироста к производительности.| |nodatasum|Не высчитывать хэш-сумму,​ для новых файлов. Некоторый мусор и ошибки могут быть не замечены,​ но позволяет ускорить работу с FS. На большинстве современных CPU не даст ощутимого прироста к производительности.|
 ^SSD^^ ^SSD^^
 |ssd|Включает некоторые оптимизации для SSD в Btrfs. Минимизируется количество записей,​ отключается последовательная запись файлов. Эта опция включается автоматически,​ если вращение диска = 0. Не влечет за собой включения параметров TRIM/​discard.| |ssd|Включает некоторые оптимизации для SSD в Btrfs. Минимизируется количество записей,​ отключается последовательная запись файлов. Эта опция включается автоматически,​ если вращение диска = 0. Не влечет за собой включения параметров TRIM/​discard.|
-|ssd_spread|Монтирование с -o ssd_spread вынуждает драйвер использовать для записи преимущественно не занятые области жёсткого диска, что специально вызывает сильную фрагментацию. Может значительно ускорить недорогие SSD. (Переводит систему в режим "​лого-структурированной FS")|+|ssd_spread|Монтирование с -o ssd_spread вынуждает драйвер использовать для записи преимущественно не занятые области жёсткого диска, что специально вызывает сильную фрагментацию. Может значительно ускорить недорогие SSD.|
 ^recovery and debug^^ ^recovery and debug^^
 |recovery|(>​3.2)Включает автовосстановление после монтирования,​ на данный момент сканирует старые списки корней и деревьев,​ которые можно прочесть. Информация о корнях деревьев сохраняется с версии ядра > 3.2, старые ядра не смогут использовать режим восстановления. //​Практика показала что оно работает,​ но нужно иметь снимки файловой системы и оно просто вытаскивает списки корней и деревьев из снимков если таковые имеются//​| |recovery|(>​3.2)Включает автовосстановление после монтирования,​ на данный момент сканирует старые списки корней и деревьев,​ которые можно прочесть. Информация о корнях деревьев сохраняется с версии ядра > 3.2, старые ядра не смогут использовать режим восстановления. //​Практика показала что оно работает,​ но нужно иметь снимки файловой системы и оно просто вытаскивает списки корней и деревьев из снимков если таковые имеются//​|
-|degraded|Используйте это, если у вас есть несколько устройств в объеме Btrfs и одно из них не монтируется. Это позволит вам по-прежнему монтировать файловую систему,​ даже если неисправное устройство выдаёт ошибки.|+|degraded|Используйте это, если у вас есть несколько устройств в объеме Btrfs (одна из RAID конфигураций или несколько дисков в Single или DUP режиме) ​и одно из них не монтируется. Это позволит вам по-прежнему монтировать файловую систему,​ даже если неисправное устройство выдаёт ошибки.|
 |enospc_debug|Используйте,​ если столкнулись с ошибкой "Не хватает места"​| |enospc_debug|Используйте,​ если столкнулись с ошибкой "Не хватает места"​|
 +
 +Актуально для выбора алгоритма сжатия (смотрите как соотносятся реализованные в BTRFS zlib/​lzo/​zstd)
 +
 +  | Метод ​  | сжатие| Скорость сжатия MB/s | Скорость разжатия ​  |
 +  |---------|-------|----------------------|---------------------|
 +  | None    |  0.99 |                  504 |                 686 |
 +  | lzo     ​| ​ 1.66 |                  398 |                 442 |
 +  | zlib    |  2.58 |                   65 |                 241 |
 +  | zstd:​1 ​ |  2.57 |                  260 |                 383 |
 +  | zstd:​3 ​ |  2.71 |                  174 |                 408 |
 +  | zstd:​6 ​ |  2.87 |                   70 |                 398 |
 +  | zstd:​9 ​ |  2.92 |                   43 |                 406 |
 +  | zstd:12 |  2.93 |                   21 |                 408 |
 +  | zstd:15 |  3.01 |                   11 |                 354 |
  
 <note important>​Опции монтирования кеша действительно ускоряют работу файловой системы,​ но она просто создаёт по большому счёту отдельный чанк с метаданными вместо того, чтобы каждый раз перемещаться по дереву для поиска файла/​папки и т.д. <note important>​Опции монтирования кеша действительно ускоряют работу файловой системы,​ но она просто создаёт по большому счёту отдельный чанк с метаданными вместо того, чтобы каждый раз перемещаться по дереву для поиска файла/​папки и т.д.
-Это значит что будет иметь место точечная перезапись,​ что при использовании ssd зло (на ssd она не даёт хоть сколько то ощутимый прирост к скорости,​ т.к. ​случайное ​время доступа очень маленькое)</​note>​+Это значит что будет иметь место точечная перезапись,​ что при использовании ssd зло (на ssd она не даёт хоть сколько то ощутимый прирост к скорости,​ т.к. время ​произвольного ​доступа очень маленькое)</​note>​
  
  --- [[user>​nefelim4ag]] //​2012/​10/​19 13:25//  --- [[user>​nefelim4ag]] //​2012/​10/​19 13:25//
-[[https://​btrfs.wiki.kernel.org/​index.php/​Mount_options ​| Больше параметров тут]]+[[https://​btrfs.wiki.kernel.org/​index.php/​Manpage/​btrfs(5)#​MOUNT_OPTIONS ​| Больше параметров тут]]
  
 [[http://​www.phoronix.com/​scan.php?​page=article&​item=linux_btrfs_options&​num=1|Testing Out The Btrfs Mount Options On Linux 3.2]] [[http://​www.phoronix.com/​scan.php?​page=article&​item=linux_btrfs_options&​num=1|Testing Out The Btrfs Mount Options On Linux 3.2]]