Ключевые слова:fstab, mount, linux, label, (найти похожие документы)
From: Gentoo Linux Wiki
Date: Sun, 16 Feb 2008 17:02:14 +0000 (UTC)
Subject: Монтирование разделов по меткам в fstab
Оригинал: http://ru.gentoo-wiki.com/Fstab
Введение
--------
/etc/fstab Конфигурационный файл с указанием партиции и ее точки
монтирования в структуре файловой системы.
Классическая схема конфигурации на основе шины описана в статье О
монтировании файловых систем
Уникальные идентификаторы
Уникальная идентификация партиции и точное указание точки монтирования
стало возможным при наличии udev и имеет некоторое превосходство над
обозначением по положению на шине ide/scsi.
Развитие Linux и udev увеличивает надежность опознания различных
устройств, но в тоже время появляются новые проблемы.
1. Если у вас больше одного sata/scsi или ide контроллера, то их
обозначение при загрузке будет случайным. В результате после
перезагрузки диск sdX может выглядеть как sdY или для ide дисков -
hdX и hdY. Уникальная идентификация позволяет забыть о подобных
мелочах.
2. Введение новой libata pata поддержки, все ваши ide hdX диски будут
видны как sdX устройства. Уникальная идентификация дисков и
партиций позволит вам безболезненный переход.
3. В компьютерах с наличием sata и ide контроллеров переход от hdX к
sdX может внести путаницу, которую можно избежать при
использовании идентификаторов.
Четыре схемы уникальной идентификации
Идентификация по UUID
UUID это сокращение от слов Universally Unique IDentifier и описывает
механизм выдачи каждой файловой системе уникального идентификатора.
Все файловые системы в линуксе, включая swap, поддерживают UUID. FAT и
NTFS не поддерживают UUID изначально, и тем не менее в линуксе им так
же назначается UUID.
ls -al /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 root root 10 2007-04-24 18:01 2f6e40d0-83b5-42dc-a102-b95bc32073dc
-> ../../sda1
lrwxrwxrwx 1 root root 10 2007-04-24 18:01 84e7c2c9-f26e-4e3f-98b8-93eec152cd5a
-> ../../hdc5
lrwxrwxrwx 1 root root 10 2007-04-24 18:01 867a5afb-f266-4a85-900f-efcc86004370
-> ../../sda3
lrwxrwxrwx 1 root root 10 2007-04-24 18:01 9542be4e-fe40-4ca9-9522-f5222d32ac84
-> ../../sdb1
lrwxrwxrwx 1 root root 10 2007-04-24 18:01 b15f438d-b4b7-4536-a8cc-46128f440c7c
-> ../../hdc6
lrwxrwxrwx 1 root root 10 2007-04-24 18:01 AF92-3DDB -> ../../sdd1
lrwxrwxrwx 1 root root 10 2007-04-24 18:01 B0JC190ODC193954 -> ../../sdd6
Как вы видите, FAT и NTFS разделы имеют укороченный идентификатор.
Для определения UUID так же можно воспользоватся командой
tune2fs -l /dev/sda1 | grep UUID
Filesystem UUID: 2f6e40d0-83b5-42dc-a102-b95bc32073dc
* Преимущества использования UUID: уникальность каждого раздела по
идентификатору позволяет избежать ошибок при монтировании.
* Недостаток использования UUID: трудно запомнить ;)
Идентификация по LABEL
Практически любой файловой системе или партиции можно присвоить LABEL
(метку)
ls -l /dev/disk/by-label/
total 0
lrwxrwxrwx 1 root root 10 2007-04-24 18:01 250gig -> ../../sdb1
lrwxrwxrwx 1 root root 10 2007-04-24 18:01 b00t -> ../../sda1
lrwxrwxrwx 1 root root 10 2007-04-24 18:01 level0 -> ../../sda3
lrwxrwxrwx 1 root root 10 2007-04-24 18:01 p2p -> ../../hdc6
lrwxrwxrwx 1 root root 10 2007-04-24 18:01 swap -> ../../hdc5
lrwxrwxrwx 1 root root 10 2007-04-24 18:01 fat -> ../../sdd1
lrwxrwxrwx 1 root root 10 2007-04-24 18:01 ntfs -> ../../sdd6
Посмотреть названия так же можно командой cfdisk /dev/sda
Для изменения label для каждой файловой системы выполните подходящие
команды:
swap: Создание новой swap партиции:
mkswap -L <label> /dev/XXX
ext2/ext3:
e2label /dev/XXX <label>
reiserfs:
reiserfstune -l <label> /dev/XXX
jfs:
jfs_tune -L <label> /dev/XXX
xfs:
xfs_admin -L <label> /dev/XXX
fat/vfat: Изменить метку диска в Windows, или при создании раздела в линуксе
mkdosfs -n <label> <other options>.
ntfs: Изменить метку диска в Windows или
ntfslabel /dev/XXX <label>
Предупреждение: Будте внимательны при обозначении партиций. LABEL
должен быть уникальным для каждого диска.
Идентификация по id
В данном случае id образуется из производственного серийного номера
вашего диска.
Идентификация по path
Создание имени по кратчайшему пути (path) в соответствии с sysfs и
содежит информацию о шине на которой расположен жесткий диск. Что не
подходит для наших целей и решения вышеобозначенных проблем. Более
подробно в статье О монтировании файловых систем
Использование уникальных идентификаторов
Я надеюсь вы уже определились какой метод вам понравился.
Использование данных методов достаточно просто.
fstab
В /etc/fstab замените обозначение диска в первой колонке на ваш
идентификатор к примеру, я закомментировал обозначение дисков по id
знаком # и записал обозначение двух партиций по разным
идентификационным схемам.
/etc/fstab
#/dev/sda1 /boot ext2 noauto,noatime 1 2
LABEL=b00t /boot ext2 noauto,noatime 1 2
#/dev/hdc5 none swap sw 0 0
UUID=84e7c2c9-f26e-4e3f-98b8-93eec152cd5a none swap sw 0 0
Так же можно заменить /dev/sda1 на /dev/disk/by-label/b00t или
/dev/disk/by-uuid/2f6e40d0-83b5-42dc-a102-b95bc32073dc
grub
Предупреждение: Данное описание -- для Arch Linux. В Gentoo надо
использовать genkernel и работает только указание корня через LABEL=
(на данный момент)
Для использования уникальных идентификаторов при загрузке необходимо:
1. Использовать mkinitcpio initramfs образ
2. Разрешить использование udev в /etc/mkinitcpio.conf
3. Пересоздать initramfs образ до перезагрузки компьютера.
Примечание: В версиях klibc-udev до 101-3 уникальное обозначение
устройств не работает
В приведенном выше примере партиция /dev/sda3 LABEL=level0 является
root партицией и в файле /boot/grub/menu.lst запись
/boot/grub/menu.lst
kernel /boot/vmlinuz26 root=/dev/sda3 vga=0x318 ro
надо поменять на
/boot/grub/menu.lst
kernel /boot/vmlinuz root=/dev/disk/by-label/level0 vga=0x318 ro
или
/boot/grub/menu.lst
kernel /boot/vmlinuz root=LABEL=level0 vga=0x318 ro