KVM+GFS分布式文件系統(tǒng)高可用群集

GlusterFS概述

GFS是一個(gè)可擴(kuò)展的分布式文件系統(tǒng),用于大型的、分布式的、對(duì)大量數(shù)據(jù)進(jìn)行訪問(wèn)的應(yīng)用。它運(yùn)行于廉價(jià)的普通硬件上,并提供容錯(cuò)功能。它可以給大量的用戶提供總體性能較高的服務(wù)。
開源的分布式文件系統(tǒng);
由存儲(chǔ)服務(wù)器、客戶端以及 NFS/Samba 存儲(chǔ)網(wǎng)關(guān)組成;

站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到扶綏網(wǎng)站設(shè)計(jì)與扶綏網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:網(wǎng)站建設(shè)、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、空間域名、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋扶綏地區(qū)。

GlusterFS 特點(diǎn):

擴(kuò)展性和高性能;
高可用性;
全局統(tǒng)一命名空間;
彈性卷管理;
基于標(biāo)準(zhǔn)協(xié)議

模塊化堆棧架構(gòu)

模塊化,堆棧式的結(jié)構(gòu)
通過(guò)對(duì)模塊的組合,實(shí)現(xiàn)復(fù)雜的功能

KVM+GFS分布式文件系統(tǒng)高可用群集

GlusterFS工作原理(流程)

KVM+GFS分布式文件系統(tǒng)高可用群集

彈性 HASH 算法:

通過(guò) HASH 算法得到一個(gè)32位的整數(shù);
劃分為 N 個(gè)連接的子空間,每個(gè)空間對(duì)應(yīng)一個(gè) Brick;

彈性 HASH 算法的優(yōu)點(diǎn):

保證數(shù)據(jù)平均分布在每一個(gè) Brick 中;
解決了對(duì)元數(shù)據(jù)服務(wù)器的依賴,進(jìn)而解決了單點(diǎn)故障以及訪問(wèn)瓶頸。

GlusterFS 的卷類型:

(1)分布式卷:

沒(méi)有對(duì)文件進(jìn)行分塊處理;
通過(guò)擴(kuò)展文件屬性保存 HASH值;
支持的底層文件系統(tǒng)有 ext3 、ext4 、ZFS 、XFS等

特點(diǎn):

文件分布在不同的服務(wù)器,不具備冗余性;
更容易和廉價(jià)地?cái)U(kuò)展卷的大小;
單點(diǎn)故障會(huì)造成數(shù)據(jù)丟失;
依賴底層的數(shù)據(jù)保護(hù)。

(2)條帶卷:

根據(jù)偏移量將文件分為 N 塊(N個(gè)條帶節(jié)點(diǎn)),輪詢的存儲(chǔ)在每個(gè) Brick Server 節(jié)點(diǎn);
存儲(chǔ)大文件時(shí),性能尤為突出;
不具備冗余性,類似 raid0

特點(diǎn):

數(shù)據(jù)被分割成更小塊分布到塊服務(wù)器群中的不同條帶區(qū);
分布減少了負(fù)載且更小的文件加速了存取的速度;
沒(méi)有數(shù)據(jù)冗余

(3)復(fù)制卷:

同一個(gè)文件保存一份或多分副本;
復(fù)制模式因?yàn)橐4娓北?,所以磁盤利用率較低;
多個(gè)節(jié)點(diǎn)上的存儲(chǔ)空間不一致,那么將安裝木桶效應(yīng)取最低節(jié)點(diǎn)的容量作為該卷的總?cè)萘?/code>

特點(diǎn):

卷中所有的服務(wù)器均保存一個(gè)完整的副本;
卷的副本數(shù)量可由客戶創(chuàng)建的時(shí)候決定;
至少由兩個(gè)塊服務(wù)器或更多服務(wù)器;
具備容災(zāi)性。

(4)分布式條帶卷:

