色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

CentOS7安裝GlusterFS集群的全過程

瀏覽:119日期:2023-03-07 14:39:59
目錄
  • 環境說明:
  • 服務器:
  • client:
  • 安裝:
  • 配置 GlusterFS 集群:
  • 查看集群狀態:
  • 創建數據存儲目錄:
  • 查看volume 狀態:
  • 創建GlusterFS磁盤:
  • GlusterFS 幾種volume 模式說明:
  • 再查看 volume 狀態:
  • gluster 性能調優:
  • 測試:
  • 其他的維護命令:
  • 總結

CentOS 7 GlusterFS

環境說明:

3臺機器安裝 GlusterFS 組成一個集群。

使用 docker volume plugin GlusterFS

服務器:

10.6.0.140
10.6.0.192
10.6.0.196

配置 hosts

10.6.0.140 swarm-manager
10.6.0.192 swarm-node-1
10.6.0.196 swarm-node-2

client:

10.6.0.94 node-94

安裝:

CentOS 安裝 glusterfs 非常的簡單

在三個節點都安裝glusterfs

yum install centos-release-glusteryum install -y glusterfs glusterfs-server glusterfs-fuseglusterfs-rdma

配置 GlusterFS 集群:

啟動 glusterFS

systemctl start glusterd.servicesystemctl enable glusterd.service

在 swarm-manager 節點上配置,將 節點 加入到 集群中。

[root@swarm-manager ~]#gluster peer probe swarm-managerpeer probe: success. Probe on localhost not needed[root@swarm-manager ~]#gluster peer probe swarm-node-1peer probe: success.[root@swarm-manager ~]#gluster peer probe swarm-node-2peer probe: success.

查看集群狀態:

[root@swarm-manager ~]#gluster peer statusNumber of Peers: 2Hostname: swarm-node-1Uuid: 41573e8b-eb00-4802-84f0-f923a2c7be79State: Peer in Cluster (Connected)Hostname: swarm-node-2Uuid: da068e0b-eada-4a50-94ff-623f630986d7State: Peer in Cluster (Connected)

創建數據存儲目錄:

[root@swarm-manager ~]#mkdir -p /opt/gluster/data[root@swarm-node-1 ~]# mkdir -p /opt/gluster/data[root@swarm-node-2 ~]# mkdir -p /opt/gluster/data

查看volume 狀態:

[root@swarm-manager ~]#gluster volume infoNo volumes present

創建GlusterFS磁盤:

[root@swarm-manager ~]#gluster volume create models replica 3 swarm-manager:/opt/gluster/data swarm-node-1:/opt/gluster/data swarm-node-2:/opt/gluster/data forcevolume create: models: success: please start the volume to access data

GlusterFS 幾種volume 模式說明:

一、 默認模式,既DHT, 也叫 分布卷: 將文件已hash算法隨機分布到 一臺服務器節點中存儲。

gluster volume create test-volume server1:/exp1 server2:/exp2

二、 復制模式,既AFR, 創建volume 時帶 replica x 數量: 將文件復制到 replica x 個節點中。

gluster volume create test-volume replica 2 transport tcp server1:/exp1 server2:/exp2

三、 條帶模式,既Striped, 創建volume 時帶 stripe x 數量: 將文件切割成數據塊,分別存儲到 stripe x 個節點中 ( 類似raid 0 )。

gluster volume create test-volume stripe 2 transport tcp server1:/exp1 server2:/exp2

四、 分布式條帶模式(組合型),最少需要4臺服務器才能創建。 創建volume 時 stripe 2 server = 4 個節點: 是DHT 與 Striped 的組合型。

gluster volume create test-volume stripe 2 transport tcp server1:/exp1 server2:/exp2 server3:/exp3 server4:/exp4

五、 分布式復制模式(組合型), 最少需要4臺服務器才能創建。 創建volume 時 replica 2 server = 4 個節點:是DHT 與 AFR 的組合型。

