標簽:mount,umount概述在上一章增加linux操作系統空間中已經使用過了mount命令對分區進行掛載,這一章詳細介紹掛載管理,該命令涉及的知識點也挺多的而且也還比較重要,是需要掌握的一個命令。掛載分區mount基本語法mount [參數] /dev/sdb1(需要掛載的分區) /sdb1....
標簽:mount,umount
概述
在上一章增加linux操作系統空間中已經使用過了mount命令對分區進行掛載,這一章詳細介紹掛載管理,該命令涉及的知識點也挺多的而且也還比較重要,是需要掌握的一個命令。
掛載分區
mount基本語法
mount [參數] /dev/sdb1(需要掛載的分區) /sdb1(掛載目錄)
參數是可選的,也可以不帶參數,參數的使用方法(-o ro,sync,atime)。
參數:
-t:指定文件系統類型
mount -t ext4 /dev/sdb1 /sdb1
-o:指定掛載選項
ro,rw:只讀或者讀寫的方式掛載,預設是rw.
sync:不適用緩存,所有操作直接讀寫磁碟。
async:適用緩存,預設方式。
noatime:每次訪問文件時不更新文件的訪問時間。
atime:每次訪問文件時更新文件的訪問時間,預設方式。
user:任何用戶都可以掛載
nouser:只有超級用戶才可以掛載
auto:系統開機自動掛載
noauto:系統開機不自動掛載
remount:重新掛載文件系統。
查看當前已掛載的分區
mount
通過mount不帶參數命令可以查看當前系統的所有掛載分區情況,包括分區的掛載點、分區類型、參數等。
查看掛載分區下的文件 ls /sdb1
每個掛載分區下麵都會有一個Lost+found文件夾,該文件夾用來存放文件的損壞數據,例如使用fsck檢查分區命令的錯誤信息就寫入該文件夾(命令:fsck /dev/sdb1)。
修改分區只讀
mount -o remount,ro /dev/sdb1 /sdb1
把sdb1修改為只讀後,使用touch無法創建文件。
不更新文件訪問時間
mount -o remount,rw,noatime /dev/sdb1 /sdb1
特別是對性能要求很高的系統中,可以將文件系統設為不更新訪問文件的時間,比如存放資料庫文件的分區,由於訪問非常頻繁,如果每次訪問都更新訪問時間對性能會造成一定的影響,這時我們可以將該分區設置成不更新訪問文件的時間來提高性能。
stat命令
可以使用stat命令查看文件的訪問時間
stat test
這裡是因為我後面對參數做過修改,加上noatime參數後確實不會對訪問時間進行修改,大家可以試一下;
不使用緩存
開啟緩存的目的是為了提高讀寫的性能,即你對一個數據的讀寫先讀寫緩存,因為緩存的讀寫速度要遠遠高於磁碟,這樣就會提高讀寫的性能,但是帶來性能的同時也會存在丟失修改的風險,當寫入緩存的時候突然斷電那麼這個時候緩存的數據就有可能會丟失了,造成沒有寫入磁碟。不過現在linux文件系統類型比如ext3,ext4預設都會記錄日誌,即分區中會存在128M大小的日誌空間用來記錄對磁碟的讀寫操作,這也是為了保證數據的丟失修改的一個措施。如果對數據要求很嚴格的系統可以不適用緩存,但是絕大多數情況下都是適用緩存,這也是linux預設的方式。
mount -o remount,rw,noatime,sync /dev/sdb1 /sdb1
卸載分區
umount語法
umount /dev/sdb1(分區) 或者 umount /sdb1(掛載點)
卸載sdb1分區
卸載失敗,這裡提示設備繁忙
fuser命令
可以使用fuser命令查看文件系統占用的進程
fuser -m /sdb1(掛載點)
或者
fuser -m /dev/sdb1(分區)
可以看到2821進程正在占用。
lsof命令
查看正在被使用的文件,losf命令是list open file的縮寫。
lsof /sdb1(掛載點)
通過losf命令可以查看正在被使用的文件,可以看到是bash正在使用,因為當前我就是在sdb1文件夾下麵,當前的命令視窗正在使用,切換到別的目錄下麵
當切換到別的路徑下麵後,再使用umount命令就可以卸載分區,使用mount查看分區信息可以看到sdb1分區已經被卸載了.
修改配置文件
mount掛載分區在系統重啟之後需要重新掛載,修改/etc/fstab文件可使掛載永久生效
vim /etc/fstab
# <file system> <mount point> <type> <options> <dump> <pass> UUID=9905757a-a2a3-4a4a-abc7-ece61efeb531 / ext4 defaults 1 1 UUID=7981f23f-e636-474c-bf10-65adc5c56397 /boot ext4 defaults 1 2 UUID=d0000d2a-a161-4961-b843-d4ba060ad24c swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 /dev/sdb6 /sdb6 ext4 sync,noatime 0 0
file system:第一列是分區號
mount point:掛載點
type:文件類型
option:-o參數,defaults: rw, suid, dev, exec, auto, nouser, and async
如果不使用default預設參數,那麼可以使用逗號分隔指定參數
ro,rw:只讀或者讀寫的方式掛載,預設是rw.
sync:不適用緩存,所有操作直接讀寫磁碟。
async:適用緩存,預設方式。
noatime:每次訪問文件時不更新文件的訪問時間。
atime:每次訪問文件時更新文件的訪問時間,預設方式。
user:任何用戶都可以掛載
nouser:只有超級用戶才可以掛載
auto:系統開機自動掛載
noauto:系統開機不自動掛載
dump:當其值設置為1時,將允許dump備份程式備份;設置為0時,忽略備份操作
pass:fsck磁碟檢查設置,其值是一個順序。當其值為0時,永遠不檢查;而 / 根目錄分區永遠都為1。其它分區從2開始,數字越小越先檢查,如果兩個分區的數字相同,則同時檢查。
通過mont和df命令查看到的邏輯分區名和配置文件中配置的邏輯分區名不一樣,但是二者的意思是一樣的,不要被誤解
補充
掛載ios鏡像文件
mount -o loop iso鏡像文件 掛載點
例:
mount -o loop CentOS-6.7-x86_64-bin-DVD1.iso /iso
使掛載立即生效
sync
總結
mount命令比較重要的知識點就是合理的使用參數,當然同樣要記住mount掛載在伺服器重新啟動後又需要重新掛載,如果想永久掛載還是需要去修改/etc/fstab文件,因為這些參數會對我們系統的性能造成影響。一天連續寫了兩篇文章真的很累,現在已經凌晨了,洗洗睡。
備註: 作者:pursuer.chen 博客:http://www.cnblogs.com/chenmh 本站點所有隨筆都是原創,歡迎大家轉載;但轉載時必須註明文章來源,且在文章開頭明顯處給明鏈接,否則保留追究責任的權利。 《歡迎交流討論》 |
---恢復內容結束---