介紹
glusterfs是一個分布式文件系統(tǒng),支持 PB 級的數(shù)據(jù)量冗恨。GlusterFS 通過 RDMA 和 TCP/IP 方式將分布到不同服務(wù)器上的存儲空間匯集成一個大的網(wǎng)絡(luò)并行文件系統(tǒng)住练。docker可以將本地文件存儲到GlusterFS中值骇,保證文件備份。不會因為機(jī)器掛掉而丟失
編寫docker-compose.yml
glusterfs的開發(fā)者制作了docker鏡像 我們可以直接使用,到/home/下新建一個glusterfs目錄
cd /home
mkdir glusterfs
cd glusterfs
編寫docker-compose.yml
vim docker-compose.yml
version: '2'
services:
gfs:
image: gluster/gluster-centos
network_mode: host
privileged: true
volumes:
- /home/glusterfs/data:/var/lib/glusterd:rw
- /home/glusterfs/volume:/data:rw
- /home/glusterfs/logs:/var/log/glusterfs:rw
- /home/glusterfs/conf:/etc/glusterfs:rw
- /dev:/dev:rw
- /etc/hosts:/etc/hosts:rw
多機(jī)器部署
假設(shè)有2臺機(jī)器 10.2.4.201 10.2.4.202 部署的。
- 每臺機(jī)器編寫一樣的host
vim /etc/hosts
# hosts內(nèi)容追加
10.2.4.201 gfs1
10.2.4.202 gfs2
- 每臺機(jī)器 創(chuàng)建docker-compose 并執(zhí)行命令
cd /home/glusterfs
# 啟動
docker-compose up -d
# 創(chuàng)建文件存儲目錄
docker-compose exec gfs mkdir /data/gfs
# 創(chuàng)建掛載目錄
mkdir /home/share
- 到201上執(zhí)行
cd /home/glusterfs
# 進(jìn)入容器
docker-compose exec gfs bash
### 容器內(nèi)執(zhí)行
##關(guān)聯(lián)202的glusterfs
## 這個執(zhí)行完后 2臺glusterfs處于集群狀態(tài)
gluster peer probe gfs2
#查看狀態(tài)
gluster peer status
## 創(chuàng)建volume 命名為gfs 備份1份
glusterfs volume create gfs replicas 2 gfs1:/data/gfs gfs2:/data/gfs
## 啟動gfs
glusterfs volume start gfs
## 退出容器
exit
- 掛載到/home/share,兩臺機(jī)器都要執(zhí)行
mount -t glusterfs gfs1:gfs /home/share
- 測試
## 在201執(zhí)行
cd /home/share
echo hello glusterfs > 1.txt
## 到202執(zhí)行
cd /home/share
## 可以看到201創(chuàng)建的文件 證明集群成功
ls