目錄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