在linux上如何運用虛擬數據優化器VDO

本章主要介紹虛擬化數據優化器。
  • 什么是虛擬數據優化器VDO
  • 創建VDO設備以節約硬盤空間

16.1 了解什么是VDO

VDO全稱是Virtual Data Optimize(虛擬數據優化),主要是為了節省硬盤空間。
現在假設有兩個文件file1和 file2,大小都是10G。file1和 file2中包含了8G的相同數據,
如圖16-1中的灰色部分。這個相同數據在硬盤中存儲了兩份,所以這兩個文件占用的硬盤空
間是20G。
如果采用了VDO,效果如圖16-2所示。
file1和 file2大小都是10G,兩個文件中都有8G的相同數據。那么,這個相同數據在硬盤
中只存儲一份,讓filel和 file2共同使用。所以,最終在硬盤上占用的空間是12G,這樣一個
20G大小的硬盤,完全可以存儲大于20G的文件,主要看這些文件中到底有多少相同數據。
所以,VDO實現的效果是,多個文件中有相同數據,這個相同數據只存儲一份,從而實現
節省硬盤空間的目的。
16.2 配置VDO
首先要安裝VDO相關軟件包(關于軟件包的管理在第23章和第24章中有詳細講解),步驟
如下。
步驟①:掛載光盤,命令如下。
[root@pp ~]# mount /dev/cdrom /mnt/
mount: /mnt: WARNING: device write-protected, mounted read-only.
[root@pp ~]# 
這里準備把光盤作為yum 源。
步驟②:編寫repo文件,命令如下。
[root@pp ~]# cat /etc/yum.repos.d/aa.repo 
[aa]
name=aa
baseurl=file:///mnt/AppStream
enabled=1
gpgcheck=0[bb]
name=bb
baseurl=file:///mnt/BaseOS
enabled=1
gpgcheck=0
[root@pp ~]# 
步驟③:安裝VDO,命令如下。
[root@pp ~]# yum -y install vdo kmod-kvdo
查看 VDO設備,命令如下。
[root@pp ~]# vdo list [root@pp ~]# 
沒有任何輸出,說明現在還沒有任何VDO設備。
因為相同數據只存儲一份,大大地節省了存儲空間,所以本來20G的磁盤空間現在存儲
30G、40G、50G的數據是完全有可能的。
下面創建一個名稱為vdo1、底層設備為/dev/sdc的VDO設備,邏輯大小為50G,命令如
下。
[root@pp ~]# vdo create --name vdo1 --device /dev/nvme0n2 --vdoLogicalSize 50G
Creating VDO vdo1The VDO volume can address 46 GB in 23 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 vdo1
Starting compression on VDO vdo1
VDO instance 0 volume is ready at /dev/mapper/vdo1
[root@pp ~]# 
上面提示的一堆信息不用管,最終能看到的是vdo1已經創建好了,可以通
過/dev/mapper/vdo1來使用。 再次查看有多少VDO設備,命令如下。
[root@pp ~]# vdo list
vdo1
[root@pp ~]# 
格式化這個VDO設備,命令如下。
[root@pp ~]# mkfs.xfs -K /dev/mapper/vdo1 
meta-data=/dev/mapper/vdo1       isize=512    agcount=4, agsize=3276800 blks=                       sectsz=4096  attr=2, projid32bit=1=                       crc=1        finobt=1, sparse=1, rmapbt=0=                       reflink=1
data     =                       bsize=4096   blocks=13107200, imaxpct=25=                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=6400, version=2=                       sectsz=4096  sunit=1 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@pp ~]# 
這里-K(大寫)的意思類似于Windows中的快速格式化。
把這個 VDO設備掛載到/vdo1目錄上,命令如下。
[root@pp ~]# mkdir /vdo1
[root@pp ~]# mount /dev/mapper/vdo1 /vdo1/
[root@pp ~]# 
如果希望能永久掛載,需要寫入/etc/fstab中,命令如下。
[root@pp ~]# grep vdo /etc/fstab 
/dev/mapper/vdo1 /vdo1   xfs  defaults,_netdev 0 0
[root@pp ~]# 
需要注意的是,這里一定要有_netdev選項,否則重啟系統時,系統是啟動不起來的。
查看vdo1的空間使用情況,命令如下。
[root@pp ~]# vdostats --hu
Device                    Size      Used Available Use% Space saving%
/dev/mapper/vdo1         50.0G      4.0G     46.0G   8%           99%
[root@pp ~]# 
這里自身就消耗了4G空間(Used那列),因為這里不存在文件,所以空間節省率為99%
(Space saving%那列)。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/207163.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/207163.shtml
英文地址,請注明出處:http://en.pswp.cn/news/207163.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

