目录node
ip地址 | 用途 |
---|---|
172.30.200.240 | Glusterfs server1 |
172.30.200.241 | Glusterfs server2 |
172.30.200.242 | Glusterfs server3 |
172.30.200.243 | Glusterfs客户端 |
### 172.30.200.240 echo "server1" >/etc/hostname ### 172.30.200.241 echo "server2" >/etc/hostname ### 172.30.200.242 echo "server3" >/etc/hostname
重启上述各台服务器,让HOSTNAME
生效linux
echo "172.30.200.240 server1" >>/etc/hosts echo "172.30.200.241 server2" >>/etc/hosts echo "172.30.200.242 server3" >>/etc/hosts
yum install -y ntpdate ### 同步阿里云的时间服务 [root@linux-node2 ~]# ntpdate ntp2.aliyun.com 7 Nov 13:27:06 ntpdate[1656]: adjust time server 203.107.6.88 offset -0.000860 sec ### 写一个crontab [root@linux-node2 ~]# crontab -l */5 * * * * /usr/sbin/ntpdate ntp2.aliyun.com >/dev/null 2>&1
三台服务器都须要配置
1.配置新划分的sdb盘,以下shell
[root@server2 ~]# fdisk /dev/sdb 欢迎使用 fdisk (util-linux 2.34)。 更改将停留在内存中,直到您决定将更改写入磁盘。 使用写入命令前请三思。 设备不包含可识别的分区表。 建立了一个磁盘标识符为 0x10c33a14 的新 DOS 磁盘标签。 命令(输入 m 获取帮助):n 分区类型 p 主分区 (0个主分区,0个扩展分区,4空闲) e 扩展分区 (逻辑分区容器) 选择 (默认 p):p 分区号 (1-4, 默认 1): 第一个扇区 (2048-41943039, 默认 2048): 最后一个扇区,+/-sectors 或 +size{K,M,G,T,P} (2048-41943039, 默认 41943039): 建立了一个新分区 1,类型为“Linux”,大小为 20 GiB。 命令(输入 m 获取帮助):p Disk /dev/sdb:20 GiB,21474836480 字节,41943040 个扇区 磁盘型号:Virtual disk 单元:扇区 / 1 * 512 = 512 字节 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x10c33a14 设备 启动 起点 末尾 扇区 大小 Id 类型 /dev/sdb1 2048 41943039 41940992 20G 83 Linux 命令(输入 m 获取帮助):w 分区表已调整。 将调用 ioctl() 来从新读分区表。 正在同步磁盘。
2.格式化和加载/dev/sdb1服务器
mkfs.xfs -i size=512 /dev/sdb1 mkdir -p /data/brick1 echo '/dev/sdb1 /data/brick1 xfs defaults 1 2' >> /etc/fstab mount -a && mount df -h
yum install glusterfs-server
CentOS 6 # service glusterd start # service glusterd status CentOS 7 # systemctl start glusterd.service # systemctl status glusterd.service
iptables -I INPUT -p all -s 172.30.200.240 -j ACCEPT iptables -I INPUT -p all -s 172.30.200.241 -j ACCEPT iptables -I INPUT -p all -s 172.30.200.242 -j ACCEPT
若是想简单,也能够关闭防火墙网络
systemctl stop firewalld.service
在server1服务器上面,设置以下:dom
# gluster peer probe server2 # gluster peer probe server3
查看server1中,peer status的信息tcp
# gluster peer status
你应该能够看到以下的信息(UUID是不一样的)测试
Number of Peers: 2 Hostname: server2 Uuid: f7b97263-1da0-4572-8340-3be3182f9db3 State: Peer in Cluster (Connected) Hostname: server3 Uuid: a89c3006-1b66-44af-bebd-bafa367d69e1 State: Peer in Cluster (Connected)
全部的服务器,执行以下命令:ui
# mkdir -p /data/brick1/gv0
任何一台服务器,执行以下命令:阿里云
# gluster volume create gv0 replica 3 server1:/data/brick1/gv0 server2:/data/brick1/gv0 server3:/data/brick1/gv0 volume create: gv0: success: please start the volume to access data # gluster volume start gv0 volume start: gv0: success
确认卷的信息是否正常:
# gluster volume info
你应该能够看到以下的信息(Volume ID 是不一样的)
Volume Name: gv0 Type: Replicate Volume ID: 53e05780-146d-41ca-bdfc-b2152fafb2a0 Status: Started Snapshot Count: 0 Number of Bricks: 1 x 3 = 3 Transport-type: tcp Bricks: Brick1: server1:/data/brick1/gv0 Brick2: server2:/data/brick1/gv0 Brick3: server3:/data/brick1/gv0 Options Reconfigured: transport.address-family: inet storage.fips-mode-rchecksum: on nfs.disable: on performance.client-io-threads: off
备注:若是状态不是 "Started",能够查看
/var/log/glusterfs/glusterd.log
诊断错误
这里测试的客户端的服务器IP:172.30.200.243
安装客户端
yum install -y glusterfs glusterfs-fuse
配合host
[root@localhost ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 172.30.200.240 server1 172.30.200.241 server2 172.30.200.242 server3
建立目录并挂载glusterfs
# mkdir -p /data # mount -t glusterfs server1:/gv0 /data
测试文件存储
for i in `seq -w 1 100`; do cp -rp /var/log/messages /data/copy-test-$i; done [root@localhost data]# ls -lA /data/copy* | wc -l 100
这里看到的文件为100个。
如今去Glusterfs服务器集群中,对每台服务器进行查询。能够看到每个服务器上面,都有100个文件
[root@server1 ~]# ls -lA /data/brick1/gv0/copy* |wc -l 100 [root@server2 ~]# ls -lA /data/brick1/gv0/copy* |wc -l 100 [root@server3 ~]# ls -lA /data/brick1/gv0/copy* |wc -l 100