自動掛載 Atomounter
自動掛載可以監控掛載點的存取,自動在存取時掛載起來,使用完畢後自動卸載,例如光碟機、隨身碟、及 NIS 用戶端登入等,都可以用到 automounter,它是由 autofs 所提供的服務,它可以在 /etc/auto.master 中設定。
來看一下 /etc/auto.master 的設定:
# grep -v “#” /etc/auto.master
/misc /etc/auto.misc (光碟的自動掛載設定在 /etc/auto.misc 這個檔案中)
/net -hosts (這一行是設定當網路上有 NFS 分享的電腦,可以直接 cd /net/HOST_NAME 自動掛載 HOST_NAME 這台電腦的 NFS 檔案系統)
+auto.master
自動掛載分成直接模式 (direct) 和間接模式 (indirect)。
==============================
間接模式
間接模式是在 auto.master 設定:
#掛載點 參照檔
/misc /etc/auto.misc
而參照檔的內容則是:
# cat /etc/auto.misc
虛擬掛載點 參數 主機名稱或 IP:裝置或分享目錄 (虛擬掛載點不可以在本機上真有此目錄,且前面不可加 / 符號)
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
測試一下:
# echo “myvar :/var” >> /etc/auto.misc (在 /etc/auto.misc 中補上 myvar :/var 這一行,因為 auto.misc 這個檔案是參照到 /misc 目錄底下,所以我們的虛擬路徑是 /misc/myvar ,不加任何參數,自動掛載本機的 /var 目錄)
# service autofs restart (修改完後重新啟動 autofs 服務,其實不用重新啟動,因為在 auto.master 已經宣告叫系統監控 /misc 這個目錄,只是用 restart 來確定 autofs 有啟動)
正在停止 automount: [ 確定 ]
正在啟動 automount: [ 確定 ]
# mount (看一下現在的所有掛載,/var 還沒被掛載起來)
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
none on /proc/fs/vmblock/mountPoint type vmblock (rw)
nfsd on /proc/fs/nfsd type nfsd (rw)
# ls /misc/myvar (存取一下虛擬路徑,看會不會自動掛載)
account cvs ftp kerberos lock named preserve spool www
cache db games lib log nis racoon tmp yp
crash empty gdm local mail opt run tux (真的有列出子目錄)
# mount (檢查一下掛載點)
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
none on /proc/fs/vmblock/mountPoint type vmblock (rw)
nfsd on /proc/fs/nfsd type nfsd (rw)
/var on /misc/myvar type none (rw,bind) (/var 已經掛載到 /misc/myvar 上了)
也可以使用這個方式來掛載 NFS 目錄:
# echo “mynfs -fstype=nfs,rw,soft 192.168.0.2:/var/ftp/pub” >> /etc/auto.misc (將這一行設定補到 /etc/auto.misc 裡面,順便加上參數,不加也可以,會用預設的參數掛載)
# ls /misc/mynfs (不重新啟動 autofs 直接存取 /misc/mynfs 這個虛擬目錄)
192.168.0.2.NFS (裡面有檔案,應該是掛載起來了)
# mount (用 mount 來確定一下)
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
none on /proc/fs/vmblock/mountPoint type vmblock (rw)
nfsd on /proc/fs/nfsd type nfsd (rw)
/var/ftp/pub on /misc/mynfs type none (rw,bind) (已經掛載起來了,剛才的 /misc/myvar 已經自動卸載)
設定檔中有萬用字元 (wildcard) * 和 &,如:
在 auto.master 中:
/home /etc/auto.home
建立 /etc/auto.home 檔案:
* -fstype=nfs,rw,soft NFS_SERVER:/home/&
這在 NIS 認證登入相當有用,因為 NIS 在本機中 /home 裡面沒有家目錄,可是在 NFS Server 中有其分享出來的目錄,所以當任何帳號登入時,會自動掛載該帳號的 NFS 目錄,例如說 kevin 登入時會進入家目錄 /home/kevin,這時 autofs 會自動掛載 NFS_SERVER:/home/kevin 到 /home/kevin 中。
==============================
直接模式
直接模式要在 /etc/auto.master 中加入一行設定:
/- /etc/auto.direct (/- 就代表後面的設定檔是用直接模式來自動掛載,設定檔在 /etc/auto.direct 中)
實習一下:
# echo “/- /etc/auto.direct” >> /etc/auto.master (在 /auto.master 中補上這一行)
# echo “/MySYS :/sys” > /etc/auto.direct (直接模式的設定要寫「絕對路徑」,要從 / 開始。這行設定是把 /MySYS 的虛擬目錄(也是不要先建立) 對應到本機 /sys 這個目錄,並建立 /etc/auto.direct 這個檔案)
# echo “/Other/MyVar :/var” >> /etc/auto.direct (在 /etc/auto.direct 中補上 /Other/MyVar 參照到本機的 /var)
# service autofs restart (因為改了 auto.master,所以 autofs 要重新啟動,另外,直接模式如果改了設定檔也要重新啟動 autofs 才會生效)
正在停止 automount: [ 確定 ]
正在啟動 automount: [ 確定 ]
# ls /MySYS (/MySYS 裡面有東西)
block bus class devices firmware fs kernel module power
# ls /Other/MyVar (/Other/MyVar 裡面也有東西)
account cvs ftp kerberos lock named preserve spool www
cache db games lib log nis racoon tmp yp
crash empty gdm local mail opt run tux
# mount (檢查一下)
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
none on /proc/fs/vmblock/mountPoint type vmblock (rw)
nfsd on /proc/fs/nfsd type nfsd (rw)
/sys on /MySYS type none (rw,bind) (掛載起來了)
/var on /Other/MyVar type none (rw,bind) (掛載起來了)
==============================
自動引用通知: ISHM Blog » 網路檔案系統服務 (NFS)