cpu 300% 爆滿 內存占用不高 排查

top查詢 cpu最高的PID ps -ef | grep PID 查看具體哪一個jar服務 jstack -l PID > ./jstack.log 下載/打印進程的線程棧信息 可以加信息簡單分析 或進一步 查看堆內存使用情況 jmap -heap Java進程id jstack.log 信息示例 Full thread dump Java HotSpot(TM) 64-Bit Se…

橫向擴展統一存儲與備份服務器功能

Infortrend 更新了GS,GSe,GSe Pro統一存儲系列的備份服務器功能。該功能降低數據備份成本,并提供靈活的備份策略。通過備份服務器功能,用戶可以通過多種途徑實現數據備份,包括公有云(兼容S3)、文…

為內核新增字符驅動模塊

1. 放置代碼 在./source/driver/char下放置模塊文件夾 2. Makefile和Kconfig makefile文件參考 obj-$(AAA_LED) AAA-led.oKconfig文件參考 config AAA_LEDtristate "Phytium macb led control module"depends on XXXdefault mhelpIf you have a n…

C/C++,樹算法——二叉樹的插入(Insert)算法之源程序

1 文本格式 #include<iostream> using namespace std; // A BTree node class BTreeNode { int* keys; // An array of keys int t; // Minimum degree (defines the range for number of keys) BTreeNode** C; // An array of child pointers int …

.NET中有多少種定時器

.NET中至少有6種定時器&#xff0c;每一種定時器都有它的用途和特點。根據定時器的應用場景&#xff0c;可以分為UI相關的定時器和UI無關的定時器。本文將簡單介紹這6種定時器的基本用法和特點。 UI定時器 .NET中的UI定時器主要是WinForm、WPF以及WebForm中的定時器。分別為&am…

dell服務器重啟后顯示器黑屏

1.硬件層面&#xff1a;觀察主機的指示燈 &#xff08;1&#xff09;指示燈偏黃&#xff0c;硬件存在問題&#xff08;內存條有靜電&#xff0c;拔出后用橡皮擦擦拭&#xff1b;或GPU松動&#xff09; a.電源指示燈黃&#xff0c;閃爍三下再閃爍一下&#xff0c;扣下主板上的紐…

Python Appium Selenium 查殺進程的實用方法

一、前置說明 在自動化過程中&#xff0c;經常需要在命令行中執行一些操作&#xff0c;比如啟動應用、查殺應用等&#xff0c;因此可以封裝成一個CommandExecutor來專門處理這些事情。 二、操作步驟 # cmd_util.pyimport logging import os import platform import shutil i…

Java編程中通用的正則表達式(二)

正則表達式&#xff0c;又稱正則式、規則表達式、正規表達式、正則模式或簡稱正則&#xff0c;是一種用來匹配字符串的工具。它是一種字符串模式的表示方法&#xff0c;可以用來檢索、替換和驗證文本。正則表達式是一個字符串&#xff0c;它描述了一些字符的組合&#xff0c;這…

dockers安裝rabbitmq

RabbitMQ: easy to use, flexible messaging and streaming — RabbitMQhttps://www.rabbitmq.com/ Downloading and Installing RabbitMQ — RabbitMQ docker run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3.12-management 之后參照&#xff1a;dock…

高低壓配電智能監控系統

高低壓配電智能監控系統是一種綜合運用物聯網、云計算、大數據和人工智能等技術的智能化監控系統&#xff0c;主要用于對高低壓配電設備進行實時監測、數據采集、故障預警和遠程管理。 該系統通過安裝智能傳感器、智能設備、網絡通訊技術等手段&#xff0c;依托電易云-智慧電力…

