6.3. 配置要附加到一个实例的存储设备的最大数量
默认情况下,您可以将无限数量的存储设备附加到单个实例。将大量磁盘设备附加到实例可能会降低实例的性能。您可以根据您的环境可以支持的边界,调整实例的最大设备数量。实例支持的存储磁盘数量取决于磁盘使用的总线。例如,IDE 磁盘总线限制为 4 个附加的设备。您可以将最多 500 个磁盘设备附加到类型为 Q35 的实例。
注意
从 RHOSP OSP17.0 开始,Q35 是默认的机器类型。Q35 机器类型使用 PCIe 端口。您可以通过配置 heat 参数 NovaLibvirtNumPciePorts
来管理 PCIe 端口设备的数量。可附加到 PCIe 端口的设备数量比之前版本上运行的实例要少。如果要使用更多设备,则必须使用 hw_disk_bus=scsi
或 hw_scsi_model=virtio-scsi
镜像属性。如需更多信息,请参阅 虚拟硬件的元数据属性。
警告
-
如果最大数量低于已附加到实例的设备数量,在具有活跃实例的 Compute 节点上更改
NovaMaxDiskDevicesToAttach
参数的值可能会导致重建失败。例如,如果实例 A 附加了 26 个设备,并且将NovaMaxDiskDevicesToAttach
更改为 20,则重建实例 A 的请求将失败。 - 在冷迁移过程中,仅在您要迁移的实例的源上强制配置的最大存储设备数。移动前不会检查目的地。这意味着,如果 Compute 节点 A 具有 26 个附加的磁盘设备,且 Compute 节点 B 配置最多 20 个附加的磁盘设备,则从 Compute 节点 A 到 Compute 节点 B 的附加了 26 个设备的实例冷迁移。但是,在 Compute 节点 B 中重建实例的后续请求会失败,因为 26 个设备已连接超过配置的最大值 20。
注意
在 shelved 卸载实例上不会强制配置的最大存储设备数,因为它们没有 Compute 节点。
流程
-
以
stack
用户身份登录 undercloud 主机。 查找
stackrc
undercloud 凭证文件:$ source ~/stackrc
- 创建新的环境文件,或打开现有的环境文件。
通过在环境文件中添加以下配置,对可附加到单个实例的存储设备的最大数量配置限制:
parameter_defaults: ... NovaMaxDiskDevicesToAttach: <max_device_limit> ...
-
将 <
max_device_limit
> 替换为可附加到实例的存储设备的最大数量。
-
将 <
- 将更新保存到环境文件中。
使用其他环境文件将环境文件添加到堆栈中,并部署 overcloud:
(undercloud)$ openstack overcloud deploy --templates \ -e [your environment files] \ -e /home/stack/templates/<environment_file>.yaml