知識結構:node
LVM概述bash
LVM的管理命令服務器
LVM的應用實例微信
磁盤配額概述app
磁盤配額管理ide
(一)LVM概述工具
邏輯卷管理(Logical Volume Manager)測試
動態調整磁盤容量,從而提升磁盤管理的靈活性spa
/boot分區用於存放引導文件,不能基於LVM建立操作系統
圖形界面管理工具——sysytem-config-lvm
LVM機制的基本概念
PV(物理卷)
VG(卷組)
LV(邏輯卷)
物理卷是 LVM 機制的基本存儲設備,一般對應爲一個普通分區或整個硬盤。建立物理卷時,會在分區或硬盤的頭部建立一個保留區塊,用於記錄 LVM 的屬性,並把存儲空間分割成默認大小爲 4MB 的基本單元(Physical Extent,PE),從而構成物理卷,物理卷通常直接使用設備文件名稱,如/dev/sdb一、/dev/sdb二、/dev/sdd 等。對用於轉換成物理卷的普通分區,建議先使用 fdisk 工具將分區類型的 ID 標記號改成「8e」。如果整塊硬盤,能夠將全部磁盤空間劃分爲一個主分區後再作相應調整。
卷組由一個或多個物理卷組成一個總體,即稱爲卷組,在卷組中能夠動態地添加或移除物理卷,許多個物理卷能夠分別組成不一樣的卷組,卷組的名稱由用戶自行定義。
邏輯卷創建在卷組之上,與物理卷沒有直接關係。對於邏輯捲來講,每個卷組就是一 個總體,從這個總體中「切出」一小塊空間,做爲用戶建立文件系統的基礎,這一小塊空間 就稱爲邏輯卷使用 mkfs 等工具在邏輯捲上建立文件系統之後,就能夠掛 載到 Linux 操做系統中的目錄下使用。
創建 LVM 分區管理機制的過程以下: 首先,將普通分區或整個硬盤建立爲物理卷;而後,將物理上比較分散的各物理卷的存儲 空間組成一個邏輯總體,即卷組;最後,基於卷組這個總體,分割出不一樣的數據存儲空 間,造成邏輯卷。邏輯卷纔是最終用戶能夠格式化並掛載使用的存儲單位。
(二)LVM的管理命令
主要命令
功能 | 物理卷管理 | 卷組管理 | 邏輯卷管理 |
Scan掃描 |
pvscan | vgscan | lvscan |
Create創建 | pvcreate | vgcreate | lvcreate |
Display顯示 | pvdisplay | vgdisplay | lvdisplay |
Remove刪除 | pvremove | vgremove | lvremove |
Extend擴展 | —— | vgextend | lvextend |
Reduce減小 | —— | vgreduce | lvreduce |
pvcreate 設備名1 [設備名2 .. ..] vgcreate 卷組名 物理卷名1 物理卷名2 lvcreate -L 容量大小 -n 邏輯卷名 卷組名 lvextend -L +大小 /dev/卷組名/邏輯卷名
(三)LVM的應用實例
案例環境
公司準備在Internet中搭建郵件服務器(Centos7.3系統平臺),面向全國各地的員工及部分VIP客戶提供電子郵箱空間
需求描述
因爲用戶數量衆多,郵件存儲須要大量的空間,考慮到動態擴容的須要,計劃增長兩塊SCSI硬盤並構建LVM邏輯卷(掛載到「/mailbox」目錄下)專門用於存放郵件數據
實驗步驟
(1)關閉服務器主機,打開機箱,正確掛接兩塊 SCSI 新硬盤。
(2)開啓服務器主機,並執行「fdisk -l」命令進行檢查,確認已識別新增的硬盤(sdb、 sdc)。
(3)在新磁盤中進行分區,將每塊硬盤的全部空間劃分爲一個獨立的主分區,並將分區 類型更改成「8e」。完成分區後使用「fdisk -l」命令查看。
[root@localhost ~]#fdisk -l /dev/sdb /dev/sdc
(4)將/dev/sdb1 和/dev/sdc1 分區轉換爲物理卷
[root@localhost ~]# pvcreate /dev/sdb1 /dev/sdc1
(5)建立卷組mail_store
[root@localhost ~]# vgcreate mail_store /dev/sdb1 /dev/sdc1
(6)建立邏輯卷-在 mail_store 卷組中建立一個名爲 mbox 的邏輯卷,容量設置爲 30GB
[root@localhost ~]# lvcreate -L +30G -n mbox mail_store
(7)格式化爲xfs文件系統,並掛載到/mailbox目錄
[root@localhost ~]# mkfs.xfs /dev/mail_store/mbox 格式化 ... [root@localhost ~]# mkdir /mailbox 建立掛載點目錄 [root@localhost ~]# mount /dev/mail_store/mbox /mailbox/ 掛載 [root@localhost ~]# df -hT /mailbox 查看磁盤信息
(四)磁盤配額概述
實現磁盤限額的條件
須要Linux內核支持
安裝xfsprogs與quota軟件包
Linux磁盤配額的特色
做用範圍:針對指定的文件系統(分區)
限制對象:用戶帳號,組帳號
限制類型:磁盤容量,文件數量
磁盤容量:限制用戶可以使用的磁盤數據塊(Block)大小,也就是限制磁盤空間大小,默認單位爲 KB。
文件數量:限制用戶可以擁有的文件個數。在 Linux 操做系統中,每個文件都有一個對應的數字標記,稱爲 i 結點(Inode)編號,這個編號在同一個文件系統內是惟一的,所以 xfs_quota 經過限制 i 結點的數量來實現對文件數量的限制。
限制方法:軟限制,硬限制
軟限制:指定一個軟性的配額數值(如 480MB 磁盤空間、180 個文件),在固定的寬限期(默認爲七天)內容許暫時超過這個限制,但系統會給出警告信息。
硬限制:指定一個硬性的配額數值(如 500MB 磁盤空間、200 個文件),是絕對禁止用戶超過的限制值,當達到硬限制值時,系統也會給出警告並禁止繼續寫入數據。硬限制的配額值應大於相應的軟限制值,不然軟限制將失效。
(五)磁盤配額管理
把以前建立的 mbox 邏輯卷/dev/mail_store/mbox 掛載到/mailbox 目錄下,而後 在該文件系統中進行配置,以實現磁盤配額功能。
1,以支持配額功能的方式掛載文件系統
[root@localhost ~]# umount /mailbox/ [root@localhost ~]# mount -o usrquota,grpquota /dev/mail_store/mbox /mailbox/ [root@localhost ~]# mount | grep "mail_store" /dev/mapper/mail_store-mbox on /mailbox type xfs (rw,relatime,seclabel,attr2,inode64,usrquota,grpquota) [root@localhost ~]# chmod 777 /mailbox/
若須要在每次開機後自動以支持配額功能的方式掛載該分區, 能夠將 「usrquota,grpquota」掛載參數寫入「/etc/fstab」文件中。
2,編輯用戶和組帳號的配額設置
使用xfs_quota命令編輯配額設置
xfs_quota -x -c 'limit -u bsoft=N bhard=N isoft=N ihard=N 用戶名' 掛載點
結合「limit」命令能夠設置磁盤容量,以及文件數的軟、 硬限制數值。
經常使用選項
-u:指定用戶配額設置
-g:指定用戶組配額設置
-x:啓動專家模式
-c:直接調用管理命令
限制字段
bsoft:設置磁盤容量的軟限制數值
bhard:設置磁盤容量的硬限制數值
isoft:設置磁盤文件數的軟限制數值
ihard:設置磁盤文件的硬限制數值
3,驗證磁盤配額功能
切換到設置配額的分區(掛載分區)
建立指定數量的文件:使用touch命令,或cp命令
建立指定容量的文件:使用dd命令,或cp命令
實驗:設置zhangsan用戶軟限制10M硬限制容量30M,文件數量軟限制4硬限制6
1)測試超過文件數量和文件容量是是否能夠被寫入
[root@localhost ~]# xfs_quota -x -c 'limit -u bsoft=10M bhard=30M isoft=4 ihard=6 zhangsan' /mailbox/ 設置配額 [root@localhost ~]# su - zhangsan 切換到zhangsan用戶 [zhangsan@localhost ~]$ cd /mailbox/ 切換到/mailbox目錄 [zhangsan@localhost mailbox]$ touch demo{1..5}.txt 建立五個文件 [zhangsan@localhost mailbox]$ ls demo1.txt demo2.txt demo3.txt demo4.txt demo5.txt [zhangsan@localhost mailbox]$ touch demo6.txt 建立第六個文件 [zhangsan@localhost mailbox]$ touch demo7.txt 建立第七個文件失敗 touch: 沒法建立"demo7.txt": 超出磁盤限額
[zhangsan@localhost mailbox]$ dd if=/dev/zero of=/mailbox/demo1.txt bs=1M count=20 從/dev/zero複製20M數據到demo1.txt中 記錄了20+0 的讀入 記錄了20+0 的寫出 20971520字節(21 MB)已複製,0.0824487 秒,254 MB/秒 [zhangsan@localhost mailbox]$ ll 總用量 20480 -rw-rw-r--. 1 zhangsan zhangsan 20971520 8月 20 18:54 demo1.txt [zhangsan@localhost mailbox]$ dd if=/dev/zero of=/mailbox/demo2.txt bs=1M count=20 在複製20M到demo2.txt中超出限額因此只複製10M dd: 寫入"/mailbox/demo2.txt" 出錯: 超出磁盤限額 記錄了11+0 的讀入 記錄了10+0 的寫出 10485760字節(10 MB)已複製,0.059165 秒,177 MB/秒 [zhangsan@localhost mailbox]$ touch demo3.txt 再建立新的文件也顯示超額 touch: 沒法建立"demo3.txt": 超出磁盤限額
結論:超額設置只要一條知足了超額另外一個條件就沒法執行
2)設置用戶的磁盤配額後可以使用「xfs_quota -c 'quota -uv zhangsan' /mailbox/「命 令查看用戶 zhangsan 的磁盤容量限制。結果輸出後」Quota」字段對應的是軟限制,「Limit」 字段對應的是硬限制
[root@localhost ~]# xfs_quota -x -c 'quota -uv zhangsan' /mailbox/
3)結合」-i「選項能夠查看 zhangsan 用戶的磁盤文件數限制
[root@localhost ~]# xfs_quota -x -c 'quota -i -uv zhangsan' /mailbox/
4,查看配額使用狀況
xfs_quota -x -c 'report 選項' 掛載點
report經常使用選項
-a:能夠查看全部可用分區的配額使用狀況
-i:查看磁盤容量
-b:文件輸出報告
-u:指定帳號
-g:指定組
[zhangsan@localhost mailbox]$ su - root 切換回root 密碼: 上一次登陸:二 8月 20 18:23:57 CST 2019從 192.168.109.10pts/1 上 [root@localhost ~]# xfs_quota -x -c 'report -abi' 查看配額的使用狀況
總結:
如何使用邏輯卷建立邏輯卷,限制磁盤配額和管理也是Linux中不可或缺的技能
謝謝閱讀!!!