gluster volume create test-volume replica 2 transport tcp server1:/exp1 server2:/exp2 server3:/exp3 server4:/exp4

六、 條帶復制卷模式(組合型), 最少需要4臺服務器才能創建。 創建volume 時 stripe 2 replica 2 server = 4 個節點: 是 Striped 與 AFR 的組合型。

gluster volume create test-volume stripe 2 replica 2 transport tcp server1:/exp1 server2:/exp2 server3:/exp3 server4:/exp4

七、 三種模式混合, 至少需要8臺 服務器才能創建。 stripe 2 replica 2 , 每4個節點 組成一個 組。

gluster volume create test-volume stripe 2 replica 2 transport tcp server1:/exp1 server2:/exp2 server3:/exp3 server4:/exp4 server5:/exp5 server6:/exp6 server7:/exp7 server8:/exp8

再查看 volume 狀態:

[root@swarm-manager ~]#gluster volume infoVolume Name: modelsType: ReplicateVolume ID: e539ff3b-2278-4f3f-a594-1f101eabbf1eStatus: CreatedNumber of Bricks: 1 x 3 = 3Transport-type: tcpBricks:Brick1: swarm-manager:/opt/gluster/dataBrick2: swarm-node-1:/opt/gluster/dataBrick3: swarm-node-2:/opt/gluster/dataOptions Reconfigured:performance.readdir-ahead: on

啟動 models

[root@swarm-manager ~]#gluster volume start modelsvolume start: models: success

gluster 性能調優:

開啟 指定 volume 的配額: (models 為 volume 名稱)

gluster volume quota models enable

限制 models 中 / (既總目錄) 最大使用 80GB 空間

gluster volume quota models limit-usage / 80GB#設置 cache 4GBgluster volume set models performance.cache-size 4GB#開啟 異步 , 后臺操作gluster volume set models performance.flush-behind on#設置 io 線程 32gluster volume set models performance.io-thread-count 32#設置 回寫 (寫數據時間,先寫入緩存內,再寫入硬盤)gluster volume set models performance.write-behind on

部署GlusterFS客戶端并mount GlusterFS文件系統 (客戶端必須加入 glusterfs hosts 否則報錯。)

[root@node-94 ~]#yum install -y glusterfs glusterfs-fuse[root@node-94 ~]#mkdir -p /opt/gfsmnt[root@node-94 ~]#mount -t glusterfs swarm-manager:models /opt/gfsmnt/[root@node-94 ~]#df -h文件系統 容量 已用 可用 已用% 掛載點/dev/mapper/vg001-root 98G 1.2G 97G 2% /devtmpfs 32G 0 32G 0% /devtmpfs 32G 0 32G 0% /dev/shmtmpfs 32G 130M 32G 1% /runtmpfs 32G 0 32G 0% /sys/fs/cgroup/dev/mapper/vg001-opt 441G 71G 370G 17% /opt/dev/sda2 497M 153M 344M 31% /boottmpfs 6.3G 0 6.3G 0% /run/user/0swarm-manager:models 441G 18G 424G 4% /opt/gfsmnt

測試:

DHT 模式 客戶端 創建一個 1G 的文件

[root@node-94 ~]#time dd if=/dev/zero of=hello bs=1000M count=1記錄了1+0 的讀入記錄了1+0 的寫出1048576000字節(1.0 GB)已復制,9.1093 秒,115 MB/秒real 0m9.120suser 0m0.000ssys 0m1.134s

AFR 模式 客戶端 創建一個 1G 的文件

[root@node-94 ~]#time dd if=/dev/zero of=hello.txt bs=1024M count=1錄了1+0 的讀入記錄了1+0 的寫出1073741824字節(1.1 GB)已復制,27.4566 秒,39.1 MB/秒real 0m27.469suser 0m0.000ssys 0m1.065s

Striped 模式 客戶端 創建一個 1G 的文件

