當我們分完區,並做好檔案系統格式化,就到了最後的掛載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 搬遷
到這裡關於磁碟管理的過程就全部講完了。