4.3. 配置共享实例存储

默认情况下,当您启动实例时,实例磁盘作为文件存储在实例目录中,/var/lib/nova/instances。您可以为 Compute 服务配置 NFS 存储后端,将这些实例文件存储在共享 NFS 存储中。

先决条件

  • 您必须使用 NFSv4 或更高版本。Red Hat OpenStack Platform (RHOSP)不支持早期版本的 NFS。如需更多信息,请参阅红帽知识库解决方案 RHOS NFSv4 支持说明

流程

  1. stack 用户的身份登录 undercloud。
  2. Source stackrc 文件:

    [stack@director ~]$ source ~/stackrc
  3. 创建一个环境文件来配置共享实例存储,如 nfs_instance_disk_backend.yaml
  4. 要为实例文件配置 NFS 后端,请在 nfs_instance_disk_backend.yaml 中添加以下配置:

    parameter_defaults:
      ...
      NovaNfsEnabled: True
      NovaNfsShare: <nfs_share>

    <nfs_share > 替换为要挂载实例文件存储的 NFS 共享目录,例如 '192.168.122.1:/export/nova''192.168.24.1:/var/nfs'。如果使用 IPv6,则同时使用双和单引号,例如 "'[fdd0::1]:/export/nova' "。

  5. 可选:当 NFS 后端存储被启用,NFS 存储的默认挂载 SELinux 上下文是 'context=system_u:object_r:nova_var_lib_t:s0'。添加以下参数以修改 NFS 实例文件存储挂载点的挂载选项:

    parameter_defaults:
      ...
      NovaNfsOptions: 'context=system_u:object_r:nova_var_lib_t:s0,<additional_nfs_mount_options>'

    将 < additional_nfs_mount_options > 替换为您要用于 NFS 实例文件存储的挂载选项的逗号分隔列表。有关可用挂载选项的详情,请查看 mount man page:

    $ man 8 mount.
  6. 保存对环境文件的更新。
  7. 使用其他环境文件将您的新环境文件添加到堆栈中,并部署 overcloud:

    (undercloud)$ openstack overcloud deploy --templates \
      -e [your environment files] \
      -e /home/stack/templates/nfs_instance_disk_backend.yaml