简易YUM源制作 – NFS-GANESHA

       有时候项目需求,需要安装指定版本RPM包,而腾讯yum源又没有指定版本的RPM包时,抑或是自己编译制作的RPM包,需要自制一个YUM源,供局域网内其他机器使用。制作YUM源大致包括如下几个步骤:RPM包收集;createrepo创建YUM源索引信息;启动Http代理;客户机配置YUM安装软件。这里以NFS-GANESHA +NFS,GANESHA-GLUSTER为例,介绍YUM源的简易制作过程。

1.   环境

服务器:腾讯云CVM,centos7.4,10.105.27.251

客户机:腾讯云CVM,centos7.4,10.105.27.58

GLUSTER: 腾讯云CVM,centos7.4,其中一个节点ip:10.154.51.185

2.   RPM包收集

1)         下载gluster repo

yum -y install centos-release-gluster

执行完后/etc/yum.repo.d目录下会多出一个CentOS-Gluster-3.12.repo

注gluster-3.12RPM地址为:http://mirror.centos.org/centos/7/storage/x86_64/gluster-3.12/

2)         下载指定版本的nfs-ganesha和nfs-ganesha-gluster RPM包机器依赖

mkdir /data/nfs_ganesha_gluster/
cd /data/nfs_ganesha_gluster/
yum install --downloadonly --downloaddir=./ nfs-ganesha-2.5.5
yum install --downloadonly --downloaddir=./ nfs-ganesha-gluster-2.5.5

其中downloadonly选项会下载指定的RPM包及其依赖包,但不会安装。

执行后目录下会出现相关的RPM包,由于测试的gluster后端版本为3.12.5,故将依赖包中gluster相关库用3.12.11版本的替换为3.12.5(直接从gluster-3.12 RPM地址下载替换),如下图所示

     

3.   创建YUM源索引信息

这里我们使用createrepo工具。

yum install –y createrepo
createrepo/data/nfs_ganesha_gluster

执行完后,/data/nfs_ganesha_gluster目录下会多出一个repodata目录,其中最终的文件集repomd.xml,即RPM包metadata信息。

4.   启动Http代理

直接使用python做简单的代理

cd /data/nfs_ganesha_gluster
python -m SimpleHTTPServer 80 &>/dev/null &

5.   客户端配置YUM源安装软件

5.1.  配置自制yum源

vim /etc/yum.repo.d/My-Ganesha.repo

[My-Ganesha]

name=My-Ganesha

baseurl=http://10.105.27.251/

gpgcheck=0

enabled=1

其中baseurl中的ip为我们制作yum源的服务器地址。

5.2.  安装软件

yum install -y nfs-ganesha* --disablerepo=* --enablerepo=My-Gaensha

这里我们只用自己的yum源安装

5.3.  验证

5.3.1.   更改ganesha配置

vim /etc/ganesha/ganesha.conf

EXPORT{
    Export_Id = 3 ;   # Export ID unique to each export
    Path = "/dht-volume1";  # Path of the volume to be exported. Eg: "/test_volume"
    FSAL{
        name = "GLUSTER";
        hostname = "10.154.51.185";  # IP of one of the nodes in the trusted pool
        volume = "dht-volume1";  # Volume name. Eg: "test_volume"
        volpath = "/";
    }
    Access_type = RW;    # Access permissions
    Squash = No_root_squash; # To enable/disable root squashing
    Pseudo = "/dht-volume1-seudo";  # NFSv4 pseudo path for this export. Eg: "/test_volume_pseudo"
    Protocols = "3","4" ;    # NFS protocols supported
    Transports = "UDP","TCP" ; # Transport protocols supported
    SecType = "sys";     # Security flavors supported
    Attr_Expiration_Time = 0; #分布式ganesha禁用cache
}

其中dht-volume1为我们gluster后端的一个volume。

5.3.2.   启动nfs-ganesha

systemctl start nfs-ganesha

5.3.3.   挂载

1)         查看挂载点

Showmount –e localhost

2)         挂载文件系统

mount -t nfs4 localhost:/dht-volume1-seudo /mnt/

验证ok。

6.   其他

      如果自己更改nfs-ganesha代码,则需要自己制作nfs-ganesha的RPM,到时只需将nfs-ganesharpm包替换即可。

你可能感兴趣的:(glusterfs,ganesha,yum)