GFS分布式檔案系統
- 一、GlusterFS概述
- 1-1、GlusterFS簡介
- 1-2、GlusterFS特點
- 1-3、GlusterFS術語
- 1-4、模塊化堆疊式架構
- 二、GlusterFS作業原理
- 2-1、GlusterFS作業流程
- 2-2、彈性HASH演算法
- 三、GlusterFS的卷型別
- 3-1、分布式卷
- 3-2、條帶卷
- 3-3、復制卷
- 3-4、分布式條帶卷
- 3-5、分布式復制卷
- 四、GlusterFS部署實驗
- 4-1、基礎環境配置
- 4-2、遠程連接設定
- 4-3、軟體安裝及卷的創建
- 4-4、驗證
一、GlusterFS概述
1-1、GlusterFS簡介
開源的分布式檔案系統
由儲存服務器、客戶端以及NFS/Samba存盤網關組成
無元資料服務器
1-2、GlusterFS特點
擴張性和高能性
高可用性
全域統一命名空間
彈性卷管理
基于標準協議
1-3、GlusterFS術語
Brick
Volume
FUSE
VFS
Glusterd
1-4、模塊化堆疊式架構
模塊化、堆疊式結構
通過對模塊的組合,實作復雜的功能

二、GlusterFS作業原理
2-1、GlusterFS作業流程

Application: 客戶端或應用程式通過GlusterFS的掛載點訪問資料
VFS:linux系統內核通過VFS API收到請求并處理
FUSE:VFS將資料遞交給FUSE內核檔案系統,fuse檔案系統則是將資料通過/dev/fuse設備檔案遞交給GlusterFS client端
GlusterFS client:GlusterFS clien收到資料后,cilent根據組態檔的配置對資料進行處理
2-2、彈性HASH演算法
通過HASH演算法得到一個32位的整數
劃分為N個連續的子空間,每個空間對應一個Brick
彈性HASH演算法優點
保證資料平均分布在每一個Brick中
解決了對元資料服務器的依賴,進而解決了單點故障及訪問瓶頸
三、GlusterFS的卷型別
3-1、分布式卷
分布式卷
沒有對檔案進行分塊處理
通過擴展檔案屬性保存HASH值
支持底層檔案系統EXT3、EXT4、ZFS、XFS等
分布式卷的特點
檔案分布在不同分服務器,不具備冗余性
更容易和廉價的擴展卷
單點故障會造成資料丟失
以來底層資料保護
3-2、條帶卷
條帶卷
根據偏移量將檔案分成N塊(N個條帶節點),輪詢的存盤在每個Brick Server節點
存盤大檔案時,性能尤為突出
不具備冗余性,類似Raid0
條帶卷特點
資料被分割成更小塊分布到服務器群中的不同條帶區
分布減少了負載且更小的檔案加速了存盤速度
沒有資料冗余
3-3、復制卷
復制卷
同一檔案保存一份或多份副本
因為要保存副本,所以磁盤利用率較低
若多個節點上的存盤空間不一致,按照木桶效應取最低節點的容量作為該卷的總容量
復制卷特點
卷中所有服務器均保持一個完整副本
卷的副本數量可由客戶創建的時候決定
至少有兩個塊服務器或更多服務器
具備冗余性
3-4、分布式條帶卷
分布式條帶卷
兼顧分布式卷和條帶卷的功能
主要用于大檔案訪問處理
至少最少需要4臺服務器
3-5、分布式復制卷
分布式復制卷
兼顧分布式卷和復制卷的功能
用于需要冗余的情況
四、GlusterFS部署實驗
4-1、基礎環境配置
準備環境4臺同一網段虛擬機,且添加4塊磁盤
通過下面腳本對4塊磁盤實作格式化、掛在、磁區
Vi disk.sh
########
#!/bin/bash
echo "進行磁盤創建,格式化,掛載"
fdisk -l |grep sd[b-z]
echo "------------------------------------"
read -p "你想選擇上面那塊磁盤掛載:" ci
case $ci in
sda)
echo "請選擇資料盤掛載.."
exit
;;
sd[b-z])
fdisk /dev/$ci <<EOF
n
p
w
EOF
#創建掛載目錄
mkdir -p /data/${ci}1
ta=/data/${ci}1
#格式化磁盤
mkfs.xfs /dev/${ci}1 &>/dev/null
#掛載磁盤
echo "/dev/${ci}1 $ta xfs defaults 0 0 ">>/etc/fstab
mount -a
;;
quit)
exit
;;
*)
echo "請選擇正確的磁盤....重新嘗試"
;;
esac
腳本不需要一個個復制粘貼,可通過命令遠程復制到同一網段服務器,命令如下IP地址即目標IP地址
scp disk.sh root@192.168.100.12:/root
驗證磁盤磁區、掛載等
df -Th 查看磁盤掛載情況
disk -l 查看磁區情況
vi /etc/fstab 查看掛載情況
mount -a 查看掛載格式是否有誤,并提供重繪
mkfs -t xfs /dev/sdb1 將磁盤格式化(如果操作過快可能會導致掛載錯誤,這是需要格式化重新掛載)
將主機名更改為node1
hostnamectl set-hostname node1
vi /etc/hosts
在組態檔中添加如下,主要用來決議這些節點,免得后面敲IP地址太麻煩
192.168.100.11 node1
192.168.100.12 node2
192.168.100.13 node3
192.168.100.14 node4
可以通過ping主機名來驗證決議是否成功
4-2、遠程連接設定
將解壓安裝包共享

