1. 程式人生 > >linux 磁碟管理三部曲——(3)mount掛載,/etc/fstab配置檔案

linux 磁碟管理三部曲——(3)mount掛載,/etc/fstab配置檔案

當我們分完區,並做好檔案系統格式化,就到了最後的掛載mount了,掛載完畢就可以使用磁碟裝置了。

回到頂部

一、什麼是掛載,解除安裝

任何塊裝置都不能直接訪問,需掛載在目錄上訪問

掛載將額外檔案系統與根檔案系統某現存的目錄建立起關聯關係,進而使得此目錄做為其它檔案訪問入口的行為(掛載的裝置必須有檔案系統)

解除安裝:為解除此關聯關係的過程

mount [-選項] DEVICE(裝置) MOUNT_POINT(掛載點)

1device :指明要掛載的裝置

  ① 裝置檔案:例如/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 -選項 裝置 掛載點

  -tvsftype :指定要掛載的裝置上的檔案系統型別(不常用,不加-t預設自帶自己的檔案系統型別),有時,系統報錯提示,沒指定檔案系統型別,-t指定後,仍然有錯。(註釋1

  -rreadonly 只讀掛載,不能進行其他操作,和許可權無關,介質只能讀,多用於冷備份。在mount 查詢時時顯示 ro

  -wread 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掛載檔案系統的選項,多個選項使用逗號分隔

    asyncdefaults)sync  非同步,同步,記憶體更改時,同時寫磁碟(可以用於重要資料)

    atime(defaults),noatime  是否在讀訪問時更新atime

    diratime(defaults),nodiratime  目錄的訪問時間戳

    auto(defaults)/noauto 寫在/etc/fstab當中的分割槽,是否在mount -a時被掛載

    exec(defatuls)/noexec 在該分割槽所掛載的目錄中的指令碼是否可以執行。

    dev(defaults)/nodev:是否支援在此檔案系統上使用裝置檔案

    suid(defaults)/nosuid:是否支援suidsgid許可權

    ro:只讀 rw:讀寫(defaults)

    nouser(defaults)/user:是否允許普通使用者掛載此裝置,預設管理員才能掛載

    aclcentos 7/^aclcentos 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列):

① 要掛載的裝置或偽檔案系統:裝置名稱,LABELUUID,偽檔案系統名稱

② 掛載點(擴充套件為swap

③ 檔案系統型別(auto 尋找預設的),

  普通裝置掛載:ext#/xfs 等檔案系統型別

  交換分割槽 swapswap

  網路掛載地址 linux之間:nfswindos掛載: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

⑥ rebootinit 5 完成/home 搬遷

 到這裡關於磁碟管理的過程就全部講完了。