1. 程式人生 > >8.10-11 mount、umount

8.10-11 mount、umount

entos 文件的 1.4 rep cdrom some processes code 集群

8.10 mount:掛載文件系統

  mount命令可以將指定的文件系統掛載到指定目錄(掛載點),在Linux系統下必須先掛載所有的設備,然後才能被訪問,掛載其實就是為要訪問的設置開個門(開門才能訪問)。   mount [option] [device] [dir] 掛載的目錄必須事先存在且最好為空,如果目錄不為空,那麽掛載設備後會掩蓋以前的目錄內容,但原目錄下的內容不會受損,所以,如果卸載了相應的設備,那麽此前的目錄內容又可以訪問了。

mount命令的參數選項及說明

-l 顯示系統已經掛載的設備的相關信息 -a 根據/etc/fstab文件裏的配置掛載文件系統 -t 指定掛載的文件系統類型,例如,文件系統類型有,nfs(網絡文件系統),iso9660(掛載CD-ROM光盤),auto(自動檢測文件系統)。如果不設置t參數,或使用-t auto參數,mount命令會自行選擇掛載的文件類型 -o 後接一些掛載的選項,是安全、性能優化的重要選項 -r 只讀掛載,等同於-o ro的掛載方式 -w 讀寫掛載,等同於-o rw的掛載方式 其中mount的-o參數可以接的掛載選項請參見下表 mount的-o參數可接的選項*
async      所有涉及文件系統/O的操作都是異步處理,即數據不會同步寫入到磁盤,而是寫入到緩沖區中,這種設置會提高系統的性能,但同時也會降低數據的安全性,一般在生產環境下不推薦使用。除非對性能要求很高,對數據可靠性要求不高的場景
sync 與async相反,即有I/O操作時,都會同步處理/O,即把數據同步寫入硬盤,此參數會犧牲一部分I/O性能,但是換來的是系統突發宕機後數據的安全性 atime 在每一次數據訪問時,都會同步更新每次訪問的文件的inode時間,是默認選項,在高並發的情況下,要明確加上noatime來取消該默認項,以達到提升/O性能,優化磁盤I/O的目的 noatime 不更新文件系統上文件的inode訪問時間,在高並發環境下,應用此選項,可以在一定程度上提高系統I/O的性能 nodiratime 不更新文件系統上目錄的inode訪問時間,在高並發環境下,應用此選項,可以在一定程度上提高系統I
/O的性能 auto 通過-a參數能夠被自動掛載 noauto 不會自動掛載文件系統 defaults 默認值包括rw、suid、dev、exec、auto、nouser 和 async,/etc/fstab文件掛載配置的很多情況下都使用默認值 exec 允許執行二進制程序,取消該參數,可以提升系統的安全性 noexec 不能執行二進制程序 nosuid 不允許suid(Linux的特殊權限)特殊功能生效 nouser 禁止一個普通用戶掛載該文件系統,這是掛載時的默認選項 remount 嘗試重新掛載一個已經掛載了的文件系統,其通常用於改變一個文件系統的掛載標誌,從而使得一個只讀文件系統變得可寫,這個動作不會改變設備或者掛載點。
       提示一下,當系統發生故障時或者進入單用戶模式、教援模式時,會發現根文件系統經常會變成只讀文件系統,不允許修改,此時該命令就派上用場了,具體命令為:
mount -o remount,rw / 會將根文件系統重新掛載使其可寫。
       在單用戶模式或教援模式修改系統時該命令十分重要 ro 只讀掛載 rw 讀寫掛載

顯示系統已掛載的信息(不加參數或加-l參數)

[[email protected] ~]# mount
/dev/mapper/vg_cs6-lv_root on / type ext4 (rw)    #<==磁盤/dev/mapper/vg_cs6-lv_root掛載在(on)根上,文件系統類型為ext4,可讀可寫(rw)。
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
/dev/sdb1 on /mnt/data1 type ext4 (rw)
 

對系統的光驅進行掛載

首先要把光盤放入光驅驅動器中,如果是VM(虛擬機),則需要將ISO鏡像放入VM光驅驅動器中,然後執行下面的操作:
 
[[email protected] ~]# mount /dev/cdrom /mnt    #<=這裏沒有指定-t iso9660,但mount命令會自動識別
mount: block device /dev/sr0 is write-protected, mounting read-only #<=提示設備寫保護,只讀掛載。
 
