<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          分布式存儲之GlusterFS

          共 6971字,需瀏覽 14分鐘

           ·

          2021-02-12 10:15

          公眾號關注?「開源Linux
          回復「學習」,有我為您特別篩選的學習資料~

          1.glusterfs概述

          GlusterFS系統(tǒng)是一個可擴展的網(wǎng)絡文件系統(tǒng),相比其他分布式文件系統(tǒng),GlusterFS具有高擴展性、高可用性、高性能、可橫向擴展等特點,并且其沒有元數(shù)據(jù)服務器的設計,讓整個服務沒有單點故障的隱患。

          當客戶端訪問GlusterFS存儲時,首先程序通過訪問掛載點的形式讀寫數(shù)據(jù),對于用戶和程序而言,集群文件系統(tǒng)是透明的,用戶和程序根本感覺不到文件系統(tǒng)是本地還是在遠程服務器上。讀寫操作將會被交給VFS(Virtual File System)來處理,VFS會將請求交給FUSE內(nèi)核模塊,而FUSE又會通過設備/dev/fuse將數(shù)據(jù)交給GlusterFS Client。最后經(jīng)過GlusterFS Client的計算,并最終經(jīng)過網(wǎng)絡將請求或數(shù)據(jù)發(fā)送到GlusterFS Server上。

          2.glusterfs常用分布式簡介

          分布式卷也成為哈希卷,多個文件以文件為單位在多個brick上,使用哈希算法隨機存儲。

          應用場景:大量小文件

          優(yōu)點:讀/寫性能好

          缺點:如果存儲或服務器故障,該brick上的數(shù)據(jù)將丟失

          不指定卷類型,默認是分布式卷

          brick數(shù)量沒有限制

          創(chuàng)建分布式卷命令:

          gluster volume create volume_name node1:/data/br1 node2:/data/br1

          復制卷是將多個文件在多個brick上復制多份,brick的數(shù)目要與需要復制的份數(shù)相等,建議brick分布在不同的服務器上。

          應用場景:對可靠性高和讀寫性能要求高的場景

          優(yōu)點:讀寫性能好

          缺點:寫性能差

          replica = brick

          創(chuàng)建復制卷:

          gluster volume create volume_name replica 2 node1:/data/br1 node2:/data/br1

          replica:文件保存的份數(shù)

          條帶卷是將文件分成條帶,存放在多個brick上,默認條帶大小128k

          應用場景:大文件

          優(yōu)點:適用于大文件存儲

          缺點:可靠性低,brick故障會導致數(shù)據(jù)全部丟失

          stripe = birck

          創(chuàng)建條帶卷:

          gluster volume create volume_name stripe 2 node1:/data/br1 node2:/data/br1

          stripe:條帶個數(shù)

          分布式條帶卷是將多個文件在多個節(jié)點哈希存儲,每個文件再多分條帶在多個brick上存儲

          應用場景:讀/寫性能高的大量大文件場景

          優(yōu)點:高并發(fā)支持

          缺點:沒有冗余,可靠性差

          brick數(shù)是stripe的倍數(shù)

          創(chuàng)建分布式條帶卷:

          gluster volume create volume_name stripe 2 node1:/data/br1 node2:/data/br1 node3:/data/br1 node4:/data/br1

          分布式復制卷是將多個文件在多個節(jié)點上哈希存儲,在多個brick復制多份存儲。

          應用場景:大量文件讀和可靠性要求高的場景

          優(yōu)點:高可靠,讀性能高

          缺點:犧牲存儲空間,寫性能差

          brick數(shù)量是replica的倍數(shù)

          gluster volume create volume_name replica 2 node1:/data/br1 node2:/data/br1 node3:/data/br1 node4:/data/br1

          條帶式復制卷是將一個大文件存儲的時候劃分條帶,并且保存多份

          應用場景:超大文件,并且對可靠性要求高

          優(yōu)點:大文件存儲,可靠性高

          缺點:犧牲空間寫性能差

          brick數(shù)量是stripe、replica的乘積

          gluster volume create volume_name stripe 2 replica 2 node1:/data/br1 node2:/data/br1 node3:/data/br1 node4:/data/br1

          3.glusterfs環(huán)境

          日志存儲集群采用的是分布式復制卷,將多個文件在多個節(jié)點上哈希存儲,在多個brick復制多份存儲。共有五臺服務器,磁盤空間共有90T,那么采用這種分布式復制卷的方式,只有45T磁盤空間可用。并且需要采用分布式復制卷方式需要要有雙數(shù)的brick,所以現(xiàn)采用一臺服務器上創(chuàng)建兩個brick,如上圖所示,10.102.23.4:/data_01/node和10.102.23.44:/data_01/node是備份關系,其他節(jié)點均是如此,10.102.23.44作為日志存儲集群的管理節(jié)點,nfs-ganesha服務只需要安裝在控制節(jié)點,客戶端則可以通過nfs方式掛載。

          #?sed?-i?'s#SELINUX=enforcing#SELINUX=disabled#'?/etc/sysconfig/selinux?#關閉selinux

          #
          ?iptables?-F?#清除防火墻規(guī)則

          安裝glusterfs(01-05)

          #?yum?install?userspace-rcu-*

          #
          ?yum?install?python2-gluster-3.13.2-2.el7.x86_64.rpm

          #
          ?yum?install?tcmu-runner-*?libtcmu-*

          #
          ?yum?install?gluster*

          #
          ?yum?install?nfs-ganesha-*

          #
          這個nfs只要需要對外掛載的哪臺服務器需要安裝(10.102.23.44)

          #
          ?systemctl?start?glusterd.service?#所有服務器啟動glusterd

          #
          ?systemctl?start?rpcbind

          #
          ?systemctl?enable?glusterd.service

          #
          ?systemctl?enable?rpcbind

          #
          ?ss?-lnt?#查詢端口是否有為24007,如果有則服務正常運行

          創(chuàng)建集群(在10.102.23.44節(jié)點上執(zhí)行一下操作,向集群中添加節(jié)點):

          [root@admin-node?~]#?gluster?peer?probe?10.102.23.44

          peer?probe:?success.?[root@admin-node?~]#?gluster?peer?probe?10.102.23.45

          peer?probe:?success.

          [root@admin-node?~]#?gluster?peer?probe?10.102.23.46

          peer?probe:?success.

          [root@admin-node?~]#?gluster?peer?probe?10.102.23.47

          peer?probe:?success.

          [root@admin-node?~]#?gluster?peer?probe?10.102.23.4

          peer?probe:?success.

          查看虛擬機信任狀態(tài)添加結(jié)果

          [root@admin-node?~]#?gluster?peer?status

          Number?of?Peers:?4

          Hostname:?10.102.23.46

          Uuid:?31b5ecd4-c49c-4fa7-8757-c01604ffcc7e

          State:?Peer?in?Cluster?(Connected)

          ??

          Hostname:?10.102.23.47

          Uuid:?38a7fda9-ad4a-441a-b28f-a396b09606af

          State:?Peer?in?Cluster?(Connected)

          ??

          Hostname:?10.102.23.45

          Uuid:?9e3cfb56-1ed4-4daf-9d20-ad4bf2cefb37

          State:?Peer?in?Cluster?(Connected)

          ??

          Hostname:?10.102.23.4

          Uuid:?1836ae9a-eca5-444f-bb9c-20f032247bcb

          State:?Peer?in?Cluster?(Connected)

          在所有節(jié)點進行以下磁盤操作:

          [root@admin-node?~]#?fdisk?/dev/sdb

          創(chuàng)建卷組:

          [root@admin-node?~]#?vgcreate?vg_data01?/dev/sdb1?/dev/sdc1?/dev/sdd1?/dev/sde1?/dev/sdf1

          [root@admin-node?~]#?vgcreate?vg_data02?/dev/sdg1?/dev/sdh1?/dev/sdi1?/dev/sdj1?/dev/sdk1

          查看卷組:

          [root@admin-node?~]#?vgdisplay

          創(chuàng)建邏輯卷:

          [root@admin-node?~]#?lvcreate?-n?lv_data01?-L?9TB?vg_data01

          [root@admin-node?~]#?lvcreate?-n?lv_data02?-L?9TB?vg_data02

          查看邏輯卷:

          [root@admin-node?~]#?lvdisplay

          格式化邏輯卷:

          [root@admin-node?~]#?mkfs.xfs?/dev/vg_data01/lv_data01

          [root@admin-node?~]#?mkfs.xfs?/dev/vg_data02/lv_data02

          掛載邏輯卷:

          [root@admin-node?~]#?mkdir?-p?/data_01/node?/data_02/node

          [root@admin-node?~]#?vim?/etc/fstab

          /dev/vg_data01/lv_data01?/data_01?xfs?defaults?0?0

          /dev/vg_data02/lv_data02?/data_02?xfs?defaults?0?0

          [root@admin-node?~]#?mount?/data_01

          [root@admin-node?~]#?mount?/data_02

          分布式復制模式(組合型), 最少需要4臺服務器才能創(chuàng)建。

          創(chuàng)建卷:

          [root@admin-node?~]#?gluster?volume?create?data-volume?replica?2???10.102.23.4:/data_01/node??10.102.23.44:/data_01/node??10.102.23.44:/data_02/node?10.102.23.45:/data_02/node??10.102.23.45:/data_01/node??10.102.23.4:/data_02/node?10.102.23.46:/data_01/node??10.102.23.47:/data_01/node??10.102.23.46:/data_02/node??10.102.23.47:/data_02/node?force

          啟動創(chuàng)建的卷:

          [root@admin-node?~]#?gluster?volume?start?data-volume

          volume start: data-volume: success所有機器都可以查看:

          [root@admin-node?~]#?gluster?volume?info

          查看分布式卷的狀態(tài):

          [root@admin-node?~]#?gluster?volume?status

          基于以上glusterfs部署,glusterfs分布式復制卷已經(jīng)完成

          4.nfs-ganesha環(huán)境搭建

          glusterfs服務本身也是支持nfs掛載,由于現(xiàn)有生產(chǎn)環(huán)境存在多個網(wǎng)段,并且有些網(wǎng)段與glusterfs存儲服務器網(wǎng)段是不通,所以需要通過nginx代理nfs來實現(xiàn)nfs掛載。Glusterfs服務只是支持nfs3版本的掛載,在通過nginx代理方面也不是那么方便,端口繁多,所以glusterfs與NFSs-Ganesha是完美組合。NFSs-Ganesha 通過FSAL(文件系統(tǒng)抽象層)將一個后端存儲抽象成一個統(tǒng)一的API,提供給Ganesha服務端,然后通過NFS協(xié)議將其掛載到客戶端。在客戶端上對掛出來的空間進行操作。并且NFSs-Ganesha 可以指定nfs的版本。

          在管理節(jié)點10.102.23.44上安裝nfs-ganesha,在一開始部署glusterfs已在管理節(jié)點上安裝,這里就不重復說明了,直接簡要說明配置文件

          [root@admin-node?~]#?vim?/etc/ganesha/ganesha.conf

          .....................................

          EXPORT

          {

          #
          #?Export?Id?(mandatory,?each?EXPORT?must?have?a?unique?Export_Id)

          #
          Export_Id?=?12345;

          Export_Id?=?10;

          ??

          #
          #?Exported?path?(mandatory)

          #
          Path?=?/nonexistant;

          Path?=?/data01;

          ??

          #
          #?Pseudo?Path?(required?for?NFSv4?or?if?mount_path_pseudo?=?true)

          #
          Pseudo?=?/nonexistant;

          Pseudo?=?/data01;?#客戶端通過nfs掛載的根目錄

          ??

          #
          #?Restrict?the?protocols?that?may?use?this?export.?This?cannot?allow

          #
          #?access?that?is?denied?in?NFS_CORE_PARAM.

          #
          Protocols?=?3,4;

          Protocols?=?4;?#客戶端nfs掛載的版本

          ??

          #
          #?Access?type?for?clients.?Default?is?None,?so?some?access?must?be

          #
          #?given.?It?can?be?here,?in?the?EXPORT_DEFAULTS,?or?in?a?CLIENT?block

          #
          Access_Type?=?RW;

          Access_Type?=?RW;?#權限問題

          ??

          #
          #?Whether?to?squash?various?users.

          #
          Squash?=?root_squash;

          Squash?=?No_root_squash;?#root降級

          ??

          #
          #?Allowed?security?types?for?this?export

          #
          Sectype?=?sys,krb5,krb5i,krb5p;

          Sectype?=?sys;?#類型

          ??

          #
          #?Exporting?FSAL

          #
          FSAL?{

          #
          Name?=?VFS;

          #
          }

          FSAL?{

          Name?=?GLUSTER;

          hostname?=?"10.102.23.44";?#glusterfs管理節(jié)點IP

          volume?=?"data-volume";?#glusterfs卷名

          }

          }

          ...................

          [root@admin-node?~]#?systemctl?restart?nfs-ganesha

          [root@admin-node?~]#?systemctl?enable?nfs-ganesha

          [root@admin-node?~]#?showmount?-e?10.102.23.44

          Export?list?for?10.102.23.44:?#nfs-ganesha搭建成功

          5.客戶端掛載

          以glusterfs方式掛載:

          [root@admin-node?~]#?mkdir?/logs

          [root@admin-node?~]#?mount?-t?glusterfs?10.102.23.44:data-volume?/logs/

          以NFS方式進行掛載:

          在客戶端(10.1.99段):

          [root@moban-00?~]#yum?-y?install?nfs-utils?rpcbind

          [root@moban-00?~]#?systemctl?start?rpcbind

          [root@moban-00?~]#?systemctl?enable?rpcbind

          [root@moban-00?~]#?mkdir?/home/dwweiyinwen/logs/

          [root@moban-00?~]#?mount?-t?nfs?-o?vers=4,proto=tcp,port=2049?10.102.23.44:/data01?/home/dwweiyinwen/logs/

          原文鏈接:https://www.jianshu.com/p/4b7d7a262980


          關注「開源Linux」加星標,提升IT技能

          瀏覽 35
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美黄片入口网站 | 在线免费观看视频a | 亚洲性爱自拍 | 黄色一级视频在线观看 | 日本内射在线播放 |