cinder nfs backend配置实例

本文详细介绍了如何将NFS目录配置为OpenStack Cinder的存储后端,包括创建子目录、编辑配置文件、修改权限、重启服务、创建cindervolume类型并挂载至计算节点的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

NFS export目录为192.168.10.1:/nfsdir,此前已经被cinder volume节点mount至本地/mnt/large目录。
此外,NFS目录必须能让计算节点访问。

root身份登录到cinder volume节点。

由于NFS目录有其他用途,这里创建一个子目录,用来专门保存cinder volume。

# mkdir /mnt/large/cinder
编辑 /etc/cinder/cinder.conf
# 增加nfs
enabled_backends=iscsi,nfs
[nfs]
nfs_shares_config=/etc/cinder/nfsshares
nfs_sparsed_volumes=true
volume_driver=cinder.volume.drivers.nfs.NfsDriver
volume_backend_name=nfs

配置文件nfsshare的内容
# cat /etc/cinder/nfsshares
192.168.10.1:/nfsdir/cinder

修改文件属组和访问属性如下
# ll /etc/cinder/nfsshares
-rw-r----- 1 root cinder 31 2月  1 12:20 /etc/cinder/nfsshares

重启cinder服务
# systemctl restart openstack-cinder-volume openstack-cinder-scheduler openstack-cinder-backup openstack-cinder-api

创建cinder type
# cinder type-create nfs
# cinder type-key nfs set volume_backend_name=nfs

创建虚拟机,attach一个nfs类型的volume。
检查,计算节点已经mount了cinder目录
192.168.10.1:/nfsdir/cinder on /var/lib/nova/mnt/ff0ba90ecf601a296c0bb210357a0573
虚拟机成功挂载了volume。volume以文件形式存在于  /var/lib/nova/mnt/ff0ba90ecf601a296c0bb210357a0573 ,即NFS服务器的/nfsdir/cinder目录。

参考 

http://docs.openstack.org/admin-guide-cloud/blockstorage_nfs_backend.html




### 配置OpenStack Cinder 使用 NFS 存储后端 #### 准备工作 为了使 OpenStack Cinder 能够使用 NFS 作为其存储后端,需先准备必要的硬件和软件资源。确保已有一台或多台服务器用于部署 NFS 服务,并且这些设备能够被 OpenStack 的控制节点访问。 #### 安装与配置 NFS 服务 在计划充当 NFS 服务器的角色上执行以下操作: 1. **安装 NFS** 执行命令 `yum install nfs-utils` 或者对于基于 Debian/Ubuntu 系统则应运行 `apt-get install nfs-kernel-server` 来完成 NFS 工具包的安装[^4]。 2. **启动 NFS 服务** 使用命令 `systemctl start nfs-server.service && systemctl enable nfs-server.service` 开启并设置开机自启该服务。 3. **关闭防火墙及 SELinux (如果适用)** 这一步骤是为了简化网络通信流程,在生产环境中建议仅开放必需的服务端口而不是完全禁用防护措施。可以通过命令 `systemctl stop firewalld` 和编辑 `/etc/selinux/config` 文件来调整相应策略。 4. **创建共享目录** 建立一个专门供 Cinder 卷使用的文件夹路径,比如 `/data/openstack_data/cinder` ,接着赋予适当读写权限给所有用户以便于后续挂载连接时不会遇到权限问题: ```bash mkdir -p /data/openstack_data/cinder chmod 777 /data/openstack_data/cinder/ ``` 5. **修改配置文件** 编辑 `/etc/exports` 添加如下行指定要分享出去的数据位置以及允许哪些 IP 地址范围内的机器可以访问此资源: ``` /data/openstack_data/cinder *(rw,sync,no_root_squash) ``` 6. **重启 NFS 服务** 更改完成后记得重新加载或重启 NFS 服务以应用最新的更改:`systemctl restart nfs-server.service`。 #### 控制节点上的配置变更 接下来是在 OpenStack 控制节点处进行相应的改动使得它可以识别到新加入的 NFS 后端支持。 1. **定义新的后端名称** 登录数据库并将所期望的名字关联至特定类型的卷类型之上,例如命名为 "NFS-Storage"[^3]: ```sql cinder type-key NFS set volume_backend_name=NFS-Storage ``` 2. **增加 NFS 后端参数** 修改 `/etc/kolla/config/cinder.conf` 或其他相关配置文档中的 `[DEFAULT]` 下面添加指向 NFS 导出路径的信息,格式类似于下面这样[^2]: ``` enabled_backends=nfs [nfs] nfs_shares_config=/etc/kolla/config/nfs_shares driver_handles_share_export=false default_volume_type=nfs ``` 3. **创建 NFS shares 文件** 新建名为 `nfs_shares` 的文本档位于上述提到的位置内填入实际可用的 NFS Server 及对应导出路徑信息,每条记录占一行如 `192.168.10.158:/data/openstack_data/cinder` 表示来自这台主机下的某个具体目录可供 Cinder 利用. 4. **重启卷服务** 应用了以上变动之后务必让 Cinder-volume 组件再次初始化从而生效最新设定:`openstack-service restart openstack-cinder-volume`。 通过遵循上述指导方针,即可成功实现 OpenStack Cinder 对接 NFS 实现高效的分布式块级数据存取功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值