[[email protected] ~]# mkdir /mnt/cdrom
[[email protected] ~]# mount /dev/cdrom /mnt/cdrom
mount: block device /dev/sr0 is write-protected, mounting read-only
[[email protected] ~]# ll -h /mnt/cdrom/
total 82K
-r--r--r--. 1 root root   14 Jun 29  2018 CentOS_BuildTag
dr-xr-xr-x. 3 root root 2.0K Jun 30  2018 EFI
-r--r--r--. 1 root root  212 Nov 27  2013 EULA
-r--r--r--. 1 root root  18K Nov 27  2013 GPL
dr-xr-xr-x. 3 root root 2.0K Jun 30  2018 images
dr-xr-xr-x. 2 root root 2.0K Jun 30  2018 isolinux
dr-xr-xr-x. 2 root root  40K Jun 30  2018 Packages
-r--r--r--. 1 root root 1.4K Jun 29  2018 RELEASE-NOTES-en-US.html
dr-xr-xr-x. 2 root root 4.0K Jun 30  2018 repodata
-r--r--r--. 1 root root 1.7K Nov 27  2013 RPM-GPG-KEY-CentOS-6
-r--r--r--. 1 root root 1.7K Nov 27  2013 RPM-GPG-KEY-CentOS-Debug-6
-r--r--r--. 1 root root 1.7K Nov 27  2013 RPM-GPG-KEY-CentOS-Security-6
-r--r--r--. 1 root root 1.7K Nov 27  2013 RPM-GPG-KEY-CentOS-Testing-6
-r--r--r--. 1 root root 3.4K Jun 30  2018 TRANS.TBL
[[email protected] ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_cs6-lv_root
                       26G  1.7G   24G   7% /
tmpfs                 931M     0  931M   0% /dev/shm
/dev/sda1             477M   28M  424M   7% /boot
/dev/sdb1             392M  2.3M  369M   1% /mnt/data1
/dev/sr0              406M  406M     0 100% /mnt/cdrom 

使用性能及安全掛載參數選項(-o多選項)的企業案例

在工作中,我們會經常使用NFS網絡文件系統,若要使用NFS文件系統,則需要進行掛載。有關NFS網絡文件系統的部署請讀者參考《跟老男孩學習Linux運維;Web集群實戰》一書的第10章,本例假定讀者已經部署了NFS網絡文件系統服務,掛載點為:10.0.0.3:/data,掛載操作如下:
[[email protected] ~]# mount -t nfs -o nosuid,noexec,nodev,noatime,nodiratime,rsize=131072,wsize=131072 172.16.1.31:/data/ /upload
[[email protected] ~]# grep upload /proc/mounts
172.16.1.31:/data/ /upload nfs4
rw,nosuid,nodev,noexec,noatime,nodiratime,vers=4,rsize=131072,wsize=131072,namlen=255,hard,pro
to=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=172.16.1.45,minorversion=0,local_lock=non
e,addr=172.16.1.31 0 0

生產場景文件系統故障解決案例。 由於系統等問題,在工作中可能會造成文件系統只讀,這時就需要重新掛載根(/)為讀寫模式。 mount -o remount,rw / #<==remount 索試重新掛載“/”為rw(可讀可寫)。 如果上述操作還不能解決問題,則需要重啟系統或使用救援模式來解決。

生產場景配置fstab後防止開機啟動出錯案例

在工作中,當添加新的磁盤時,會有永久性掛載的需求,此時就會配置/etc/fstab這個文件,但這個文件若配置錯誤則有可能造成系統重啟後無法開機,因此,在配置好fstab文件後可先用mount -a讀取/etc/fstab進行掛載測試,如果能掛載成功,那麽重啟一般也會正常,反之則會出現異常。
[[email protected] ~]# tail -1 /etc/fstab
/dev/sdb1              /mnt                     ext4       defaults     0  0
[[email protected] ~]# mount -a 

提示:經過這樣的掛載測試以後,就可以確保下一次開機的時候,系統能夠重啟成功,當然修改fstab文件也要特別註意,最後一列的數字最好改為0(表示不用fsck檢查)。

8.11 umount:卸載文件系統

umount命令可以卸載已經掛載的文件系統。  umount卸載可以接掛載點目錄,也可以接設備文件。 -f 強制卸載 -l 懶情地卸載。將文件系統從文件系統層次結構中分離出來,並清除對文件系統的所有引用。一般和-f參數配合使用其卸載效果更佳*

卸載已掛載的光盤

[[email protected] ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_cs6-lv_root
                       26G  1.7G   24G   7% /
tmpfs                 931M     0  931M   0% /dev/shm
/dev/sda1             477M   28M  424M   7% /boot
/dev/sdb1             392M  2.3M  369M   1% /mnt
[[email protected] ~]# umount /mnt/
[[email protected] ~]# ls /mnt/
cdrom  data1  data2
[[email protected] ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_cs6-lv_root
                       26G  1.7G   24G   7% /
tmpfs                 931M     0  931M   0% /dev/shm
/dev/sda1             477M   28M  424M   7% /boot
 

生產場景下強制卸載的例子

有的時候由於掛載的設備停止了響應(例如NFS),或者在當前掛載點的目錄下,直接執行卸載命令就會無法卸載設備,而使用如下的方式就可以輕松卸載: 這裏簡單舉例如下,進入到掛載點目錄進行卸載嘗試。
[[email protected] ~]# mount /dev/sdb1 /mnt/data1
[[email protected] ~]# ls /mnt/data1
1.html  2.html  3.html  4.html  5.html  lost+found
[[email protected] ~]# cd /mnt/data1
[[email protected] data1]# umount /mnt/data1    #<==固為當前在/mnt/data1目條中,所以無法卸載,此處執行方法一,退出當前目錄卸載。
umount: /mnt/data1: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
[[email protected] data1]# umount -lf /mnt/data1    #<==方法二:使用-lf參教進行強制師載。
[[email protected] data1]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_cs6-lv_root
                       26G  1.7G   24G   7% /
tmpfs                 931M     0  931M   0% /dev/shm
/dev/sda1             477M   28M  424M   7% /boot

8.10-11 mount、umount