【linux】按部就班學運維-基礎篇-mount


文章目錄


你們好,我是高勝寒,本文是Linux運維-按部就班學運維-基礎篇的第48篇原創文章。node


今天咱們來聊聊mount的使用vim

1. mount 命令的講解

mountcentos

1)做用: 用來掛載文件系統的命令
2)基本格式爲:

掛載選項 -t 文件系統類型 -o 選項1,選項2…
示例:
mount -t ext4 -o acl /dev/sdb1 /mnt/
例句暫時看不懂也不要緊,一會咱們細細道來.運維

3)常見的文件系統類型有:
  • ext4
  • NFS
  • CIFS
  • XFS
  • ext2
  • ext3
    等等

目前centos7的系統爲XFS異步

4)查看當前系統都支持哪些操做系統

關於上文的 -t參數,咱們不少時候是不寫的,可是-t參數指定文件系統類型這件事卻很重要。咱們能夠經過查看filesystems配置文件,來查看當前系統都支持哪些文件系統async

在這裏插入圖片描述

上述示例裏第二個參數 -oide

5)掛載選項詳解

-o後面指定的是掛載選項,掛載選項有不少測試

選項 含義
rw 讀寫
ro 只讀
suid 支持suid
dev 支持設備文件
nodev 不支持設備文件
noexec 不容許執行二進制文件
exec 容許執行二進制文件
auto mount -a 開機自動掛載
noauto mount -a 開機不自動掛載
async 異步寫入
sync 同步同入
noatime 不更新訪問時間atime
usrquota 支持用戶級磁盤配額功能
grpquota 支持組級磁盤配額功能
acl 支持acl功能 (訪問控制列表)
remount 在線從新掛載

因此在這個示例中mount -t ext4 -o acl /dev/sdb1 /mnt/, -o後面的acl表示的就是支持訪問控制列表。ui

到這裏,相信這條示例命令你也看懂了,但看懂了只是開始,接下來,咱們詳細聊下關於mount的前世此生。centos7

6)與mount相關的文件
  • /etc/fstab (設置自動掛載的文件)
  • /etc/mtab
  • /proc/mounts
7)與mount相關的參數
參數 含義
-r 只讀
-w 讀寫 默認
-F 這個命令一般和 -a 一塊兒使用,它會爲每個 mount 的動做產生一個行程負責執行
-v 顯示較訊息,一般和 -f 用來除錯。
-L 將含有特定標籤的硬盤分割掛上。
-U 將檔案分割序號爲 的檔案系統掛下。-L 和 -U 必須在/proc/partition 這種檔案存在時纔有意義。
-t 指定檔案系統的型態,一般沒必要指定。mount 會自動選擇正確的型態。
-a 將 /etc/fstab 中定義的全部檔案系統掛上,此操做可實現開機自動掛載的要求。而當寫入/etc/fstab文件後,掛載操做也能夠只指定掛載源或掛載點

2. mount使用舉例

1. 容許可執行權限和不可執行權限

exec/noexec

[root@gaosh-1 ~]# ll /dev/sdb*   目前有一塊sdb1的盤brw-rw----. 1 root disk 8, 16 6月  25 17:01 /dev/sdb
brw-rw----. 1 root disk 8, 17 6月  25 17:31 /dev/sdb1[root@gaosh-1 ~]#

建立兩個目錄,一個用於掛載可執行權限目錄,一個用於掛載不可執行權限目錄
在這裏插入圖片描述

掛載並測試:

[root@gaosh-1 ~]# mount /dev/sdb1 /mnt/gexec     掛載到可執行二進制目錄gexec[root@gaosh-1 ~]#  cp -rf /bin/date /mnt/gexec   #拷貝一個二進制文件過來測試[root@gaosh-1 ~]# /mnt/gexec/date                #執行命令發現能夠執行成功2020年 06月 25日 星期四 21:13:51 CST[root@gaosh-1 ~]#

上述的例子證實了,掛載後能夠執行二進制目錄,可是沒有證實若是加了參數noexec,就不能執行二進制, 咱們來試試

[root@gaosh-1 ~]# df -h  Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2        20G  3.8G   15G  21% /
tmpfs           1.8G  228K  1.8G   1% /dev/shm
/dev/sda1       190M   40M  141M  22% /boot
/dev/sdb1       4.9G   11M  4.6G   1% /mnt/gexec[root@gaosh-1 ~]# umount /mnt/gexec/   先卸載掉從新掛載到另一個目錄 nexec[root@gaosh-1 ~]#

接下來咱們使用不支持可執行權限的掛載方法,noexec,並測試

[root@gaosh-1 ~]# mount -o noexec /dev/sdb1 /mnt/nexec/    #此處使用-o noexec參數

測試:
在這裏插入圖片描述
能夠看到,一樣是拷貝過去二進制文件,可是執行的時候卻提示權限不夠。

2.sync && async 同步寫入和異步寫入
[root@gaosh-1 ~]# mkdir /mnt/test1[root@gaosh-1 ~]# mount /dev/sdb1 /mnt/test1/[root@gaosh-1 ~]# mount/dev/sdb1 on /mnt/test1 type ext4 (rw)

不加參數,默認是異步寫入,能夠看到,rw權限

[root@gaosh-1 test1]# time cp -rf /etc/ /mnt/test1    #查看寫入時間real    0m0.112s
user    0m0.000s
sys     0m0.111s

若是加了 -o sync參數咱們來看一下:

[root@gaosh-1 ~]# umount /mnt/test1/   #卸載掉test1[root@gaosh-1 ~]# mkdir /mnt/test2    # 建立test2目錄[root@gaosh-1 ~]# mount -o sync /dev/sdb1 /mnt/test2  使用sync同步寫入掛載/dev/sdb1 on /mnt/test2 type ext4 (rw,sync)   #能夠看到rw,後面多了個同步寫入

[root@gaosh-1 ~]# time cp -rf /etc/ /mnt/test2  查看寫入時間real    0m5.267s
user    0m0.004s
sys     0m1.322s

能夠明顯看到同步時間較長一些:由於同步的時候client獲取響應須要等待刷盤時間。但並非全部狀況下異步都比同步快。

因此這裏勝寒表示: 時間快慢僅在此實驗有效。

3.acl的使用

設置自動掛載
vim /etc/fstab
在這裏插入圖片描述
查看一下,目前沒有掛載:
在這裏插入圖片描述

執行mount -a自動掛載在這裏插入圖片描述

[root@gaosh-1 ~]# mount/dev/sdb1 on /mnt/test1 type ext4 (rw,acl)

4. 使用UUID進行掛載

查看uuid

[root@gaosh-1 ~]# blkid /dev/sdb1/dev/sdb1: UUID="37c948a1-d0b9-49ff-923c-f3eac30eb0f3" TYPE="ext4"

vim /etc/fstab

在這裏插入圖片描述
保存退出:而後使用 mount -a

總結

雖然mount的參數比較多,但不是每一個參數都須要掌握,學會使用 /etc/fstab, 設置自動掛載。

我是高勝寒,一個在教培行業不忘初心的人,歡迎點贊收藏,咱們下篇文章再見!

相關文章
相關標籤/搜索