|
本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。 |
存储验证器
SUSE Virtualization支持使用外部容器存储接口(CSI)驱动程序配置 root 卷和数据卷。一旦安装了CSI驱动程序并配置了SUSE Virtualization集群,您可以使用第三方存储解决方案来存储和管理虚拟机镜像,将虚拟机磁盘存储在CSI驱动程序配置的卷上,并执行其他关键存储功能。
storage-validator工具执行基本测试,以验证存储解决方案与SUSE Virtualization虚拟机和卷生命周期操作的兼容性。它旨在:
-
集群管理员:验证您的存储解决方案是否正确配置并针对SUSE Virtualization进行了优化。
存储供应商可以使用SUSE Virtualization来验证其解决方案,以确保更好的互操作性。您可以在SUSE Virtualization文档中找到经过认证与SUSE® Rancher Prime兼容的企业级存储解决方案的信息,该文档可通过 SUSE客户中心访问。
-
第三方存储合作伙伴:通过与SUSE Virtualization参考架构验证您的存储解决方案,获得 SUSE虚拟化认证存储认证。要完成认证要求,您可以在 最新稳定版本上运行此工具,并将结果提交给SUSE。
该工具执行的测试将在未来的版本中扩展,以满足 SUSE虚拟化认证数据保护认证的要求。
`storage-validator`测试以下操作:
-
卷创建和使用
-
卷快照创建
-
离线卷扩展
-
使用指定的StorageClass创建虚拟机镜像
-
从创建的镜像启动虚拟机
-
虚拟机在线迁移
-
将两个卷热插拔到虚拟机中
先决条件
-
SUSE Virtualization 集群,包含 三个或更多节点,运行 v1.6.1 或 更高版本的 Prime (x.y.1)
-
提供云镜像的 HTTP 端点,用于虚拟机配置测试
配置文件
要使用 storage-validator,请创建一个名为 config.yml 的配置文件,其中包含相关字段。该工具在执行验证测试时使用此配置文件中的值。
|
如果您只指定云镜像 URL, |
| 字段 | 说明 | 默认值 | 必需 |
|---|---|---|---|
|
运行测试的名称空间 |
|
否 |
|
云镜像的 URL |
没有默认值 |
是 |
|
用于卷创建的 StorageClass |
集群的默认 StorageClass |
否 |
|
用于快照操作的 VolumeSnapshotClass |
与 StorageClass 匹配的 VolumeSnapshotClass |
否 |
|
分配给虚拟机的核心数 |
|
否 |
|
分配给虚拟机的内存 |
|
否 |
|
虚拟机引导磁盘的大小 |
|
否 |
|
在验证测试完成后跳过资源清理的选项(对调试故障很有用) |
|
否 |
|
该工具在终止验证运行之前等待的秒数 |
|
否 |
|
快照创建要求 StorageClass 和 VolumeSnapshotClass 使用相同的供应器(CSI 驱动程序)。例如,如果 StorageClass 使用 |
config.yml 内容示例:
namespace: default
imageURL: "https://download.opensuse.org/repositories/Cloud:/Images:/Leap_15.6/images/openSUSE-Leap-15.6.x86_64-NoCloud.qcow2"
storageClass: lvm
snapshotClass: lvm-snapshot
vmConfig:
cpu: 2
memory: 2Gi
diskSize: 10Gi
skipCleanup: false
timeout: 600
运行该工具
您可以从 发布 页面下载 storage-validator 可执行文件。
该工具接受以下标志:
storage-validator -h
Usage of /tmp/storage-validator:
-config string
Path to config file (default "config.yaml")
-debug
Debug mode
-kubeconfig string
Paths to a kubeconfig. Only required if out-of-cluster.
输出示例:
storage-validator -config ./sample/config.yaml
INFO[0000] 🚀 initiate: preflight checks
INFO[0003] ✅ completed: preflight checks
INFO[0007] 🚀 initiate: ensure volume is created and used successfully
INFO[0015] ✅ completed: ensure volume is created and used successfully
INFO[0015] 🚀 initiate: ensure volume snapshot can be created successfully
INFO[0022] ✅ completed: ensure volume snapshot can be created successfully
INFO[0022] 🚀 initiate: ensure offline volume expansion is successful
INFO[0059] ✅ completed: ensure offline volume expansion is successful
INFO[0059] 🚀 initiate: ensure vm image creation is successful
INFO[0077] ✅ completed: ensure vm image creation is successful
INFO[0077] 🚀 initiate: ensure vm can boot from recently created vmimage
INFO[0113] ✅ completed: ensure vm can boot from recently created vmimage
INFO[0113] 🚀 initiate: trigger VM migration
INFO[0130] ✅ completed: trigger VM migration
INFO[0130] 🚀 initiate: hotplug 2 volumes to existing VM
INFO[0136] ✅ completed: hotplug 2 volumes to existing VM
INFO[0136] cleaning up objects created from validation
-------------------------------------
environmentInfo:
harvesterVersion: v1.6.0
nodeCount: 2
validatorVersion: dev
inputConfiguration:
imageURL: http://10.115.1.6/iso/opensuse/openSUSE-Leap-15.5.x86_64-NoCloud.qcow2
namespace: default
skipCleanup: false
snapshotClass: longhorn-snapshot
storageClass: harvester-longhorn
timeout: 600
vmConfig:
cpu: 2
diskSize: 10Gi
results:
- name: hotplug 2 volumes to existing VM
status: success
- name: trigger VM migration
status: success
- name: ensure vm can boot from recently created vmimage
status: success
- name: ensure vm image creation is successful
status: success
- name: ensure offline volume expansion is successful
status: success
- name: ensure volume snapshot can be created successfully
status: success
- name: ensure volume is created and used successfully
status: success