1. 程式人生 > >Glusterfs 分散式儲存安裝部署

Glusterfs 分散式儲存安裝部署

Glusterfs 分散式儲存部署 是儲存當中可以選擇的一種 現在很多虛擬化 雲端計算都在用軟體儲存 例如 ceph

Glusterfs 等等 今天我們部署一下Glusterfs環境

GlusterFs安裝

環境資訊:

         Glusterfs-01                          10.20.0.200                              
         Glusterfs-02                   10.20.0.201
         Glusterfs-03                   10.20.0.202

硬碟各一塊 8G 測試 /dev/sdb 

伺服器版本資訊

# cat /etc/redhat-release 
CentOS release 6.6 (Final)

  # uname -r
  2.6.32-504.el6.x86_64

軟體下載地址

http://download.gluster.org/pub/gluster/glusterfs/3.4/3.4.6/CentOS/epel-6.6/x86_64

依賴包安裝

直接用Yum安裝 每臺都需要安裝

# yum -y install libibverbs librdmacm xfsprogs nfs-utils rpcbind  libaio liblvm2app lvm2-devel

軟體安裝

安裝伺服器端軟體包

glusterfs-3.4.6-1.el6.x86_64.rpm
glusterfs-api-3.4.6-1.el6.x86_64.rpm
glusterfs-cli-3.4.6-1.el6.x86_64.rpm
glusterfs-fuse-3.4.6-1.el6.x86_64.rpm
glusterfs-libs-3.4.6-1.el6.x86_64.rpm
glusterfs-server-3.4.6-1.el6.x86_64.rpm

安裝客戶端軟體包

glusterfs-3.4.6-1.el6.x86_64.rpm
glusterfs-fuse-3.4.6-1.el6.x86_64.rpm
glusterfs-libs-3.4.6-1.el6.x86_64.rpm

磁碟配置

磁碟分割槽:

EXT4格式化工具目前最大支援16TB

使用parted進行磁碟分割槽

分割槽格式化
每個伺服器上面都需要至少新增一塊硬碟 我們這邊是用的1塊8G硬碟 現在每臺都格式化

# mkfs.ext4 -L /brick1 /dev/sdb
mke2fs 1.41.12 (17-May-2010)
/dev/sdb is entire device, not just one partition!
Proceed anyway? (y,n) y
Filesystem label=/brick1
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
524288 inodes, 2097152 blocks
104857 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2147483648
64 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 39 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

自動掛載分割槽

# vim /etc/fstab 
LABEL=/brick1  /brick1 ext4  defaults 0 0

mount檔案系統

# mkdir /brick1
# mount -L /brick1 /brick1/
# df -kh
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
                       47G  759M   44G   2% /
tmpfs                 491M     0  491M   0% /dev/shm
/dev/sda1             477M   28M  425M   6% /boot
/dev/sdb              7.8G   18M  7.4G   1% /brick1

基礎測試包安裝 效能測試包

工具軟體
Atop,iperf,sysstat

dd,lozone,fio,postmark

工具安裝

#rpm -ivh http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm

yum install sysstat

Gcc -o postmark postmark-1.52.c

有些可以用yum安裝

安裝GlusterFS軟體包

每臺建立存放軟體的目錄  我們目前安裝的是3.4.6的版本

#mdkir /home/tools/3.4.6 -p
#cd /home/tools/3.4.6
# ll
total 2164
-rw-r--r-- 1 root root 1027320 Oct  4 11:13 glusterfs-3.4.6-1.el6.x86_64.rpm
-rw-r--r-- 1 root root   66680 Oct  4 11:13 glusterfs-api-3.4.6-1.el6.x86_64.rpm
-rw-r--r-- 1 root root  108872 Oct  4 11:14 glusterfs-cli-3.4.6-1.el6.x86_64.rpm
-rw-r--r-- 1 root root   88452 Oct  4 11:14 glusterfs-fuse-3.4.6-1.el6.x86_64.rpm
-rw-r--r-- 1 root root  124288 Oct  4 11:14 glusterfs-geo-replication-3.4.6-1.el6.x86_64.rpm
-rw-r--r-- 1 root root  227900 Oct  4 11:14 glusterfs-libs-3.4.6-1.el6.x86_64.rpm
-rw-r--r-- 1 root root   50128 Oct  4 11:14 glusterfs-rdma-3.4.6-1.el6.x86_64.rpm
-rw-r--r-- 1 root root  504744 Oct  4 11:14 glusterfs-server-3.4.6-1.el6.x86_64.rpm

直接rpm安裝

