cinder后端采用nfs存储

本文详细介绍了如何在OpenStack环境中配置NFS服务器,并在Controller节点上进行相应设置以实现Cinder卷服务通过NFS共享存储。从安装软件包到配置共享目录、设置权限等步骤逐一说明,并提供了创建卷类型的命令示例。

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

作者:【吴业亮】云计算开发工程师
博客:http://blog.youkuaiyun.com/wylfengyujiancheng
一、nfs服务器配置
1、安装软件包

# yum install nfs* -y

2、创建共享目录

# mkdir /data

3、赋予权限

# chown 165:165 /data
# chmod 777 data/

4、配置NFS

echo '/data  192.168.5.0/24(rw,sync,all_squash,anonuid=165,anongid=165)' >/etc/exports

192.168.5.0/24为共享存储的网段
5、启动服务,并设置开机启动

# service rpcbind start
# service nfs-server start
# chkconfig  rpcbind on
# chkconfig nfs-server  on

二、openstack的controller节点上
1、安装软件包

# yum install nfs* -y

2、创建/etc/cinder/nfsshares文件,并写入如下内容

#echo '192.168.5.29:/data'  > /etc/cinder/nfsshares

格式:
HOST 填写IP地址或是NFS服务器的主机名。
SHARE使已经存在的且可访问的NFS共享的绝对路径。
具体可以用showmount -e 192.168.5.29查看

3、设置/etc/cinder/nfsshares的属主为root用户,组为cinder。

# chown root:cinder /etc/cinder/nfsshares

4、设置/etc/cinder/nfsshares为可由组cinder成员可读

# chmod 0640 /etc/cinder/nfsshares

5、配置/etc/cinder/cinder.conf

# openstack-config --set /etc/cinder/cinder.conf nfs nfs_shares_config /etc/cinder/nfsshares

6、(可选),添加额外的NFS挂载点属性需要在你的环境中设置/etc/cinder/
cinder.conf的nfs_mount_options 键值。如果你的NFS共享无须任何额外的挂载属性(或
者是你不能确定)的话,请忽略此步。

# openstack-config --set /etc/cinder/cinder.conf \
nfs nfs_mount_options OPTIONS
  1. 配置cinder 卷服务使用正确的卷驱动
# openstack-config --set /etc/cinder/cinder.conf \
nfs volume_driver cinder.volume.drivers.nfs.NfsDriver

设置volume_backend_name

 # openstack-config --set /etc/cinder/cinder.conf \
nfs  volume_backend_name   nfs

8、(可选)配置卷是否作为稀疏文件创建并按需要分配或完全预先分配

# openstack-config --set /etc/cinder/cinder.conf \
nfs   nfs_sparsed_volumes false

nfs_sparsed_volumes 配置关键字定义了卷是否作为稀疏文件创建并按需要分
配或完全预先分配。默认和建议的值为 true,它会保证卷初始化创建为稀疏文
件。
设置 nfs_sparsed_volumes为false的结果就是在卷创建的时候就完全分配了。
这会导致卷创建时间的延长。
如果客户端主机启用了SELinux,若此主机需要访问NFS共享上的实例的话就需要
设置virt_use_nfs布尔值。以root用户运行下面的命令:

# setsebool -P virt_use_nfs on

9、启用lvm和nfs的backends(可以同时启用多种后端存储,以逗号隔开)

# openstack-config --set /etc/cinder/cinder.conf \
DEFAULT  enabled_backends  lvm,nfs

9、重启cinder 卷服务:

# service openstack-cinder-volume restart

10、在使用multi-backends创建盘之前,需要先创建盘的类型,dashboard及命令行cinder type-create都可以创建
创建lvm

# cinder --os-username admin --os-tenant-name admin type-create lvm
# cinder --os-username admin --os-tenant-name admin type-key lvm set volume_backend_name=LVM
# cinder --os-username admin --os-tenant-name admin extra-specs-list (just to check the settings are there)

创建nfs

# cinder --os-username admin --os-tenant-name admin type-create nfs
# cinder --os-username admin --os-tenant-name admin type-key nfs  set volume_backend_name=nfs
# cinder --os-username admin --os-tenant-name admin extra-specs-list (just to check the settings are there)

dashboard显示结果:
这里写图片描述
这里写图片描述
11、创建卷
这里写图片描述
在nfs-server上查看
这里写图片描述
默认挂载点在/var/lib/cinder/mnt,如需修改挂载点

# openstack-config --set /etc/cinder/cinder.conf  nfs nfs_mount_point_base  目录名称

这里写图片描述
配置文件如下:

[root@mitaka fdb4b811b5de566577500e474058b200]# cat /etc/cinder/cinder.conf | grep -v ^# | grep -v ^$
[DEFAULT]
rpc_backend = rabbit
auth_strategy = keystone
my_ip = 192.10.10.87
glance_host = mitaka
enabled_backends = lvm,nfs
glance_api_servers = http://mitaka:9292
nfs_shares_config = /etc/cinder/nfs_shares
[BACKEND]
[BRCD_FABRIC_EXAMPLE]
[CISCO_FABRIC_EXAMPLE]
[COORDINATION]
[FC-ZONE-MANAGER]
[KEYMGR]
[cors]
[cors.subdomain]
[database]
connection = mysql+pymysql://cinder:Changeme_123@mitaka/cinder
[keystone_authtoken]
auth_uri = http://mitaka:5000
auth_url = http://mitaka:35357
memcached_servers = mitaka:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = cinder
password = Changeme_123
[matchmaker_redis]
[oslo_concurrency]
lock_path = /var/lib/cinder/tmp
[oslo_messaging_amqp]
[oslo_messaging_notifications]
[oslo_messaging_rabbit]
rabbit_host = mitaka
rabbit_userid = openstack
rabbit_password = Changeme_123
[oslo_middleware]
[oslo_policy]
[oslo_reports]
[oslo_versionedobjects]
[ssl]
[lvm]
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
volume_group = cinder-volumes
iscsi_protocol = iscsi
iscsi_helper = lioadm
volume_backend_name=LVM
[nfs]
volume_driver = cinder.volume.drivers.nfs.NfsDriver
nfs_shares_config = /etc/cinder/nfsshares
volume_backend_name = nfs

参考:
http://docs.openstack.org/admin-guide/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值