發現一個很好linux的lib包下載地址:
https://centos.pkgs.org/8/centos-baseos-x86_64/userspace-rcu-0.10.1-2.el8.x86_64.rpm.html
我準備4臺機器,
172.20.72.11 | gluster server | |
172.20.72.22 | gluster server | |
172.20.72.33 | gluster client | |
172.20.72.44 | gluster client |
11,22 上部署了gluster server,33,44 部署client。 文件在22,33,44 上創建後,4臺機器會同步增加或減少。
注意11 上新增的文件,其他文件是不會同步的。可能是副本的原因。
1. 4臺機器 設置 主機名
https://blog.csdn.net/zhuchunyan_aijia/article/details/80480961
2. 配置/etc/hosts
172.20.72.11 zcy-nj-11
172.20.72.22 zcy-nj-22
172.20.72.33 zcy-nj-33
172.20.72.44 zcy-nj-44
3. 4臺機器 設置 時間同步
https://blog.csdn.net/zhuchunyan_aijia/article/details/80679590
4. 下載rpm :我用rpm 安裝
http://mirror.centos.org/centos/7/storage/x86_64/gluster-5/
下載:
5. gluster-server 安裝,11和22 兩臺機器上執行 。 發現依賴一些lib 包,我就從 下載
https://centos.pkgs.org/8/centos-baseos-x86_64/userspace-rcu-0.10.1-2.el8.x86_64.rpm.html
gluster-server主機的安裝順序:
rpm -ivh glusterfs-libs-5.10-1.el7.x86_64.rpm
rpm -ivh glusterfs-5.10-1.el7.x86_64.rpm
rpm -ivh glusterfs-client-xlators-5.10-1.el7.x86_64.rpm
rpm -ivh glusterfs-api-5.10-1.el7.x86_64.rpm
rpm -ivh glusterfs-cli-5.10-1.el7.x86_64.rpm
rpm -ivh userspace-rcu-0.10.1-2.el8.x86_64.rpm
rpm -ivh glusterfs-fuse-5.10-1.el7.x86_64.rpm
---在上面鏈接中下載
rpm -ivh psmisc-22.20-16.el7.x86_64.rpm
rpm -ivh attr-2.4.46-13.el7.x86_64.rpm
rpm -ivh glusterfs-server-5.10-1.el7.x86_64
安裝過程報錯1:
warning:attr-2.4.46-13.el7.x86_64.: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
error: Failed dependencies:
libattr = 2.4.46-13.el7 is needed by attr-2.4.44-7.el6.i686
解決:
rpm -qa |grep libattr
版本與2.4.46-13 不一致,就yum update libattr 即可
如果發現libattr 沒有,就從上面鏈接下載安裝即可
安裝過程報錯2:
attr psmisc 依賴
解決:
在上面的鏈接中下載 rpm 安裝即可
一般可以先試試yum 裏面 是否有,沒有就只能下載rpm 了。
安裝過程報錯3:
error: Failed dependencies:
liburcu-bp.so.6()(64bit) is needed by glusterfs-server-5.10-1.el7.x86_64
liburcu-cds.so.6()(64bit) is needed by glusterfs-server-5.10-1.el7.x86_64
解決:rpm -ivh userspace-rcu-0.10.1-2.el8.x86_64.rpm
7. gluster server 啓動 11和22 兩臺機器上執行
啓動 開機啓動
systemctl start glusterd.service
systemctl enable glusterd.service
systemctl status glusterd.service
可以ps -ef |grep gluster
8. 節點信任池
建立GlusterFS節點信任池,一旦信任池建立後,只有在信任池中的節點才能添加新服務器信任池中,這一步是爲了下一步做準備
在11 和 22主機 任選一臺主機執行,我選擇11 主機:
zcy-nj-11 > gluster peer probe zcy-nj-22
查看狀態:
> gluster peer status
兩臺機器執行 都是connected。如果不是,說明有防火牆,可以iptables -F 清空防火牆後,再看看。
9. 創建數據卷
在11和22中選一臺機器執行就可以
gluster volume create storage_volumes replica 2 zcy-nj-11:/local/storage_volumes zcy-nj-22:/local/storage_volumes
遇到報錯1:volume create failed: Host is not in 'Peer in Cluster' state
解決:
主機間有防火牆
可以看一下 gluster peer status
顯示 disconner
telnet ip 24007 發現網絡不通
可以iptables -F
在看看 gluster peer status 顯示 connect
10. 啓動數據卷
在11和22中選一臺機器執行就可以
gluster volume start storage_volumes
查看狀態: gluster volume info
11 . gluster 客戶端安裝,在33 和 44 主機執行
與server 安裝很像,就是不需要安裝gluster-server了
rpm -ivh glusterfs-libs-5.10-1.el7.x86_64.rpm
rpm -ivh glusterfs-5.10-1.el7.x86_64.rpm
rpm -ivh glusterfs-client-xlators-5.10-1.el7.x86_64.rpm
rpm -ivh glusterfs-fuse-5.10-1.el7.x86_64.rpm
12. 在gluster 客戶端 掛在卷 :在33 和 44 主機執行
mount -t glusterfs zcy-nj-11:/storage_volumes /local/mntt
/local/mntt : 是44主機放文件的目錄
storage_volumes:卷的名稱
遇到的報錯:mount: unknown filesystem type 'glusterfs'
安裝fuse 既可以: rpm -ivh glusterfs-fuse-5.10-1.el7.x86_64.rpm
13 測試
在22,33,44 的文件下 可以互相同步拉