更改本地安全組


網路共享中心更改

4-3、軟體安裝及卷的創建
將安裝包掛載到目錄中
smbclient -L //192.168.100.1/來查看共享目錄有哪些
mkdir /abc
mount.cifs //192.168.100.1/Users /abc 將共享目錄掛載到新創建的abc目錄下,使用Users是因為我那個gfs解壓縮包放在那個下面
cd一層層進去,用pwd查看路徑
cd /etc/yum.repos.d/
mv local.repo bakup/
vi GLFS.repo
[GLFS]
name=glfs
baseurl=file:///abc/jyf/Desktop/gfs
gpgcheck=0
enabled=1
~
yum clean all
yum list
yum -y install glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma
ntpdate ntp1.aliyun.com同步時間因為涉及到分布存盤
gluster peer probe node4 把這些節點全部添加一個節點上
gluster peer status 查看節點狀態
######分布式卷######
gluster volume create dis-vo1 node1:/data/sdb1 node2:/data/sdb1 force
######條帶卷######
gluster volume create stripe-vo1 stripe 2 node1://data/sdc1 node2:/data/sdc2 force
######復制卷######
gluster volume create rep-vo1 replica 2 node3:/data/sdb1 node4:/data/sdb1 force
######分布式條帶卷######
gluster volume create dis-stripe stripe 2 node1:/data/sdd1 node2:/data/sdd1 node3:/data/sdd1
######分布式復制卷######
gluster volume create dis-rep replica 2 node1:/data/sde1 node2:/data/sde1 node3:/data/sde1
4-4、驗證
再準備一臺服務器驗證用
基礎配置與其他服務器一樣,區別在yum安裝時只需要安裝兩個
yum -y install glusterfs glusterfs-fuse
需要將之前四臺節點資訊加入hosts檔案
vi /etc/hosts
192.168.100.11 node1
192.168.100.12 node2
192.168.100.13 node3
192.168.100.14 node4
把卷臨時掛載
mkdir -p /test/rep
mount.glusterfs node3:rep-vo1 /test/rep/
其他卷也是如此操作
dd if=/dev/zero of=/demo1.log bs=1M count=40 創建測驗檔案
cp /demo* /test/dis
也一并復制到其他卷
通過cd進入,使用ll -h來查看是否復制成功
通過命令ls -lh /data/sdb1來查看
每次將不同機子執行init 0,在客戶端查看卷是否在,從而驗證不同卷對應的不同特性
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/198522.html
標籤:其他
上一篇:嵌入式程式應用除錯
下一篇:Java開發工程師學習日記(七)
