v
“專業(yè)、務(wù)實(shí)、高效、創(chuàng)新、把客戶的事當(dāng)成自己的事”是我們每一個(gè)人一直以來堅(jiān)持追求的企業(yè)文化。 成都創(chuàng)新互聯(lián)是您可以信賴的網(wǎng)站建設(shè)服務(wù)商、專業(yè)的互聯(lián)網(wǎng)服務(wù)提供商! 專注于網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、軟件開發(fā)、設(shè)計(jì)服務(wù)業(yè)務(wù)。我們始終堅(jiān)持以客戶需求為導(dǎo)向,結(jié)合用戶體驗(yàn)與視覺傳達(dá),提供有針對(duì)性的項(xiàng)目解決方案,提供專業(yè)性的建議,創(chuàng)新互聯(lián)建站將不斷地超越自我,追逐市場,引領(lǐng)市場!
本文接著上篇文章作如下延伸:
鏈接:Linux磁盤管理之磁盤管理與文件系統(tǒng)
下面對(duì)以上問題逐一講解,深入實(shí)例進(jìn)行操作,帶你深入理解linux磁盤管理之LVM邏輯卷管理。
許多 Linux 使用者安裝操作系統(tǒng)時(shí)都會(huì)遇到這樣的困境:如何精確評(píng)估和分配各個(gè)硬盤分區(qū)的容量,如果當(dāng)初評(píng)估不準(zhǔn)確,一旦系統(tǒng)分區(qū)不夠用時(shí)可能不得不備份、刪除相關(guān)數(shù)據(jù),甚至被迫重新規(guī)劃分區(qū)并重裝操作系統(tǒng),以滿足應(yīng)用系統(tǒng)的需要。而 LVM 技術(shù)就實(shí)現(xiàn)了用戶動(dòng)態(tài)管理分配磁盤的需求。
LVM——Logical Volume Manger,邏輯卷管理,是Linux系統(tǒng)對(duì)磁盤分區(qū)進(jìn)行管理的一種邏輯機(jī)制,它是建立在硬盤和分區(qū)之上,文件系統(tǒng)之下的一個(gè)邏輯層,在建立文件系統(tǒng)時(shí)屏蔽了下層的磁盤分區(qū)布局,在保持現(xiàn)有數(shù)據(jù)不變的情況下動(dòng)態(tài)調(diào)整磁盤容量,從而提高磁盤管理的靈活性。
注意:/boot分區(qū)用于存放引導(dǎo)文件,不能基于LVM創(chuàng)建!??!
PV(物理卷)
物理卷(physical volume),是LVM機(jī)制的基本存儲(chǔ)設(shè)備,通常對(duì)應(yīng)為一個(gè)普通分區(qū)或整個(gè)硬盤。創(chuàng)建時(shí)會(huì)在分區(qū)或硬盤的頭部創(chuàng)建一個(gè)保留區(qū)塊,用于記錄LVM的屬性,并且把存儲(chǔ)空間分割成默認(rèn)大小為4MB的基本單元(PE),多個(gè)PE構(gòu)成物理卷
VG(卷組)
多個(gè)物理卷構(gòu)成卷組
LV(邏輯卷)
建立在卷組之上,與物理卷沒有直接關(guān)系。
三者示意圖如下所示:
功能 | 物理卷管理 | 卷組管理 | 邏輯卷管理 |
---|---|---|---|
scan掃描 | pvscan | vgscan | lvscan |
create建立 | pvcreate | vgcreate | lvcreate |
display顯示 | pvdisplay | vgdisplay | lvdisplay |
remove刪除 | pvremove | vgremove | lvremove |
extend擴(kuò)展 | —— | vgextend | lvextend |
reduce減少(某些格式未必支持) | —— | vgreduce | lvreduce |
上表主要列出了管理邏輯卷的具體操作命令,下面結(jié)合實(shí)際操作進(jìn)行上表中常用命令的演示。
實(shí)驗(yàn)環(huán)境:VMware15版本上Centos7的虛擬機(jī)環(huán)境進(jìn)行操作
添加磁盤并且重啟虛擬機(jī),具體幾塊根據(jù)自己的需求和硬件限制
我添加了三塊,具體操作步驟可以參考:https://blog.51cto.com/14557673/2447274
查看磁盤情況是否添加成功,成功則進(jìn)行分區(qū)操作(其中需要將作為該分區(qū)類型的ID標(biāo)記號(hào)改為8e,8e表示支持的是LVM分區(qū))
[root@lokott ~]# uname -a //顯示Centos7的內(nèi)核版本
Linux lokott 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
[root@lokott ~]# fdisk -l
磁盤 /dev/sda:42.9 GB, 42949672960 字節(jié),83886080 個(gè)扇區(qū)
Units = 扇區(qū) of 1 * 512 = 512 bytes
扇區(qū)大小(邏輯/物理):512 字節(jié) / 512 字節(jié)
I/O 大小(最小/最佳):512 字節(jié) / 512 字節(jié)
磁盤標(biāo)簽類型:dos
磁盤標(biāo)識(shí)符:0x000a0791
設(shè)備 Boot Start End Blocks Id System
/dev/sda1 * 2048 12584959 6291456 83 Linux
/dev/sda2 12584960 54527999 20971520 83 Linux
/dev/sda3 54528000 62916607 4194304 82 Linux swap / Solaris
/dev/sda4 62916608 83886079 10484736 5 Extended
/dev/sda5 62918656 83886079 10483712 83 Linux
磁盤 /dev/sdb:21.5 GB, 21474836480 字節(jié),41943040 個(gè)扇區(qū)
Units = 扇區(qū) of 1 * 512 = 512 bytes
扇區(qū)大小(邏輯/物理):512 字節(jié) / 512 字節(jié)
I/O 大小(最小/最佳):512 字節(jié) / 512 字節(jié)
磁盤 /dev/sdc:21.5 GB, 21474836480 字節(jié),41943040 個(gè)扇區(qū)
Units = 扇區(qū) of 1 * 512 = 512 bytes
扇區(qū)大小(邏輯/物理):512 字節(jié) / 512 字節(jié)
I/O 大小(最小/最佳):512 字節(jié) / 512 字節(jié)
磁盤 /dev/sdd:21.5 GB, 21474836480 字節(jié),41943040 個(gè)扇區(qū)
Units = 扇區(qū) of 1 * 512 = 512 bytes
扇區(qū)大小(邏輯/物理):512 字節(jié) / 512 字節(jié)
I/O 大小(最小/最佳):512 字節(jié) / 512 字節(jié)
分區(qū)操作如下:
[root@lokott ~]# fdisk /dev/sdb //完成sdb和sdc的分區(qū)和分區(qū)類型設(shè)置
歡迎使用 fdisk (util-linux 2.23.2)。
..... //中間交互過程省略,具體信息查看上述鏈接文章
命令(輸入 m 獲取幫助):p
磁盤 /dev/sdb:21.5 GB, 21474836480 字節(jié),41943040 個(gè)扇區(qū)
Units = 扇區(qū) of 1 * 512 = 512 bytes
扇區(qū)大小(邏輯/物理):512 字節(jié) / 512 字節(jié)
I/O 大小(最小/最佳):512 字節(jié) / 512 字節(jié)
磁盤標(biāo)簽類型:dos
磁盤標(biāo)識(shí)符:0x5e2f4ad3
設(shè)備 Boot Start End Blocks Id System
/dev/sdb1 2048 20973567 10485760 8e Linux LVM
/dev/sdb2 20973568 31459327 5242880 83 Linux
命令(輸入 m 獲取幫助):w
[root@lokott ~]# fdisk /dev/sdc
歡迎使用 fdisk (util-linux 2.23.2)。
更改將停留在內(nèi)存中,直到您決定將更改寫入磁盤。
使用寫入命令前請(qǐng)三思。
命令(輸入 m 獲取幫助):p
磁盤 /dev/sdc:21.5 GB, 21474836480 字節(jié),41943040 個(gè)扇區(qū)
Units = 扇區(qū) of 1 * 512 = 512 bytes
扇區(qū)大小(邏輯/物理):512 字節(jié) / 512 字節(jié)
I/O 大小(最小/最佳):512 字節(jié) / 512 字節(jié)
磁盤標(biāo)簽類型:dos
磁盤標(biāo)識(shí)符:0xfd710363
設(shè)備 Boot Start End Blocks Id System
/dev/sdc1 2048 10487807 5242880 83 Linux
/dev/sdc2 10487808 31459327 10485760 8e Linux LVM
目前已經(jīng)將sdb1和sdc2作為邏輯分區(qū),使用fdisk -l可以查看信息
[root@lokott ~]# fdisk -l /dev/sd[b-c] //簡化操作
磁盤 /dev/sdb:21.5 GB, 21474836480 字節(jié),41943040 個(gè)扇區(qū)
Units = 扇區(qū) of 1 * 512 = 512 bytes
扇區(qū)大小(邏輯/物理):512 字節(jié) / 512 字節(jié)
I/O 大小(最小/最佳):512 字節(jié) / 512 字節(jié)
磁盤標(biāo)簽類型:dos
磁盤標(biāo)識(shí)符:0x5e2f4ad3
設(shè)備 Boot Start End Blocks Id System
/dev/sdb1 2048 20973567 10485760 8e Linux LVM
/dev/sdb2 20973568 31459327 5242880 83 Linux
磁盤 /dev/sdc:21.5 GB, 21474836480 字節(jié),41943040 個(gè)扇區(qū)
Units = 扇區(qū) of 1 * 512 = 512 bytes
扇區(qū)大小(邏輯/物理):512 字節(jié) / 512 字節(jié)
I/O 大小(最小/最佳):512 字節(jié) / 512 字節(jié)
磁盤標(biāo)簽類型:dos
磁盤標(biāo)識(shí)符:0xfd710363
設(shè)備 Boot Start End Blocks Id System
/dev/sdc1 2048 10487807 5242880 83 Linux
/dev/sdc2 10487808 31459327 10485760 8e Linux LVM
[root@lokott ~]#
分區(qū)完成后,使用pvcreate命令將所需操作分區(qū)轉(zhuǎn)換為物理卷
[root@lokott ~]# pvscan //查看系統(tǒng)所有的物理卷,結(jié)果是沒有
No matching physical volumes found
[root@lokott ~]# pvcreate /dev/sdb1 /dev/sdc2 //轉(zhuǎn)換分區(qū)為物理卷
Physical volume "/dev/sdb1" successfully created.
Physical volume "/dev/sdc2" successfully created.
[root@lokott ~]# pvdisplay //查看物理卷詳細(xì)信息
"/dev/sdc2" is a new physical volume of "10.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sdc2
VG Name
PV Size 10.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID AzPaEA-X9Um-HPQQ-zdOg-mzVf-wXvh-QWEEXt
"/dev/sdb1" is a new physical volume of "10.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sdb1
VG Name
PV Size 10.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID 5fh4Yx-Bwlm-ym7b-Qg0P-3HRb-iKRi-lwQyG9
使用vgcreate命令將一個(gè)或多個(gè)物理卷組成卷組
[root@lokott ~]# vgscan
Reading volume groups from cache.
[root@lokott ~]# vgcreate vgroup /dev/sdb1 /dev/sdc2 //vgroup是所建卷組的名字
Volume group "vgroup" successfully created
[root@lokott ~]# vgdisplay
--- Volume group ---
VG Name vgroup
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 2
Act PV 2
VG Size 19.99 GiB
PE Size 4.00 MiB
Total PE 5118
Alloc PE / Size 0 / 0
Free PE / Size 5118 / 19.99 GiB
VG UUID K2s77S-fAfb-C5V2-P7ci-m4eo-DdNh-nanIW4
使用lvcreate命令從用戶指定的卷組中分割出空間來創(chuàng)建邏輯卷。
[root@lokott ~]# lvscan //查看系統(tǒng)已建邏輯卷信息
[root@lokott ~]# lvcreate -L 10G -n vgroup1 vgroup //從卷組分割空間創(chuàng)建邏輯卷
Logical volume "vgroup1" created.
[root@lokott ~]# ls /dev/vgroup/vgroup1 //顯示邏輯卷vgroup1的鏈接文件
/dev/vgroup/vgroup1
[root@lokott ~]# ls /dev/mapper/vgroup-vgroup1 //顯示邏輯卷vgroup1的設(shè)備文件
/dev/mapper/vgroup-vgroup1
[root@lokott ~]# lvdisplay //顯示邏輯卷詳細(xì)信息
--- Logical volume ---
LV Path /dev/vgroup/vgroup1
LV Name vgroup1
VG Name vgroup
LV UUID ucTRFz-DK1l-fVgf-Gvzr-562n-nkYS-kuRACZ
LV Write Access read/write
LV Creation host, time lokott, 2019-11-02 14:27:41 +0800
LV Status available
# open 0
LV Size 10.00 GiB
Current LE 2560
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
對(duì)邏輯卷進(jìn)行格式化,并且創(chuàng)建掛載點(diǎn)(mkdir)進(jìn)行掛載,使用df命令進(jìn)行查看
[root@lokott ~]# mkfs.xfs /dev/vgroup/vgroup1
meta-data=/dev/vgroup/vgroup1 isize=512 agcount=4, agsize=655360 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=2621440, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@lokott ~]# mkdir /mail
[root@lokott ~]# mount /dev/vgroup/vgroup1 /mail/
[root@lokott ~]# df -hT
文件系統(tǒng) 類型 容量 已用 可用 已用% 掛載點(diǎn)
/dev/sda2 xfs 20G 4.4G 16G 22% /
devtmpfs devtmpfs 474M 0 474M 0% /dev
tmpfs tmpfs 489M 0 489M 0% /dev/shm
tmpfs tmpfs 489M 7.2M 482M 2% /run
tmpfs tmpfs 489M 0 489M 0% /sys/fs/cgroup
/dev/sda5 xfs 10G 37M 10G 1% /home
/dev/sda1 xfs 6.0G 158M 5.9G 3% /boot
tmpfs tmpfs 98M 4.0K 98M 1% /run/user/42
tmpfs tmpfs 98M 24K 98M 1% /run/user/0
/dev/sr0 iso9660 4.3G 4.3G 0 100% /run/media/root/CentOS 7 x86_64
/dev/mapper/vgroup-vgroup1 xfs 10G 33M 10G 1% /mail
[root@lokott ~]# lvextend -L +5G /dev/vgroup/vgroup1 //下面的信息表示成功擴(kuò)展(前提是卷組中有空余空間)
Size of logical volume vgroup/vgroup1 changed from 10.00 GiB (2560 extents) to 15.00 GiB (3840 extents).
Logical volume vgroup/vgroup1 successfully resized.
[root@lokott ~]# df -hT //查看是沒有顯示出來需要更新讓系統(tǒng)識(shí)別文件系統(tǒng)
文件系統(tǒng) 類型 容量 已用 可用 已用% 掛載點(diǎn)
/dev/sda2 xfs 20G 4.4G 16G 22% /
devtmpfs devtmpfs 474M 0 474M 0% /dev
tmpfs tmpfs 489M 0 489M 0% /dev/shm
tmpfs tmpfs 489M 7.2M 482M 2% /run
tmpfs tmpfs 489M 0 489M 0% /sys/fs/cgroup
/dev/sda5 xfs 10G 37M 10G 1% /home
/dev/sda1 xfs 6.0G 158M 5.9G 3% /boot
tmpfs tmpfs 98M 4.0K 98M 1% /run/user/42
tmpfs tmpfs 98M 24K 98M 1% /run/user/0
/dev/sr0 iso9660 4.3G 4.3G 0 100% /run/media/root/CentOS 7 x86_64
/dev/mapper/vgroup-vgroup1 xfs 10G 33M 10G 1% /mail
[root@lokott ~]# xfs_growfs /dev/vgroup/vgroup1 //xfs的使用xfs_growfs命令,ext4用resize2fs命令但需先取消掛載
meta-data=/dev/mapper/vgroup-vgroup1 isize=512 agcount=4, agsize=655360 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=2621440, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 2621440 to 3932160
[root@lokott ~]# df -hT | grep /dev/mapper/vgroup-vgroup1 //更新后可以查看到擴(kuò)展到15G
/dev/mapper/vgroup-vgroup1 xfs 15G 33M 15G 1% /mail
[root@lokott ~]#
以上就是LVM邏輯卷管理的全過程操作,可以跟著做!務(wù)必注意分區(qū)時(shí)的邏輯分區(qū)的操作,以及后面更新的命令需要根據(jù)文件系統(tǒng)類型使用與之對(duì)應(yīng)的命令(ext4——resize2fs(先取消掛載),xfs——xfs_growfs)
磁盤配額,顧名思義,就是為了限制磁盤資源的使用,磁盤配額是系統(tǒng)對(duì)用戶能使用磁盤資源的控制(或者說限制).在Linux中,磁盤配額可以對(duì)用戶的空間使用情況,文件數(shù)量(實(shí)際上是inode的數(shù)量,文件數(shù)量是限制inode的結(jié)果)進(jìn)行限制。如果超出此范圍則用戶不能在往磁盤里繼續(xù)寫入數(shù)據(jù)。
對(duì)于一般人來說,可能不是特別好理解該段解釋,那我們舉一個(gè)例子來說明一下:
假設(shè)有一筐桃子,一共50個(gè),平均分配給10只猴子,那么每只猴子可以分到5個(gè)桃子,首先是限制了桃子的總數(shù)和每個(gè)猴子可以分到的桃子數(shù)量,這就是磁盤配額,但是在系統(tǒng)中分配必然不是平均的,這就需要對(duì)此進(jìn)行額度分配,有的猴子分到的多點(diǎn),那么就意味著有的猴子分到的就會(huì)便少,但是總數(shù)不會(huì)變化。對(duì)于linux系統(tǒng)而言,就意味著單個(gè)磁盤的實(shí)際資源空間是有限的,那么對(duì)磁盤的合理分配就尤為重要。
因此,進(jìn)行磁盤配額的原因就是磁盤的空間資源是有限的,而其目的可以理解為合理規(guī)劃,避免資源浪費(fèi)。
其中軟限制<=硬限制,否則軟限制沒有意義,但是軟限制是起到真正起到控制作用的方法
根據(jù)類型和方法有以下情況
下面具體給出具體實(shí)驗(yàn)操作過程演示該如何進(jìn)行磁盤配額。
具體操作流程如下:
首先需要查看是否滿足上述兩個(gè)條件
[root@lokott ~]# rpm -q xfsprogs //用rpm -q 進(jìn)行查看上述兩個(gè)條件的軟件包是否在
xfsprogs-4.5.0-12.el7.x86_64
[root@lokott ~]# rpm -q quota
quota-4.01-14.el7.x86_64
滿足條件,接著上面的實(shí)驗(yàn)進(jìn)行操作,先取消掛載(umount /mail)
[root@lokott ~]# umount /mail/
[root@lokott ~]# df -hT
文件系統(tǒng) 類型 容量 已用 可用 已用% 掛載點(diǎn)
/dev/sda2 xfs 20G 4.4G 16G 22% /
devtmpfs devtmpfs 474M 0 474M 0% /dev
tmpfs tmpfs 489M 0 489M 0% /dev/shm
tmpfs tmpfs 489M 7.2M 482M 2% /run
tmpfs tmpfs 489M 0 489M 0% /sys/fs/cgroup
/dev/sda5 xfs 10G 37M 10G 1% /home
/dev/sda1 xfs 6.0G 158M 5.9G 3% /boot
tmpfs tmpfs 98M 4.0K 98M 1% /run/user/42
tmpfs tmpfs 98M 24K 98M 1% /run/user/0
/dev/sr0 iso9660 4.3G 4.3G 0 100% /run/media/root/CentOS 7 x86_64
取消掛載后添加usrquota和grpquota參數(shù)以支持配額功能的方式掛載文件系統(tǒng)
[root@lokott ~]# mount -o usrquota,grpquota /dev/vgroup/vgroup1 /mail/
[root@lokott ~]# mount | tail -1 //mount 命令結(jié)合“|”查看尾部一行的信息也可以使用下面的grep命令
/dev/mapper/vgroup-vgroup1 on /mail type xfs (rw,relatime,seclabel,attr2,inode64,usrquota,grpquota)
[root@lokott ~]# mount | grep /dev/mapper/vgroup-vgroup1
/dev/mapper/vgroup-vgroup1 on /mail type xfs (rw,relatime,seclabel,attr2,inode64,usrquota,grpquota)
編輯用戶和組賬號(hào)的配額設(shè)置(這里需要有非root的用戶,可以用tail命令查看/etc/passwd的信息,如果沒有其他用戶使用useradd創(chuàng)建一個(gè)用戶,下面給出具體演示過程)
[root@lokott ~]# tail -3 /etc/passwd //查看,我這里是由一個(gè)lokott的用戶的,為了演示下面創(chuàng)建一個(gè)lisi
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
lokott:x:1000:1000:lokott:/home/lokott:/bin/bash
[root@lokott ~]# useradd lisi //創(chuàng)建新的用戶賬號(hào)和密碼
[root@lokott ~]# passwd lisi
更改用戶 lisi 的密碼 。
新的 密碼:
無效的密碼: 密碼少于 8 個(gè)字符
重新輸入新的 密碼:
passwd:所有的身份驗(yàn)證令牌已經(jīng)成功更新。
[root@lokott ~]# tail -3 /etc/passwd
tcpdump:x:72:72::/:/sbin/nologin
lokott:x:1000:1000:lokott:/home/lokott:/bin/bash
lisi:x:1001:1001::/home/lisi:/bin/bash
[root@lokott ~]# xfs_quota -x -c 'limit -u bsoft=1G bhard=2G isoft=20 ihard=50 lisi' /mail/
這里對(duì)最下面的命令進(jìn)行詳細(xì)解釋,這條命令是真正實(shí)現(xiàn)編輯用戶的配額設(shè)置的命令操作,其中xfs_quota是命令,選項(xiàng)-x表示專家模式,-c表示命令(command,其實(shí)就是單引號(hào)內(nèi)的內(nèi)容,類似數(shù)據(jù)庫的增刪改查操作,limit表示限制,-u表示對(duì)用戶,后面的是限制配額大小,然后是用戶名,最后千萬不要忘記掛載點(diǎn)?。。。?/p>
查看磁盤配額使用情況和驗(yàn)證磁盤配額功能,首先在root下將掛載點(diǎn)的權(quán)限改為777,否則待會(huì)切換用戶時(shí)創(chuàng)建文件權(quán)限不夠
[root@lokott ~]# xfs_quota -c 'quota -uv lisi' /mail/ //查看磁盤容量限制
Disk quotas for User lisi (1001)
Filesystem Blocks Quota Limit Warn/Time Mounted on
/dev/mapper/vgroup-vgroup1
0 1048576 2097152 00 [--------] /mail
[root@lokott ~]# xfs_quota -c 'quota -iuv lisi' /mail/ //查看文件數(shù)量限制
Disk quotas for User lisi (1001)
Filesystem Files Quota Limit Warn/Time Mounted on
/dev/mapper/vgroup-vgroup1
0 20 50 00 [--------] /mail
[root@lokott ~]# xfs_quota -x -c 'report -a' /mail/ //查看配額的所有信息
User quota on /mail (/dev/mapper/vgroup-vgroup1)
Blocks
User ID Used Soft Hard Warn/Grace
---------- --------------------------------------------------
root 0 0 0 00 [--------]
lisi 0 1048576 2097152 00 [--------]
Group quota on /mail (/dev/mapper/vgroup-vgroup1)
Blocks
Group ID Used Soft Hard Warn/Grace
---------- --------------------------------------------------
root 0 0 0 00 [--------]
[root@lokott ~]# chmod 777 /mail/
[root@lokott ~]# su - lisi //切換用戶
上一次登錄:六 11月 2 16:15:17 CST 2019pts/0 上
[lisi@lokott ~]$ cd /mail/ //進(jìn)入掛載點(diǎn)目錄創(chuàng)建文件方式來驗(yàn)證(方法一)
[lisi@lokott mail]$ ls
[lisi@lokott mail]$ touch {1..20}.txt
[lisi@lokott mail]$ ls
10.txt 12.txt 14.txt 16.txt 18.txt 1.txt 2.txt 4.txt 6.txt 8.txt
11.txt 13.txt 15.txt 17.txt 19.txt 20.txt 3.txt 5.txt 7.txt 9.txt
[lisi@lokott mail]$ touch {20..60}.txt //上面查看的數(shù)量限制是50,現(xiàn)在超過50了
touch: 無法創(chuàng)建"51.txt": 超出磁盤限額
touch: 無法創(chuàng)建"52.txt": 超出磁盤限額
touch: 無法創(chuàng)建"53.txt": 超出磁盤限額
touch: 無法創(chuàng)建"54.txt": 超出磁盤限額
touch: 無法創(chuàng)建"55.txt": 超出磁盤限額
touch: 無法創(chuàng)建"56.txt": 超出磁盤限額
touch: 無法創(chuàng)建"57.txt": 超出磁盤限額
touch: 無法創(chuàng)建"58.txt": 超出磁盤限額
touch: 無法創(chuàng)建"59.txt": 超出磁盤限額
touch: 無法創(chuàng)建"60.txt": 超出磁盤限額
[lisi@lokott mail]$ ls | wc -l //表示成功創(chuàng)建了30個(gè)
50
[lisi@lokott mail]$ su //切換到root下看一下數(shù)量限制的變化,其中warn/time變?yōu)?days
密碼:
[root@lokott mail]# cd
[root@lokott ~]# xfs_quota -c 'quota -iuv lisi' /mail/ //查看數(shù)量配額限制功能
Disk quotas for User lisi (1001)
Filesystem Files Quota Limit Warn/Time Mounted on
/dev/mapper/vgroup-vgroup1
50 20 50 00 [6 days] /mail
對(duì)磁盤進(jìn)行配額操作后,其限制是非常嚴(yán)格的,上面我們通過創(chuàng)建文件的方法驗(yàn)證了磁盤配額數(shù)量限制的效果,其中警告時(shí)間表示從明天開始計(jì)算6天時(shí)間,時(shí)間超過后由于軟限制40的文件節(jié)點(diǎn)數(shù)量的限制,后面創(chuàng)建的10個(gè)文件將會(huì)被刪除!
下面通過dd命令來驗(yàn)證配額容量限制的效果:
[root@lokott ~]# su - lisi //首先切換到lisi用戶上cd到掛載點(diǎn)目錄刪除原來的文件
上一次登錄:六 11月 2 16:46:28 CST 2019pts/0 上
[lisi@lokott ~]$ cd /mail/
[lisi@lokott mail]$ ls
10.txt 14.txt 18.txt 21.txt 25.txt 29.txt 32.txt 36.txt 3.txt 43.txt 47.txt 50.txt 8.txt
11.txt 15.txt 19.txt 22.txt 26.txt 2.txt 33.txt 37.txt 40.txt 44.txt 48.txt 5.txt 9.txt
12.txt 16.txt 1.txt 23.txt 27.txt 30.txt 34.txt 38.txt 41.txt 45.txt 49.txt 6.txt
13.txt 17.txt 20.txt 24.txt 28.txt 31.txt 35.txt 39.txt 42.txt 46.txt 4.txt 7.txt
[lisi@lokott mail]$ rm *.txt -f //刪除所有文件然后使用dd命令操作,軟限制1G 硬限制2G
[lisi@lokott mail]$ cd
[lisi@lokott ~]$ dd if=/dev/zero of=/mail/demo01.txt bs=50M count=10 //第一次沒問題
記錄了10+0 的讀入
記錄了10+0 的寫出
524288000字節(jié)(524 MB)已復(fù)制,0.647092 秒,810 MB/秒
[lisi@lokott ~]$ dd if=/dev/zero of=/mail/demo02.txt bs=50M count=20 //第二次沒問題
記錄了20+0 的讀入
記錄了20+0 的寫出
1048576000字節(jié)(1.0 GB)已復(fù)制,0.685654 秒,1.5 GB/秒
[lisi@lokott ~]$ dd if=/dev/zero of=/mail/demo03.txt bs=50M count=20 //第三次失敗了
dd: 寫入"/mail/demo03.txt" 出錯(cuò): 超出磁盤限額
記錄了11+0 的讀入
記錄了10+0 的寫出
574619648字節(jié)(575 MB)已復(fù)制,0.357243 秒,1.6 GB/秒
[lisi@lokott ~]$ du -sh /mail/ //統(tǒng)計(jì)目錄空間大小使用情況
2.0G /mail/
[lisi@lokott ~]$ ls -lh /mail/ //查看詳細(xì)信息
總用量 2.0G
-rw-rw-r--. 1 lisi lisi 500M 11月 2 17:08 demo01.txt
-rw-rw-r--. 1 lisi lisi 1000M 11月 2 17:09 demo02.txt
-rw-rw-r--. 1 lisi lisi 548M 11月 2 17:10 demo03.txt
[lisi@lokott ~]$ su
密碼:
[root@lokott lisi]# cd
[root@lokott ~]# xfs_quota -c 'quota -uv lisi' /mail/ //查看容量配額限制功能
Disk quotas for User lisi (1001)
Filesystem Blocks Quota Limit Warn/Time Mounted on
/dev/mapper/vgroup-vgroup1
2097152 1048576 2097152 00 [6 days] /mail
通過dd命令(dd命令是用指定大小的塊拷貝一個(gè)文件,并在拷貝的同時(shí)進(jìn)行指定的轉(zhuǎn)換)來驗(yàn)證磁盤配額中容量限制的功能測試驗(yàn)證,可見此與上一個(gè)方法驗(yàn)證的結(jié)果類似,實(shí)驗(yàn)操作過程中注意以下兩點(diǎn):
需要切換用戶驗(yàn)證和更新掛載點(diǎn)的內(nèi)容(如果第二個(gè)方法沒有先將原來的文件刪除,是無法進(jìn)行實(shí)驗(yàn)的)