Ceph Luminous 12.2.11 安装 nfs-ganesha
目录
- 1. 环境信息
- 1.1 硬件平台
- 1.2 软件平台
- 2. 参考链接
- 3. 安装依赖包
- 4. 源码安装
- 4.1 源码选择
- 4.2 安装步骤
- 5. 编辑配置文件
- 6. 启动 ganesha
- 7. 挂载 NFS
- 8. 简单测试
- 9. 修订记录
1. 环境信息
1.1 硬件平台
- Manufacturer: Lenovo
- Product: ThinkSystem SR650 * 3
- CPU: Intel Xeon Gold 6130 @ 2.10Ghz * 2 , 64 Threads
- Memory: 128GB
- Disk:
- 1.8TB 10Krpm 2.5inch SAS HDD * 18
- 800GB 2.5inch SAS SSD * 4
- HBA: LSI SAS3508 RAID 930-24i 4GB (None raid)
- Ethernet:
- Intel X722 10G
- Intel X550T 10G
1.2 软件平台
- System: RHEL 7.4
- Kernel: 3.10.0-862.14.4.el7.x86_64
- Ceph: 12.2.5 luminous
- COSBench: 0.4.2.10260615
2. 参考链接
通过ganesha-nfs导出Ceph为NFS(Luminous)
通过ganesha-nfs将 Ceph 导出为 NFS (徐小胖)
配置ganesha-nfs对接rgw
3. 安装依赖包
备注:YUM 源中的 ganesha 版本为 2.3.2,此次利用源码安装安装 2.5 版本
yum install gcc git cmake autoconf libtool bison flex doxygen openssl-devel gcc-c++ krb5-libs krb5-devel libuuid-devel nfs-utils libblkid-devel
我的环境中还需要安装以下包:
libcap-devel
libwbclient-devel
xfsprogs-devel
4. 源码安装
4.1 源码选择
- 2.5 stable (通过参考链接三下载)
cmake 无法通过,检查CMakeError.log
,发现报错如下,无法解决:
/usr/bin/ld: cannot find -lpthreads
- 2.5.3 (通过 github 下载)
根据参考链接一的提示,由于源码中的libntrirpc
目录为空,将2.5 stable源码中的此目录复制过来,编译一次通过
- 2.5.5 (通过 github 下载)
未验证
4.2 安装步骤
编译nfs-ganesha, 注意打开对应的模块:
如果需要生成FSAL_RGW
模块,则在编译选项中添加: -DUSE_FSAL_RGW=ON
如果需要生成FSAL_CEPH
模块,则在编译选项中添加: -DUSE_FSAL_CEPH=ON
cd src/
mkdir build
cd build/
cmake -DUSE_FSAL_RGW=ON -DUSE_FSAL_CEPH=ON ../
cmake的过程中会有以下输出:
-- Looking for ceph_ll_lookup_root in cephfs - found
-- Found cephfs libraries: /usr/lib64/libcephfs.so
-- Found CEPHFS: /usr/include
-- Looking for rgw_mount in rgw
-- Looking for rgw_mount in rgw - found
-- Found rgw libraries: /usr/lib64/librgw.so
-- Found RGW: /usr (found suitable version "1.1", minimum required is "1.1")
...
-- USE_FSAL_CEPH = ON
-- USE_FSAL_CEPH_MKNOD = OFF
-- USE_FSAL_CEPH_SETLK = OFF
-- USE_FSAL_CEPH_LL_LOOKUP_ROOT = ON
-- USE_FSAL_RGW = ON
这一步,很重要,很多时候会因为没有装好的librgw2-devel
或者libcephfs1-devel
导致这边的USE_FSAL_RGW
或者USE_FSAL_CEPH
状态为OFF
确保: -- USE_FSAL_CEPH
为ON
,以及-- USE_FSAL_RGW
为ON
。
如果是OFF
,请检查下librgw2-devel
或者libcephfs1-devel
是否有安装,如果这两个包都已经安装了,还显示为OFF
, 可以尝试下清空编译目录:
rm -rf build/*
再进行编译。
编译和安装,在build目录下
make
make install
5. 编辑配置文件
编译完成后,会看到配置模板文件的位置:
/usr/share/doc/ganesha/config_samples/rgw.conf
/usr/share/doc/ganesha/config_samples/ceph.conf
复制出来修改其中的rgw.conf
EXPORT
{Export_ID=1;Path = "/";Pseudo = "/";Access_Type = RW;Protocols = 4;Transports = TCP;FSAL {Name = RGW;User_Id = "zous3";Access_Key_Id ="1MWH3LWM1BS4ZF4HN5IH";Secret_Access_Key = "cuObxYgtl1lJgqNxOIpENycVqXfxLxZ8z5IXDM0O";}
}
RGW {ceph_conf = "/etc/ceph/ceph.conf";
}
其中填写以下三项:
User_Id
: s3 uidAccess_Key_Id
: s3 access keySecret_Access_Key
: s3 secret key
如果需要同时转换 rgw 和 cephfs,则配置文件如下:
EXPORT
{Export_ID=1;Path = /;Pseudo = /cephfs;Access_Type = RW;Squash = No_root_squash;Protocols = 4;Transports = TCP;FSAL {Name = CEPH;}
}
EXPORT
{Export_ID=2;Path = /;Pseudo = /rgw;Access_Type = RW;Protocols = 4;Transports = TCP;FSAL {Name = RGW;User_Id = "zous3";Access_Key_Id ="M54WD1J33ZRZA7D6YX8E";Secret_Access_Key = "lXu1DgwO1YLoV8IPlbH9FpaCIZyHcOBIrMLQ2xUi";}
}RGW {ceph_conf = "/etc/ceph/ceph.conf";
}
TIPS:
- 与参考链接不同,cephfs 配置中必须加
Squash = No_root_squash;
,否则挂载后会变成只读。rgw 配置中不用添加此项Pseudo
项的值即为挂载成功后自行生成的挂载点
6. 启动 ganesha
重要
在启动进程前,关闭所有节点的CephX
权限认证,将/etc/ceph/ceph.conf
内的三个 cephx 改为 none,然后重启 ceph-mon,ceph-osd,ceph-radosgw,ceph-mds 进程,再启动 ganesha-nfs。
ganesha.nfsd -f /root/rgw.conf -L /var/log/nfs-ganesha.log -N NIV_DEBUG
TIPS:
- 日志级别有多种类型,
DEBUG
级别产生的日志量非常巨大,可以不添加-N NIV_DEBUG
- ganesha 使用的默认配置文件位于
/etc/ganesha/ganesha.conf
,也可以直接修改此文件
如果一切顺利,你应该可以看到ganesha.nfsd
进程在那,如果进程不在,可以检查 log。
7. 挂载 NFS
使用showmount -e
很可能输出内容为空,但不影响后续挂载。
在客户端上使用
mount -t nfs4 IP:/ /mnt/
进行挂载,挂载成功后,使用mount
命令可以看到挂载信息。如果同时配置了rgw
和cephfs
,则在挂载点下可以看到自动生成了两个以配置文件中Pseudo
为名的挂载目录,分别挂载了rgw
和cephfs
。
如果使用df -h
看不到挂载点,则可以cd
到对应挂载目录后,再查看。
8. 简单测试
to do
9. 修订记录
时间 | 修订内容 |
---|---|
2019/5/28 | 创建 |
Ceph Luminous 12.2.11 安装 nfs-ganesha相关推荐
- ubuntu 12.04/11.10 PPA 安装 Nvidia 295.59
2019独角兽企业重金招聘Python工程师标准>>> Nvidia 295.59 增加支持以下GPUs: NVS 5400M NVS 310 GeForce GT 620M GeF ...
- Linux安装NFS
Linux安装NFS 一.检测 检查本地是否已经安装nfs服务 rpm -qa | grep nfs-utils rpm -qa | grep rpcbind 出现以下标识说明已经安装 [melonr ...
- linux 下 安装 nfs 服务
一.debian 配置nfs服务器 1. 安装 nfs 服务 apt-get install nfs-common nfs-kernel-server 2.创建需要共享的目录 mkdir /mnt/n ...
- RH236配置IP故障转移--配置NFS Ganesha
RH236配置IP故障转移–配置NFS Ganesha 本章节学习配置NFS Ganesha解决高可用问题. RHCA专栏地址:https://blog.csdn.net/qq_41765918/ca ...
- RHEL7安装NFS服务
文章目录 1.需求 1. 系统环境 2. 环境规划 2.1 主机规划 2.2 用户规划 3. nfs服务端配置 3.1. 安装nfs所需的软件包 3.2.启动nfs服务并设置开机自启 3.3 创建sh ...
- 12.1 LNMP架构介绍;12.2 MySQL安装;12.3-2.4 PHP安装(上下);12.5
扩展: Nginx为什么比Apache Httpd高效:原理篇 http://www.toxingwang.com/linux-unix/linux-basic/1712.html apache和ng ...
- ubuntu查看node的安装目录_ubuntu安装nfs服务实现共享目录
nfs服务是实现Linux和Linux之间的文件共享 下载离线安装包 下面为在ubuntu16.04系统中搭建nfs服务 1.安装nfs服务(只需要服务端安装) sudo apt install nf ...
- Ubuntu 12.04下安装Oracle Express 11gR2
Ubuntu 12.04下安装Oracle Express 11gR2 [我的笔记] 参考1:http://www.linuxidc.com/Linux/2012-09/71382.htm 参考2:h ...
- Ubuntu 12.04 用户安装Chromium
http://www.linuxidc.com/Linux/2012-07/64911.htm Chromium 浏览器是谷歌浏览器的开源版本,可以说谷歌浏览器就是基于 Chromium .该浏览器已 ...
最新文章
- 【采用】如何搭建反欺诈策略与模型
- java word 加密_如何通过Java实现加密、解密Word文档
- 高级系统项目管理师笔记1
- Leetcode:892. 三维形体的表面积(Java)
- linux去重某一列,Linux shell命令统计某列去重后的值
- Fragment学习3--底部tab布局
- Unity+Android GET和POST方式的简单实现API请求(人像动漫化)
- 电商扣减库存_外贸电商仓储:代打包代贴单一件代发全球
- 计算机基础雨课堂答案,基于“雨课堂”助推大学计算机基础课革新
- DP_流水线调度问题与Johnson算法
- antd tab右键菜单renderTabBar
- 我的世界服务器修改空岛范围,我的世界空岛指令权限大全 | 手游网游页游攻略大全...
- 服务器审计资质证书,利用ACS服务器实现用户的认证、授权和审计
- 4.2.9 Kafka集群与运维, 应用场景, 集群搭建, 集群监控JMX(度量指标, JConsole, 编程获取, Kafka Eagle)
- 基于python-opencv给图像添加水印
- 微信定位和HTML5定位
- 给定0-1矩阵,求连通域
- QYT-X1S在高速公路可视化的网络解决方案
- 修改信息时,省级联动问题记录
- 个人免签支付接口实现
热门文章
- 在pypi上发布python包详细教程
- nsfw什么颜色_“ NSFW”是什么意思,以及如何使用它?
- eclipse安装c语言开发linux,在linux下安装eclipse 开发c语言程序
- NotePad++针对一批数据批量添加双引号和逗号以及去除空格的处理技巧
- keras实现LFW测试
- dreamweaver cs5 注册码及防激活
- redis 常用命令
- jks与pkcs12格式的keystore互转
- 解决“事件ID(487)的描述(在资源(Zend Optimizer)中)无法找到”问题
- linux shell 入门学习笔记3 shebang