91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

GlusterFS 相關

發布時間:2020-07-02 23:13:58 來源:網絡 閱讀:3458 作者:xingliguang 欄目:建站服務器

一、Gluster介紹

GlusterFS 是Scale-Out存儲解決方案Gluster的核心,它是一個開源的分布式文件系統,具有強大的橫向擴展能力,通過擴展能夠支持數PB存儲容量和處理數千客戶端。GlusterFS借助TCP/IP或InfiniBand RDMA(一種支持多并發鏈接的“轉換線纜”技術)網絡將物理分布的存儲資源聚集在一起,使用單一全局命名空間來管理數據。GlusterFS基于可堆疊的用戶空間設計,可為各種不同的數據負載提供優異的性能,工作原理圖:

GlusterFS 相關

GlusterFS支持運行在任何標準IP網絡上標準應用程序的標準客戶端,如圖2所示,用戶可以在全局統一的命名空間中使用NFS/CIFS等標準協議來訪問應用數據。GlusterFS使得用戶可擺脫原有的獨立、高成本的封閉存儲系統,能夠利用普通廉價的存儲設備來部署可集中管理、橫向擴展、虛擬化的存儲池,存儲容量可擴展至TB/PB級。

GlusterFS主要特征如下:

1、擴展性和高性能

GlusterFS利用雙重特性來提供幾TB至數PB的高擴展存儲解決方案。Scale-Out架構允許通過簡單地增加資源來提高存儲容量和性能,磁盤、計算和I/O資源都可以獨立增加,支持10GbE和InfiniBand等高速網絡互聯。Gluster彈性哈希(Elastic Hash)解除了GlusterFS對元數據服務器的需求,消除了單點故障和性能瓶頸,真正實現了并行化數據訪問。

2、高可用性

GlusterFS可以對文件進行自動復制,如鏡像或多次復制,從而確保數據總是可以訪問,甚至是在硬件故障的情況下也能正常訪問。自我修復功能能夠把數據恢復到正確的狀態,而且修復是以增量的方式在后臺執行,幾乎不會產生性能負載。GlusterFS沒有設計自己的私有數據文件格式,而是采用操作系統中主流標準的磁盤文件系統(如EXT3、ZFS)來存儲文件,因此數據可以使用各種標準工具進行復制和訪問。

3、全局統一命名空間

全局統一命名空間將磁盤和內存資源聚集成一個單一的虛擬存儲池,對上層用戶和應用屏蔽了底層的物理硬件。存儲資源可以根據需要在虛擬存儲池中進行彈性擴展, 比如擴容或收縮。當存儲虛擬機映像時,存儲的虛擬映像文件沒有數量限制,成千虛擬機均通過單一掛載點進行數據共享。虛擬機I/O可在命名空間內的所有服務器上自動進行負載均衡,消除了SAN環境中經常發生的訪問熱點和性能瓶頸問題。

4、彈性哈希算法

GlusterFS采用彈性哈希算法在存儲池中定位數據,而不是采用集中式或分布式元數據服務器索引。在其他的Scale-Out存儲系統中,元數據服務器通常會導致I/O性能瓶頸和單點故障問題。GlusterFS中,所有在Scale-Out存儲配置中的存儲系統都可以智能地定位任意數據分片,不需要查看索引或者向其他服務器查詢。這種設計機制完全并行化了數據訪問,實現了真正的線性性能擴展。

5、彈性卷管理

數 據儲存在邏輯卷中,邏輯卷可以從虛擬化的物理存儲池進行獨立邏輯劃分而得到。存儲服務器可以在線進行增加和移除,不會導致應用中斷。邏輯卷可以在所有配置 服務器中增長和縮減,可以在不同服務器遷移進行容量均衡,或者增加和移除系統,這些操作都可在線進行。文件系統配置更改也可以實時在線進行并應用,從而可 以適應工作負載條件變化或在線性能調優。

6、基于標準協議

Gluster存儲服務支持NFS, CIFS, HTTP, FTP以及Gluster原生協議,完全與POSIX標準兼容。現有應用程序不需要作任何修改或使用專用API,就可以對Gluster中的數據進行訪問。這在公有云環境中部署Gluster時非常有用,Gluster對云服務提供商專用API進行抽象,然后提供標準POSIX接口。

參考鏈接

http://www.tuicool.com/articles/AbE7Vr

GlusterFS術語解釋:

