1.vdo(虛擬數據優化)
Virtual Data Optimize:
通過壓縮或刪除存儲設備上的數據來優化存儲空間
VDO層放置在現有塊存儲設備例如RAID設備或本地磁盤的頂部。這些塊設備也可以是加密設備。存儲層(如LVM logic卷和文件系統放置在VDO層的頂部。
VDO按以下順序將三個階段應用於數據,減少存儲設備上的佔用空間
零區塊的排除:
在初始化階段,整塊爲0的會被元數據記錄下來,這個可以用水杯裏面的水和沙子混合的例子來解釋,使用濾紙(零塊排除),把沙子(非零空間)給過濾出來,然後就是下一個階段的處理;
重複數據刪除:
在第二階段,輸入的數據會判斷是不是冗餘數據(在寫入之前就判斷),這個部分的數據通過UDS內核模塊來判斷(U niversal D eduplication S ervice),被判斷爲重複數據的部分不會被寫入,然後對元數據進行更新,直接指向原始已經存儲的數據塊即可;
壓縮:
一旦消零和重刪完成,LZ4壓縮會對每個單獨的數據塊進行處理,然後壓縮好的數據塊會以固定大小4KB的數據塊存儲在介質上,由於一個物理塊可以包含很多的壓縮塊,這個也可以加速讀取的性能。
- 虛擬數據優化器
kvdo:壓縮數據
uds:優化重複數據
2.vdo創建
- 檢查是否安裝vdo
dnf search vdo
—>dnf list vdo.x86_64
安裝vdo:dnf install vdo -y
- 創建vdo:
vdo create --name westos_vdo1 --device /dev/vdb
- 查看vdo是否開啓:
vdo status --all
:所有vdo
vdo status --name westos_vdo1 | less
:westos_vdo1
#顯示內容:
Deduplication:enable #vdo檢測並刪除重複數據的功能開啓
Compression:enable #vdo數據壓縮功能開啓
- 開啓vdo
vdo start --name westos_vdo1
2.1.示例
3.使用vdo設備
mkfs.xfs -K /dev/mapper/westos_vdo1
:格式化
(-K加快格式化速度)mount /dev/mapper/westos_vdo1 /westosdir/
:掛載
3.1.示例
4.測試vdo性能
vdostats --human-readable
:查看設備使用情況
4.1.示例
找一個空間較大的文件,複製三次到vdo所掛載的目錄下,發現文件已經複製過來,但相同文件不佔空間
(每次複製要改名,否則會覆蓋文件)
5.開機自動掛載
vim /etc/fstab
/dev/mapper/westos_vdo1 /westosdir xfs defaults,x-systemd.requires=vdo.service 0 0
6.刪除vdo設備
umount /westosdir
:取消掛載vim /etc/fstab
:刪除vdo開機自動掛載vdo stop --name westos_vdo1
:停止vdovdo remove --name westos_vdo1
:刪除vdovdostats --human-readable
:查看設備使用情況