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



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

Устанавливаем нужные пакеты.
1
root@ubuntu  ~#apt-get install autofs
Теперь нужно настроить главную таблицу назначений. В большинстве Unix систем демон automount использует три вида файлов конфигурации, которые еще называют таблицами: таблицы прямых и косвенных назначений и главную таблицу. Таблица прямых и косвенных назначений содержат информацию о файловых система, подлежащих автоматическому монтированию. Главная таблица перечисляет таблицы прямых и косвенных назначений, которые должен учесть демон automount.
Настроим главную таблицу
1
2
3
4
5
6
7
8
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.
Теперь редактируем карту косвенных назначений.
1
2
3
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 для применения конфигураций.
1
root@ubuntu  ~# /etc/init.d/autofs restart
Теперь каждый раз при обращении (открытии, добавление, удалении файлов) к папке /mnt/dir2 в фоновом режиме будет монтироваться удаленная ФС и все действия с файлами будет происходить на NFS разделе.
Это момент можно увидеть.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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 и т.п. нужно использовать таблицу прямых назначений.
Для этого редактируем главную таблицу и создаем настройки прямых назначений
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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 странице и оффсайте.

Комментарии

Популярные сообщения из этого блога

S.M.A.R.T. (часть 3). Расшифровка и понимание SMART атрибутов

S.M.A.R.T. (часть 2). Мониторинг BBU RAID контроллеров

Работаем с RAID в Debian на HP Proliant DL580