Brick:GFS中的存儲單元,通過是一個受信存儲池中的服務器的一個導出目錄。可以通過主機名和目錄名來標識,如’SERVER:EXPORT’

Client:掛載了GFS卷的設備

Extended Attributes:xattr是一個文件系統的特性,其支持用戶或程序關聯文件/目錄和元數據。

FUSE:FilesystemUserspace是一個可加載的內核模塊,其支持非特權用戶創建自己的文件系統而不需要修改內核代碼。通過在用戶空間運行文件系統的代碼通過FUSE代碼與內核進行橋接。

Geo-Replication

GFID:GFS卷中的每個文件或目錄都有一個唯一的128位的數據相關聯,其用于模擬inode

Namespace:每個Gluster卷都導出單個ns作為POSIX的掛載點

Node:一個擁有若干brick的設備

RDMA:遠程直接內存訪問,支持不通過雙方的OS進行直接內存訪問。

RRDNS:round robin DNS是一種通過DNS輪轉返回不同的設備以進行負載均衡的方法

Self-heal:用于后臺運行檢測復本卷中文件和目錄的不一致性并解決這些不一致。

Split-brain:腦裂

Translator:

Volfile:glusterfs進程的配置文件,通常位于/var/lib/glusterd/vols/volname

Volume:一組bricks的邏輯集合

二、安裝配置

1、集群架構

系統:Centos 6.7  x86_64   
服務端: 192.168.159.128
         192.168.159.129
客戶端: 192.168.159.130

2、在服務端安裝

首先安裝Gluster的yum源
#yum install centos-release-gluster38 -y
安裝Glusterfs
#yum install glusterfs-server -y
安裝完成之后,查看版本
#glusterfs -V
glusterfs 3.8.12 built on May 11 2017 18:24:27
Repository revision: git://git.gluster.com/glusterfs.git
Copyright (c) 2006-2013 Red Hat, Inc. <http://www.redhat.com/>
GlusterFS comes with ABSOLUTELY NO WARRANTY.
It is licensed to you under your choice of the GNU Lesser
General Public License, version 3 or any later version (LGPLv3
or later), or the GNU General Public License, version 2 (GPLv2),
in all cases as published by the Free Software Foundation.
啟動gluster
#service glusterd start
Starting glusterd:[  OK  ]
設置開機自啟動
#chkconfig --add glusterd
#chkconfig glusterd on
查看監聽的端口
#netstat -tunlp
tcp        0      0 0.0.0.0:24007               0.0.0.0:*                   LISTEN      65940/glusterd

3、在客戶端安裝

首先安裝Gluster的yum源
#yum install centos-release-gluster38 -y
安裝客戶端glusterfs
#yum install glusterfs glusterfs-fuse glusterfs-client glusterfs-libs -y

4、在服務端配置

說明:配置glusterfs集群一般都會在服務器掛載新的磁盤,分區格式化,將整塊磁盤掛載到一個目錄
專門用來存放數據,這樣在一定程度上提高了數據的可用性,當系統出現問題的時候,數據不丟失。
參考官網:http://gluster.readthedocs.io/en/latest/Quick-Start-Guide/Quickstart/
配置glusterfs集群必須滿足以下條件:
1、最少要2個節點
2、一個網絡(節點之間互通)
2、節點需要有2個虛擬硬盤,一個是安裝os,一個是配置glusterfs集群,否則會報錯如下:
volume create: gfs01: failed: The brick 192.168.159.128:/data/gluster 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.
但是官網說要把磁盤格式化為xfs格式,我看有些朋友是格式化為ext4格式,然后加入/etc/fstab
/dev/sdb1               /opt                    ext4    defaults        0 0
所以在2臺服務端添加新的磁盤,然后分區格式化,并掛載到/data目錄!
#mkdir /data
#fdisk /dev/sdb      #分一個區,執行n , p ,1 然后回車2次,執行w 
#mkfs.ext4 /dev/sdb1
#mount /dev/sdb1 /data
添加到/etc/fstab
/dev/sdb1               /data           ext4    defaults        0 0
#####################################
開始配置,在服務端哪一臺機器操作都可以:
添加節點:
#gluster peer probe 192.168.159.128           #提示不需要添加本機
peer probe: success. Probe on localhost not needed
#gluster peer probe 192.168.159.129
peer probe: success. 
查看狀態:
#gluster peer status
Number of Peers: 1
Hostname: 192.168.159.129
Uuid: 1aed6e01-c497-4890-9447-c3bd548dd37f
State: Peer in Cluster (Connected)
在另一臺服務端查看狀態
# gluster peer status
Number of Peers: 1
Hostname: 192.168.159.128
Uuid: 851be337-84b2-460d-9a73-4eee6ad95e95
State: Peer in Cluster (Connected)
##################################################
創建gluster共享目錄(在128和129服務器上都需要創建共享目錄)
#mkdir /data/gluster
創建名為gfs01的卷:
#gluster volume create gfs01 replica 2 192.168.159.128:/data/gluster 192.168.159.129:/data/gluster
volume create: gfs01: success: please start the volume to access data
啟動卷
#gluster volume start gfs01
volume start: gfs01: success
查看卷信息:
#gluster volume info
 