兼顧分布式和條帶卷的功能;
主要用于大文件訪問(wèn)處理;
至少最少需要 4 臺(tái)服務(wù)器。

(5)分布式復(fù)制卷:

兼顧分布式卷和復(fù)制卷的功能;
用于需要冗余的情況下

原理:

KVM+GFS分布式文件系統(tǒng)高可用群集

實(shí)驗(yàn)環(huán)境

node1 192.168.13.128
node2 192.168.13.129
node3 192.168.13.130
node4 192.168.13.131
kvm    192.168.13.133

node節(jié)點(diǎn)服務(wù)器添加一塊硬盤

KVM+GFS分布式文件系統(tǒng)高可用群集

kvm虛擬機(jī)上開啟虛擬化功能

KVM+GFS分布式文件系統(tǒng)高可用群集

1,分別在node節(jié)點(diǎn)服務(wù)器和kvm服務(wù)器上配置本地hosts文件,安裝必要的gluster軟件

[root@localhost ~]# hostnamectl set-hostname node1
[root@localhost ~]# su
[root@localhost ~]# hostnamectl set-hostname kvm
[root@node1 ~]# vim /etc/hosts   ##修改本地解析文件
192.168.13.128 node1
192.168.13.129 node2
192.168.13.130 node3
192.168.13.131 node4
192.168.13.133 kvm
##所有服務(wù)器上關(guān)閉防火墻
[root@node1 ~]# systemctl stop firewalld.service   ##關(guān)閉防火墻
[root@node1 ~]# setenforce 0
##分別復(fù)制配置文件到所有服務(wù)器上
[root@node1 ~]# scp /etc/hosts root@192.168.13.129:/etc/hosts  
[root@node1 ~]# scp /etc/hosts root@192.168.13.130:/etc/hosts 
[root@node1 ~]# scp /etc/hosts root@192.168.13.131:/etc/hosts 
[root@node1 ~]# scp /etc/hosts root@192.168.13.133:/etc/hosts 
##在所有node節(jié)點(diǎn)服務(wù)器上掛載,修改yum配置文件
[root@node1 ~]# mkdir /gfs
[root@node1 ~]# mount.cifs //192.168.100.3/LNMP-C7 /gfs/  ##掛載
[root@node1 ~]# cd /etc/yum.repo.d/
[root@node1 yum.repos.d]# mkdir bak    ##創(chuàng)建備份目錄
[root@node1 yum.repos.d]# mv CentOS-* bak/
[root@node1 yum.repos.d]# vim abc.repo  ##所有node節(jié)點(diǎn)都需要配置yum源
[abc]
name=abc
baseurl=file:///gfs/gfsrepo   ##掛載目錄下的gfsrepo路徑
gpgcheck=0
enabled=1
[root@node1 yum.repos.d]# yum clean all && yum makecache ##建立元數(shù)據(jù)緩存
[root@node1 yum.repos.d]# yum install -y glusterfs glusterfs-server gluster-fuse glusterfs-rdma
##安裝必要的軟件
[root@node1 yum.repos.d]# systemctl start glusterd   ##開啟gluster服務(wù)
[root@node1 yum.repos.d]# systemctl enable glusterd  ##開機(jī)自啟動(dòng)
[root@node1 yum.repos.d]# ntpdate ntp1.aliyun.com   ##同步時(shí)間

2,利用磁盤分區(qū)腳本進(jìn)行分區(qū)掛載(所有node節(jié)點(diǎn)服務(wù)器)

