1. 程式人生 > >linux 磁盤管理四部曲——(3)mount掛載,/etc/fstab配置文件

linux 磁盤管理四部曲——(3)mount掛載,/etc/fstab配置文件

-o linu 沖突 備份 情況 啟用 rem uid int

當我們分完區,並做好文件系統格式化,就到了最後的掛載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 搬遷

關於磁盤管理的過程已經講完了,下一篇就是一些擴展空間、外部設備和小工具的補充了。

          希望對大家有幫助,有什麽錯誤請告訴我~技術分享

linux 磁盤管理四部曲——(3)mount掛載,/etc/fstab配置文件