文件服务迁移重构之Glusterfs安装配置和nfs-ganesha的配置

继续上一篇,本篇主要是将如何安装配置glusterfs以及通过配置nfs-ganesha来将glusterfs通过nfs导出,从而使得windows这样的不容易支持fuse的操作系统能够非常便利的通过mount nfs来使用glusterfs。本篇采用的操作系统是CentOS,其他操作系统,安装方式无非是通过寻找相应的源来安装或者通过源代码编译。而安装nfs-ganesha则是通过从源代码编译的方式。

1) 硬件要求:
至少2个节点,如果只有一个节点不是不能安装glusterfs而是没有什么太多的意义,而且分布式带条卷也是不能做的
我们可以称为NodeA、NodeB,两者之间内网可达,由于是glusterfs依赖于网络通讯,因此建议划分单独的网卡给glusterfs,并且在firewalld上全部开发这块网卡的访问。

2)卷目录的准备的
原则Glusterfs的卷应该有独立的存储设备。这里使用LVM并选用xfs为底层文件系统。已NodeA为例子:

    pvcreate /dev/sdb
    vgcreate vg_data /dev/sdb
    lvcreate -L 931G vg_data -n lv_data
    mkfs.xfs /dev/mapper/lv_vg_data-lv-data
    mount -t xfs /dev/mapper/lv_vg_data-lv-data /data
    

完成后 /data就是我们的单独挂载目录。由于glusterfs不允许直接挂载mount point,因此新建一个目录。

    mkdir -p /data/volumn/bricks
    

3) 安装Glusterfs

    yum install centos-release-gluster -y #安装centos额外的源
    yum install glusterfs-server -y
    systemctl enable glusterfsd #设为开机启动
    systemctl start  glusterfsd #启动
    

4)建立Glusterfs pool
首先在NodeB的Server上/etc/hosts中加入NodeA

192.168.1.25 NodeA

同理在NodeA的Server上/etc/hosts加入NodeB


192.168.1.26 NodeB

在NodeA上执行:

gluster peer probe NodeB

在NodeB上执行

gluster peer probe NodeA

完成后即完成池的安装

5)建立分布式卷
在NodeA上执行

    gluster volume create data NodeA:/data/volume/bricks NodeB:/data/volume/bricks 
    gluster vloume data start

以上就完成了glusterfs的安装。下面将是对于nfs-ganesha的安装。

首先什么是nfs-ganesha?

由于在新版的的glusterfs中取消了原有自带的nfs server导出的功能,而是默认采用nfs-ganesha来进行,因此必须使用nfs-ganesha,导出nfs才能mount到widnows上。

安装步骤:
1)安装依赖

yum install krb5-devel.x86_64 cmake  glusterfs-api-devel.x86_64 userspace-rcu-devel.x86_64

2)下载源代码

    git clone -b V2.8-stable https://github.com/nfs-ganesha/nfs-ganesha.git --recursive

3)通过cmake配置并编译

这里首先配置打开了Glusterfs的支持,关闭ceph和xfs的支持,否则编译不过

    cmake . -DUSE_FSAL_GLUSTER=ON -DUSE_FSAL_CEPH=OFF -DUSE_FSAL_XFS=OFF
    make -j8 && make install

4) 配置,修改/etc/ganesha/ganesha.conf

EXPORT {
  Export_Id = 1;
  Path = "/data";

  FSAL {
    name = GLUSTER;
    hostname = "192.168.1.25";
    volume = "data";
  }

  Access_type = RW;
  Squash = No_root_squash;
  Disable_ACL = TRUE;
  Pseudo = "/data";
  Protocols = "3","4";
  Transports = "UDP","TCP";
  SecType = "sys";
}

4)启动

    ganesha.nfsd -f /etc/ganesha/ganesha.conf -L /var/log/ganesha.log -N NIV_DEBUG
    

如果不成功可以查看日志,生产环境将—N后去掉,并增加自启动脚本。

5)验证是否按照成功

    yum install nfs-utils.x86_64 -y
    showmount -e
    

应该可以看到data已经被export了

接下来就是在widnows Server 2008 R2上挂载这个文件系统

1)首先是安装nfs角色,

打开“控制面板” → 点击“角色” → 点击“添加角色” → 点击“下一步” → 点击“文件服务” → 点击“下一步“ →点击”下一布” → 选择“网络文件系统服务” → 点击“下一步“ → 点击”安装“,如下图所示:

2)挂载

    mount 192.168.1.25:/data/ e:

于是e盘就挂载了相应的nfs也就是glusterfs的数据,但是会发现能读不能写,因此需要做如下操作。

需要读写权限的需要修改注册表
通过修改注册表将windows访问NFS时的UID和GID改成0即可,步骤如下

    在运行中输入regedit,打开注册表编辑器;
    进入HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default条目;
    选择新建----QWORD值,新建AnonymousUid,AnonymousGid两个值,值为0;
    重启电脑 注册表才会生效;

由此完成了所有配置和挂载工作,下篇将会阐述gluster的一些操作和添加bricks等操作

Lokie博客
请先登录后发表评论
  • 最新评论
  • 总共0条评论
  • 本博客使用免费开源的 laravel-bjyblog v5.5.1.1 搭建 © 2014-2018 lokie.wang 版权所有 ICP证:沪ICP备18016993号
  • 联系邮箱:kitche1985@hotmail.com