[root@node1 yum.repos.d]# cd /opt/ 
[root@node1 opt]# vim disk.sh //掛載磁盤腳本,一鍵操作
#! /bin/bash
echo "the disks exist list:"
fdisk -l |grep '磁盤 /dev/sd[a-z]'
echo "=================================================="
PS3="chose which disk you want to create:"
select VAR in `ls /dev/sd*|grep -o 'sd[b-z]'|uniq` quit
do
        case $VAR in
        sda)
                fdisk -l /dev/sda
                break ;;
        sd[b-z])
                #create partitions
                echo "n
                                p

                                w"  | fdisk /dev/$VAR

                #make filesystem
                mkfs.xfs -i size=512 /dev/${VAR}"1" &> /dev/null
    #mount the system
                mkdir -p /data/${VAR}"1" &> /dev/null
                echo -e "/dev/${VAR}"1" /data/${VAR}"1" xfs defaults 0 0\n" >> /etc/fstab
                mount -a &> /dev/null
                break ;;
        quit)
                break;;
        *)
                echo "wrong disk,please check again";;
        esac
done
[root@node1 opt]# chmod +x fdisk.sh   ##添加執(zhí)行權(quán)限
[root@node1 opt]# ./fdisk.sh   ##執(zhí)行腳本
[root@node1 opt]# df -hT  ##查看掛載信息

3,創(chuàng)建分布式復(fù)制卷

##添加存儲(chǔ)信任池,只要在一臺(tái)主機(jī)上添加其他三臺(tái)節(jié)點(diǎn)即可
[root@node1 opt]# gluster peer probe node2 
[root@node1 opt]# gluster peer probe node3
[root@node1 opt]# gluster peer probe node4
[root@node1 opt]# gluster volume create models replica 2 node1:/data/sdb1 node2:/data/sdb1 node3:/data/sdb1 node4:/data/sdb1 force
##創(chuàng)建分布式復(fù)制卷
gluster volume create dis-vol node1:/data/sdb1 node2:/data/sdb1 force
//創(chuàng)建分布式卷
gluster volume create stripe-vol stripe 2 node1:/data/sdc1 node2:/data/sdc1 force
//創(chuàng)建條帶卷
gluster volume create rep-vol replica 2 node3:/data/sdb1 node4:/data/sdb1 force
//創(chuàng)建復(fù)制卷
gluster volume create dis-stripe stripe 2 node1:/data/sdd1 node2:/data/sdd1 node3:/data/sdd1 node4:/data/sdd1 force
//創(chuàng)建分布式條帶卷
[root@node1 opt]# gluster volume start models ##啟動(dòng)分布式復(fù)制卷

4,在kvm服務(wù)器上掛載創(chuàng)建好的分布式復(fù)制卷

[root@kvm ~]# mkdir /abc
[root@kvm ~]# mount.cifs //192.168.100.3/iOS /abc/
[root@kvm ~]# cp /abc/CentOS-7-x86_64-DVD-1708.iso /opt/ &  
##將centos7鏡像復(fù)制到/opt/進(jìn)行后臺(tái)運(yùn)行
[root@kvm ~]# cd /etc/yum.repo.d/
[root@kvm yum.repos.d]# mkdir bak    ##創(chuàng)建備份目錄
[root@kvm yum.repos.d]# mv CentOS-* bak/
[root@kvm yum.repos.d]# scp -r root@192.168.13.128:/gfs/gfsrepo /  
##復(fù)制gfs源到根目錄下
[root@kvm yum.repos.d]# vim abc.repo  ##所有node節(jié)點(diǎn)都需要配置yum源
[abc]
name=abc
baseurl=file:///gfsrepo   ##源文件的路徑
gpgcheck=0
enabled=1
[root@kvm yum.repos.d]# umount /abc/  ##centos鏡像復(fù)制完成后解掛載
[root@kvm yum.repos.d]# yum install -y glusterfs glusterfs-fuse  ##安裝必要的軟件
[root@kvm yum.repos.d]# mv bak/* ./   ##釋放原有的yum源
[root@kvm yum.repos.d]# rm -rf bak/
[root@kvm yum.repos.d]# yum list    ##yum列表更新
[root@kvm yum.repos.d]# mkdir /kvmdata   ##創(chuàng)建掛載點(diǎn)
[root@kvm yum.repos.d]# mount.glusterfs node1:models /kvmdata 
##將分布式復(fù)制卷掛載到掛載點(diǎn)中
[root@kvm yum.repos.d]# df -hT  ##可以看出原來(lái)一共是160G現(xiàn)在是80G