Volume Name: gfs01
Type: Replicate
Volume ID: 1cdefebd-5831-4857-b1f9-f522fc868c60
Status: Started
Snapshot Count: 0
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: 192.168.159.128:/data/gluster
Brick2: 192.168.159.129:/data/gluster
Options Reconfigured:
transport.address-family: inet
performance.readdir-ahead: on
nfs.disable: on
查看卷狀態:
#gluster volume status
Status of volume: gfs01
Gluster process                             TCP Port  RDMA Port  Online  Pid
------------------------------------------------------------------------------
Brick 192.168.159.128:/data/gluster         49152     0          Y       2319 
Brick 192.168.159.129:/data/gluster         49152     0          Y       4659 
Self-heal Daemon on localhost               N/A       N/A        Y       2339 
Self-heal Daemon on 192.168.159.129         N/A       N/A        Y       4683 
 
Task Status of Volume gfs01
------------------------------------------------------------------------------
There are no active volume tasks
其他的用法
gluster volume stop gfs01       #停止卷
gluster volume delete gfs01     #刪除卷

5、在客戶端配置掛載

創建一個掛載點
#mkdir /opt/test_gluster
#mount -t glusterfs 192.168.159.128:/gfs01 /opt/test_gluster/
[root@client ~]# ll /opt/test_gluster/
total 0
[root@client ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda3              18G  822M   16G   5% /
tmpfs                 491M     0  491M   0% /dev/shm
/dev/sda1             190M   27M  154M  15% /boot
192.168.159.128:/gfs01
                      4.8G   11M  4.6G   1% /opt/test_gluster
注意:128和129是一個集群,掛載哪一臺都可以,如果客戶端比較多注意負載即可。
加入開機自動掛載
#cat /etc/rc.local
mount -t glusterfs 192.168.159.128:/gfs01 /opt/test_gluster/

6、測試文件

在客戶端130服務器創建一個測試文件testfile.txt,寫入內容并用md5sum測試其哈希值
#ll /opt/test_gluster/
total 3
-rw-r--r-- 1 root root 2262 Jun  1 00:10 testfile.txt
[root@client test_gluster]# md5sum testfile.txt 
6263c0489d0567985c28d7692bde624c  testfile.txt
############################################################
到2臺服務端查看情況
在128上
[root@server1 ~]# ll /data/gluster/
total 8
-rw-r--r-- 2 root root 2262 Jun  1 00:10 testfile.txt
[root@server1 ~]# md5sum /data/gluster/testfile.txt 
6263c0489d0567985c28d7692bde624c  /data/gluster/testfile.txt
在129上
[root@server2 ~]# ll /data/gluster/
total 8
-rw-r--r-- 2 root root 2262 Jun  1 00:10 testfile.txt
[root@server2 ~]# md5sum  /data/gluster/testfile.txt 
6263c0489d0567985c28d7692bde624c  /data/gluster/testfile.txt
可以看到md5sum哈希值是一致的。

7、測試集群數據一致性

之所以使用集群一個是可以分攤負載,一個是可以實現高可用,下面就測試下:
直接將129這臺服務端服務器關機!!!
然后在128查看集群狀態,如下:
[root@server1 ~]#gluster volume status
Status of volume: gfs01
Gluster process                             TCP Port  RDMA Port  Online  Pid
------------------------------------------------------------------------------
Brick 192.168.159.128:/data/gluster         49152     0          Y       2319 
Self-heal Daemon on localhost               N/A       N/A        Y       2589 
 
Task Status of Volume gfs01
------------------------------------------------------------------------------
There are no active volume tasks
可以看到129集群已經不存在了!
########################################################################
此時刪除客戶端130的testfile.txt文件
#rm -f /opt/test_gluster/testfile.txt
然后會發現服務端128/data/gluster目錄下,testfile.txt文件也消失了。
這個時候重新啟動129服務器
#service glusterd status            #因為配置了開機自啟動,所以是啟動的。
glusterd (pid  1368) is running... 
[root@server2 ~]# ll /data/gluster/       #此時再查看文件是存在的,因為在刪除客戶端文件之前次服務器關機了!
total 8
-rw-r--r-- 2 root root 2262 Jun  1 00:10 testfile.txt
[root@server2 ~]#md5sum /data/gluster/testfile.txt 
6263c0489d0567985c28d7692bde624c  /data/gluster/testfile.txt  #md5sum驗證哈希值也是一樣。
過了大概10秒左右,在129服務器的testfile.txt文件也消失了,說明gluster集群是保持數據一致性的!

說明:glusterfs集群,不能在服務端寫入數據,要在客戶端寫入數據,會自動同步到服務端

三、gluster集群常用的一些命令

#刪除卷
gluster volume stop gfs01
gluster volume delete gfs01
#將機器移出集群
gluster peer detach 192.168.1.100
#只允許172.28.0.0的網絡訪問glusterfs
gluster volume set gfs01 auth.allow 172.28.26.*
gluster volume set gfs01 auth.allow 192.168.222.1,192.168.*.*
#加入新的機器并添加到卷里(由于副本數設置為2,至少要添加2(4、6、8..)臺機器)
gluster peer probe 192.168.222.134
gluster peer probe 192.168.222.135
#新加卷
gluster volume add-brick gfs01 repl 2 192.168.222.134:/data/gluster 192.168.222.135:/data/gluster force
#刪除卷
gluster volume remove-brick gfs01 repl 2 192.168.222.134:/opt/gfs 192.168.222.135:/opt/gfs start
gluster volume remove-brick gfs01 repl 2 192.168.222.134:/opt/gfs 192.168.222.135:/opt/gfs status
gluster volume remove-brick gfs01 repl 2 192.168.222.134:/opt/gfs 192.168.222.135:/opt/gfs commit
注意:擴展或收縮卷時,也要按照卷的類型,加入或減少的brick個數必須滿足相應的要求。
#當對卷進行了擴展或收縮后,需要對卷的數據進行重新均衡。
gluster volume rebalance mamm-volume start|stop|status
###########################################################
遷移卷---主要完成數據在卷之間的在線遷移
#啟動遷移過程
gluster volume replace-brick gfs01 192.168.222.134:/opt/gfs 192.168.222.134:/opt/test start force
#查看遷移狀態
gluster volume replace-brick gfs01 192.168.222.134:/opt/gfs 192.168.222.134:/opt/test status
#遷移完成后提交完成
gluster volume replace-brick gfs01 192.168.222.134:/opt/gfs 192.168.222.134:/opt/test commit
#機器出現故障,執行強制提交
gluster volume replace-brick gfs01 192.168.222.134:/opt/gfs 192.168.222.134:/opt/test commit force
###########################################################
觸發副本自愈
gluster volume heal mamm-volume #只修復有問題的文件
gluster volume heal mamm-volume full #修復所有文件
gluster volume heal mamm-volume info #查看自愈詳情
#####################################################
data-self-heal, metadata-self-heal and entry-self-heal
啟用或禁用文件內容、文件元數據和目錄項的自我修復功能,默認情況下三個全部是“on”。
#將其中的一個設置為off的范例:
gluster volume set gfs01 entry-self-heal off

四、glusterfs的缺點分析
參考學習連接:https://www.cnblogs.com/langren1992/p/5316328.html

不足之處,請多多指出!


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

涞源县| 高碑店市| 文成县| 梨树县| 岫岩| 河曲县| 克拉玛依市| 长春市| 肃宁县| 阜城县| 宕昌县| 崇仁县| 北川| 烟台市| 龙里县| 肇源县| 英山县| 安多县| 五常市| 洪江市| 谢通门县| 巴楚县| 时尚| 山东| 鄂托克旗| 尚志市| 淳安县| 武义县| 昌平区| 阳原县| 砚山县| 盐亭县| 宁德市| 辛集市| 镇远县| 永顺县| 车致| 扶沟县| 手机| 合肥市| 广水市|