解決“由于找不到msvcr110.dll無法繼續執行”的錯誤問題,一鍵修復msvcr110.dll丟失

當你遇到“由于找不到msvcr110.dll無法繼續執行”的錯誤時&#xff0c;通常是因為你的電腦缺少相關的msvcr110.dll文件。如果你的電腦中缺失了msvcr110.dll文件丟失那么可以根據下面的方法嘗試解決msvcr110.dll丟失的問題。 一.解決msvcr110.dll丟失的方法 使用dll修復工具 D…

設計圖中時序圖

設計圖中的時序圖通常用于展示兩個或多個對象之間的交互和消息傳遞的順序。它是一種用于描述軟件或系統中的并發性和時序行為的工具。 以下是一個簡單的時序圖的示例&#xff1a; 首先&#xff0c;在時序圖中創建兩個對象&#xff0c;例如"對象A"和"對象B&quo…

學習筆記9——JUC三種量級的鎖機制

學習筆記系列開頭慣例發布一些尋親消息 鏈接&#xff1a;https://baobeihuijia.com/bbhj/contents/3/197325.html 多線程訪問共享資源沖突 臨界區&#xff1a;一段代碼塊存在對共享資源的多線程讀寫操作&#xff0c;稱這段代碼塊為臨界區 競態條件&#xff1a;多個線程在臨界…

Linux OpenMP使用總結

當涉及到編寫 Linux OpenMP 程序時&#xff0c;以下是體會&#xff1a; 了解 OpenMP 基礎&#xff1a;在使用 OpenMP 進行并行編程之前&#xff0c;確保您了解并行編程的基本概念和 OpenMP 的工作原理。您可以參考 OpenMP 的官方文檔或其他相關資源來獲取更多信息。配置 OpenM…

#HarmonyOS:@Styles裝飾器:定義組件重用樣式

Styles可以定義在組件內或全局&#xff0c;在全局定義時需在方法名前面添加function關鍵字&#xff0c;組件內定義時則不需要添加function關鍵字。 組件內Styles的優先級高于全局Styles。 框架優先找當前組件內的Styles&#xff0c;如果找不到&#xff0c;則會全局查找。 // …

GO設計模式——3、抽象工廠模式(創建型)

目錄 抽象工廠模式&#xff08;Abstract Factory Pattern&#xff09; 抽象工廠模式的核心角色 優缺點 代碼實現 抽象工廠模式&#xff08;Abstract Factory Pattern&#xff09; 抽象工廠模式&#xff08;Abstract Factory Pattern&#xff09;是圍繞一個超級工廠創建其他…

單詞倒排

對字符串中的所有單詞進行倒排。 說明&#xff1a; 1、構成單詞的字符只有26個大寫或小寫英文字母&#xff1b; 2、非構成單詞的字符均視為單詞間隔符&#xff1b; 3、要求倒排后的單詞間隔符以一個空格表示&#xff1b;如果原字符串中相鄰單詞間有多個間隔符時&#xff0c;倒排…

yolo目標檢測+目標跟蹤+車輛計數+車輛分割+車道線變更檢測+速度估計

這個項目使用YOLO進行車輛檢測&#xff0c;使用SORT&#xff08;簡單在線實時跟蹤器&#xff09;進行車輛跟蹤。該項目實現了以下任務&#xff1a; 車輛計數車道分割車道變更檢測速度估計將所有這些詳細信息轉儲到CSV文件中 車輛計數是指在道路上安裝相應設備&#xff0c;通過…

windows下 Tomcat啟動黑框隱藏

進入到 tomcat/bin 目錄下&#xff0c;找到此文件 setclasspath.bat &#xff0c;右鍵文本打開 找到此屬性 &#xff1a; set _RUNJAVA"%JRE_HOME%\bin\java.exe"修改成以下屬性&#xff0c;保存文件&#xff0c;重啟啟動tomcat會發現黑框不默認彈出了&#xff1a; …

使用hutool工具生成非對稱加密公私密鑰以及使用案例

1.導入hutool依賴 <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.18</version></dependency>2.直接復制代碼 package com.common.utils;import cn.hutool.core.codec.Base64; i…