5,在kvm服務(wù)器上部署虛擬化平臺(tái)

[root@kvm ~]# yum groupinstall "GNOME Desktop" -y   ##桌面環(huán)境
yum install qemu-kvm -y   ##kvm內(nèi)核
yum install qemu-kvm-tools -y ##調(diào)試工具
yum install virt-install -y  ##命令行工具
yum install qemu-img -y   ##組件,創(chuàng)建磁盤,啟動(dòng)虛擬機(jī)
yum install bridge-utils -y ##網(wǎng)絡(luò)支持工具
yum install libvirt -y ##虛擬機(jī)管理工具
yum install virt-manager -y ##圖形化管理虛擬機(jī)
[root@kvm ~]# egrep '(vmx|svm)' /proc/cpuinfo   ##看cpu是否支持
[root@kvm ~]# lsmod | grep kvm   ##檢查kvm是否安裝
[root@kvm ~]# systemctl start libvirtd   ##開啟服務(wù)
[root@kvm ~]# systemctl status libvirtd
[root@kvm ~]# systemctl enable libvirtd  ##開啟自啟
[root@kvm ~]# cd /etc/sysconfig/network-scripts/
[root@kvm network-scripts]# vim ifcfg-ens33 
##末行添加
BRIDGE=br0
[root@kvm network-scripts]# cp -p ifcfg-ens33 ifcfg-br0  ##復(fù)制配置文件為橋接
[root@kvm network-scripts]# vim ifcfg-br0
TYPE=Bridge    ##橋接模式
BOOTPROTO=static  ##靜態(tài)
NAME=br0     ##名字為br0
DEVICE=br0
IPADDR=192.168.13.133   ##ip地址
NETMASKE=255.255.255.0   ##子網(wǎng)掩碼
GATEWAY=192.168.13.1   ##網(wǎng)關(guān)
[root@kvm network-scripts]# service network restart   ##重啟網(wǎng)卡
[root@kvm network-scripts]# cd /kvmdata/  ##切換到GFS掛載點(diǎn)
[root@kvm kvmdata]# mkdir kgc_disk kgc_iso  ##創(chuàng)建文件系統(tǒng)目錄及鏡像目錄
[root@kvm kvmdata]# cp /opt/CentOS-7-x86_64-DVD-1708.iso kgc_iso/ &
##將鏡像文件復(fù)制到鏡像目錄中

6,用kvm的圖形化界面進(jìn)行操作

[root@kvm ~]# virt-manager 

KVM+GFS分布式文件系統(tǒng)高可用群集
KVM+GFS分布式文件系統(tǒng)高可用群集
KVM+GFS分布式文件系統(tǒng)高可用群集
KVM+GFS分布式文件系統(tǒng)高可用群集
KVM+GFS分布式文件系統(tǒng)高可用群集
KVM+GFS分布式文件系統(tǒng)高可用群集
KVM+GFS分布式文件系統(tǒng)高可用群集
KVM+GFS分布式文件系統(tǒng)高可用群集

7,查看node節(jié)點(diǎn)服務(wù)器磁盤上的信息

[root@node1 ~]# cd /data/sdb1/  ##分布在各個(gè)node節(jié)點(diǎn)服務(wù)器上
[root@node1 sdb1]# ls
kgc_disk  kgc_iso

謝謝閱讀!

網(wǎng)站名稱:KVM+GFS分布式文件系統(tǒng)高可用群集
標(biāo)題網(wǎng)址:http://muchs.cn/article16/iejcgg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)、外貿(mào)建站、營(yíng)銷型網(wǎng)站建設(shè)、云服務(wù)器Google、外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)