配置ganesha-nfs对接rgw

简介:

环境

操作系统:CentOS7.5

[root@controller-0 ~]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)

Ceph版本:Luminous

[root@controller-0 ~]# ceph -v
ceph version 12.2.8 (ae699615bac534ea496ee965ac6192cb7e0e07c0) luminous (stable)

nfs-ganesha版本:V2.5-stable

[root@controller-0 ~]# ganesha.nfsd -v
NFS-Ganesha Release = V2.5.5
nfs-ganesha compiled on Sep  4 2018 at 15:28:48
Release comment = GANESHA file server is 64 bits compliant and supports NFS v3,4.0,4.1 (pNFS) and 9P
Git HEAD = f92d5d184274784956eb5017fd2df633bae49d2b
Git Describe = V2.5.5-0-gf92d5d1

安装配置

1、安装编译需要的公共库

[root@controller-0 ~]# yum -y install gcc git cmake autoconf libtool bison flex doxygen openssl-devel gcc-c++ krb5-libs krb5-devel libuuid-devel nfs-utils
2、下载源码包
[root@controller-0 ~]# git clone -b V2.5-stable https://github.com/nfs-ganesha/nfs-ganesha.git --recursive

这个下载的如果比较慢的话,也可以直接通过云盘进行下载

链接:https://pan.baidu.com/s/175kkzNOWVjV8Xo_ClHhVVA 密码:2ivn

3、安装FSAL_RGW模块

[root@controller-0 ~]# yum -y install librgw2-devel

4、编译安装

[root@controller-0 ~]# cd nfs-ganesha/src/
[root@controller-0 src]# mkdir build
[root@controller-0 src]# cd build/
[root@controller-0 build]# cmake -DUSE_FSAL_RGW=ON ../
[root@controller-0 build]# make
[root@controller-0 build]# make install

cmake编译过程,会输出以下信息,需要确保-- USE_FSAL_RGW = ON,如果是OFF,建议核实一下是否有安装librgw2-devel,如果没有安装的话,先安装这个包,然后删掉build目录,重新进行cmake

……
-- USE_FSAL_CEPH_MKNOD = OFF
-- USE_FSAL_CEPH_SETLK = OFF
-- USE_FSAL_CEPH_LL_LOOKUP_ROOT = ON
-- USE_FSAL_RGW = ON
……

5、修改配置文件

[root@controller-0 ~]# vim /etc/ganesha/ganesha.conf
EXPORT
{
        Export_ID=1;
        Path = "/";
        Pseudo = "/";
        Access_Type = RW;
        Protocols = 4;
        Transports = TCP;
        FSAL {
                Name = RGW;
                User_Id = "admin";
                Access_Key_Id ="OZBC94UP6VNBSF4EXECI";
                Secret_Access_Key = "nrfuys9wMWE7A8TOOPKEMg6gNtM5dzWlVPPQBS9P";
        }
}

RGW {
        ceph_conf = "/etc/ceph/ceph.conf";
        name = "client.rgw.controller-0";
        cluster = "ceph";
}

配置文件中的User_IdAccess_Key_IdSecret_Access_Key这三项的值要替换成指定的s3用户信息。以admin用户为例,如果没有创建s3用户,可以使用命令radosgw-admin user create --uid=admin --display-name=admin进行创建,创建过程会输出这些信息。针对已经存在的s3用户,以admin用户为例,可以使用命令radosgw-admin user info –-uid=admin命令进程查询。

RGW配置项中的name值,可以使用命令ceph auth list进行查询。

6、启动ganesha-nfs

[root@controller-0 ~]# ganesha.nfsd -f /etc/ganesha/ganesha.conf -L /var/log/nfs-ganesha.log -N NIV_DEBUG

启动完成后,可以通过ps -ef | grep ganesha.nfsd 查询是否有生成对应的进程,如果没有,可以查看日志nfs-ganesha.log,根据日志中输出的信息进行一下检查。

7、挂载

[root@controller-0 ~]# showmount -e
Export list for controller-0:
[root@controller-0 ~]# mount -t nfs 10.0.10.10:/ /mnt/

因为rgw是没有文件系统的容量概念,所以挂载之后使用df是查询不到的,需要使用mount命令查看挂载信息

[root@controller-0 ~]# mount | grep mnt
10.0.10.10:/ on /mnt type nfs4 (rw,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.0.10.10,local_lock=none,addr=10.0.10.10)

8、写入测试

进入挂载的mnt目录,在这个目录下创建新的目录,就相当于是在rgw中创建一个bucket,创建完成后使用s3cmd ls命令可以看到新生成了一个bucket

[root@controller-0 mnt]# mkdir test
[root@controller-0 mnt]# s3cmd ls
2018-09-04 08:39  s3://test

相关文章
|
4月前
|
运维 Ubuntu 安全
在Linux中,如何配置NFS共享?
在Linux中,如何配置NFS共享?
|
4月前
|
Ubuntu Linux 网络安全
在Linux中,如何配置Samba或NFS文件共享?
在Linux中,如何配置Samba或NFS文件共享?
|
7月前
|
存储 Kubernetes 数据安全/隐私保护
|
7月前
|
Unix Linux Shell
linux 配置NFS
NFS(Network File System)是跨平台的网络文件系统,允许不同操作系统和硬件通过RPC协议共享文件系统。服务端启动RPC服务和NFS,注册端口信息。客户端请求服务器的NFS端口,建立连接进行数据传输。优点包括配置简单、数据可靠、支持多系统间文件共享。缺点包括端口不固定、数据明文传输、安全性较低(基于IP认证)。在Redhat 9环境下,通过安装nfs-utils和rpcbind,配置共享目录和exports文件,设置权限,客户端安装相同软件包,使用showmount命令查看共享,挂载NFS目录,实现透明访问。
184 1
|
7月前
|
存储 Kubernetes 应用服务中间件
k8s-配置与存储-持久化存储-NFS 挂载、StorageClass 存储类 动态创建NFS-PV案例
k8s-配置与存储-持久化存储-NFS 挂载、StorageClass 存储类 动态创建NFS-PV案例
678 0
|
7月前
|
Unix
AIX 配置NFS记要
AIX 配置NFS记要
78 0
|
7月前
|
Linux 网络安全
Centos6.5安装并配置NFS服务
该内容描述了在Linux系统中设置NFS服务的步骤。首先挂载yum源,然后安装NFS服务,并编辑配置文件。接着,重启rpcbind和NFS服务,可能需要重复此过程以解决初始可能出现的问题。此外,关闭防火墙策略,并再次重启服务。最终,根目录被共享,特定IP网段被允许访问。
149 0
|
7月前
|
运维 Linux
NFS配置实战
NFS配置实战
185 2
|
Kubernetes 监控 网络协议
CentOS 7.9: NFS服务搭建与配置
CentOS 7.9: NFS服务搭建与配置
3251 0
CentOS 7.9: NFS服务搭建与配置
|
Kubernetes 网络协议 安全
NFS(Network File System) 服务安装部署配置
NFS(Network File System)是一种网络文件系统,主要具有以下特点: - 允许网络中的计算机之间通过TCP/IP网络共享文件。 - 可以透明地让不同操作系统的机器访问同一个文件系统。 - 用户可以像访问本地文件一样访问远程NFS服务器上的文件。 - NFS主要由两个组件构成:NFS服务器端与NFS客户端。 - 服务器端负责共享文件系统、控制权限,客户端负责访问服务器端的资源。 - 主要协议是NFSv3和NFSv4,基于RPC工作。 - 支持不同客户端并发访问、文件锁、权限控制等。 - 性能稳定,通常用于数据共享。
227 0