3,163 瀏覽數

Linux – 自動掛載可移除裝置

自動掛載可移除裝置
在 Linux 系統下所有的儲存裝置在使用前都需要先掛載,這包括了遠端的儲存裝置,有沒有什麼比較好的方式可以讓系統可以直接就幫我們掛載我們所需的儲存裝置.方式有兩種.

  • 第一就是可以直接在 /etc/fstab 定義可以掛載的儲存裝置.但這方式的缺點是一開始所有的儲存裝置必需存在並且可以被存取.
  • 第二種方式就是使用 automount .他是可自動掛載 / 移除儲存裝置的 daemon (automount 為程式名稱, autofs 為 daemon 名稱, 套件名稱同為 autofs)

1.先安裝 autofs 套件
在 RedHat 第 CD / DVD 光碟 Server 目錄下都可以找到. 

[root@benjr ~]# rpm -ivh autofs-3.1.7-28.i386.rpm

2.autofs 的設定檔
autofs 主要的設定檔有兩個 1.auto.master 2. auto.misc 都儲存在 /etc/ 的目錄下.

  • /etc/auto.master 設定檔
    一開始 autofs 就幫我們定義一個自動掛載點,我們可以修改這設定或是自己建立出屬於自己的掛載點,預設的需要自動掛載記錄在 /etc/auto.misc 的設定檔中.

    [root@benjr ~]# vi /etc/auto.master
    # $Id: auto.master,v 1.2 1997/10/06 21:52:03 hpa Exp $
    # Sample auto.master file
    # Format of this file:
    # mountpoint map options
    # For details of the format look at autofs(8).
    /misc /etc/auto.misc –timeout=60
    

    /misc  自動掛載點,可移除裝置將掛在這個目錄下.
    /etc/auto.misc 設定哪些可移除裝置需自動掛載的設定檔.
    –timeout=60 預設60秒後,移除非作用的掛載裝置.前兩個為必要值,這個為選擇性的參數.

  • /etc/auto.misc 設定檔
    一開始預設只有設定 CDROM 自動掛載,我們來看看它是怎麼設定的.主要有三個值.

    [root@benjr ~]# vi /etc/auto.misc
    # $Id: auto.misc,v 1.2 1997/10/06 21:52:04 hpa Exp $
    # 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
    

    cd  -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom
    它的意思是說當我們進入到目錄 /misc/cd 目錄 (剛剛定義在 /etc/auto.master 中的目錄) 系統會自動幫我們使用 -fstype=iso9660,ro,nosuid,nodev 的格式去掛載 /dev/cdrom.

而這些常用的參數如下面所列:

  • ro
    ro(read only) 在自動掛載時以唯讀的方式掛載
  • rw
    r(read) + w(write) 在自動掛載時以可讀寫的方式掛載
  • soft
    假如無法連接遠端主機或是沒有回應,在一段時間過後就直接回報錯誤並不是重試. return an error and don't retry after the timeout period expired
  • hard
    假如無法連接遠端主機或是沒有回應,autofs 會不斷的嘗試去做連接直到遠端回應為止.
  • intr
  • autofs 允許我們使用 ctrl+C 去做中斷連接遠端的動作,為了防止連接設定錯誤建議使用這參數以中斷過長時間的遠端連接.
  • bg
    do the retries in background mode
  • fg
    do the retries in foreground mode

fstype 目前 autofa 可支援的檔案系統如下:

  • ext2 linux native
  • iso9660 cdrom / DVD
  • nfs NFS mounted filesystem
  • smbfs samba mounted filesystem

要指定 NFS 或 SMB shares 遠端儲存裝置的方法如下:
NFS:
remote-home  -fstype=nfs,rw   ip_of_remote_server:/home
SMB:
host_share  -fstype=smbfs,username=windowsuser,password=windowspassword,uid=500,gid=100 ://ip_of_remote_server/share

一開始預設只有設定 CDROM 自動掛載

3.重新啟動 autofs daemon 

[root@benjr ~]# service autofs restart

系統會建立 /misc 的目錄

[root@benjr ~]# chkconfig autofs on

每次開機便啟動 autofs daemon

4.測試 autofs
放入一片磁片

[root@benjr ~]# cd /misc
[root@benjr ~]# ll

此時你會發現目錄是空的,不用緊張現在只要進入磁碟機目錄,系統會自動掛載

[root@benjr ~]# cd floppy
[root@benjr ~]# ll
-r-xr-xr-x     1  root    root      38138  May  31   1994  command

系統會自動掛載 floppy

5.移除掛載裝置
預設60秒後,系統會移除非作用的掛載裝置.

網友的想法

  1. 自動參照通知: services | Benjr.tw

發表迴響