Ubuntu GlusterFS 分布式文件系统安装与配置

2020-10-24  本文已影响0人  designer

一 搭建 GlusterFS 集群

(1). 格式化磁盘

fdisk /dev/sdb
命令行提示下输入【m】
输入命令【n】添加新分区
输入命令【p】创建主分区
输入【回车】,选择默认大小,这样不浪费空间
输入【回车】,选择默认的start cylinder
输入【w】,保持修改

(2). 添加gluster源

cat >>/etc/apt/sources.list <<EOF
deb http://ppa.launchpad.net/gluster/glusterfs-3.7/ubuntu trusty main
deb-src http://ppa.launchpad.net/gluster/glusterfs-3.7/ubuntu trusty main
EOF

(3). 安装glusterfs

apt-get install xfsprogs glusterfs-server -y
mkfs.xfs -i size=512 /dev/sdb1
mkdir -p /glusterfs/brick  #挂载点
echo '/dev/sdb1 /glusterfs/brick xfs defaults 1 2' >> /etc/fstab #设置自动挂载
mount -a && mount
#gluster volume set all cluster.op-version 30710

(4). 配置peer(加入集群节点到主机)

gluster peer probe 172.18.17.168
gluster peer status

(5). 在节点表示集群搭建成功(不管主节点还是从节点)

gluster peer status

Number of Peers: 1

Hostname: 172.18.17.168
Uuid: 39c8cda9-2275-4896-9bf1-106dc7e88304
State: Peer in Cluster (Connected)

(6). 创建Volume(rimag_data)

gluster volume create rimag_data replica 2 transport tcp \
172.18.16.80:/glusterfs/brick/rimag_data \
172.18.17.168:/glusterfs/brick/rimag_data 

volume create: rimag_data: success: please start the volume to access data


gluster volume info

Volume Name: rimag_data
Type: Replicate
Volume ID: cc211989-9da7-4481-8a15-092712445ec9
Status: Started
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: 172.18.16.80:/glusterfs/brick/rimag_data
Brick2: 172.18.17.168:/glusterfs/brick/rimag_data
Options Reconfigured:
performance.readdir-ahead: on

(7). 启动Volume(rimag_data)

gluster volume start rimag_data

volume start: rimag_data: success

二 GlusterFS 客户端配置

(1). 添加gluster源

cat >>/etc/apt/sources.list <<EOF
deb http://ppa.launchpad.net/gluster/glusterfs-3.7/ubuntu trusty main
deb-src http://ppa.launchpad.net/gluster/glusterfs-3.7/ubuntu trusty main
EOF

(2). 安装glusterfs client

apt-get install glusterfs-client -y

(3).建立挂载目录:(/mnt/rimag_data)

mkdir /mnt/rimag_data

(4). 挂载gluster卷

mount.glusterfs 172.18.16.80:/rimag_data /mnt/rimag_data

三 docker 使用 GlusterFS Volume

接下来,我们再来看GlusterFS如何作为Docker的存储。Docker Volume是一种可以将容器以及容器生产的数据分享开来的数据格式,我们可以使用宿主机的本地存储作为Volume的提供方,也可以使用Volume Plugin接入许多第三方的存储。 GitHub就有一个 Docker GlusterFS Volume Plugin ,方便我们将GlusterFS挂载到容器中。具体步骤如下:

(1). 获取docker-volume-glusterfs

go get github.com/calavera/docker-volume-glusterfs

考虑到搭建golang环境有一定的复杂性,我们也可以采用golang容器来获取该应用

(2). 拷贝docker-volume-glusterfs至/usr/bin

cp ./docker-volume-glusterfs /usr/bin
chmod 777 /usr/bin/docker-volume-glusterfs

(3). 声明gluster服务集群

docker-volume-glusterfs -servers node1:node2

(4). 指定volume

docker run --volume-driver glusterfs --volume rimag_data:/data alpine touch /data/hello

这里的rimag_data即我们在glusterfs集群中创建的volume,但需要事先手动创建

[参考文档](https://developer.ibm.com/zh/articles/os-cn-glusterfs-docker-volume/)
上一篇 下一篇

猜你喜欢

热点阅读