目录

  • 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 源码选择

  1. 2.5 stable (通过参考链接三下载)

cmake 无法通过,检查CMakeError.log,发现报错如下,无法解决:

/usr/bin/ld: cannot find -lpthreads
  1. 2.5.3 (通过 github 下载)

根据参考链接一的提示,由于源码中的libntrirpc目录为空,将2.5 stable源码中的此目录复制过来,编译一次通过

  1. 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_CEPHON,以及-- USE_FSAL_RGWON

如果是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 uid
  • Access_Key_Id: s3 access key
  • Secret_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:

  1. 与参考链接不同,cephfs 配置中必须加Squash = No_root_squash;,否则挂载后会变成只读。rgw 配置中不用添加此项
  2. 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:

  1. 日志级别有多种类型,DEBUG级别产生的日志量非常巨大,可以不添加-N NIV_DEBUG
  2. ganesha 使用的默认配置文件位于/etc/ganesha/ganesha.conf,也可以直接修改此文件

如果一切顺利,你应该可以看到ganesha.nfsd 进程在那,如果进程不在,可以检查 log。

7. 挂载 NFS

使用showmount -e很可能输出内容为空,但不影响后续挂载。

在客户端上使用

mount -t nfs4 IP:/  /mnt/

进行挂载,挂载成功后,使用mount命令可以看到挂载信息。如果同时配置了rgwcephfs,则在挂载点下可以看到自动生成了两个以配置文件中Pseudo为名的挂载目录,分别挂载了rgwcephfs
如果使用df -h看不到挂载点,则可以cd到对应挂载目录后,再查看。

8. 简单测试

to do

9. 修订记录

时间 修订内容
2019/5/28 创建

Ceph Luminous 12.2.11 安装 nfs-ganesha相关推荐

  1. ubuntu 12.04/11.10 PPA 安装 Nvidia 295.59

    2019独角兽企业重金招聘Python工程师标准>>> Nvidia 295.59 增加支持以下GPUs: NVS 5400M NVS 310 GeForce GT 620M GeF ...

  2. Linux安装NFS

    Linux安装NFS 一.检测 检查本地是否已经安装nfs服务 rpm -qa | grep nfs-utils rpm -qa | grep rpcbind 出现以下标识说明已经安装 [melonr ...

  3. linux 下 安装 nfs 服务

    一.debian 配置nfs服务器 1. 安装 nfs 服务 apt-get install nfs-common nfs-kernel-server 2.创建需要共享的目录 mkdir /mnt/n ...

  4. RH236配置IP故障转移--配置NFS Ganesha

    RH236配置IP故障转移–配置NFS Ganesha 本章节学习配置NFS Ganesha解决高可用问题. RHCA专栏地址:https://blog.csdn.net/qq_41765918/ca ...

  5. RHEL7安装NFS服务

    文章目录 1.需求 1. 系统环境 2. 环境规划 2.1 主机规划 2.2 用户规划 3. nfs服务端配置 3.1. 安装nfs所需的软件包 3.2.启动nfs服务并设置开机自启 3.3 创建sh ...

  6. 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 ...

  7. ubuntu查看node的安装目录_ubuntu安装nfs服务实现共享目录

    nfs服务是实现Linux和Linux之间的文件共享 下载离线安装包 下面为在ubuntu16.04系统中搭建nfs服务 1.安装nfs服务(只需要服务端安装) sudo apt install nf ...

  8. Ubuntu 12.04下安装Oracle Express 11gR2

    Ubuntu 12.04下安装Oracle Express 11gR2 [我的笔记] 参考1:http://www.linuxidc.com/Linux/2012-09/71382.htm 参考2:h ...

  9. Ubuntu 12.04 用户安装Chromium

    http://www.linuxidc.com/Linux/2012-07/64911.htm Chromium 浏览器是谷歌浏览器的开源版本,可以说谷歌浏览器就是基于 Chromium .该浏览器已 ...

最新文章

  1. 【采用】如何搭建反欺诈策略与模型
  2. java word 加密_如何通过Java实现加密、解密Word文档
  3. 高级系统项目管理师笔记1
  4. Leetcode:892. 三维形体的表面积(Java)
  5. linux去重某一列,Linux shell命令统计某列去重后的值
  6. Fragment学习3--底部tab布局
  7. Unity+Android GET和POST方式的简单实现API请求(人像动漫化)
  8. 电商扣减库存_外贸电商仓储:代打包代贴单一件代发全球
  9. 计算机基础雨课堂答案,基于“雨课堂”助推大学计算机基础课革新
  10. DP_流水线调度问题与Johnson算法
  11. antd tab右键菜单renderTabBar
  12. 我的世界服务器修改空岛范围,我的世界空岛指令权限大全 | 手游网游页游攻略大全...
  13. 服务器审计资质证书,利用ACS服务器实现用户的认证、授权和审计
  14. 4.2.9 Kafka集群与运维, 应用场景, 集群搭建, 集群监控JMX(度量指标, JConsole, 编程获取, Kafka Eagle)
  15. 基于python-opencv给图像添加水印
  16. 微信定位和HTML5定位
  17. 给定0-1矩阵,求连通域
  18. QYT-X1S在高速公路可视化的网络解决方案
  19. 修改信息时,省级联动问题记录
  20. 个人免签支付接口实现

热门文章

  1. 在pypi上发布python包详细教程
  2. nsfw什么颜色_“ NSFW”是什么意思,以及如何使用它?
  3. eclipse安装c语言开发linux,在linux下安装eclipse 开发c语言程序
  4. NotePad++针对一批数据批量添加双引号和逗号以及去除空格的处理技巧
  5. keras实现LFW测试
  6. dreamweaver cs5 注册码及防激活
  7. redis 常用命令
  8. jks与pkcs12格式的keystore互转
  9. 解决“事件ID(487)的描述(在资源(Zend Optimizer)中)无法找到”问题
  10. linux shell 入门学习笔记3 shebang