當我們分完區,並做好文件系統格式化,就到了最后的掛載mount了,掛載完畢就可以使用磁盤設備了。
一、什么是掛載,卸載
任何塊設備都不能直接訪問,需掛載在目錄上訪問
掛載: 將額外文件系統與根文件系統某現存的目錄建立起關聯關系,進而使得此目錄做為其它文件訪問入口的行為(掛載的設備必須有文件系統)
卸載:為解除此關聯關系的過程
mount [-選項] DEVICE(設備) MOUNT_POINT(掛載點)
(1)device :指明要掛載的設備
① 設備文件:例如/dev/sda5
② 卷標:-L 'LABEL', 如 例如 -L mage
③ UUID, -U 'UUID'
(2)掛載點下原有文件在掛載完成后會被臨時隱藏
事先存在;建議使用空目錄,進程正在使用中的設備無法被卸載
(3)/etc/mtab: 文件顯示當前已掛載的所有設備(在CentOS 7中,是/proc/mounts的軟連接,查看結果一樣,centos 6中,ASCII text,查詢結果和/proc/mounts不一樣)
二、mount:掛載常用命令選項(下面有具體的用法示例)
查看掛載情況:findmnt 查看所有設備掛載情況(樹狀結構顯示)
findmnt 設備 查看單個設備的掛載情況
mount :查看所有設備掛載情況
cat /proc/mounts:查看內核追蹤到的已掛載的所有設備
mount -選項 設備 掛載點
-t:vsftype :指定要掛載的設備上的文件系統類型(不常用,不加-t默認自帶自己的文件系統類型),有時,系統報錯提示,沒指定文件系統類型,-t指定后,仍然有錯。(注釋1)
-r:readonly ,只讀掛載,不能進行其他操作,和權限無關,介質只能讀,多用於冷備份。在mount 查詢時時顯示 ro
-w:read and write, 讀寫掛載(defaults默認)
-n:隱藏掛載信息不顯示 ,但在/proc/mounts可以查到,卸載只能 umount /app/sdb2(掛載點)
-a:自動掛載/etc/fstab文件沒有掛載的設備( 定義在了/etc/fstab文件中,且掛載選項中有auto 功能,默認中包括) ,不看已掛載過的設備,如果在/etc/fstab里掛載過的設備修改了設置,不刷新;
如果想刷新修改過已掛載的設備,mount -o remount /dev/sdX(掛載點)
-L 'LABEL': 以卷標指定掛載設備
-U 'UUID':以UUID 指定要掛載的設備
-B --bind:綁定目錄到另一個目錄上,
例: mount -B /var/ftp/pub /app/apache /app/apache就是顯示 /var/ftp/pub目錄的東西
-o options:( 掛載文件系統的選項) ,多個選項使用逗號分隔
async(defaults),sync 異步,同步,內存更改時,同時寫磁盤(可以用於重要數據)
atime(defaults),noatime 是否在讀訪問時更新atime
diratime(defaults),nodiratime 目錄的訪問時間戳
auto(defaults)/noauto 寫在/etc/fstab當中的分區,是否在mount -a時被掛載
exec(defatuls)/noexec 在該分區所掛載的目錄中的腳本是否可以執行。
dev(defaults)/nodev:是否支持在此文件系統上使用設備文件
suid(defaults)/nosuid:是否支持suid和sgid權限
ro:只讀 rw:讀寫(defaults)
nouser(defaults)/user:是否允許普通用戶掛載此設備,默認管理員才能掛載
acl(centos 7)/^acl(centos 6以下):啟用/禁用此文件系統上的acl功能
defaults 默認,見以上中的(defaults)
-o remount,選項:重新掛載,修改功能選項(和/etc/fstab選項沖突,則覆蓋,不沖突就增加) 例:mount -o remount,ro /dev/sdb1
例:mount -r /dev/sdb1 /app/sdb1 將/dev/sdb1只讀掛載到/app/sdb上
三、umount 卸載
卸載時,若有正在進行的進程,不能卸載
查看正在訪問指定文件系統的進程:
lsof 設備或掛載點都可以
fuser -v 掛載點
終止所有在正訪問指定的文件系統的進程:
fuser -km 設備或掛載點都可以
終止所有進程就可以卸載: umount DEVICE
四、/etc/fstab 文件掛載配置文件
(1)/etc/fstab 每行定義一個要掛載的文件系統
mount -a 自動掛載/etc/fstab文件沒有掛載的設備,不管已掛載過的設備
如果想刷新修改過已掛載的設備,mount -o remount /dev/sdX(或掛載點)
swpon -a 自動激活/etc/fstab文件沒有激活的交換(擴展)空間 ,不管已激活的擴展空間
如果想刷新修改過已激活的擴展設備,mount -o remount /dev/sdX(或掛載點)
系統重啟開機時讀取此文件,可以開機自動開啟文件中的設置
(2)格式(6列):
① 要掛載的設備或偽文件系統:設備名稱,LABEL,UUID,偽文件系統名稱
② 掛載點(擴展為swap)
③ 文件系統類型(auto 尋找默認的),
普通設備掛載:ext#/xfs 等文件系統類型
交換分區 swap:swap
網絡掛載地址 linux之間:nfs,windos掛載:cifs
光盤 iso9660,文件 cifs
④ 掛載選項:defaults 有需要的功能可以添加,不能為空
⑤ 轉儲頻率: 0:不做備份 1:每天轉儲 2:每隔一天轉儲
⑥ 開機時自檢(非0),自檢次序:(如果開機系統自檢不過,就無法正常開機)
0:不自檢 1:最先自檢,一般為/ 2...:數越小優先級最大
問題:如果設備不小心被破壞,開機自檢不過,無法正常啟用,該怎么辦?
原理很簡單,只需要修復一下文件系統就好了,(如果不能修復,可以去/etc/fstab中把自檢改為0)具體操作如下:
① 手動破壞設備 dd if=/dev/zero of=/dev/sdc1 bs=1 count=2048
② 開機過程,遇到錯誤提示
③ 進入shell 操作,進行修復
五、實驗:遷移/home 家目錄
到此我們已經對磁盤管理了解的差不多了,我們可以做個小實驗,遷移 /home ,從 / 下移到另一個磁盤,如/dev/sda6
① init 1 進入單用戶模式,防止自己在遷移時,其他用戶進行操作,導致遷移后缺失東西。
② 分區 /dev/sda6 fdisk
③ 文件系統格式化 mkfs.ext4 /dev/sda6
④ 掛載在臨時目錄上/mnt ,把/home 下東西cp -a 到/mnt 目錄
⑤ 把現有/home 東西移走,卸載 /mnt ,把/dev/sda6 掛到 /home 下,並寫入/etc/fstab,開機自動掛載。
UUID=328a3f17-3e4e-426d-9538-c44be3e6465b /home ext4 defaults 0 2
⑥ reboot或init 5 完成/home 搬遷
到這里關於磁盤管理的過程就全部講完了。
本文永久更新鏈接地址:http://www.linuxidc.com/Linux/2017-11/148277.htm