配置 NFS 存储后端¶
本节解释如何配置 OpenStack 块存储以使用 NFS 存储。您必须能够从托管 cinder 卷服务的服务器访问 NFS 共享。
注意
在以下发行版中,cinder 卷服务名为 openstack-cinder-volume
CentOS
Fedora
openSUSE
Red Hat Enterprise Linux
SUSE Linux Enterprise
在 Ubuntu 和 Debian 发行版中,cinder 卷服务名为 cinder-volume。
配置块存储以使用 NFS 存储后端
以
root用户身份登录到托管cinder卷服务的系统。在
/etc/cinder/目录中创建一个名为nfs_shares的文本文件。为
cinder卷服务应用于后端存储的每个 NFS 共享,向/etc/cinder/nfs_shares添加一个条目。每个条目应单独成行,并使用以下格式HOST:SHARE
其中
HOST 是 NFS 服务器的 IP 地址或主机名。
SHARE 是现有且可访问的 NFS 共享的绝对路径。
将
/etc/cinder/nfs_shares设置为由root用户和cinder组拥有# chown root:cinder /etc/cinder/nfs_shares
将
/etc/cinder/nfs_shares设置为 cinder 组的成员可读# chmod 0640 /etc/cinder/nfs_shares
配置
cinder卷服务以使用之前创建的/etc/cinder/nfs_shares文件。为此,打开/etc/cinder/cinder.conf配置文件,并将nfs_shares_config配置键设置为/etc/cinder/nfs_shares。在包含
openstack-config的发行版上,您可以通过运行以下命令来配置此项# openstack-config --set /etc/cinder/cinder.conf \ DEFAULT nfs_shares_config /etc/cinder/nfs_shares
以下发行版包含 openstack-config
CentOS
Fedora
openSUSE
Red Hat Enterprise Linux
SUSE Linux Enterprise
可选地,在
/etc/cinder/cinder.conf的nfs_mount_options配置键中提供环境中所需的任何其他 NFS 挂载选项。如果您的 NFS 共享不需要任何其他挂载选项(或者您不确定),请跳过此步骤。在包含
openstack-config的发行版上,您可以通过运行以下命令来配置此项# openstack-config --set /etc/cinder/cinder.conf \ DEFAULT nfs_mount_options OPTIONS
将 OPTIONS 替换为访问 NFS 共享时要使用的挂载选项。有关可用挂载选项的更多信息,请参阅 NFS 手册页 (man nfs)。
配置
cinder卷服务以使用正确的卷驱动程序,即cinder.volume.drivers.nfs.NfsDriver。为此,打开/etc/cinder/cinder.conf配置文件,并将 volume_driver 配置键设置为cinder.volume.drivers.nfs.NfsDriver。在包含
openstack-config的发行版上,您可以通过运行以下命令来配置此项# openstack-config --set /etc/cinder/cinder.conf \ DEFAULT volume_driver cinder.volume.drivers.nfs.NfsDriver
现在,您可以重新启动服务以应用配置。
注意
配置键
nfs_sparsed_volumes确定卷是创建为稀疏文件并按需增长,还是预先完全分配。默认且推荐值为true,这可确保卷最初创建为稀疏文件。将
nfs_sparsed_volumes设置为false将导致在创建时完全分配卷。这会导致卷创建延迟增加。但是,如果您选择将
nfs_sparsed_volumes设置为false,则可以直接在/etc/cinder/cinder.conf中进行设置。在包含
openstack-config的发行版上,您可以通过运行以下命令来配置此项# openstack-config --set /etc/cinder/cinder.conf \ DEFAULT nfs_sparsed_volumes false
警告
如果客户端主机启用了 SELinux,如果主机需要访问实例上的 NFS 卷,则应启用
virt_use_nfs布尔值。要启用此布尔值,请以root用户身份运行以下命令# setsebool -P virt_use_nfs on
此命令还会使布尔值在重新启动后保持不变。在所有需要访问实例上 NFS 卷的客户端主机上运行此命令。这包括所有计算节点。