# rpm -ivh *.rpm
warning: glusterfs-3.4.6-1.el6.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 4ab22bb3: NOKEY
Preparing...                ########################################### [100%]
   1:glusterfs-libs         ########################################### [ 13%]
   2:glusterfs              ########################################### [ 25%]
   3:glusterfs-fuse         ########################################### [ 38%]
   4:glusterfs-cli          ########################################### [ 50%]
   5:glusterfs-server       ########################################### [ 63%]
   6:glusterfs-geo-replicati########################################### [ 75%]
   7:glusterfs-api          ########################################### [ 88%]
   8:glusterfs-rdma         ########################################### [100%]

安裝成功啟動GlusterFS

# service glusterd start
Starting glusterd:                                         [  OK  ]
# chkconfig glusterd on

組建叢集擴充套件

在GlusterFS-01伺服器上面操作 選擇10.20.0.200 作為當前叢集節點

新增另外兩臺伺服器

# gluster peer probe 10.20.0.201
peer probe: success
# gluster peer probe 10.20.0.202
peer probe: success

GlusterFS-01伺服器檢視新增狀態

# gluster peer status
Number of Peers: 2

Hostname: 10.20.0.201
Port: 24007
Uuid: c4d9edfd-d6ae-4628-8ab3-5a9fbb5f18fc
State: Peer in Cluster (Connected)

Hostname: 10.20.0.202
Port: 24007
Uuid: c0b425bb-a7b4-4dae-bc19-ea6031bf02b9
State: Peer in Cluster (Connected)

GlusterFS-02伺服器檢視新增狀態

# gluster peer status
Number of Peers: 2

Hostname: 10.20.0.200
Port: 24007
Uuid: 7ad4db05-ee75-44e6-8213-e58072b62d33
State: Peer in Cluster (Connected)

Hostname: 10.20.0.202
Uuid: c0b425bb-a7b4-4dae-bc19-ea6031bf02b9
State: Peer in Cluster (Connected)

GlusterFS-03伺服器檢視新增狀態

# gluster peer status
Number of Peers: 2

Hostname: 10.20.0.200
Port: 24007
Uuid: 7ad4db05-ee75-44e6-8213-e58072b62d33
State: Peer in Cluster (Connected)

Hostname: 10.20.0.201
Uuid: c4d9edfd-d6ae-4628-8ab3-5a9fbb5f18fc
State: Peer in Cluster (Connected)

表示成功

如果新增不成功 排除錯誤:

1,每臺伺服器是否能否Ping通

2,防火牆是否關閉iptables selinux

3,glusterd服務是否啟動成功

建立卷

  • 確定建立卷的型別
  • 確定建立卷的brick列表
  • 確實建立卷的網路型別(TCP/RDMA)

   Gluster volume create建立卷

在GlusterFS-01伺服器上面操作 可以任選一臺

# gluster volume create dht-vol1 10.20.0.200:/brick1/b1 10.20.0.201:/brick1/b2 10.20.0.202:/brick1/b
3
volume create: dht-vol1: success: please start the volume to access data

(1)distribute volume:分散式卷,檔案通過hash演算法分佈到brick server上,這種卷是glusterfs的基礎和最大特點;

(2)stripe volume:條帶卷,類似RAID0,條帶數=brick server數量,檔案分成資料塊以Round Robin方式分佈到brick server上,併發粒度是資料塊,大檔案效能高;

(3)replica volume:映象卷,類似RAID1,映象數=brick server數量,所以brick server上檔案資料相同,構成n-way映象,可用性高;

(4)distribute stripe volume:分散式條帶卷,brick server數量是條帶數的倍數,兼具distribute和stripe卷的特點;

(5)distribute replica volume:分散式映象卷,brick server數量是映象數的倍數,兼具distribute和replica卷的特點

檢視卷狀態資訊

# gluster volume info
 
Volume Name: dht-vol1
Type: Distribute
Volume ID: 7d947cf1-c743-477e-a28d-7d030572b655
Status: Created
Number of Bricks: 3
Transport-type: tcp
Bricks:
Brick1: 10.20.0.200:/brick1/b1
Brick2: 10.20.0.201:/brick1/b2
Brick3: 10.20.0.202:/brick1/b3

啟動卷

# gluster volume start dht-vol1
volume start: dht-vol1: success

客戶端掛載卷

# mkdir /data

# mount -t glusterfs 10.20.0.200:/dth-vol1 /data/

# df -kh
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
47G 1.1G 44G 3% /
tmpfs 491M 0 491M 0% /dev/shm
/dev/sda1 477M 28M 425M 6% /boot
/dev/sdb 7.8G 19M 7.4G 1% /brick1
10.20.0.200:/dth-vol1
24G 55M 22G 1% /data

注:這個預設卷型別 是3塊盤 加起來的容量

測試 建立replic 複製卷