[root@node-94 ~]#time dd if=/dev/zero of=hello bs=1000M count=1記錄了1+0 的讀入記錄了1+0 的寫出1048576000字節(1.0 GB)已復制,9.10669 秒,115 MB/秒real 0m9.119suser 0m0.001ssys 0m0.953s

條帶復制卷模式 (Number of Bricks: 1 x 2 x 2 = 4) 客戶端 創建一個 1G 的文件

[root@node-94 ~]#time dd if=/dev/zero of=hello bs=1000M count=1記錄了1+0 的讀入記錄了1+0 的寫出1048576000字節(1.0 GB)已復制,17.965 秒,58.4 MB/秒real 0m17.978suser 0m0.000ssys 0m0.970s

分布式復制模式 (Number of Bricks: 2 x 2 = 4) 客戶端 創建一個 1G 的文件

[root@node-94 ~]#time dd if=/dev/zero of=haha bs=100M count=10記錄了10+0 的讀入記錄了10+0 的寫出1048576000字節(1.0 GB)已復制,17.7697 秒,59.0 MB/秒real 0m17.778suser 0m0.001ssys 0m0.886s

針對 分布式復制模式還做了如下測試:

4K隨機寫 測試:

安裝 fio (yum -y install libaio-devel (否則運行fio 會報錯engine libaio not loadable, 已安裝需重新編譯,否則一樣報錯))

[root@node-94 ~]#fio -ioengine=libaio -bs=4k -direct=1 -thread -rw=randwrite -size=10G -filename=1.txt -name="EBS 4KB randwrite test" -iodepth=32 -runtime=60write: io=352204KB, bw=5869.9KB/s, iops=1467, runt= 60002msecWRITE: io=352204KB, aggrb=5869KB/s, minb=5869KB/s, maxb=5869KB/s, mint=60002msec, maxt=60002msec

4K隨機讀 測試:

fio -ioengine=libaio -bs=4k -direct=1 -thread -rw=randread -size=10G -filename=1.txt -name="EBS 4KB randread test" -iodepth=8 -runtime=60read: io=881524KB, bw=14692KB/s, iops=3672, runt= 60001msecREAD: io=881524KB, aggrb=14691KB/s, minb=14691KB/s, maxb=14691KB/s, mint=60001msec, maxt=60001msec

512K 順序寫 測試:

fio -ioengine=libaio -bs=512k -direct=1 -thread -rw=write -size=10G -filename=512.txt -name="EBS 512KB seqwrite test" -iodepth=64 -runtime=60write: io=3544.0MB, bw=60348KB/s, iops=117, runt= 60135msecWRITE: io=3544.0MB, aggrb=60348KB/s, minb=60348KB/s, maxb=60348KB/s, mint=60135msec, maxt=60135msec

其他的維護命令:

1. 查看GlusterFS中所有的volume:

[root@swarm-manager ~]#gluster volume list

2. 刪除GlusterFS磁盤:

[root@swarm-manager ~]#gluster volume stop models #停止名字為 models 的磁盤[root@swarm-manager ~]#gluster volume delete models #刪除名字為 models 的磁盤

注: 刪除 磁盤 以后,必須刪除 磁盤( /opt/gluster/data ) 中的 ( .glusterfs/ .trashcan/ )目錄。

否則創建新 volume 相同的 磁盤 會出現文件 不分布,或者 類型 錯亂 的問題。

3. 卸載某個節點GlusterFS磁盤

[root@swarm-manager ~]#gluster peer detach swarm-node-2

4. 設置訪問限制,按照每個volume 來限制

[root@swarm-manager ~]#gluster volume set models auth.allow 10.6.0.*,10.7.0.*

5. 添加GlusterFS節點:

[root@swarm-manager ~]#gluster peer probe swarm-node-3[root@swarm-manager ~]#gluster volume add-brick models swarm-node-3:/opt/gluster/data

注:如果是復制卷或者條帶卷,則每次添加的Brick數必須是replica或者stripe的整數倍

