Chinaunix首页 | 论坛 | 博客
  • 博客访问: 30580
  • 博文数量: 10
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: -5
  • 用 户 组: 普通用户
  • 注册时间: 2015-10-18 21:32
个人简介

好人

文章分类

全部博文(10)

文章存档

2016年(5)

2015年(5)

我的朋友

分类: 云计算

2016-04-16 17:02:35

NFS给远程主机提供文件系统,它允许网络中的计算机可以通过tcp/ip来共享资源,就像访问本地文件一样。

环境配置

openstack  allinone一套, nfs虚拟机一台。

NFS服务器端的安装

#yum -y install rpcbind nfs-utils

NFS服务器端的配置

NFS服务器端的配置比较简单,基本只涉及/etc/exports文件的修改,配置内容如下:
/nfs/shared 0.0.0.0/0.0.0.0(rw,sync,no_root_squash)

0.0.0.0/0.0.0.0网段的用户可以挂载NFS服务器上的/nfs/shared目录(我嫌麻烦就全通算了),挂载后具有读写权限,
sync表示实时同步数据,no_root_squash 是后来在创建卷的时候发现scheduler没有权限去读写,怀疑是cinder无法读写所以加了。

NFS服务的启动

service rpcbind start
service nfs start      (注意先创建好需要共享的文件路径,不然启动失败)
chkconfig rpcbind on
chkconfig nfs on

NFS服务验证

服务器端使用showmount命令查询NFS的共享状态
# showmount-e
# showmount-a

客户端使用showmount命令查询NFS的共享状态
# showmount -e NFS服务器IP



挂载到本地目录

注:这里挂载不是必须的步骤,是为了验证nfs服务器是否可用,因为cinder volume启动时会自动去挂载nfs服务器

cd /root
mkdir nfsshare
mount -tnfs 10.133.47.138:/nfs/shared /root/nfsshare/

查看挂载结果



cinder配置

第一步 创建/etc/cinder/share.txt文件,并编辑内容如下,告知可以被mount的共享存储
10.133.47.138:/nfs/shared

第二步 修改权限及用户组
chmod 0640 /etc/cinder/share.txt
 chown root:cinder /etc/cinder/share.txt

第三步:编辑/etc/cinder/cinder.conf
[default]
enabled_backends = nfs

[nfs]         //这个千万不能少
volume_driver=cinder.volume.drivers.nfs.NfsDriver
nfs_shares_config=/etc/cinder/shares.txt
nfs_mount_point_base=$state_path/mnt
volume_backend_name=nfs

第四步 重启cinder volume
service openstack-cinder-volume  restart
cinder service-list  查看服务是否up
df -h 看到nfs已自动挂载Ok

第五步 创建卷类型关联nfs存储后端
cinder type-create nfs
cinder type-key nfs set volume_backend_name=nfs

验证:创建卷类型为nfs
cinder create 2 --volume-type nfs








卷文件已经生成,同步到了nfs服务器上。



 
总结:nfs为cinder提供后端存储,其实就是提供一个文件系统,挂载到客户端的路径下,然后cinder往里面写文件。
遇到的问题:主要就是nfs服务端的配置文件没有写no_root_squash,导致cinder 创建卷失败
服务启动后,创建卷时schedulel报无法读写/var/lib/cinder/mnt/.../vomle-xxx

多存储后端尝试 LVM+NFS

cinder 配置项修改
[default]
enabled_backends = nfs,lvm

lvm配置项

volume_group=cinder-volumes 是表示使用这个卷组
volume_backend_name=lvm只是取个名字,方便给设置的类型关联

重启cinder-volume服务

添加volume-type
cinder type-create nfs
cinder type-key nfs set volume_backend_name=nfs




后端两种存储系统,根据具体的volume-type去指定创建在哪个存储后端中。










阅读(1827) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~