#gluster volume create rep1  replica 3 10.20.0.200:/brick1/b20 10.20.0.201:/brick1/b20 10.20.0.202:/brick1/b20

客戶端掛載

# mkdir /data1
# mount -t glusterfs 10.20.0.200:/rep1 /data1
# df -kh
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
                       47G  1.1G   44G   3% /
tmpfs                 491M     0  491M   0% /dev/shm
/dev/sda1             477M   28M  425M   6% /boot
/dev/sdb              7.8G   19M  7.4G   1% /brick1
10.20.0.200:/dth-vol1
                       24G   55M   22G   1% /data
10.20.0.200:/rep1     7.8G   19M  7.4G   1% /data1

注:replic型別 是複製模式 相當於raid1  一塊盤的容量

常規命令

新增磁碟

gluster volume add-brick dht-vol1 10.20.0.200:/brick1/b1

rebalance 同步資料
gluster volume rebalance dht-vol1 start

刪除磁碟

gluster volume remove-brick dht-vol1 10.20.0.200:/brick1/b1 
gluster volume rebalance dht-vol1 start

刪除卷

先停止 在刪除

複製程式碼

# gluster volume stop dht-vol1
Stopping volume will make its data inaccessible. Do you want to continue? (y/n) y
volume stop: dht-vol1: success

# gluster volume delete dht-vol1
Deleting volume will erase all information about the volume. Do you want to continue? (y/n) y
volume delete: dht-vol1: success

# gluster volume info
No volumes present

複製程式碼

叢集擴充套件
增加節點
gluster peer probe IP/主機名

刪除節點 
gluster peer detach IP/主機名

節點狀態
gluster peer status

GlusterFS典型故障處理:

1,恢復節點配置資訊

故障現象:其中一個節點配置資訊不正確

故障模擬:

    刪除server2部分配置資訊

    配置資訊位置:/var/lib/glusterd/

修復方法

觸發自修復:通過Gluster工具同步配置資訊

gluster volume sync server1 all

2,複製卷資料不一致

故障現象:雙副本卷資料出現不一致

故障模擬:刪除其中一個brick資料

修復方法

新mount一下

3 複製卷的目錄刪除了

如何解決

修復方法:

先替換brick

#gluster volume replace-brick bbs_img 10.20.0.201:/brick1/share2 10.20.0.201:/brick1/share start

#gluster volume replace-brick bbs_img 10.20.0.201:/brick1/share2 10.20.0.201:/brick1/share commit

還原的時候注意會報錯

解決辦法

rm -rf /data/share2/.glusterfs
setfattr -x  trusted.glusterfs.volume-id /data/share2
setfattr -x trusted.gfid /data/share2

相關推薦

Glusterfs 分散式儲存安裝部署

Glusterfs 分散式儲存部署 是儲存當中可以選擇的一種 現在很多虛擬化 雲端計算都在用軟體儲存 例如 ceph Glusterfs 等等 今天我們部署一下Glusterfs環境 GlusterFs安裝 環境資訊:          Gluster

glusterfs分散式儲存部署

glusterfs(分散式儲存)是企業中的主流部署形式 準備: 將所有節點寫入: 192.168.1.21 server1 192.168.1.111 server2, 將節點的hostname名字改成對應的server glusterfs資料盤需要和系統盤隔

大資料分散式儲存部署模式:分離式or超融合

大資料分散式儲存的部署模式:分離式or超融合 資料中心內部系統的核心要求是“穩定可靠”,一是指系統在執行過程中有能力提供連續可靠的服務,長時間無故障執行;二是指當故障發生之後,有能力快速定位,及時排查,故障範圍不蔓延。 分離式部署的方式,使得系統與雲平臺系統相獨立,避免了計算和儲存爭搶CPU

持續整合系列(6)------分散式儲存ceph部署

持續整合系列(6)------k8s結合ceph實現動態申請pv 目標 預設情況下,pod使用的儲存需要先手動建立pv,再通過pvc申請已建立的pv,步驟繁瑣;利用kubernetes的新特性allows storage volumes to be cre

GlusterFS分散式儲存系統

一,分散式檔案系統理論基礎 1.1 分散式檔案系統出現 計算機通過檔案系統管理,儲存資料,而現在資料資訊爆炸的時代中人們可以獲取的資料成指數倍的增長,單純通過增加硬碟個數來擴充套件計算機檔案系統的儲存容量的方式,已經不能滿足目前的需求。 分散式檔案系統可以有效解決資料的儲存和管理難題,將固定於某

關於 Kubernetes 中的 Volume 與 GlusterFS 分散式儲存

容器中持久化的檔案生命週期是短暫的,如果容器中程式崩潰宕機,kubelet 就會重新啟動,容器中的檔案將會丟失,所以對於有狀態的應用容器中持久化儲存是至關重要的一個環節;另外很多時候一個 Pod 中可能包含多個 Docker 映象,在 Pod 內資料也需要相互共享,Kubernetes  中 Pod 也可以增

