目錄
???推薦
磁盤容量配額
VDO虛擬數(shù)據(jù)優(yōu)化
軟硬方式鏈接
???推薦
前些天發(fā)現(xiàn)了一個巨牛的人工智能學(xué)習(xí)網(wǎng)站,通俗易懂,風(fēng)趣幽默,忍不住分享一下給大家。點擊跳轉(zhuǎn)到網(wǎng)站
磁盤容量配額
使用磁盤容量配額服務(wù)來限制某位用戶或某個用戶組針對特定文件夾可以使用的最大硬盤空間或最大文件個數(shù),一旦達到這個最大值就不再允許繼續(xù)使用??梢允褂胵uota技術(shù)進行磁盤容量配額管理,從而限制用戶的硬盤可用容量或所能創(chuàng)建的最大文件個數(shù)。quota技術(shù)還有軟限制和硬限制的功能。
軟限制:當達到軟限制時會提示用戶,但仍允許用戶在限定的額度內(nèi)繼續(xù)使用。
硬限制:當達到硬限制時會提示用戶,且強制終止用戶的操作。
手動編輯配置文件并重啟一次系統(tǒng),讓系統(tǒng)中的啟動目錄(/boot)能夠支持quota磁盤配額技術(shù)
[root@localhost ~]# vim /etc/fstab ?
UUID=147464a6-27ee-477f-8dfd-0c157a0aabc7 / ? ? ? ? ? ? ? ? ? ? ? xfs ? ? defaults ? ? ? ?0 0
UUID=b7107860-5e6f-4ff5-abb3-880ab7e6caca /boot ? ? ? ? ? ? ? ? ? xfs ? ? defaults
,uquota
? ? ? ?0 0
UUID=1396ecbf-4d87-4e65-898b-28048721d05e none ? ? ? ? ? ? ? ? ? ?swap ? ?defaults ? ? ? ?0 0
/dev/cdrom /media/cdrom iso9660 defaults 0 0
/dev/nvme0n2p1 /newfile xfs defaults 0 0
/dev/nvme0n2p2 swap swap defaults 0 0
文章來源:http://www.zghlxwxcb.cn/news/detail-861424.html
[root@localhost ~]# reboot
在重啟系統(tǒng)后使用mount命令查看,即可發(fā)現(xiàn)/boot目錄已經(jīng)支持quota磁盤配額技術(shù)了:
[root@localhost ~]# mount | grep boot
/dev/nvme0n1p1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k
,usrquota
)
創(chuàng)建一個用于檢查quota磁盤容量配額效果的用戶tom,并針對/boot目錄增加其他人的寫權(quán)限,保證用戶能夠正常寫入數(shù)據(jù):
[root@localhost ~]# useradd tom
[root@localhost ~]# chmod -R o+w /boot
xfs_quota命令用于管理設(shè)備的磁盤容量配額,語法格式為“xfs_quota [參數(shù)] 配額 文件系統(tǒng)”
針對XFS文件系統(tǒng)來管理quota磁盤容量配額服務(wù)而設(shè)計的命令。其中,-c參數(shù)用于以參數(shù)的形式設(shè)置要執(zhí)行的命令;-x參數(shù)是專家模式,讓運維人員能夠?qū)uota服務(wù)進行更多復(fù)雜的配置。接下來使用xfs_quota命令來設(shè)置用戶tom對/boot目錄的quota磁盤容量配額。具體的限額控制包括:硬盤使用量的軟限制和硬限制分別為3MB和6MB;創(chuàng)建文件數(shù)量的軟限制和硬限制分別為3個和6個
[root@localhost ~]# xfs_quota -x -c 'limit bsoft=3m bhard=6m isoft=3 ihard=6 tom' /boot
[root@localhost ~]# xfs_quota -x -c report /boot
User quota on /boot (/dev/nvme0n1p1)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Blocks ? ? ? ? ? ? ? ? ? ? ?
User ID ? ? ? ? ?Used ? ? ? Soft ? ? ? Hard ? ?Warn/Grace ? ? ?
---------- -------------------------------------------------- ?
root ? ? ? ? ? 179368 ? ? ? ? ?0 ? ? ? ? ?0 ? ? 00 [--------]
tom ? ? ? ? ? ? ? ? 0 ? ? ? 3072 ? ? ? 6144 ? ? 00 [--------]
使用的參數(shù)分為兩組,分別是isoft/ihard與bsoft/bhard,isoft和ihard就是通過限制系統(tǒng)最大使用的inode個數(shù)來限制了文件數(shù)量。bsoft和bhard則是代表文件所占用的block大小,也就是文件占用的最大容量的總統(tǒng)計。
soft是軟限制,超過該限制后也只是將操作記錄寫到日志中,不對用戶行為進行限制。而hard是硬限制,一旦超過系統(tǒng)就會馬上禁止,用戶再也不能創(chuàng)建或新占任何的硬盤容量。
嘗試切換到一個普通用戶,然后分別嘗試創(chuàng)建一個體積為5MB和8MB的文件,但是我實驗起來并沒有發(fā)現(xiàn)有限制,之前的命令也沒什么問題,可能是系統(tǒng)問題
edquota命令用于管理系統(tǒng)的磁盤配額,語法格式為“edquota [參數(shù)] 用戶名”
用戶設(shè)置了quota磁盤容量配額限制后,可以使用edquota命令按需修改限額的數(shù)值。-u參數(shù)表示要針對哪個用戶進行設(shè)置;-g參數(shù)表示要針對哪個用戶組進行設(shè)置
?edquota命令中可用參數(shù)及作用
參數(shù) | 作用 |
-u | 對某個用戶進行設(shè)置 |
-g | 對某個用戶組進行設(shè)置 |
-p | 復(fù)制原有的規(guī)則到新的用戶/組 |
-t | 限制寬限期限 |
edquota命令會調(diào)用Vi或Vim編輯器來讓root管理員修改要限制的具體細節(jié),試一下改小能不能行
[root@localhost ~]# edquota -u tom ?
Disk quotas for user tom (uid 8889):
?Filesystem ? ? ? ? ? ? ? ? ? blocks ? ? ? soft ? ? ? hard ? ? inodes ? ? soft ? ? hard
?/dev/nvme0n1p1 ? ? ? ? ? ? ? ? 4096 ? ? ? 3072 ? ? ? 3072 ? ? ? ? ?1 ? ? ? ?3 ? ? ? ?6
終于生效了,可能是我寫的hard太大了
[tom@localhost boot]$ dd if=/dev/zero of=/boot/tom bs=8M count=2
dd: error writing '/boot/tom': Disk quota exceeded
1+0 records in
0+0 records out
0 bytes copied, 0.00387253 s, 0.0 kB/s
[tom@localhost boot]$ dd if=/dev/zero of=/boot/tom bs=8M count=1
dd: error writing '/boot/tom': Disk quota exceeded
1+0 records in
0+0 records out
0 bytes copied, 0.00278153 s, 0.0 kB/s
VDO虛擬數(shù)據(jù)優(yōu)化
VDO(Virtual Data Optimize,虛擬數(shù)據(jù)優(yōu)化)是一種通過壓縮或刪除存儲設(shè)備上的數(shù)據(jù)來優(yōu)化存儲空間的技術(shù),VDO針對各種類型文件的壓縮效果
對各種類型文件壓縮效果匯總表
文件名 | 描述 | 類型 | 原始大?。↘B) | 實際占用空間(KB) |
dickens | 狄更斯文集 | 英文原文 | 9953 | 9948 |
mozilla | Mozilla的1.0可執(zhí)行文件 | 執(zhí)行程序 | 50020 | 33228 |
mr | 醫(yī)用resonanse圖像 | 圖片 | 9736 | 9272 |
nci | 結(jié)構(gòu)化的化學(xué)數(shù)據(jù)庫 | 數(shù)據(jù)庫 | 32767 | 10168 |
ooffice | Open Office.org 1.01 DLL | 可執(zhí)行程序 | 6008 | 5640 |
osdb | 基準測試用的MySQL格式示例數(shù)據(jù)庫 | 數(shù)據(jù)庫 | 9849 | 9824 |
reymont | 瓦迪斯瓦夫·雷蒙特的書 | 6471 | 6312 | |
samba | samba源代碼 | src源碼 | 21100 | 11768 |
sao | 星空數(shù)據(jù) | 天文格式的bin文件 | 7081 | 7036 |
webster | 辭海 | HTML | 40487 | 40144 |
xml | XML文件 | HTML | 5220 | 2180 |
x-ray | 透視醫(yī)學(xué)圖片 | 醫(yī)院數(shù)據(jù) | 8275 | 8260 |
VDO技術(shù)支持本地存儲和遠程存儲,可以作為本地文件系統(tǒng)、iSCSI或Ceph存儲下的附加存儲層使用。
司服務(wù)器上已有的dm-crypt之類的技術(shù)是可以與VDO技術(shù)兼容的,但記得要先對卷進行加密再使用VDO。因為加密會使重復(fù)的數(shù)據(jù)變得有所不同,因此刪重操作無法實現(xiàn)。
VDO技術(shù)不可疊加使用,1TB的物理存儲提升成10TB的邏輯存儲沒問題,但是再用10TB翻成100TB就不行
把虛擬機關(guān)閉,添加一塊容量為20GB的新硬盤進來,開機后就能看到這塊名稱為/dev/nvme0n3的新硬盤了:
[root@localhost ~]# ll /dev/nvme0n3
brw-rw----. 1 root disk 259, 7 Nov 21 16:45 /dev/nvme0n3
RHEL/CentOS 8系統(tǒng)中默認已經(jīng)啟用了VDO技術(shù)
[root@localhost ~]# dnf install kmod-kvdo vdo
Last metadata expiration check: 2:19:07 ago on Tue 21 Nov 2023 02:29:37 PM CST.
Package kmod-kvdo-6.2.5.72-81.el8.x86_64 is already installed.
Package vdo-6.2.5.74-14.el8.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!
創(chuàng)建一個全新的VDO卷,新添加進來的物理設(shè)備就是使用vdo命令來管理的,其中name參數(shù)代表新的設(shè)備卷的名稱;device參數(shù)代表由哪塊磁盤進行制作;vdoLogicalSize參數(shù)代表制作后的設(shè)備大小,20GB硬盤將翻成200GB的邏輯存儲:
[root@localhost ~]# vdo create --name=storage --device=/dev/nvme0n3 --vdoLogicalSize=200G
Creating VDO storage
? ? ?The VDO volume can address 16 GB in 8 data slabs, each 2 GB.
? ? ?It can grow to address at most 16 TB of physical storage in 8192 slabs.
? ? ?If a larger maximum size might be needed, use bigger slabs.
Starting VDO storage
Starting compression on VDO storage
VDO instance 0 volume is ready at /dev/mapper/storage
在創(chuàng)建成功后,使用status參數(shù)查看新建卷的概述信息:
[root@localhost ~]# vdo status --name=storage
VDO status:
?Date: '2023-11-21 16:51:21+08:00'
?Node: localhost.localdomain
Kernel module:
?Loaded: true
?Name: kvdo
?Version information:
? ?kvdo version: 6.2.5.72
Configuration:
?File: /etc/vdoconf.yml
?Last modified: '2023-11-21 16:50:47'
輸出信息中包含了VDO卷創(chuàng)建的時間、主機名、版本、是否壓縮(Compression)及是否刪重(Deduplication)等
對新建卷進行格式化操作并掛載使用,新建的VDO卷設(shè)備會被乖乖地存放在/dev/mapper目錄下,并以設(shè)備名稱命名,對它操作就行。另外,掛載前可以用udevadm settle命令對設(shè)備進行一次刷新操作,避免剛才的配置沒有生效:
[root@localhost mapper]# mkfs.xfs /dev/mapper/storage
meta-data=/dev/mapper/storage ? ?isize=512 ? ?agcount=4, agsize=13107200 blks
? ? ? ? = ? ? ? ? ? ? ? ? ? ? ? sectsz=4096 ?attr=2, projid32bit=1
? ? ? ? = ? ? ? ? ? ? ? ? ? ? ? crc=1 ? ? ? ?finobt=1, sparse=1, rmapbt=0
? ? ? ? = ? ? ? ? ? ? ? ? ? ? ? reflink=1
data ? ? = ? ? ? ? ? ? ? ? ? ? ? bsize=4096 ? blocks=52428800, imaxpct=25
? ? ? ? = ? ? ? ? ? ? ? ? ? ? ? sunit=0 ? ? ?swidth=0 blks
naming ? =version 2 ? ? ? ? ? ? ?bsize=4096 ? ascii-ci=0, ftype=1
log ? ? ?=internal log ? ? ? ? ? bsize=4096 ? blocks=25600, version=2
? ? ? ? = ? ? ? ? ? ? ? ? ? ? ? sectsz=4096 ?sunit=1 blks, lazy-count=1
realtime =none ? ? ? ? ? ? ? ? ? extsz=4096 ? blocks=0, rtextents=0
Discarding blocks...Done.
[root@localhost mapper]# udevadm settle
[root@localhost mapper]# mkdir /storage
[root@localhost mapper]# mount /dev/mapper/storage /storage
查看設(shè)備的實際使用情況,使用vdostats命令即可。human-readable參數(shù)的作用是將存儲容量自動進位,以人們更易讀的方式輸出(比如,顯示20G而不是20971520K):
[root@localhost mapper]# vdostats --human-readable
Device ? ? ? ? ? ? ? ? ? ?Size ? ? ?Used Available Use% Space saving%
/dev/mapper/storage ? ? ?20.0G ? ? ?4.0G ? ? 16.0G ?20% ? ? ? ? ? 99%
顯示的Size是實際物理存儲的空間大?。?0.0GB是硬盤的大?。绻肟催壿嫶鎯臻g,使用df命令進行查看:
[root@localhost mapper]# df -h
Filesystem ? ? ? ? ? Size ?Used Avail Use% Mounted on
devtmpfs ? ? ? ? ? ? 878M ? ? 0 ?878M ? 0% /dev
tmpfs ? ? ? ? ? ? ? ?896M ? ? 0 ?896M ? 0% /dev/shm
tmpfs ? ? ? ? ? ? ? ?896M ?9.4M ?886M ? 2% /run
tmpfs ? ? ? ? ? ? ? ?896M ? ? 0 ?896M ? 0% /sys/fs/cgroup
/dev/nvme0n1p3 ? ? ? ?18G ?7.1G ? 11G ?41% /
/dev/nvme0n1p1 ? ? ? 295M ?193M ?102M ?66% /boot
/dev/sr0 ? ? ? ? ? ? ?11G ? 11G ? ? 0 100% /media/cdrom
/dev/nvme0n2p1 ? ? ? 2.0G ? 78M ?2.0G ? 4% /newfile
tmpfs ? ? ? ? ? ? ? ?179M ? 12K ?179M ? 1% /run/user/42
tmpfs ? ? ? ? ? ? ? ?179M ? ? 0 ?179M ? 0% /run/user/0
/dev/mapper/storage ?
200G
1.5G ?199G ? 1% /storage
復(fù)制一個大文件過來,看看占用了多少容量,以及空間節(jié)省率(Space saving)是多少:
[root@localhost mapper]# ls -lh /media/cdrom/images/install.img
-r--r--r--. 1 root root 681M Nov 13 ?2021 /media/cdrom/images/install.img
[root@localhost mapper]# cp /media/cdrom/images/install.img /storage/
[root@localhost mapper]# vdostats --human-readable
Device ? ? ? ? ? ? ? ? ? ?Size ? ? ?Used Available Use% Space saving%
/dev/mapper/storage ? ? ?20.0G ? ? ?4.7G ? ? 15.3G ?23% ? ? ? ? ? 12%
再復(fù)制一份相同的文件過來,看看這次占用了多少空間,空間節(jié)省率也從12%提升到了55%,用了不到100M:
[root@localhost mapper]# cp /media/cdrom/images/install.img /storage/rhel.img
[root@localhost mapper]# vdostats --human-readable
Device ? ? ? ? ? ? ? ? ? ?Size ? ? ?Used Available Use% Space saving%
/dev/mapper/storage ? ? ?20.0G ? ? ?4.7G ? ? 15.3G ?23% ? ? ? ? ? 53%
VDO設(shè)備卷在創(chuàng)建后會一直存在,但需要手動編輯/etc/fstab文件后才能在下一次重啟后自動掛載生效
/dev/mapper/storage: UUID="debbe4ed-97e0-410c-bde4-441ac474c3ff" BLOCK_SIZE="4096" TYPE="xfs"
[root@localhost storage]# vim /etc/fstab
UUID=147464a6-27ee-477f-8dfd-0c157a0aabc7 / ? ? ? ? ? ? ? ? ? ? ? xfs ? ? defaults ? ? ? ?0 0
UUID=b7107860-5e6f-4ff5-abb3-880ab7e6caca /boot ? ? ? ? ? ? ? ? ? xfs ? ? defaults,uquota ? ? ? ?0 0
UUID=1396ecbf-4d87-4e65-898b-28048721d05e none ? ? ? ? ? ? ? ? ? ?swap ? ?defaults ? ? ? ?0 0
/dev/cdrom /media/cdrom iso9660 defaults 0 0
/dev/nvme0n2p1 /newfile xfs defaults 0 0
/dev/nvme0n2p2 swap swap defaults 0 0
UUID=debbe4ed-97e0-410c-bde4-441ac474c3ff /storage ? ? ?xfs ? ? ? ?defaults,_netdev ? 0 0
?
文章來源地址http://www.zghlxwxcb.cn/news/detail-861424.html
到了這里,關(guān)于Linux加強篇-存儲結(jié)構(gòu)與管理硬盤(三)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!