Монтирование NFS разделов используя autofs

Из предыдущей статьи мы узнали о процессе установки и настройки NFS по разными ОС и дистрибутивами Linux. Теперь хочу немного поговорить об монтировании NFS.
Для монтирования NFS разделов можно использовать не только статическое fstab монтирование, но и автоматическое по мере нужности (по мере обращению к ресурсу). Для этого используется autofs.

Устанавливаем нужные пакеты.

root@ubuntu  ~#apt-get install autofs

Теперь нужно настроить главную таблицу назначений. В большинстве Unix систем демон automount использует три вида файлов конфигурации, которые еще называют таблицами: таблицы прямых и косвенных назначений и главную таблицу. Таблица прямых и косвенных назначений содержат информацию о файловых система, подлежащих автоматическому монтированию. Главная таблица перечисляет таблицы прямых и косвенных назначений, которые должен учесть демон automount.
Настроим главную таблицу

root@ubuntu  ~#vim /etc/auto.master
#
# Sample auto.master file
# This is an automounter map and it has the following format
# key [ -mount-options-separated-by-comma ] location
# For details of the format look at autofs(5).
#
/mnt    /etc/auto.misc

Здесь мы добавили таблицу косвенных назначений. Для папки /mnt (куда будет монтироваться NFS) была добавлена карта с настройками /etc/auto.misc.
Теперь редактируем карту косвенных назначений.

root@ubuntu  ~# vim /etc/auto.misc
...
dir2            -rw                     192.168.2.213:/home/alex/nfs_dir2

Здесь мы вписали папку (dir2) в которую будет монтироваться NFS (192.168.2.213:/home/alex/nfs_dir2) с опциями rw.
Теперь можно перезапустить autofs для применения конфигураций.

root@ubuntu  ~# /etc/init.d/autofs restart

Теперь каждый раз при обращении (открытии, добавление, удалении файлов) к папке /mnt/dir2 в фоновом режиме будет монтироваться удаленная ФС и все действия с файлами будет происходить на NFS разделе.
Это момент можно увидеть.

root@ubuntu:~# df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda1       19856260 2843968  16016196  16% /
udev              497372       4    497368   1% /dev
tmpfs             202476     320    202156   1% /run
none                5120       0      5120   0% /run/lock
none              506180       0    506180   0% /run/shm
root@ubuntu:~# ls -l /mnt/
total 0
root@ubuntu:~# ls /mnt/dir2
FILE1  file1_dir2  file2_dir2  file3_dir2
root@ubuntu:~# df
Filesystem                        1K-blocks    Used Available Use% Mounted on
/dev/sda1                          19856260 2843968  16016196  16% /
udev                                 497372       4    497368   1% /dev
tmpfs                                202476     320    202156   1% /run
none                                   5120       0      5120   0% /run/lock
none                                 506180       0    506180   0% /run/shm
192.168.2.213:/home/alex/nfs_dir2  11278848 1480960   9232000  14% /mnt/dir2

Как мы видим, сначала у нас нет смонтированной сетевой папки в выводе df ну и в самой директории /mnt нету подкаталога dir2. Но мы знаем, что там должна быть такая папка, и просто делаем лист файлов в этой папке, как будто она там есть (ls /mnt/dir2). И как видим — список файлов получен и в выводе df у нас появилась наша сетевая шара. Все дело в том, что при косвенном назначении ls не выводит никакой информации. Для того, чтобы мы все таки видели NFS подкаталоги при использовании ls и т.п. нужно использовать таблицу прямых назначений.
Для этого редактируем главную таблицу и создаем настройки прямых назначений

root@ubuntu:~# vim /etc/auto.master
#
# Sample auto.master file
# This is an automounter map and it has the following format
# key [ -mount-options-separated-by-comma ] location
# For details of the format look at autofs(5).
#
/mnt    /etc/auto.misc
# Специальный токен для прямых назначений
/-      /etc/auto.direct

root@ubuntu:~# vim /etc/auto.direct
#
# This is an automounter map and it has the following format
# key [ -mount-options-separated-by-comma ] location
# Details may be found in the autofs(5) manpage

#cd             -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom

# the following entries are samples to pique your imagination
#linux          -ro,soft,intr           ftp.example.org:/pub/linux
#boot           -fstype=ext2            :/dev/hda1
#floppy         -fstype=auto            :/dev/fd0
#floppy         -fstype=ext2            :/dev/fd0
#e2floppy       -fstype=ext2            :/dev/fd0
#jaz            -fstype=ext2            :/dev/sdc1
#removable      -fstype=ext2            :/dev/hdd
# Абсолютный путь к директории
/mnt/dir1               -rw                     192.168.2.213:/home/alex/nfs_dir1

Теперь перезагружаем autofs и смотрим список директорий в /mnt

root@ubuntu:~# /etc/init.d/autofs restart
root@ubuntu:~# df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda1       19856260 2843976  16016188  16% /
udev              497372       4    497368   1% /dev
tmpfs             202476     320    202156   1% /run
none                5120       0      5120   0% /run/lock
none              506180       0    506180   0% /run/shm
root@ubuntu:~# ls -l /mnt/
total 0
drwxr-xr-x 2 root root 0 Nov 25 05:19 dir1
root@ubuntu:~# ls -l /mnt/dir2/
total 4
-rw-r--r-- 1 root root 6 Nov 25 03:00 FILE1
-rw-r--r-- 1 root root 0 Oct 31 00:31 file1_dir2
-rw-r--r-- 1 root root 0 Oct 31 00:31 file2_dir2
-rw-r--r-- 1 root root 0 Oct 31 00:31 file3_dir2
root@ubuntu:~# ls -l /mnt/dir1/
total 4
-rw-r--r-- 1 root   root       0 Oct 31 00:31 file1_dir1
-rw-r--r-- 1 root   root       0 Oct 31 00:31 file2_dir1
-rw-r--r-- 1 root   root       0 Oct 31 00:31 file3_dir1
drwxr-xr-x 2 nobody nogroup 4096 Oct 31 00:58 New folder
root@ubuntu:~# df
Filesystem                        1K-blocks    Used Available Use% Mounted on
/dev/sda1                          19856260 2843972  16016192  16% /
udev                                 497372       4    497368   1% /dev
tmpfs                                202476     320    202156   1% /run
none                                   5120       0      5120   0% /run/lock
none                                 506180       0    506180   0% /run/shm
192.168.2.213:/home/alex/nfs_dir2  11278848 1480960   9232000  14% /mnt/dir2
192.168.2.213:/home/alex/nfs_dir1  11278848 1480960   9232000  14% /mnt/dir1

Как видим, сначала в выводе df небыло смонтированных NFS разделов, но в папке /mnt видно, то есть подкаталог указанный в таблице прямых назначений (dir1). Теперь после просмотра содержимого dir1 и dir2 у нас будут смонтированные две сетевые папки, о чем нам говорит вывод df.
Можете почитать много интересного по autofs на man странице и оффсайте.

Автор: admin, 25 ноября 2013
Рубрики: Linux
Метки: , ,
2 комментария к сообщению: “Монтирование NFS разделов используя autofs”
  1. Вот так:

    не работает

    /mnt$ cd dir2
    bash: cd: dir2: No such file or directory

    /mnt$ ls /mnt/dir2
    ls: cannot access /mnt/dir2: No such file or directory

Написать комментарий

Последние статьи

Яндекс.Метрика
?>