Glusterfs 分散式儲存系統配置

在伺服器叢集中,為了同步更新APP內容,利用Glusterfs分散式儲存功達到相同的APP只更新一次,其他機器同步更新試驗環境:Vmware Fusion3.1.1 CentOS 5.51.安裝#yum -y install glusterfs-cluster gluster

GlusterFS 分散式儲存

一、GlusterFS概述; 概述:GlusterFS(Google File System)是一個開源的分散式檔案系統,Gluster 藉助 TCP/IP 網 絡將儲存資源分散儲存在網路的不同節點,在通過匯聚為客戶端提供統一的資源訪問,在存 儲方面具有很強大的橫向擴充套件

HBase 1.2.6 完全分散式叢集安裝部署詳細過程

Apache HBase 是一個高可靠性、高效能、面向列、可伸縮的分散式儲存系統,是NoSQL資料庫,基於Google Bigtable思想的開源實現,可在廉價的PC Server上搭建大規模結構化儲存叢集,利用Hadoop HDFS作為其檔案儲存系統,利用Hadoo

ceph儲存 安裝部署Ceph Calamari經典示例

### salt-master # iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 4505 -j ACCEPT # iptables -A INPUT -m state --state NEW -m tcp -p tcp --dpor

分散式儲存系統GlusterFS最新版本安裝

GlusterFS已經被Red Hat收購了,成為其企業級解決方案的一部分。GlusterFS最近釋出了多個新版本,尤其是建立了新的GlusterD 2架構,開始原廠支援Kubernetes,不過目前還沒有達到Heketi的可用性。GlusterFS也升級到了版本5。因為Ubuntu 18.04內建

CentOS 7.3 分散式儲存Glusterfs部署使用(二)

Glusterfs_Client: 一、配置hosts cat <<EOF> /etc/hosts 127.0.0.1 localhost localhost.localdom

Hadoop的偽分散式安裝部署

文章目錄 需要的軟體及原始碼包 安裝JDK Hadoop的部署安裝 Hadoop的配置 Hadoop的使用 做Hadoop的偽分散式我們分為一下幾個步驟 需要的軟體及原始碼包 FileZil

kubernetes分散式安裝部署-簡介

環境說明:3臺1C1G(我自己這樣的配置,有條件的可以調整大點)虛擬機器且操作是系統centos7系統,三臺虛擬機器IP地址為: 1)192.168.56.11 主機名字:linux-node1.example.com 2)192.168.56.12 主機名字:linux-no

hadoop 3.1.1 分散式安裝部署 ubuntu16.04

參考連結:https://blog.didiyun.com/index.php/2018/11/20/hadoop3-1-1/ 其中需要注意的幾個點包括 hosts節點中刪除原來的127.0.0.1 localhost和127.0.0.1 master兩行。 hadoop使

ProxmoxVE安裝簡單叢集(非分散式儲存

   上面左邊是我的個人微信,如需進一步溝通,請加微信。  右邊是我的公眾號“Openstack私有云”,如有興趣,請關注。     公司有兩臺測試伺服器,是華為的RH2288 V3 ,配置64G記憶體,2顆16核CPU ,4塊1T

【Fastdfs】Fastdfs分散式檔案系統的安裝部署使用,以及fastdfs連線池connectionpool編寫使用

環境:centos 7.X 預編譯安裝元件 yum install gcc gcc-c++ automake pcre pcre-devel zlip zlib-devel openssl openssl-devel libevent-dev git -y 以上安裝完,後續的各

【Fastdfs】Fastdfs分散式檔案系統的安裝部署使用,結合nginx訪問圖片,fastdfs連線池connectionpool編寫使用,文末有github連結

環境:centos 7.X 預編譯安裝元件 yum install gcc gcc-c++ automake pcre pcre-devel zlip zlib-devel openssl openssl-devel libevent-dev git -y   以上安裝

helm部署ceph在k8s上做分散式儲存

先在k8s上機器上拉取映象 docker pull docker.io/ceph/daemon:tag-build-master-luminous-ubuntu-16.04 docker pull docker.io/kolla/ubuntu-source-kubernetes-en

012 基於以太訪的本地檔案hash儲存查詢Dapp例項(合約安裝部署

文章是我一邊學習區塊鏈技術,一邊記錄下來的內容,所有內容都經過測試,其實是我為了給自己留的參考文件,呵呵 下面開始進行一個Dapp的開發,請使用root使用者操作。 1、學習總結       要開發一個Dapp需要做的準備工作已經基本完成,那麼下面說一下都需要哪些內容,然後