NFS-Ganesha 安装部署及测试
2018-01-23 09:57
615 查看
一、概览
自从Jewel版本,nfs-ganesha开始支持ceph,ganesha通过两种方式支持将ceph通过posix及nfs语义导出。一种通过rgw,一种通过cephfs,通过FSAL模块 连接到RGW或者CephFS, 其中,FSAL_RGW调用librgw2将NFS协议转义为S3协议再通过RGW存入到Ceph中,FSAL_CEPH 调用libcephfs1将NFS转义为Cephfs协议再存入到Ceph 中。
因此在实际安装部署中需要额外安装这两个基础库,以提供协议转换的支撑。
文章所载基于Jewel 10.2.7版本所示,将J版本的ceph基于ganesha导出nfs部署,并且简单测试一下rgw和cephfs的性能。
二、环境
os: ubuntu16.04
ceph: jewel
nfs-gnesha: v2.5分支
三、安装
3.1 安装基础依赖库
3.2 下载nfs-ganesha源码
在源码下载的时候有众多版本供选择,试过其中的v2.5以及v2.3版本,都在编译过程中出现不同程度的错误,排查是jewel版本和nfs-ganesha版本不匹配造成的。至于排查的过程无非与查源码、查环境之类,最终找到一个网友共享出来的源码可供编译。
3.3 编译
由于测试需要支持rgw和cephfs,需要在编译的过程中加上 -DUSE_FSAL_RGW=ON -DUSE_FSAL_CEPH=ON
值得注意的是,需要确保configure输出中检测到rgw和cephfs模块,否则这两个模块将不会被编译进去。
如果安装过程中没有安装好librgw2-devel或者libcephfs1-devel,USE_FSAL_RGW或者USE_FSAL_CEPH状态将为OFF,因此需要观察configure输出,确保– USE_FSAL_CEPH为ON,以及– USE_FSAL_RGW为ON
接下来
make && make install
3.4 配置
配置的方法查过部分资料,很多说需要关闭集群cephx认证,首次配置时没有对应配置RGW部分,因此没有成功,关闭cephx后成功。但因实际项目需要开启cephx,因此开启cephx后,配置RGW后意外发现正常启动。
3.5 启动ganesha
启动 Ganesha
ganesha.nfsd -f /etc/ganesha/ganesha.conf -L /var/log/nfs-ganesha.log -N NIV_DEBUG
3.6 挂载 NFS
[root@node1 mnt]# mount -t nfs4 192.168.3.4:/ /mnt/nfs
4.测试
在挂载成功后,进行实际测试:
测试过程中发现,bs>4M 时,表现不稳定,有IO ERROR出现。
利用iozone工具测试,发现当进行非4K对齐写时,出现测试失败情况。
自从Jewel版本,nfs-ganesha开始支持ceph,ganesha通过两种方式支持将ceph通过posix及nfs语义导出。一种通过rgw,一种通过cephfs,通过FSAL模块 连接到RGW或者CephFS, 其中,FSAL_RGW调用librgw2将NFS协议转义为S3协议再通过RGW存入到Ceph中,FSAL_CEPH 调用libcephfs1将NFS转义为Cephfs协议再存入到Ceph 中。
因此在实际安装部署中需要额外安装这两个基础库,以提供协议转换的支撑。
文章所载基于Jewel 10.2.7版本所示,将J版本的ceph基于ganesha导出nfs部署,并且简单测试一下rgw和cephfs的性能。
二、环境
os: ubuntu16.04
ceph: jewel
nfs-gnesha: v2.5分支
三、安装
3.1 安装基础依赖库
apt install gcc git cmake libtool flex g++ krb5-dev uuid-dev nfs-kernel-server librgw2-dev
3.2 下载nfs-ganesha源码
在源码下载的时候有众多版本供选择,试过其中的v2.5以及v2.3版本,都在编译过程中出现不同程度的错误,排查是jewel版本和nfs-ganesha版本不匹配造成的。至于排查的过程无非与查源码、查环境之类,最终找到一个网友共享出来的源码可供编译。
3.3 编译
由于测试需要支持rgw和cephfs,需要在编译的过程中加上 -DUSE_FSAL_RGW=ON -DUSE_FSAL_CEPH=ON
值得注意的是,需要确保configure输出中检测到rgw和cephfs模块,否则这两个模块将不会被编译进去。
如果安装过程中没有安装好librgw2-devel或者libcephfs1-devel,USE_FSAL_RGW或者USE_FSAL_CEPH状态将为OFF,因此需要观察configure输出,确保– USE_FSAL_CEPH为ON,以及– USE_FSAL_RGW为ON
接下来
make && make install
3.4 配置
EXPORT { ## Export Id (mandatory, each EXPORT must have a unique Export_Id) Export_Id = 12345; ## Exported path (mandatory) Path = "/"; ## Pseudo Path (required for NFSv4 or if mount_path_pseudo = true) Pseudo = "/"; ## Restrict the protocols that may use this export. This cannot allow ## access that is denied in NFS_CORE_PARAM. Protocols = 4; ## Access type for clients. Default is None, so some access must be ## given. It can be here, in the EXPORT_DEFAULTS, or in a CLIENT block Access_Type = RW; ## Whether to squash various users. Squash = No_root_squash; Transport_Protocols = TCP; ## Allowed security types for this export #Sectype = sys,krb5,krb5i,krb5p; ## Exporting FSAL FSAL { Name = RGW; User_Id = "s3test";//对应修改成用户id Access_Key_Id = "TEVE5KUE7CVGFWHRMBO0";//对应修改accessid Secret_Access_Key = "tZhkG3oyHkCyczI3Ll2UXGxCJwDNF2jmkpdH8qrc";//对应修改成secertid } } RGW { ceph_conf = "/etc/ceph/ceph.conf"; cluster = "ceph"; name = "client.rgw.mon1";//对应修改成rgw实例名 init_args = "-d --debug-rgw=16"; }
配置的方法查过部分资料,很多说需要关闭集群cephx认证,首次配置时没有对应配置RGW部分,因此没有成功,关闭cephx后成功。但因实际项目需要开启cephx,因此开启cephx后,配置RGW后意外发现正常启动。
3.5 启动ganesha
启动 Ganesha
ganesha.nfsd -f /etc/ganesha/ganesha.conf -L /var/log/nfs-ganesha.log -N NIV_DEBUG
3.6 挂载 NFS
[root@node1 mnt]# mount -t nfs4 192.168.3.4:/ /mnt/nfs
4.测试
在挂载成功后,进行实际测试:
for i in {1..10000};do dd if=/dev/zero of=/mnt/nfs/file_$i bs=4K count=$i
测试过程中发现,bs>4M 时,表现不稳定,有IO ERROR出现。
利用iozone工具测试,发现当进行非4K对齐写时,出现测试失败情况。
相关文章推荐
- Win7下MongoDB的安装和部署测试
- 微软超融合私有云测试27-SCDPM2016部署之安装SCDPM管理服务器
- Hadoop生态系统搭建(5)—— 分布式协同服务框架 Zookeeper 的安装部署与测试
- ubuntu下nfs安装以及测试
- Windows下的Memcache安装与Java部署(测试用,一般情况下会在linux环境下使用memcahe)
- Pinot安装并简单部署测试环境
- NFS共享安装部署
- (一)Hive的安装部署及测试
- GlusterFS部署安装集群测试
- Hive的安装部署、测试、功能架构、表数据加载、导出、查询
- kickstart+PXE+NFS自动化安装部署
- 安装部署(六) Kafka集群安装部署以及Producer和Consumer的JAVA代码测试
- Sqoop1.4.5-安装测试部署(基于Hadoop2.2.0环境)
- 第16回 不容忽视的安装或部署测试
- 网上最新的devstack安装教程【一键部署openstack测试环境】
- ubuntu12.04下nfs安装、配置、测试
- 第16回 不容忽视的安装或部署测试
- Linux部署之批量自动安装系统之测试篇
- 淘宝分布式 key/value 存储引擎Tair安装部署过程及Java客户端测试一例