6. 配置卷

[root@swarm-manager ~]# gluster volume set

7. 縮容volume:

先將數據遷移到其它可用的Brick,遷移結束后才將該Brick移除:

[root@swarm-manager ~]#gluster volume remove-brick models swarm-node-2:/opt/gluster/data swarm-node-3:/opt/gluster/data start

在執行了start之后,可以使用status命令查看移除進度:

[root@swarm-manager ~]#gluster volume remove-brick models swarm-node-2:/opt/gluster/data swarm-node-3:/opt/gluster/data status

不進行數據遷移,直接刪除該Brick:

[root@swarm-manager ~]#gluster volume remove-brick models swarm-node-2:/opt/gluster/data swarm-node-3:/opt/gluster/data commit

注意,如果是復制卷或者條帶卷,則每次移除的Brick數必須是replica或者stripe的整數倍。

擴容:

gluster volume add-brick models swarm-node-2:/opt/gluster/data

8. 修復命令:

[root@swarm-manager ~]#gluster volume replace-brick models swarm-node-2:/opt/gluster/data swarm-node-3:/opt/gluster/data commit -force

9. 遷移volume:

[root@swarm-manager ~]#gluster volume replace-brick models swarm-node-2:/opt/gluster/data swarm-node-3:/opt/gluster/data startpause 為暫停遷移[root@swarm-manager ~]#gluster volume replace-brick models swarm-node-2:/opt/gluster/data swarm-node-3:/opt/gluster/data pauseabort 為終止遷移[root@swarm-manager ~]#gluster volume replace-brick models swarm-node-2:/opt/gluster/data swarm-node-3:/opt/gluster/data abortstatus 查看遷移狀態[root@swarm-manager ~]#gluster volume replace-brick models swarm-node-2:/opt/gluster/data swarm-node-3:/opt/gluster/data status遷移結束后使用commit 來生效[root@swarm-manager ~]#gluster volume replace-brick models swarm-node-2:/opt/gluster/data swarm-node-3:/opt/gluster/data commit

10. 均衡volume:

[root@swarm-manager ~]#gluster volume models lay-outstart[root@swarm-manager ~]#gluster volume models start[root@swarm-manager ~]#gluster volume models startforce[root@swarm-manager ~]#gluster volume models status[root@swarm-manager ~]#gluster volume models stop

總結

到此這篇關于CentOS7安裝GlusterFS集群的文章就介紹到這了,更多相關CentOS7安裝GlusterFS內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: Linux Apache
主站蜘蛛池模板: 国产成人精品曰本亚洲78 | 韩国午夜三级理论 | 91香焦国产线观看看免费 | 国产粗大猛烈18p | 美国做受三级的视频播放 | 成人午夜在线视频 | 国产成人精品高清不卡在线 | 精品一区二区久久久久久久网站 | 亚洲乱码一区二区三区国产精品 | 亚洲厕拍| 国产一级大片在线观看 | 久久综合久久自在自线精品自 | 97视频免费观看 | 手机免费黄色网址 | 亚洲第一页乱 | 中文字幕一区二区三区精品 | 精品久久九九 | 久草热视频在线观看 | 国产美女做爰免费视频软件 | 欧美性色生活片天天看99 | 老司机午夜精品网站在线观看 | 久久国产精品久久久久久久久久 | 欧洲freexxxx性 | 99久久精品免费精品国产 | 在线一区播放 | 夜夜躁狠狠躁日日躁2021 | 国产亚洲欧美日韩在线观看不卡 | 久久在线免费观看 | 国产夜色 | 国产亚洲精品久久久久久 | japanesetubesexfree| 欧美成人资源 | 国产视频合集 | 成人91 | 免费人成在线 | 国产成人免费福利网站 | 亚洲日本一区二区三区在线 | 日韩在线视频中文字幕 | 毛片免费大全 | 在线亚洲精品视频 | 美女视频黄.免费网址 |