1.8. 创建 VDO 卷
此流程在块设备中创建 VDO 卷。
先决条件
- 安装 VDO 软件。请参阅 第 1.7 节 “安装 VDO”。
- 使用可扩展的存储作为后备块设备。如需更多信息,请参阅 第 1.6.3 节 “将 VDO 放置到存储堆栈中”。
流程
在以下步骤中,将 vdo-name 替换为您要用于 VDO 卷的标识符,例如:vdo1
。您必须为系统中的每个 VDO 实例使用不同的名称和设备。
找到您要创建 VDO 卷的块设备的持久名称。有关持久性名称的更多信息,请参阅 第 6 章 持久性命名属性概述。
如果您使用非持久性设备名称,则如果设备名称改变了,VDO 将来可能无法正常启动。
创建 VDO 卷:
# vdo create \ --name=vdo-name \ --device=block-device \ --vdoLogicalSize=logical-size
-
使用您要创建 VDO 卷的块设备的持久性名称替换 block-device。例如:
/dev/disk/by-id/scsi-3600508b1001c264ad2af21e903ad031f
。 用 VDO 卷使用的逻辑存储数量替换 logical-size。
-
对于活动的虚拟机或容器存储,请使用逻辑大小,即您的块设备物理大小的 10 倍。例如,如果您的块设备大小为 1TB,请在这里使用
10T
。 -
对于对象存储,使用逻辑大小,即您的块设备物理大小的 三 倍。例如,如果您的块设备大小为 1TB,请在这里使用
3T
。
-
对于活动的虚拟机或容器存储,请使用逻辑大小,即您的块设备物理大小的 10 倍。例如,如果您的块设备大小为 1TB,请在这里使用
如果物理块设备大于 16TiB,请添加
--vdoSlabSize=32G
选项,将卷上的 slab 大小增加到 32GiB。在大于 16TiB 的块设备上使用 2GiB 的默认 slab 大小会导致
vdo create
命令失败,并显示以下错误:vdo: ERROR - vdoformat: formatVDO failed on '/dev/device': VDO Status: Exceeds maximum number of slabs supported
例 1.1. 为容器存储创建 VDO
例如,要为 1TB 块设备上的容器存储创建一个 VDO 卷,您可以使用:
# vdo create \ --name=vdo1 \ --device=/dev/disk/by-id/scsi-3600508b1001c264ad2af21e903ad031f \ --vdoLogicalSize=10T
重要如果在创建 VDO 卷时发生故障,请删除要清理的卷。详情请查看 第 2.10.2 节 “删除失败创建的 VDO 卷”。
-
使用您要创建 VDO 卷的块设备的持久性名称替换 block-device。例如:
在 VDO 卷之上创建一个文件系统:
对于 XFS 文件系统:
# mkfs.xfs -K /dev/mapper/vdo-name
对于 ext4 文件系统:
# mkfs.ext4 -E nodiscard /dev/mapper/vdo-name
注意在新创建的 VDO 卷上使用
-K
和-E nodiscard
选项的目的是不在发送请求上花费时间,因为它对未分配的块没有影响。新 VDO 卷从 100% 未分配开始。
使用以下命令等待系统注册新设备节点:
# udevadm settle
后续步骤
- 挂载文件系统。详情请查看 第 1.9 节 “挂载 VDO 卷”。
-
为 VDO 设备上的文件系统启用
丢弃
功能。详情请查看 第 1.10 节 “启用定期块丢弃”。
其它资源
-
系统上的
VDO (8)
手册页