一冯吓、快速部署GlusterFS
1.前期環(huán)境的準(zhǔn)備
因為做實驗我用的是VMware 倘待,最少準(zhǔn)備3臺虛擬機(jī),2臺用來做服務(wù)端组贺,1臺用來做客戶端凸舵,服務(wù)端的配置(1C2G,硬盤最少2塊)失尖,客戶端(1C2G)本人用自己的機(jī)子啊奄,大家可以按照自己的實際情況來配置。
首先我把兩臺服務(wù)端的虛擬機(jī)的主機(jī)名改成了node1掀潮,node2 接下來配hosts文件主機(jī)名會好記點菇夸。
node1信息
[root@node1 ~]# hostname
node1
[root@node1 ~]# uname -r
3.10.0-957.el7.x86_64
[root@node1 ~]# sestatus ? ? ? ? ? ? ? #這里要把SElinux關(guān)閉 (在/etc/sysconfig/selinux 第5行)
SELinux status: ? ? ? ? ? ? ? ? disabled
[root@node1 ~]# systemctl status firewalld #防火墻是要關(guān)閉的
● firewalld.service - firewalld - dynamic firewall daemon
? Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
? Active: inactive (dead) since 四 2019-06-13 19:29:51 CST; 1h 21min ago
? ? Docs: man:firewalld(1)
[root@node1 ~]# cat >> /etc/hosts/ <<EOF ? #配置hosts文件
> node1的ip地址 node1
> node2點ip地址 node2
> EOF
?
node2的信息
[root@node2 ~]# hostname
node2
[root@node2 ~]# uname -r
3.10.0-957.el7.x86_64
[root@node2 ~]# sestatus ? ? ? ? ? ? ? #這里要把SElinux關(guān)閉 (在/etc/sysconfig/selinux 第5行)
SELinux status: ? ? ? ? ? ? ? ? disabled
[root@node2 ~]# systemctl status firewalld #防火墻是要關(guān)閉的
● firewalld.service - firewalld - dynamic firewall daemon
? Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
? Active: inactive (dead) since 四 2019-06-13 19:29:51 CST; 1h 21min ago
? ? Docs: man:firewalld(1)
[root@node2 ~]# cat >> /etc/hosts/ <<EOF ? #配置hosts解析
> node1的ip地址 node1
> node2點ip地址 node2
> EOF
2.前期準(zhǔn)備
node1主機(jī)掛載磁盤
[root@node1 ~]# mkfs.xfs /dev/sdb
[root@node1 ~]# mkdir -p /data/brick1
[root@node1 ~]# echo '/dev/sdb /data/brick1 xfs defaults 0 0' >> /etc/fstab
[root@node1 ~]# mount -a && mount
node2主機(jī)掛載磁盤
[root@node2 ~]# mkfs.xfs /dev/sdb
[root@node2 ~]# mkdir -p /data/brick1
[root@node2 ~]# echo '/dev/sdb /data/brick1 xfs defaults 0 0' >> /etc/fstab
[root@node2 ~]# mount -a && mount
3.部署GlusterFS
1.安裝軟件
node1,node2都操作
yum -y install centos-release-gluster
# 修改鏡像源加速
sed -i 's#http://mirror.centos.org#https://mirrors.shuosc.org#g' /etc/yum.repos.d/CentOS-Gluster-6.repo
yum install -y glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma
?
rpm -qa glusterfs #查看軟件版本
2.啟動GlusterFS
兩個節(jié)點上都操作
systemctl start glusterd.service
systemctl status glusterd.service #查看glusterd.service狀態(tài)
3.配置互信(可信池)
在node1上操作
gluster peer probe node2
在node2上操作
gluster peer probe node1
? ? 注意:一旦建立了這個池仪吧,只有受信任的成員可能會將新的服務(wù)器探測到池中庄新。新服務(wù)器無法探測池,必須從池中探測薯鼠。
4.檢查對等狀態(tài)
在node1上操作
gluster peer status? ? ? # 查看狀態(tài)
在node2上操作
gluster peer status
注意: 兩個節(jié)點的UUID不相同
5.建立一個GlusterFS卷
在兩個節(jié)點上操作
mkdir -p /data/brick1/gv0
在任意一個節(jié)點上操作
gluster volume create gv0 replica 2 node1:/data/brick1/gv0 node2:/data/brick1/gv0
# 報錯信息提示:建議使用非根分區(qū)來創(chuàng)建volume择诈,但我們這里為了方便,并沒有多加硬盤來掛載出皇,默認(rèn)使用的是根分區(qū)羞芍,所以多加一個force參數(shù)就可以了
報錯信息:volume create: gv0: failed: The brick node1:/data/brick1/gv0 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.
在上方命令最后加入force
[root@node1 ~]# gluster volume create gv0 replica 2 node1:/data/brick1/gv0 node2:/data/brick1/gv0 force
Replica 2 volumes are prone to split-brain. Use Arbiter or Replica 3 to avoid this. See: http://docs.gluster.org/en/latest/Administrator%20Guide/Split%20brain%20and%20ways%20to%20deal%20with%20it/.
Do you still want to continue?
(y/n) y
volume create: gv0: success: please start the volume to access data
啟用存儲卷
gluster volume start gv0
查看信息
[root@node1 ~]# gluster volume info
Volume Name: gv0
Type: Replicate
Volume ID: db2e814d-43bc-4af2-8133-276623668973
Status: Started
Snapshot Count: 0
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: node1:/data/brick1/gv0
Brick2: node2:/data/brick1/gv0
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
performance.client-io-threads: off
至此,服務(wù)器端配置結(jié)束了
4.客戶端測試
1.安裝客戶端工具
yum install centos-release-gluster -y
yum install -y glusterfs glusterfs-fuse
注意:客戶端的機(jī)器要配置好hosts解析郊艘,否則連接會出錯
[root@localhost ~]# mount.glusterfs node1:/gv0 /mnt
[root@localhost ~]# df -h
文件系統(tǒng)? ? ? ? ? ? ? ? 容量? 已用? 可用 已用% 掛載點
/dev/mapper/centos-root? 17G? 1.6G? 16G? ? 9% /
devtmpfs? ? ? ? ? ? ? ? 475M? ? 0? 475M? ? 0% /dev
tmpfs? ? ? ? ? ? ? ? ? ? 487M? ? 0? 487M? ? 0% /dev/shm
tmpfs? ? ? ? ? ? ? ? ? ? 487M? 7.7M? 479M? ? 2% /run
tmpfs? ? ? ? ? ? ? ? ? ? 487M? ? 0? 487M? ? 0% /sys/fs/cgroup
/dev/sda1? ? ? ? ? ? ? 1014M? 133M? 882M? 14% /boot
/dev/sr0? ? ? ? ? ? ? ? 4.3G? 4.3G? ? 0? 100% /dvd
tmpfs? ? ? ? ? ? ? ? ? ? 98M? ? 0? 98M? ? 0% /run/user/0
node1:/gv0? ? ? ? ? ? ? ? 17G? 1.7G? 16G? 10% /mnt
2.復(fù)制文件測試
[root@localhost ~]# for i in `seq -w 1 100`; do cp -rp /var/log/messages /mnt/copy-test-$i; done
客戶端檢查文件
[root@localhost ~]# ll -A /mnt/copy* |wc -l
100
服務(wù)點檢查文件
[root@node1 ~]# ls -lA /data/brick1/gv0/copy* |wc -l
100
? 至此荷科,GlusterFS簡單配置完成
作者:GuHu(孤狐)