Gluster部署及ganesha导出实践

1.   基础环境

机器:腾讯云CVM

OScentos7.4x86——64

IP地址:

      10.154.14.207

10.154.51.185

10.105.17.180

10.105.73.90

         注意:为了挂载和ganesha导出方便,没有进行hosts配置,直接使用ip操作。同时这里采用直接在gluster机器上面直接安装nfs-ganesha导出

2.   安装ganesha

这里我们在10.154.14.207上安装ganesha,来测试功能。

#安装ganesha
yum install -y nfs-ganesha*

3.   安装gluster

yum install -y centos-release-gluster
yum install -y glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma
systemctl start glusterd.service
systemctl enable glusterd.service

4.   gluster环境配置

4.1.  添加节点到gluster集群

10.154.14.207机器上面执行probe命令将其他节点添加进来:

gluster peer probe 10.154.51.185
gluster peer probe 10.105.17.180
gluster peer probe 10.105.73.90

4.2.  查看集群状态

查看集群状态命令:

gluster peer status

doc_image_0_w723_h315.jpg

可见其他三个节点都被成功的添加进来了。

5.   创建gluster volume

Gluster volume可分为基本卷和复合卷,基本卷包括:distributed volume, replicated volume,striped volume; 复合卷包括: distributed replicated volume, distributed striped volume, replicated striped volume, distributed replicated striped volumeDistributed volume(哈希卷)为默认的卷。这里我们创建一个哈希卷和哈希复制卷。

5.1.  创建brick目录

为了方便,我们直接在/data目录下创建我们所需要的brick

分别在四台机器上面创建如下目录:

mkdir –p /data/dht_volume1
mkdir –p /data/replica_volume1

5.2.  创建volume

#创建哈希卷:dht-volume1
gluster volume create dht-volume1 10.105.73.90:/data/dht_volume1 10.105.17.180:/data/dht_volume1 10.154.14.207:/data/dht_volume1 10.154.51.185:/data/dht_volume1 force
#创建哈希复制卷:dht-rep-volume1
gluster volume create dht-rep-volume1 replica 2 10.105.73.90:/data/replica_volume1 10.105.17.180:/data/replica_volume1 10.154.14.207:/data/replica_volume1 10.154.51.185:/data/replica_volume1 force

doc_image_1_w1546_h175.jpg

         注意:由于我们直接在data目录下创建的brick,故需要在创建volume的时候增加force参数。不然会报错,如“volume create: dht-volume1: failed: The brick 10.154.14.207:/data/dht_volume1 is being created in the root partition. It is recommended that you don't use the system's root partition for storage backend. Or use 'force' at the end of the command if you want to override this behavior.”

5.3.  启动volume

#启动卷命令
gluster volume start volume-name
gluster volume start dht-volume1
gluster volume start dht-rep-volume1
doc_image_2_w746_h116.jpg

5.4.  查看volume

#查看volume信息命令:
gluster volume info [volume_name]
#查看volume状态命令:
gluster volume status [volume_name]

doc_image_3_w678_h754.jpg

doc_image_4_w1035_h628.jpg

doc_image_5_w1018_h671.jpg

6.   本地挂载gluster volume

在任意一台gluster机器上面执行挂载命令,如:

mount -t glusterfs localhost:/dht-volume1 /mnt/dht_volume1

doc_image_6_w921_h270.jpg

df可以发现,每台机器上面的”/”容量为50G4台机器总容量为200G,哈希卷的总容量等于各个brick的容量相加。

同时,由于我们客户机器属于gluster机器,故直接挂载localhost即可。否则localhost位置需要更改为volume包含的brick所在的任何一台机器的ip即可。

7.   通过ganesha导出

7.1.  编辑配置文件

在安装了ganesha的机器10.154.14.207上,编辑配置文件/etc/ganesha/ganesha.conf

doc_image_7_w1026_h777.jpg

决定volume导出目录的是FSAl block中的volpath,和path以及pseudo无关。

7.2.  启动ganesha

#启动ganesha命令
systemctl start nfs-ganesha

7.3.  查看导出点

showmount -e localhost      

doc_image_8_w652_h100.jpg

可见两个卷已经被导出

7.4.  挂载文件系统

我们在10.105.17.180上面挂载ganesha导出的文件系统。

7.4.1.   安装nfs客户端

#安装nfs客户端
yum install –y nfs-utils

7.4.2.   挂载

#挂载nfs文件系统
mount -t nfs4 10.154.14.207:/dht-volume1-seudo /mnt/dht_volume1
mount -t nfs4 10.154.14.207:/dht-rep-volume1-seudo /mnt/dht_rep_volume1

doc_image_9_w1068_h320.jpg

容量按照原理也是正确的。

8.   挂载方式区别

gluster-fuse本地挂载,走的是fuse,路径较长;

ganesha导出,走的为libglusterfs库,路径较短。

原理上,ganesha导出的性能会更好。

展开阅读全文

没有更多推荐了,返回首页