29.7。VDO命令
本节介绍以下VDO实用程序:
vdo
该vdo实用程序管理kvdoVDO 的和UDS组件。
它还用于启用或禁用压缩。
vdostats
该vdostats实用程序以类似于Linux df实用程序的格式显示每个已配置(或指定)的设备的统计信息。
29.7.1。vdo
该vdo实用程序管理kvdoVDO 的和UDS组件。
概要
vdo { activate | changeWritePolicy | create | deactivate | disableCompression | disableDeduplication | enableCompression | enableDeduplication | growLogical | growPhysical | list | modify | printConfigFile | remove | start | status | stop }
[ options... ]
子指令
表29.4。VDO子命令
子指令 |
描述 |
create |
创建VDO卷及其关联的索引并使其可用。如果−−activate=disabled指定,则VDO卷已创建但不可用。除非−−force给出,否则不会覆盖现有的文件系统或格式化的VDO卷。此命令必须以root特权运行。适用的选项包括: --name=volume (需要) --device=device (需要)
--activate={enabled | disabled}
--indexMem=gigabytes
--blockMapCacheSize=megabytes
--blockMapPeriod=period
--compression={enabled | disabled}
--confFile=file
--deduplication={enabled | disabled}
--emulate512={enabled | disabled}
--sparseIndex={enabled | disabled}
--vdoAckThreads=thread count
--vdoBioRotationInterval=I/O count
--vdoBioThreads=thread count
--vdoCpuThreads=thread count
--vdoHashZoneThreads=thread count
--vdoLogicalThreads=thread count
--vdoLogLevel=level
--vdoLogicalSize=megabytes
--vdoPhysicalThreads=thread count
--readCache={enabled | disabled}
--readCacheSize=megabytes
--vdoSlabSize=megabytes
--verbose
--writePolicy={ auto | sync | async }
--logfile=pathname
|
remove |
删除一个或多个停止的VDO卷和关联的索引。此命令必须以root特权运行。适用的选项包括: { | }(必填) --name=volume --all
--confFile=file
--force
--verbose
--logfile=pathname
|
start |
启动一个或多个已停止的激活的VDO卷和相关服务。此命令必须以root特权运行。适用的选项包括: { | }(必填) --name=volume --all
--confFile=file
--forceRebuild
--verbose
--logfile=pathname
|
stop |
停止一个或多个正在运行的VDO卷和相关服务。此命令必须以root特权运行。适用的选项包括: { | }(必填) --name=volume --all
--confFile=file
--force
--verbose
--logfile=pathname
|
activate |
激活一个或多个VDO卷。可以使用 start 命令。此命令必须以root特权运行。适用的选项包括: { | }(必填) --name=volume --all
--confFile=file
--logfile=pathname
--verbose
|
deactivate |
停用一个或多个VDO卷。停用的卷无法由 start 命令。停用当前正在运行的卷不会停止它。停止后,必须激活已停用的VDO卷,然后才能再次启动它。此命令必须以root特权运行。适用的选项包括: { | }(必填) --name=volume --all
--confFile=file
--verbose
--logfile=pathname
|
status |
以YAML格式报告VDO系统和卷状态。该命令不需要root特权,但是如果不运行该信息将是不完整的。适用的选项包括: { | }(必填) --name=volume --all
--confFile=file
--verbose
--logfile=pathname
有关提供的输出,请参见表29.6,“ VDO状态输出”。 |
list |
显示已启动的VDO卷的列表。如果−−all指定,则显示已启动和未启动的卷。此命令必须以root特权运行。适用的选项包括: --all
--confFile=file
--logfile=pathname
--verbose
|
modify |
修改一个或所有VDO卷的配置参数。更改将在下次启动VDO设备时生效。已经运行的设备不受影响。适用的选项包括: { | }(必填) --name=volume --all
--blockMapCacheSize=megabytes
--blockMapPeriod=period
--confFile=file
--vdoAckThreads=thread count
--vdoBioThreads=thread count
--vdoCpuThreads=thread count
--vdoHashZoneThreads=thread count
--vdoLogicalThreads=thread count
--vdoPhysicalThreads=thread count
--readCache={enabled | disabled}
--readCacheSize=megabytes
--verbose
--logfile=pathname
|
changeWritePolicy |
修改一个或所有正在运行的VDO卷的写入策略。此命令必须以root特权运行。 { | }(必填) --name=volume --all
--writePolicy={ auto | sync | async } (需要)
--confFile=file
--logfile=pathname
--verbose
|
enableDeduplication |
在一个或多个VDO卷上启用重复数据删除。此命令必须以root特权运行。适用的选项包括: { | }(必填) --name=volume --all
--confFile=file
--verbose
--logfile=pathname
|
disableDeduplication |
在一个或多个VDO卷上禁用重复数据删除。此命令必须以root特权运行。适用的选项包括: { | }(必填) --name=volume --all
--confFile=file
--verbose
--logfile=pathname
|
enableCompression |
在一个或多个VDO卷上启用压缩。如果VDO卷正在运行,请立即生效。如果VDO卷未运行,则下次启动VDO卷时将启用压缩。此命令必须以root特权运行。适用的选项包括: { | }(必填) --name=volume --all
--confFile=file
--verbose
--logfile=pathname
|
disableCompression |
在一个或多个VDO卷上禁用压缩。如果VDO卷正在运行,请立即生效。如果VDO卷未运行,则下次启动VDO卷时将禁用压缩。此命令必须以root特权运行。适用的选项包括: { | }(必填) --name=volume --all
--confFile=file
--verbose
--logfile=pathname
|
growLogical |
将逻辑空间添加到VDO卷。该卷必须存在并且必须正在运行。此命令必须以root特权运行。适用的选项包括: --name=volume (需要)
--vdoLogicalSize=megabytes (需要)
--confFile=file
--verbose
--logfile=pathname
|
growPhysical |
将物理空间添加到VDO卷。该卷必须存在并且必须正在运行。此命令必须以root特权运行。适用的选项包括: --name=volume (需要)
--confFile=file
--verbose
--logfile=pathname
|
printConfigFile |
将配置文件打印到stdout。此命令需要root特权。适用的选项包括:
--confFile=file
--logfile=pathname
--verbose
|
选件
表29.5。VDO选项
选项 |
描述 |
--indexMem=gigabytes |
指定UDS服务器内存量(以GB为单位);默认大小为1 GB。可以使用特殊的十进制值0.25、0.5、0.75,也可以使用任何正整数。 |
--sparseIndex={enabled | disabled} |
启用或禁用稀疏索引。默认值为disabled。 |
--all |
指示该命令应应用于所有已配置的VDO卷。不可与一起使用--name。 |
--blockMapCacheSize=megabytes |
指定分配给缓存块映射页面的内存量;该值必须是4096的倍数。可以选择使用带有B(ytes),K(ilobytes),M(egabytes),G(igabytes),T(erabytes),P(etabytes)或E(xabytes)后缀的值。如果没有提供后缀,则该值将被解释为兆字节。默认是128M;该值必须至少为128M且小于16T。请注意有15%的内存开销。 |
--blockMapPeriod=period |
一个介于1和16380之间的值,该值确定在将缓存的页面刷新到磁盘之前可能累积的块映射更新数。较高的值会减少崩溃后的恢复时间,但会降低正常运行期间的性能。默认值为16380。在调整此参数之前,请与您的Red Hat代表联系。 |
--compression={enabled | disabled} |
在VDO设备中启用或禁用压缩。默认启用。必要时可以禁用压缩功能,以最大化性能或加快不太可能压缩的数据的处理速度。 |
--confFile=file |
指定备用配置文件。默认值为/etc/vdoconf.yml。 |
--deduplication={enabled | disabled} |
在VDO设备内启用或禁用重复数据删除。默认值为enabled。在不期望数据具有良好重复数据删除率但仍需要压缩的情况下,可以禁用重复数据删除。 |
--emulate512={enabled | disabled} |
启用512字节块设备仿真模式。默认值为disabled。 |
--force |
在停止VDO卷之前,先卸载已挂载的文件系统。 |
--forceRebuild |
在启动只读VDO卷之前,强制进行脱机重建,以便可以使其重新联机并可用。此选项可能会导致数据丢失或损坏。 |
--help |
显示vdo实用程序的文档。 |
--logfile=pathname |
指定此脚本的日志消息定向到的文件。警告和错误消息也总是记录到syslog中。 |
--name=volume |
以指定的VDO音量运行。不可与一起使用--all。 |
--device=device |
指定用于VDO存储的设备的绝对路径。 |
--activate={enabled | disabled} |
该参数disabled指示仅应创建VDO卷。该卷将不会启动或启用。默认值为enabled。 |
--vdoAckThreads=thread count |
指定用于确认请求的VDO I / O操作完成的线程数。默认值为1;默认值为1。该值必须至少为0且小于或等于100。 |
--vdoBioRotationInterval=I/O count |
指定在将工作定向到下一个生物提交线程之前要排队的I / O操作数。默认值为64;默认值为64。该值必须至少为1且小于或等于1024。 |
--vdoBioThreads=thread count |
指定用于向存储设备提交I / O操作的线程数。最小值为1;最大值为100。默认值为4;默认值为4。该值必须至少为1且小于或等于100。 |
--vdoCpuThreads=thread count |
指定用于CPU密集型工作(例如哈希或压缩)的线程数。默认值为2;默认值为2。该值必须至少为1且小于或等于100。 |
--vdoHashZoneThreads=thread count |
根据从块数据计算出的哈希值,指定用于细分VDO处理部分的线程数。默认值为1; 的值必须至少为0并且小于或等于100 vdoHashZoneThreads,vdoLogicalThreads并且vdoPhysicalThreads必须是全零或所有非零。 |
--vdoLogicalThreads=thread count |
根据从块数据计算出的哈希值,指定用于细分VDO处理部分的线程数。该值必须至少为0且小于或等于100。逻辑线程计数为9或更大将也需要显式指定足够大的块映射缓存大小。vdoHashZoneThreads,vdoLogicalThreads和vdoPhysicalThreads必须全为零或全为非零。预设值为1。 |
--vdoLogLevel=level |
指定VDO驱动程序日志级别:critical,error,warning,notice,info,或debug。级别区分大小写;默认值为info。 |
--vdoLogicalSize=megabytes |
指定逻辑VDO卷大小(以兆字节为单位)。使用具有一个值S(ectors),B(ytes),K(ilobytes),M(egabytes),G(igabytes),T(erabytes),P(etabytes)或E(xabytes)后缀是可选的。用于过度配置卷。默认为存储设备的大小。 |
--vdoPhysicalThreads=thread count |
指定基于物理块地址将VDO处理的各个部分细分的线程数。该值必须至少为0且小于或等于16。第一个线程之后的每个其他线程将使用额外的10 MB RAM。vdoPhysicalThreads,vdoHashZoneThreads和vdoLogicalThreads必须全为零或全为非零。预设值为1。 |
--readCache={enabled | disabled} |
启用或禁用VDO设备中的读取缓存。默认值为disabled。如果预计写入工作负载具有高度重复数据删除功能,或者对于高度可压缩数据的读取密集型工作负载,则应启用缓存。 |
--readCacheSize=megabytes |
指定额外的VDO设备读取缓存大小(以兆字节为单位)。此空间是系统定义的最小值的补充。B可选使用带有(ytes),K(ilobytes),M(egabytes),G(igabytes),T(erabytes),P(etabytes)或E(xabytes)后缀的值。默认值为0M。每个生物线程指定的每个MB读取缓存将使用1.12 MB内存。 |
--vdoSlabSize=megabytes |
指定增长VDO的增量大小。使用较小的尺寸会限制可容纳的总最大物理尺寸。必须是128M和32G之间的2的幂;默认为2G。使用具有一个值S(ectors),B(ytes),K(ilobytes),M(egabytes),G(igabytes),T(erabytes),P(etabytes)或E(xabytes)后缀是可选的。如果不使用后缀,则该值将被解释为兆字节。 |
--verbose |
在执行命令之前先打印命令。 |
--writePolicy={ auto | sync | async } |
指定写策略: auto:选择sync或async基于VDO下的存储层。如果存在回写缓存,async将选择。否则,sync将被选择。 sync:只有在稳定写入数据后,才会确认写入。这是默认策略。如果基础存储也不同步,则不支持此策略。 async:缓存数据以写入稳定存储后,将确认写入。未刷新的数据不能保证在此模式下持续存在。 |
该子命令以YAML格式返回以下信息,分为以下几个键: status
表29.6。VDO状态输出
键 |
描述 |
|
VDO状态 |
此项中的信息涵盖了主机名以及进行状态查询的日期和时间。该区域报告的参数包括: |
|
节点 |
运行VDO的系统的主机名。 |
|
日期 |
运行vdo status命令的日期和时间。 |
|
内核模块 |
此项中的信息涵盖了已配置的内核。 |
|
已加载 |
是否加载内核模块(True或False)。 |
|
版本信息 |
有关已配置的kvdo版本的信息。 |
|
组态 |
此项中的信息涵盖了VDO配置文件的位置和状态。 |
|
文件 |
VDO配置文件的位置。 |
|
上一次更改 |
VDO配置文件的最后修改日期。 |
|
VDO |
提供所有VDO卷的配置信息。为每个VDO卷报告的参数包括: |
|
块大小 |
VDO卷的块大小,以字节为单位。 |
|
512字节仿真 |
指示该卷是否以512字节仿真模式运行。 |
|
启用重复数据删除 |
是否为卷启用了重复数据删除。 |
|
逻辑大小 |
VDO卷的逻辑大小。 |
|
物理尺寸 |
VDO卷的基础物理存储的大小。 |
|
写政策 |
写入策略的配置值(同步或异步)。 |
|
VDO统计 |
vdostats实用程序的输出。 |
29.7.2。vdostats
该vdostats实用程序以类似于Linux df实用程序的格式显示每个已配置(或指定)的设备的统计信息。
如果该vdostats实用程序的输出未以root特权运行,则可能不完整。
概要
vdostats[--verbose | -人类可读| --si | --all] [--version] [设备...]
选件
表29.7。 vdostats选件
选项 |
描述 |
--verbose |
显示一个(或多个)VDO设备的利用率和块I / O(BIOS)统计信息。有关详细信息,请参见表29.9,“ vdostats --verbose输出”。 |
--human-readable |
以可读形式显示块值(基本2:1 KB = 2 10字节= 1024字节)。 |
--si |
该--si选项将选项的输出修改--human-readable为使用SI单位(基本10:1 KB = 10 3字节= 1000字节)。如果--human-readable未提供该--si选件,则该选件无效。 |
--all |
此选项仅用于向后兼容。现在等效于该--verbose选项。 |
--version |
显示vdostats版本。 |
device ... |
指定一个或多个要报告的特定卷。如果省略此参数,vdostats将在所有设备上报告。 |
输出量
以下示例显示了未提供选项的示例输出,如表29.8“默认vdostats输出”中所述:
设备1K块已使用可用使用%节省空间%
/ dev / mapper / my_vdo 1932562432 427698104 1504864328 22%21%
表29.8。默认vdostats输出
项目 |
描述 |
设备 |
VDO卷的路径。 |
1K块 |
为VDO卷分配的1K块总数(=物理卷大小*块大小/ 1024) |
用过的 |
VDO卷上使用的1K块总数(=使用的物理块*块大小/ 1024) |
可用的 |
VDO卷上可用的1K块总数(=可用物理块*块大小/ 1024) |
采用% |
VDO卷上已使用的物理块的百分比(=已用块/已分配块* 100) |
节省空间% |
VDO卷上保存的物理块的百分比(= [使用的逻辑块-使用的物理块] /使用的逻辑块) |
该--human-readable选项将块计数转换为常规单位(1 KB = 1024字节):
设备尺寸已使用可用使用%节省空间%
/ dev / mapper / my_vdo 1.8T 407.9G 1.4T 22%21%
在--human-readable和--si选项转换块计数成SI单位(1 KB = 1000个字节):
设备尺寸已使用可用使用%节省空间%
/ dev / mapper / my_vdo 2.0T 438G 1.5T 22%21%
的--verbose(表29.9,“vdostats --verbose输出”)选项显示YAML格式VDO装置统计对一个(或所有)VDO设备。
印在统计大胆的在表29.9,“vdostats --verbose输出”将继续在未来的版本中报告。其余字段主要用于软件支持,并且在将来的发行版中可能会更改。管理工具不应依赖它们。管理工具也不应依赖于任何统计信息的报告顺序。
表29.9。vdostats-详细输出
项目 |
描述 |
版 |
这些统计信息的版本。 |
发布版本 |
VDO的发行版本。 |
使用的数据块 |
VDO卷当前用于存储数据的物理块数。 |
使用的高架块 |
VDO卷当前用于存储VDO元数据的物理块数。 |
使用的逻辑块 |
当前映射的逻辑块数。 |
物理块 |
为VDO卷分配的物理块总数。 |
逻辑块 |
VDO卷可以映射的最大逻辑块数。 |
1K块 |
为VDO卷分配的1K块总数(=物理卷大小*块大小/ 1024) |
使用了1K块 |
VDO卷上使用的1K块总数(=使用的物理块*块大小/ 1024) |
1K块可用 |
VDO卷上可用的1K块总数(=可用物理块*块大小/ 1024) |
已用百分比 |
VDO卷上已使用的物理块的百分比(=已用块/已分配块* 100) |
节省百分比 |
VDO卷上保存的物理块的百分比(= [使用的逻辑块-使用的物理块] /使用的逻辑块) |
块图缓存大小 |
块映射缓存的大小,以字节为单位。 |
写政策 |
活动的写策略(同步或异步)。通过配置vdo changeWritePolicy --writePolicy=auto|sync|async。 |
块大小 |
VDO卷的块大小,以字节为单位。 |
完成的恢复计数 |
VDO卷从异常关闭中恢复的次数。 |
只读恢复计数 |
VDO卷已从只读模式(通过vdo start --forceRebuild)恢复的次数。 |
操作模式 |
指示VDO卷是正常运行,处于恢复模式还是处于只读模式。 |
恢复进度(%) |
指示在线恢复进度,或者N/A该卷未处于恢复模式。 |
压缩片段写 |
自上次重新启动VDO卷以来已写入的压缩片段数。 |
压缩块写入 |
自上次重新启动VDO卷以来,已写入的压缩数据的物理块数。 |
打包机中压缩的碎片 |
尚未写入的正在处理的压缩片段数。 |
板坯数 |
平板总数。 |
平板打开 |
从中分配块的平板总数。 |
平板重新打开 |
自VDO启动以来,重新打开平板的次数。 |
日志磁盘已满 |
由于恢复日志已满,请求无法输入恢复日志条目的次数。 |
日志提交请求数 |
恢复日志请求平板日志提交的次数。 |
日记帐分录批处理 |
开始的日记帐分录写入数减去已写入的日记帐分录数。 |
日记条目已开始 |
内存中已创建的日记帐分录的数量。 |
日记条目写作 |
提交的写入中的日记帐分录数量减去提交给存储的日记帐分录数量。 |
撰写日记帐分录 |
已发出写入的日记帐分录总数。 |
已提交日记帐分录 |
写入存储的日记帐分录数。 |
日记帐批处理 |
开始的日志块写入数减去已写入的日志块数。 |
日志块开始 |
内存中已触及的日记帐块数。 |
日记本写作 |
写入的日志块数(活动内存中带有元数据)减去已提交的日志块数。 |
撰写日记帐分录 |
已发出写操作的日志块总数。 |
日志块已提交 |
写入存储的日志块数。 |
平板日记磁盘已满 |
磁盘平板日记本已满的次数。 |
板坯冲水计数 |
条目添加到平板日记本中的次数超过刷新阈值的次数。 |
平板日记帐冻结计数 |
条目添加到平板日记帐中的次数超过了阻止阈值。 |
编写平板日记本 |
已发出的平板日记帐块写入数。 |
平板日记尾部忙碌计数 |
写入请求等待平板日记帐写入的次数。 |
平板总结块编写 |
发出的平板摘要块写入数。 |
编写参考块 |
发出的参考块写入数。 |
阻止地图脏页 |
块映射缓存中的脏页数。 |
阻止地图清洁页 |
块映射缓存中的干净页数。 |
阻止地图免费页面 |
块映射缓存中的可用页数。 |
阻止地图失败的页面 |
有写错误的块映射缓存页面的数量。 |
阻止地图传入页面 |
正在读入高速缓存的块映射高速缓存页数。 |
阻止地图传出页面 |
正在写入的块映射缓存页面的数量。 |
块图缓存压力 |
空闲页面在需要时不可用的次数。 |
块图读取计数 |
块映射页面读取的总数。 |
区块图写入次数 |
块映射页写入总数。 |
块图读取失败 |
块图读取错误的总数。 |
块映射写入失败 |
块映射写入错误的总数。 |
回收区块图 |
已回收的块图页面的总数。 |
块图读取传出 |
正在写入的页面的块映射读取总数。 |
在缓存中找到块图 |
块映射缓存命中总数。 |
需要块图丢弃 |
需要丢弃页面的块映射请求总数。 |
方块图等待页面 |
等待一个页面的请求总数。 |
需要块图提取 |
需要页面获取的请求总数。 |
加载的地图块页面 |
页面获取的总数。 |
阻止地图页面已保存 |
页面保存总数。 |
块图刷新计数 |
块图发出的刷新总数。 |
无效建议PBN计数 |
索引返回无效建议的次数 |
没有空间错误计数。 |
由于VDO卷空间不足而失败的写入请求数。 |
只读错误计数 |
由于VDO卷处于只读模式而失败的写请求数。 |
实例 |
VDO实例。 |
512字节仿真 |
指示为该卷打开还是关闭512字节仿真。 |
当前的VDO IO请求正在进行中。 |
VDO当前正在处理的I / O请求数。 |
正在进行的最大VDO IO请求 |
VDO已处理的最大同时I / O请求数。 |
当前重复数据删除查询 |
当前正在运行的重复数据删除查询数。 |
最大重复数据删除查询 |
进行中的重复数据删除查询的最大数量。 |
重复数据删除建议有效 |
重复数据删除建议正确的次数。 |
重复数据删除建议过时 |
重复数据删除建议的次数不正确。 |
重复数据删除建议超时 |
重复数据删除查询超时的次数。 |
冲走 |
VDO提交给基础存储的刷新请求数。 |
Bios在... Bios在部分中... Bios在... Bios meta ... Bios日志... Bios页面缓存... Bios已完成... Bio meta已完成... Bios journal已完成... Bios页面缓存已完成... Bios已确认... Bios已确认部分... Bios正在进行... |
这些统计信息会统计带有给定标志的每个类别中的BIOS数量。类别为: bios in: VDO收到的块I / O请求的数量。 bios in部分: VDO收到的部分块I / O请求的数量。仅适用于512字节仿真模式。 bios out: VDO向存储设备提交的非元数据块I / O请求的数量。 bios meta: VDO向存储设备提交的元数据块I / O请求的数量。 bios日志: VDO向存储设备提交的恢复日志块I / O请求数。 bios页面缓存: VDO提交给存储设备的块映射I / O请求的数量。 已完成的BIOS输出:存储设备已完成的非元数据块I / O请求的数量。 bios meta complete:由存储设备完成的元数据块I / O请求的数量。 已完成的bios日志:存储设备已完成的恢复日志块I / O请求的数量。 bios页面高速缓存完成:存储设备完成的块映射I / O请求的数量。 确认的BIOS: VDO确认的块I / O请求的数量。 BIOS确认的部分: VDO确认的部分块I / O请求的数量。仅适用于512字节仿真模式。 正在进行的BIOS:尚未确认的提交给VDO的BIOS数量。 标志分为三种: 读取:非写入BIOS的数量(未设置REQ_WRITE标志的BIOS) write:写入BIOS的数量(设置了REQ_WRITE标志的BIOS) 丢弃:设置了REQ_DISCARD标志的BIOS数量 |
读取缓存访问 |
VDO搜索读取的缓存的次数。 |
读取缓存命中 |
读取缓存命中数。 |