- 1. Introduction
- 1.1. Quick note on terms
- 2. Installation
- 3. Configuration
- 3.1. The Master Map File
- 3.1.1. Direct and Indirect Maps
- 3.2. Map Files
- 4. EXAMPLE: Auto-mounting an NFS share
- 4.1. Edit /etc/auto.master
- 4.2. Create /etc/auto.nfs
- 4.2.1. NFSv4
- 4.3. Unmount static mounts and edit /etc/fstab
- 4.4. Reload /etc/init.d/autofs
- 4.5. Make sure it works
- 5. Advanced Information
- 5.1. Note on /net and /smb
- 5.2. Wildcard characters
- 6. Mounting Other Types of Files Systems
- 6.1. CIFS
- 6.2. FUSE based file systems
- 6.2.1. SSHFS file system
- 7. Debugging Auto Mount Problems
- 8. See Also
- 9. External Links
- Как смонтировать общий ресурс NFS в Linux
- Установка клиентских пакетов NFS
- Монтирование файловых систем NFS вручную
- Автоматическое монтирование файловых систем NFS с помощью /etc/fstab
- Размонтирование файловых систем NFS
- Выводы
1. Introduction
autofs is a program for automatically mounting directories on an as-needed basis. Auto-mounts are mounted only as they are accessed, and are unmounted after a period of inactivity. Because of this, automounting NFS/Samba shares conserves bandwidth and offers better overall performance compared to static mounts via fstab.
1.1. Quick note on terms
- automount is the program used to configure a mount point for autofs. When autofs is started, an automount daemon is spawned for each map.
- Auto-mount or auto-mounting refers to the process of automatically mounting filesystems.
- autofs is the program that controls the operation of the automount daemons.
2. Installation
$ sudo apt-get install autofs
3. Configuration
autofs can be configured by editing configuration files. There are other ways to configure autofs on a network (see AutofsLDAP), but config files provide the simplest setup.
3.1. The Master Map File
The master configuration file for autofs is /etc/auto.master by default. Unless you have a good reason for changing this, leave it as the default.
Here is the sample file provided by Ubuntu:
# # $Id: auto.master,v 1.4 2005/01/04 14:36:54 raven Exp $ # # 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). #/misc /etc/auto.misc --timeout=60 #/smb /etc/auto.smb #/misc /etc/auto.misc #/net /etc/auto.net
mount-point [map-type[,format]:] map [options]
3.1.1. Direct and Indirect Maps
This entry in auto.master tells autofs to look in /etc/auto.smb and create mount-points in the /smb directory.
3.2. Map Files
As indicated above, each autofs mount has its own map file. These files are usually named using the convention auto. , where can be anything as long as it matches an entry in auto.master and is valid for a file-name.
4. EXAMPLE: Auto-mounting an NFS share
In this howto, we will configure autofs to auto-mount an NFS share, using a set of configuration files. This howto assumes that you are already familiar with NFS exports, and that you already have a properly-functioning NFS share on your network. Go to the NFS Setup Page to learn how to set up such a server.
4.1. Edit /etc/auto.master
- Type the following into a terminal:
4.2. Create /etc/auto.nfs
This file should contain a separate line for each NFS share. The format for a line is [] . If you have previously configured static mounts in /etc/fstab, it may be helpful to refer to those. Remember, the mount points specified here will be relative to the mount point given in /etc/auto.master.
This creates a new mount point at /nfs/server/ and mounts the NFS root directory exported by the machine whose host-name is server.
4.2.1. NFSv4
- In /etc/default/nfs-common we set:
NEED_IDMAPD=yes NEED_GSSD=no # no is default
4.3. Unmount static mounts and edit /etc/fstab
#server:/ /server/ nfs defaults 0 0
4.4. Reload /etc/init.d/autofs
$ sudo service autofs reload
$ sudo /etc/init.d/autofs reload
$ sudo /etc/init.d/autofs restart
4.5. Make sure it works
If you see your NFS share listed, congratulations! You have a functioning NFS mount via autofs! If you want to learn some more advanced information, keep reading.
5. Advanced Information
Following the example directory structure above, if you were to enter ls /nfs into a shell, you might be surprised to see nothing listed. But remember that you need to access a directory before it is auto-mounted. To access the share, enter ls /nfs/server. Once it has been accessed, your share will be listed only until it times out. This is good to keep in mind, as it could save you time diagnosing an autofs problem that isn’t really there.
5.1. Note on /net and /smb
These two default configurations may be useful for your set-up. If you have a lot of NFS or Samba shares, you may want to uncomment these lines. /net enables auto-mounting of file systems elsewhere on the network which are exported by NFS. For example, if you have a server named fileserver with an NFS export directory called /export, you can mount it by typing in a shell command line cd /net/fileserver/export. In an environment with NFS file servers, such a configuration can be useful. /smb functions the same way but is for Samba file systems. However, if you need to authenticate before accessing the Samba share, automount will not function.
5.2. Wildcard characters
# /etc/auto.home user1 server:/home/user1 user2 server:/home/user2 user3 server:/home/user3
The asterisk (*) is used in place of the mount point and the ampersand (&) in place of the directory to be mounted. For more detail on the use of wild-cards see Using Wild-card Characters as Short-cuts in AutoFS Maps.
You can also use variables (see autofs(5) man page) to substitute users and other parameters to be able to create generic file for multiple users. Example below is smb map that maps based on user which asks for the share using $USER variable.
* -fstype=cifs,rw,credentials=/home/$USER/.smbcredentials,iocharset=utf8,uid=$USER,gid=users,file_mode=0700,dir_mode=0700 ://server/$USER share1 -fstype=cifs,rw,credentials=/home/$USER/.smbcredentials,iocharset=utf8,uid=$USER,gid=users ://server/share1 share2 -fstype=cifs,rw,credentials=/home/$USER/.smbcredentials,iocharset=utf8,uid=$USER,gid=users ://server/share2
6. Mounting Other Types of Files Systems
6.1. CIFS
When specifying a CIFS share in a map file, specify -fstype=cifs and precede the share location with a colon (:).
mntpoint -fstype=cifs ://example.com/shrname
Example: Mount read-write, specifying a user and group to own the files:
mntpoint -fstype=cifs,rw,uid=myuserid,gid=mygrpid ://example.com/shrname
Example: Mount read-write, specifying a username and password to use to connect to the share:
mntpoint -fstype=cifs,rw,username=myuser,password=mypass ://example.com/shrname
6.2. FUSE based file systems
FUSE based file systems are mounted by specifying -fstype=fuse. The file-system location specifies the user-space binary used to mount the file system, followed by a hash (#), followed by the location.
When specifying a FUSE file system location in map file, certain characters, notably the hash (#) and the colon (:), must be escaped by a backslash (\). The entire location must be preceded by a colon (:).
Since automount performs the mount as root it is usually necessary to specify allow_other on the mount options to allow your non-root userid to access the share.
6.2.1. SSHFS file system
SSHFS is a FUSE based file-system. In an autofs mount, the colon (:) following the server name must be escaped by a backslash (\).
You should have already set-up password-less authentication via public key encryption. Be sure that you understand the security implications of this before proceeding.
- Copy your private key to the /root/.ssh directory. Be sure that you understand the security implications of this before proceeding.
- Add the necessary host keys to /root/.ssh/known_hosts.
- Specify the user-name used to connect
To test mounting your SSHFS file system as root issued the following:
sudo sshfs user@example.com:/ mountpoint
If the mount succeeds without prompting you for a password, you are ready to mount the file-system via autofs
mntpoint -fstype=fuse,allow_other :sshfs\#user@example.com\:/path/to/mount
Example: Mount read-write, specifying a user and group to own the files:
mntpoint -fstype=fuse,rw,uid=1000,gid=1000,allow_other :sshfs\#user@example.com\:/path/to/mount
Note that for FUSE mounts, uid and gid must be numeric ids.
7. Debugging Auto Mount Problems
- Stop the autofs daemon
8. See Also
9. External Links
Autofs (последним исправлял пользователь tomreyn 2019-07-08 16:36:05)
The material on this wiki is available under a free license, see Copyright / License for details
You can contribute to this wiki, see Wiki Guide for details
Как смонтировать общий ресурс NFS в Linux
Сетевая файловая система (NFS) — это протокол распределенной файловой системы, который позволяет вам обмениваться удаленными каталогами по сети. С помощью NFS вы можете монтировать удаленные каталоги в своей системе и работать с удаленными файлами, как если бы они были локальными файлами.
В операционных системах Linux и UNIX вы можете использовать команду mount для монтирования общего каталога NFS в определенной точке монтирования в локальном дереве каталогов.
В этом руководстве мы покажем вам, как вручную и автоматически смонтировать общий ресурс NFS на машинах Linux.
Установка клиентских пакетов NFS
Чтобы смонтировать общий ресурс NFS в системе Linux, сначала необходимо установить клиентский пакет NFS. Название пакета отличается в разных дистрибутивах Linux.
- Установка клиента NFS в Ubuntu и Debian:
sudo apt update
sudo apt install nfs-common
sudo yum install nfs-utils
Монтирование файловых систем NFS вручную
Подключение удаленного общего ресурса NFS аналогично монтированию обычных файловых систем.
Чтобы смонтировать файловую систему NFS в заданной точке монтирования, используйте команду mount в следующей форме:
mount [OPTION. ] NFS_SERVER:EXPORTED_DIRECTORY MOUNT_POINT
Выполните следующие действия, чтобы вручную смонтировать удаленный общий ресурс NFS в вашей системе Linux:
- Сначала создайте каталог, который будет точкой монтирования для удаленного общего ресурса NFS:
sudo mount -t nfs 10.10.0.10:/backups /var/backups
После монтирования общего ресурса точка монтирования становится корневым каталогом смонтированной файловой системы.
Когда вы монтируете общий ресурс вручную, подключение общего ресурса NFS не сохраняется после перезагрузки.
Автоматическое монтирование файловых систем NFS с помощью /etc/fstab
Как правило, вы хотите автоматически монтировать удаленный каталог NFS при загрузке системы.
Файл /etc/fstab содержит список записей, определяющих, где, как и какая файловая система будет монтироваться при запуске системы.
Чтобы автоматически монтировать общий ресурс NFS при запуске системы Linux, добавьте строку в файл /etc/fstab . Строка должна включать имя хоста или IP-адрес сервера NFS, экспортированный каталог и точку монтирования на локальном компьютере.
Используйте следующую процедуру для автоматического монтирования общего ресурса NFS в системах Linux:
- Настройте точку монтирования для удаленного общего ресурса NFS:
# 10.10.0.10:/backups /var/backups nfs defaults 0 0
mount /var/backups mount 10.10.0.10:/backups
Размонтирование файловых систем NFS
Команда umount отсоединяет (размонтирует) смонтированную файловую систему от дерева каталогов.
Чтобы отсоединить смонтированный общий ресурс NFS, используйте команду umount за которой следует либо каталог, в котором он был смонтирован, либо удаленный общий ресурс:
umount 10.10.0.10:/backups
umount /var/backups
Если для монтирования NFS есть запись в fstab , удалите ее.
Команда umount не сможет отсоединить общий ресурс, когда смонтированный том используется. Чтобы узнать, какие процессы обращаются к общему ресурсу NFS, используйте команду fuser :
Как только вы найдете процессы, вы можете остановить их с помощью команды kill и отключить общий ресурс NFS.
Если у вас все еще есть проблемы с —lazy ресурса, используйте параметр -l ( —lazy ), который позволяет вам отключать загруженную файловую систему, как только она больше не занята.
Если удаленная система NFS недоступна, используйте параметр -f ( —force ) для принудительного размонтирования.
Как правило, не рекомендуется использовать опцию принудительного выполнения, так как это может повредить данные в файловой системе.
Выводы
Мы показали вам, как подключать и отключать удаленный общий ресурс NFS. Те же команды применимы для любого дистрибутива Linux, включая Ubuntu, CentOS, RHEL, Debian и Linux Mint.
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.