源码编译安装 ganesha
源码编译安装 ganesha
简介
- 系统环境:CentOS 7.5
- ceph:luminous
- nfs-ganesha:v2.6 stable
安装步骤
安装依赖
- 首先需要安装编译会用到的公共库
|
|
如果是使用 Ubuntu 系统,主要有以下几个包不同
gcc-c++->g++libuuid-devel->uuid-devnfs-utils->nfs-kernel-server
- 如果要生成
FSAL_RGW模块,需要安装librgw2-devel
|
|
- 如果要生成
FSAL_CEPH模块,需要安装libcephfs1-devel
|
|
源码下载
克隆源码到本地
|
|
编译
cmakenfs-ganesha源码- 如果需要生成
FSAL_RGW模块,则在编译选项中添加:-DUSE_FSAL_RGW=ON - 如果需要生成
FSAL_CEPH模块,则在编译选项中添加:-DUSE_FSAL_CEPH=ON
- 如果需要生成
|
|
cmake的过程中会有以下输出
|
|
请确保 -- USE_FSAL_CEPH 为 ON ,以及 -- USE_FSAL_RGW 为 ON
- 在
build目录下进行编译和安装
|
|
PS: 在
make install生成的输出中,可以看到:– Up-to-date: /usr/share/doc/ganesha/config_samples/rgw.conf … – Up-to-date: /usr/share/doc/ganesha/config_samples/ceph.conf
这两个文件就是配置将
RGW和CephFS配置为ganesha-nfs的配置模板
配置 service
将 nfs-ganesha 源码目录下的 nfs-ganesha/src/scripts/systemd 目录下的 service 文件复制到系统 /usr/lib/systemd/system/ 目录下,将 nfs-ganesha 配置为系统服务让 systemd 接管,然后设置开机自启
|
|
The DBUS Interface
配置系统 DBUS 服务(编译安装需要手动执行这个过程)
- 将文件
src/scripts/ganeshactl/org.ganesha.nfsd.conf复制到该目录/etc/dbus-1/system.d/。需要重新启动 DBus 服务(messagebus)才能加载此文件
|
|
- 重启
nfs-ganesha服务,因为与 DBus 服务器的连接只在服务初始化时执行,所以如果之前忘了复制org.ganesha.nfsd.conf文件就需要重启nfs-ganesha服务
|
|
- 可查看
nfs-ganesha日志观察服务是否正常启动运行,通常是/var/log/ganesha/ganesha.log
|
|
编辑配置文件
其实这一步可以略过的,只是为了后面 Check Export 能检测到一个挂载点而已,如果这一步不配置,
manila也会通过 SSH 连接到主机对每个 share 进行单独的配置文件的添加
编辑 /etc/ganesha/ganesha.conf 文件,写入以下内容
|
|
启动 nfs-ganesha 服务
- 编译安装有个坑,就是少了个
nfs-ganesha-ceph包,导致manila传递过来的命令无法正常执行,需要单独使用yum命令进行安装(因为我没找到源码地址,也没法自己编译安装了,所以编译安装nfs-ganesha还不如直接用添加源的方式进行安装···)
经测试这步可以省略:
|
|
- 执行以下命令重新启动
nfs-ganesha
|
|
- 使用以下命令查看
nfs-ganesha服务是否正常运行
|
|
Check Export
使用以下命令检测挂载点
|
|
参考链接
- https://segmentfault.com/a/1190000012348558
- https://github.com/nfs-ganesha/nfs-ganesha/wiki/Dbusinterface
- https://docs.openstack.org/manila/queens/contributor/ganesha.html
源码编译安装 ganesha的更多相关文章
- SSH/SSL 源码编译安装简易操作说明
环境:CentOS 6.7 安全加固需求,由于某盟扫描系统主机有SSL系列漏洞,客户要求必须修复: 解决方案:将SSH/SSL升级到最新版本,删除SSL旧版本(实测不删除旧版本某盟扫描无法通过). 当 ...
- 源码编译安装 MySQL 5.5.x 实践
1.安装cmakeMySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具.因此,我们首先要在系统中源码编译安装cmake工具. # wget ht ...
- 烂泥:mysql5.5数据库cmake源码编译安装
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 以前也写过一篇有关mysql5.0源码编译的文章,该文章为<烂泥:mysql5.0数据库源码编译安装>.但是MySQL自5.5版本以后,就开 ...
- Centos7.X 源码编译安装subversion svn1.8.x
说明:SVN(subversion)的运行方式有两种:一种是基于Apache的http.https网页访问形式:还有一种是基于svnserve的独立服务器模式.SVN的数据存储方式也有两种:一种是在B ...
- centos6.5环境源码编译安装mysql5.6.34
centos6.5环境源码编译安装mysql5.6.34 源码下载地址http://dev.mysql.com/downloads/mysql/5.6.html#downloads 选择Generic ...
- centos 6.5源码编译安装subversion 1.8.10
一.简介 CentOS 6.5的yum源可以安装的SVN客户端版本太低了,1.6.11,所以需要升级到1.8.10,而官网有没有找到1.8.10的安装包,只能选择源码编译安装. 二.安装步骤 参考官网 ...
- Linux环境PostgreSQL源码编译安装
Linux环境PostgreSQL源码编译安装 Linux版本: Red Hat 6.4 PostgreSQL版本: postgresql-9.3.2.tar.gz 数据存放目录: /var/post ...
- 总结源码编译安装mysql
最近在学习源码编译安装LAMP.LNMP时,一直遇到一个难题,就是就是mysql无论怎么源码编译安装,到最后启动服务都提示"Starting MySQL.The server quit wi ...
- Linux下源码编译安装rpy2
R(又称R语言)是一款开源的跨平台的数值统计和数值图形化展现工具.rpy2是Python直接调用R的第三方库,它可以实现使用python读取R的对象.调用R的方法以及Python与R数据结构转换等.这 ...
随机推荐
- fpm打包神奇rpm包升级python2.7.16
fpm打包神器参考文档:https://www.cnblogs.com/flintlovesam/p/6594635.html FPM的安装:安装ruby环境和gem命令: yum -y instal ...
- LeetCode18. 四数之和
LeetCode18. 四数之和 给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值 ...
- 控制层传递参数到jsp页面,jsp页面进行接收
在java代码中,控制层方法如下(采用model,还有其他方式) public String mysave(MyTreeMould myTreeMould, Model model) {...... ...
- Docker基础与实战,看这一篇就够了
docker 基础 什么是Docker Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的 cgroup,namespace,以及 AUFS 类的 Uni ...
- JVM的内存回收机制
垃圾回收机制,简称gc.对堆与方法区的对象进行回收,因为java不像c需要编程人员手动clear,虚拟机通过垃圾回收算法,对堆与方法区的对象进行自动回收处理. 1.引用计数法(jvm没有采用,因为当两 ...
- 线程同步&线程池
线程同步&线程池 线程同步 线程不同步会出现的问题: 当多个线程操作同一资源时,会出现重复操作和和操作不存在的资源的问题,为了规避这一问题就需要线程的同步操作来实现资源的共同使用. 线程同步: ...
- springboot+logback日志输出企业实践(下)
目录 1.引言 2. 输出 logback 状态数据 3. logback 异步输出日志 3.1 异步输出配置 3.2 异步输出原理 4. springboot 多环境下 logback 配置 5. ...
- 【Luogu P2515】软件安装
Luogu P2515 这道题的题面与P2146有点像.一些不同地方就是P2146是无环的,这题是有环的. 很显然,如果有几个软件的依赖关系形成环,那么这几个软件就可以被看成是一个大软件,其价值和空间 ...
- 【Android - IPC】之Binder机制简介
参考资料: 1.<Android开发艺术探索>第二章2.3.3 Binder 2.[Android Binder设计与实现-设计篇] 3.[Android Binder机制介绍] 1. 什 ...
- 修改json源码支持datetime序列化
修改json源码支持datetime序列化 import json import datetime now = datetime.datetime.today() json.dumps(now) 抛出 ...