1.8. 创建 VDO 卷


此流程在块设备中创建 VDO 卷。

先决条件

流程

在以下步骤中,将 vdo-name 替换为您要用于 VDO 卷的标识符,例如:vdo1。您必须为系统中的每个 VDO 实例使用不同的名称和设备。

  1. 找到您要创建 VDO 卷的块设备的持久名称。有关持久性名称的更多信息,请参阅 第 6 章 持久性命名属性概述

    如果您使用非持久性设备名称,则如果设备名称改变了,VDO 将来可能无法正常启动。

  2. 创建 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
    • 如果物理块设备大于 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 卷”

  3. 在 VDO 卷之上创建一个文件系统:

    • 对于 XFS 文件系统:

      # mkfs.xfs -K /dev/mapper/vdo-name
    • 对于 ext4 文件系统:

      # mkfs.ext4 -E nodiscard /dev/mapper/vdo-name
      注意

      在新创建的 VDO 卷上使用 -K-E nodiscard 选项的目的是不在发送请求上花费时间,因为它对未分配的块没有影响。新 VDO 卷从 100% 未分配开始。

  4. 使用以下命令等待系统注册新设备节点:

    # udevadm settle

后续步骤

  1. 挂载文件系统。详情请查看 第 1.9 节 “挂载 VDO 卷”
  2. 为 VDO 设备上的文件系统启用 丢弃 功能。详情请查看 第 1.10 节 “启用定期块丢弃”

其它资源

  • 系统上的 VDO (8) 手册页
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.