cinder对接nfs共享存储
(一)背景
cinder使用nfs做后端存储,cinder服务和nova服务很相似。
nova:不提供虚拟化,支持多种虚拟化技术,kvm,xen,qemu,lxc
cinder:不提供存储,支持多种存储技术,lvm,nfs,glusterFS,ceph
后期如果需要对接其他类型后端存储,方法都类似(之前我们配置的是LVS,此章配置nfs)
(二)相关配置
①控制节点安装nfs服务端
安装
[root@controller ~]# yum install nfs-utils.x86_64 -y
配置
[root@controller ~]# mkdir /data
[root@controller ~]# vim /etc/exports
#目录, 放通的网段,rw可读可写,async 异步,root用户不转换,其他用户也不做转换
/data 10.0.0.0/24(rw,async,no_root_squash,no_all_squash)
启动
systemctl restart rpcbind
systemctl restart nfs
systemctl enable nfs
systemctl enable rpcbind
②存储节点的配置(安装nfs客户端)
#存储节点生产环境是专门的,测试环境我们为了节约资源也放在了计算节点
[root@computer1 ~]# yum install nfs -y
修改/etc/cinder/cinder.conf
[DEFAULT]
enabled_backends = sata,ssd,nfs #增加nfs存储类型,下面配置nfs模块.之前我们配置的是sata和ssd
[nfs]
volume_driver = cinder.volume.drivers.nfs.NfsDriver
#nfs的共享路径读取文件
nfs_shares_config = /etc/cinder/nfs_shares
volume_backend_name = nfs
vi /etc/cinder/nfs_shares
10.0.0.11:/data
#检查是否可用
[root@computer1 ~]# showmount -e 10.0.0.11
Export list for 10.0.0.11:
/data 10.0.0.0/24
重启cinder-volume
systemctl restart openstack-cinder-volume.service
在控制节点上检查:cinder service-list
如果多出来一个nfs类型的卷则成功
③修改属主权限,若不修改后期做文件系统会报错
报错时查看卷日志:
vim /var/log/cinder/volume.log
需要配置:
[root@computer1 ~]# chown -R cinder:cinder /var/lib/cinder/mnt/
④创建卷类型,挂载实例
#设置nfs卷类型
管理员-卷-创建类型卷-查看extra spec,设置键和值
#创建卷
#附加卷到实例
项目-卷-编辑卷-管理连接-连接到实例
进到实例里初始化盘,挂载即可
mkfs.ext4 /dev/vdb
mount /dev/vdb /mnt
同样的,这个实例里初始化的卷也是可以直接在节点服务器上挂载查看数据