部署GPS分散式檔案系統

&π_π&發表於2020-10-27

1. GlusterFS概述

1.1 GlusterFS簡介

  1. 開源的分散式檔案系統
  2. 有儲存伺服器,客戶段以及NFS/Samba儲存閘道器組成
  3. 無後設資料伺服器

1.2 GlusterFS特點

  1. 擴充套件性和高效能
  2. 高可用性
  3. 全域性統一名稱空間
  4. 彈性卷管理
  5. 基於標準協議

1.3 GlusterFS術語

1. Brick      ###儲存目錄是Glusterfs的基本儲存單元
2. Volume    ###卷是儲存目錄的邏輯組合
3. FUSE       ####核心模組
4. VFS      ### 檔案系統
5. Glusterd    ###叢集

1.4 工作原理

1.4.1 工作流程

  1. 客戶端或應用程式通過GlusterFS的掛載點訪問資料
  2. linux系統核心通過VFS API收到請求並處理
  3. VFS將資料遞交給FUSE核心檔案系統,fuse檔案系統則是將資料通過/dev/fuse裝置檔案遞交給了GlusterFS client端
  4. GlusterFS client收到資料後,client根據配置檔案的配置對資料進行處理
  5. 通過網路將資料傳遞至遠端的GlusterFS Server,並且將資料寫入到伺服器儲存裝置上
    在這裡插入圖片描述

1.4.2 彈性HASH演算法

  1. 通過HASH演算法得到一個32位的整數
  2. 劃分為N個連續的子空間,每個空間對應一個Brick(儲存塊)
  3. 彈性HASH演算法的優點
    ◆ 保證資料平均分佈在每一個Brick中
    ◆解決了對後設資料伺服器的依賴,進而解決了單點故障以及訪問瓶頸

2. GlusterFS的卷型別

  1. 分散式卷
  2. 條帶卷
  3. 複製卷
  4. 分散式條帶卷
  5. 分散式複製卷
  6. 條帶複製卷
  7. 分散式條帶複製卷

2.1 分散式卷

  1. 分散式卷簡介
    沒有對檔案進行分塊處理

    通過擴充套件檔案屬性儲存HASH值

    支援的底層檔案系統有EXT3、EXT4、ZFS、XFS等

  2. 分散式卷的特點
    檔案分佈在不同的伺服器,不具備冗餘性

    更容易和廉價地擴充套件卷的大小

    單點故障會造成資料丟失

    依賴底層的資料保護

  3. 建立分散式卷

gluster volume create dis-volume server1:/dir1 server2:/dir2server3:/dir3

2.2 條帶卷

  1. 條帶卷簡介
    根據偏移量將檔案分成N塊(N個條帶節點),輪詢的儲存在每個Brick Server節點

    儲存大檔案時,效能尤為突出

    不具備冗餘性,類似Raid0

  2. 條帶卷優點
    資料被分割成更小塊分佈到塊伺服器群中的不同條帶區

    分佈減少了負載且更小的檔案加速了存取的速度

    沒有資料冗餘
    3. 建立條帶卷

 gluster volume create stripe-volume stripe 2 transport tcp server1:/dir1 server2:/dir2

2.3 複製卷

  1. 複製卷簡介

    同一檔案儲存一份或多分副本

    因為要儲存副本,所以磁碟利用率較低
    若多個節點上的儲存空間不一致,將按照木桶效應取最低節點的容量作為該卷的總容量
    2.建立複製卷

gluster volume create rep-volume replica 2 transport tcp server1:/dir1 server2:/dir2

2.4 分散式條帶卷

  1. 分散式條帶卷簡介
    兼顧分散式卷和條帶卷的功能

    主要用於大檔案訪問處理

    至少最少需要4臺伺服器

2.建立分散式條帶卷

gluster volume create dis-stripe stripe 2 transport tcp server1:/dir1 server2:/dir2 server3:/dir3 server4:/dir4

2.5 分散式條帶卷

  1. 分散式複製卷
    兼顧分散式卷和複製卷的功能

    用於需要冗餘的情況

  2. 建立分散式複製卷

gluster volume create dis-rep replica 2 transport tcp server1:/dir1 server2;ldir2 server3:/dir3 server4:/dir4

3. GlusterFS部署步驟

3.1 群集環境

五臺伺服器
四臺伺服器端,一臺客戶段

在這裡插入圖片描述

3.2 操作流程

  1. 部署環境
準備環境

關閉防火牆和Selinux

配置hosts檔案

安裝軟體

啟動GlusterFS

新增節點

檢視叢集狀態
  1. 建立卷
建立分散式卷

建立條帶卷

建立複製卷

建立分散式條帶卷

建立分散式複製卷
  1. 部署Glister客戶端
安裝客戶端軟體

建立掛載目錄

修改hosts檔案

掛載Gluster檔案系統

修改fstab配置檔案
  1. 測試Gluster檔案系統
卷中寫入檔案
檢視檔案分佈
破壞性測試 

其他的維護命令 
檢視GlusterFS卷
停止/刪除卷
設定卷的訪問控制

4. 實驗

4.1 準備工作

準備5臺虛擬機器,給四臺伺服器加裝四個硬碟,然後重啟虛擬機器
node1:20.0.0.20
node2:20.0.0.21
node3:20.0.0.12
node4:20.0.0.26
客戶端:20.0.0.22
分別給四臺伺服器設定自己的主機名,對應上面

 [root@localhost ~]# hostnamectl set-hostname +主機名  
       #####五臺虛擬機器都需要做的操作######
[root@node1 ~]# systemctl stop firewalld         ###關閉防火牆
[root@node1 ~]# systemctl disable firewalld    ###關閉自啟動
[root@node1 ~]# setenforce ?  ##檢視核心狀態
setenforce: SELinux is disabled   
[root@node1 ~]# setenforce 0 ##臨時關閉核心
[root@node1 ~]# vim /etc/selinux/config         ###進配置檔案更改核心
SELINUX=disabled        ###設定成disabled,一共三種模式。


        ########核心的三種狀態######
#enforcing - 強制模式,代表selinux在執行中,且已經開始顯示domain/type之間的驗證關係
#permissive - 寬容模式,代表selninux在執行中,不過不會限制domain/type之間的驗證關係,即使驗證不正確,程式仍可對檔案進行操作,不過如果驗證不正確會發出警告
#disabled - 關閉模式,selinux並沒有實際執行

#######五臺虛擬機器都做一下對映###
 [root@node1 ~]#vi /etc/hosts   ###做對映  
20.0.0.12 node3
20.0.0.20 node1
20.0.0.21 node2
20.0.0.26 node4


測試一下:
[root@node1 ~]# ping node2
PING node2 (20.0.0.21) 56(84) bytes of data.
64 bytes from node2 (20.0.0.21): icmp_seq=1 ttl=64 time=0.423 ms

[root@node1 ~]# ping node3
PING node3 (20.0.0.12) 56(84) bytes of data.
64 bytes from node3 (20.0.0.12): icmp_seq=1 ttl=64 time=0.573 ms

[root@node1 ~]# ping node4
PING node4 (20.0.0.26) 56(84) bytes of data.
64 bytes from node4 (20.0.0.26): icmp_seq=1 ttl=64 time=0.501 ms
64 bytes from node4 (20.0.0.26): icmp_seq=2 ttl=64 time=0.420 ms

4.2 格式化磁碟指令碼

#!/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 systeml
        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 ~]#chmod +x jj.sh   ###給指令碼一個執行許可權
[root@node1 ~]#./jj.sh ##執行指令碼
the disks exist list:
==========================================
1) sdb
2) sdc
3) sdd
4) sde
5) quit
chose which disk you want to create:1 #選擇要操作的磁碟
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): Partition number (2-4, default 2): No free sectors available
Command (m for help): Command (m for help): Command (m for help): The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
這樣一個簡單的格式化磁碟就可以了
[root@node3 ~]# df -Th   ##檢視一下掛載情況
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs       291G  4.0G  287G   2% /
devtmpfs                devtmpfs  1.9G     0  1.9G   0% /dev
tmpfs                   tmpfs     1.9G     0  1.9G   0% /dev/shm
tmpfs                   tmpfs     1.9G   13M  1.9G   1% /run
tmpfs                   tmpfs     1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/sda1               xfs      1014M  179M  836M  18% /boot
tmpfs                   tmpfs     378M   12K  378M   1% /run/user/42
tmpfs                   tmpfs     378M     0  378M   0% /run/user/0
/dev/sdb1               xfs        20G   33M   20G   1% /data/sdb1
/dev/sdc1               xfs        20G   33M   20G   1% /data/sdc1
/dev/sdd1               xfs        20G   33M   20G   1% /data/sdd1
/dev/sde1               xfs        20G   33M   20G   1% /data/sde1

如果想要給其他的伺服器執行這個指令碼,可以通過遠端共享

[root@localhost ~]# scp disk.sh root@主機IP:/root 
例子:
[root@node1 ~]# scp jj.sh root@20.0.0.26:/root
The authenticity of host '20.0.0.26 (20.0.0.26)' can't be established.
ECDSA key fingerprint is SHA256:dKSUxLFFpj/mya09acr0sY4Om4Vduq8KLV+erpSUoyA.
ECDSA key fingerprint is MD5:ff:24:02:63:c6:c7:77:6c:2d:95:e8:5b:11:6b:62:12.
Are you sure you want to continue connecting (yes/no)? ###輸入yes
ot@20.0.0.26's password: ###輸入密碼
                                                                 jj.sh     100%  776   510.3KB/s
                                                                 
然後重複上面的指令碼操作

4.3 共享目錄

選在需要共享的目錄,右擊屬性,跟著下面圖操作
在這裡插入圖片描述
在這裡插入圖片描述
開啟本地策略
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述開啟網路中心
在這裡插入圖片描述

在這裡插入圖片描述
在這裡插入圖片描述

4.4 建立連線

虛擬機器掛載共享目錄

  ######五臺虛擬機器操作一樣####
  [root@localhost ~]# smbclient -L //192.168.100.2/  ##檢視一下共享目錄
Enter SAMBA\root's password: 
               Sharename       Type      Comment
 ---------       ----      -------
 ADMIN$          Disk      遠端管理
 C$              Disk      預設共享
 D$              Disk      預設共享
 E$              Disk      預設共享
 F$              Disk      預設共享
 chen          Disk      
 IPC$            IPC       遠端 IPC
 Users           Disk      
Reconnecting with SMB1 for workgroup listing.
Connection to 192.168.100.2 failed (Error NT_STATUS_RESOURCE_NAME_NOT_FOUND)
Failed to connect with SMB1 -- no workgroup availabl


[root@node1 ~]# mkdir /chen   ###建立掛載目錄
[root@node1 ~]# mount.cifs //192.168.10.2/gfsrepo  /chen     ###掛載

佈置yum本地源

#########五臺虛擬機器一樣########
root@node1 chen]# cd /etc/yum.repos.d/                     ###進入到etc/yum.repos.d/ 目錄裡
[root@node1 yum.repos.d]# mkdir  bac                 ###建立一個bac目錄
[root@node1 yum.repos.d]# mv CentOs-*   bac/   ###把CentOs放到backup目錄裡
[root@node1 yum.repos.d]# vim glfs.repo
[GLFS]
name=glfs
baseurl=file:///chen        ###本地源 http://mirror.centos.org/centos/$releasever/storage/$basearch/gluster-3.12/  ###現網源
gpgcheck=0
enabled=1
[root@node1 yum.repos.d]# yum clean all         ###清除快取
[root@node1 yum.repos.d]# yum list                 ###重新載入

4.5 部署glusterfs

#####伺服器需要安裝####
[root@node1 ~]# yum -y install glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma

[root@node1 yum.repos.d]# systemctl start glusterd.service    ###啟動服務
[root@node1 yum.repos.d]# systemctl enable glusterd             ###開機自啟
[root@node1 yum.repos.d]# systemctl status  glusterd             ###檢視狀態
[root@node1 yum.repos.d]# ntpdate ntp1.aliyun.com ##時間同步

新增信任儲存池子,只需要在一臺伺服器上做就可以了

[root@node1 yum.repos.d]# gluster peer probe node3
peer probe: success. 
[root@node1 yum.repos.d]# gluster peer probe node4
peer probe: success. 
[root@node1 yum.repos.d]# gluster peer probe node2
peer probe: success. 

[root@node1 yum.repos.d]# gluster peer status  ##檢視池子狀態
Number of Peers: 3

Hostname: node2
Uuid: 63f568a6-9f1a-47f7-8667-0893186ef99e
State: Peer in Cluster (Connected)

Hostname: node3
Uuid: b69de245-b692-46bc-8848-8db471f304b8
State: Peer in Cluster (Connected)

Hostname: node4
Uuid: 9f0decde-ba47-4537-a0f0-50464962d182
State: Peer in Cluster (Connected)

分散式卷

[root@node4 yum.repos.d]# gluster volume create dis-vol node1:/data/sdb1 node2:/data/sdb1 force  ###建立分散式卷,卷名叫dis-vol,用了node1:/data/sdb1和node2:/data/sdb1 

[root@node4 yum.repos.d]# gluster volume info dis-vol    ###檢視詳細資訊和狀態
Volume Name: dis-vol          ###名稱
Type: Distribute                     ###分散式卷的型別
Volume ID: 5b75e4bd-d830-4e3f-9714-456261c276be  ###id,獨一無二的
Status: Created                      ###Created(建立)狀態不能使用
Snapshot Count: 0        
Xlator 1: BD
Capability 1: thin
Capability 2: offload_copy
Capability 3: offload_snapshot
Number of Bricks: 2               ###兩個塊組成
Transport-type: tcp                ###tcp協議
Bricks:
Brick1: node1:/data/sdb1      ###node1的sdb1
Brick1 VG: 
Brick2: node2:/data/sdb1      ###node2的sbd1
Brick2 VG: 
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
 
[root@node4 yum.repos.d]# gluster volume start dis-vol      ###開啟
[root@node4 yum.repos.d]# gluster volume info dis-vol       ###再用這條檢視狀態就是Started

條帶卷

[root@node4 yum.repos.d]# gluster volume create stripe-vol stripe 2 node1:/data/sdc1 node2:/data/sdc1 force   ##建立條帶卷
[root@node4 yum.repos.d]# gluster volume start stripe-vol    ###開啟條帶卷

複製卷

[root@node4 yum.repos.d]# gluster volume create rep-vol replica 2 node3:/data/sdb1 node4:/data/sdb1 force
yum.repos.d]# gluster volume start rep-vol     ###開啟

分散式條帶卷

[root@node4 yum.repos.d]# gluster volume create dis-stripe stripe 2 node1:/data/sdd1 node2:/data/sdd1 node3:/data/sdd1 node4:/data/sdd1 force

[root@node4 yum.repos.d]# gluster volume start dis-stripe     ###開啟

分散式複製卷

[root@node4 yum.repos.d]# gluster volume create dis-rep replica 2 node1:/data/sde1 node2:/data/sde1 node3:/data/sde1 node4:/data/sde1 force

[root@node4 yum.repos.d]# gluster volume start  dis-rep     ###開啟

檢視卷的狀態

[root@node4 yum.repos.d]# gluster volume  list  
dis-rep
dis-stripe
dis-vol
rep-vol
stripe-vol

客戶段配置

[root@client yum.repos.d]# yum -y install glusterfs glusterfs-fuse  

建立五個掛載目錄,並且掛載
ot@client yum.repos.d]# mkdir -p /test/dis         ### 掛載分散式卷
[root@client yum.repos.d]# mount.glusterfs node1:dis-vol /test/dis/

[root@client yum.repos.d]# mkdir -p /test/stripe
[root@client yum.repos.d]# mount.glusterfs node1:stripe-vol /test/stripe/    ### 掛載條帶卷

[root@client yum.repos.d]# mkdir -p /test/rep
[root@client yum.repos.d]# mount.glusterfs node1:rep-vol /test/rep/    ### 掛載複製卷

[root@client yum.repos.d]# mkdir -p /test/dis-stripe
[root@client yum.repos.d]# mount.glusterfs node1:dis-stripe /test/dis-stripe/   ### 掛載分佈條帶卷

[root@client yum.repos.d]# mkdir -p /test/dis-rep
[root@client yum.repos.d]# mount.glusterfs node1:dis-rep /test/dis-rep/    ### 

[root@master ~]# df -Th   ##掛載情況
Filesystem              Type            Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs             291G  4.2G  287G   2% /
devtmpfs                devtmpfs        1.9G     0  1.9G   0% /dev
tmpfs                   tmpfs           1.9G     0  1.9G   0% /dev/shm
tmpfs                   tmpfs           1.9G   13M  1.9G   1% /run
tmpfs                   tmpfs           1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/sde1               xfs              20G   33M   20G   1% /data/sde1
/dev/sdd1               xfs              20G   33M   20G   1% /data/sdd1
/dev/sdc1               xfs              20G   33M   20G   1% /data/sdc1
/dev/sdb1               xfs              20G   33M   20G   1% /data/sdb1
/dev/sda1               xfs            1014M  179M  836M  18% /boot
tmpfs                   tmpfs           378M     0  378M   0% /run/user/0
tmpfs                   tmpfs           378M   12K  378M   1% /run/user/42
//192.168.100.2/chen    cifs            477G  395M  477G   1% /root/chen
node1:dis-vol           fuse.glusterfs   40G  265M   40G   1% /test/dis
node1:stripe-vol        fuse.glusterfs   40G  265M   40G   1% /test/stripe
node1:rep-vol           fuse.glusterfs   20G  233M   20G   2% /test/rep
node1:dis-stripe        fuse.glusterfs   80G  330M   80G   1% /test/dis-stripe
node1:dis-rep           fuse.glusterfs   40G  265M   40G   1% /test/dis-rep

4.6 測試

建立5個50M的檔案

[root@client yum.repos.d]# dd if=/dev/zero of=/demo1.log bs=1M count=50
[root@client yum.repos.d]# dd if=/dev/zero of=/demo2.log bs=1M count=50
[root@client yum.repos.d]# dd if=/dev/zero of=/demo3.log bs=1M count=50
[root@client yum.repos.d]# dd if=/dev/zero of=/demo4.log bs=1M count=50
[root@client yum.repos.d]# dd if=/dev/zero of=/demo5.log bs=1M count=50

將建立的檔案複製到5個共享目錄中

[root@client yum.repos.d]# cp /demo* /test/dis
[root@client yum.repos.d]# cp /demo* /test/stripe/
[root@client yum.repos.d]# cp /demo* /test/rep/
[root@client yum.repos.d]# cp /demo* /test/dis-stripe/
[root@client yum.repos.d]# cp /demo* /test/dis-rep/

檢視卷命令

[root@node1 yum.repos.d]# ls -h +磁碟
例子
  
   ##########檢視分散式卷#########
[root@node1 ~]# ls -lh /data/sdb1/
total 160M
-rw-r--r-- 2 root root 40M Oct 27 21:29 demo1.log
-rw-r--r-- 2 root root 40M Oct 27 21:29 demo2.log
-rw-r--r-- 2 root root 40M Oct 27 21:29 demo3.log
-rw-r--r-- 2 root root 40M Oct 27 21:29 demo4.log

[root@node2 yum.repos.d]# ls -lh /data/sdb1/
total 40M
-rw-r--r-- 2 root root 40M Oct 27 21:29 demo5.log
      
      ######檢視條帶卷####
[root@node1 ~]# ls -lh /data/sdc1/
total 100M
-rw-r--r-- 2 root root 20M Oct 27 21:29 demo1.log
-rw-r--r-- 2 root root 20M Oct 27 21:29 demo2.log
-rw-r--r-- 2 root root 20M Oct 27 21:29 demo3.log
-rw-r--r-- 2 root root 20M Oct 27 21:29 demo4.log
-rw-r--r-- 2 root root 20M Oct 27 21:29 demo5.log

[root@node2 ~]# ls -lh /data/sdc1/
total 100M
-rw-r--r-- 2 root root 20M Oct 27 21:29 demo1.log
-rw-r--r-- 2 root root 20M Oct 27 21:29 demo2.log
-rw-r--r-- 2 root root 20M Oct 27 21:29 demo3.log
-rw-r--r-- 2 root root 20M Oct 27 21:29 demo4.log
-rw-r--r-- 2 root root 20M Oct 27 21:29 demo5.log

      ###檢視複製卷###
  [root@node4 ~]# ls -lh /data/sdb1/
total 200M
-rw-r--r-- 2 root root 40M Oct 27 21:29 demo1.log
-rw-r--r-- 2 root root 40M Oct 27 21:29 demo2.log
-rw-r--r-- 2 root root 40M Oct 27 21:29 demo3.log
-rw-r--r-- 2 root root 40M Oct 27 21:29 demo4.log
-rw-r--r-- 2 root root 40M Oct 27 21:29 demo5.log

[root@node3 ~]# ls -lh /data/sdb1/
total 200M
-rw-r--r-- 2 root root 40M Oct 27 09:29 demo1.log
-rw-r--r-- 2 root root 40M Oct 27 09:29 demo2.log
-rw-r--r-- 2 root root 40M Oct 27 09:29 demo3.log
-rw-r--r-- 2 root root 40M Oct 27 09:29 demo4.log
-rw-r--r-- 2 root root 40M Oct 27 09:29 demo5.log
#####檢視分散式條帶卷#####
[root@node1 ~]# ls -lh /data/sdd1/
total 80M
-rw-r--r-- 2 root root 20M Oct 27 21:29 demo1.log
-rw-r--r-- 2 root root 20M Oct 27 21:29 demo2.log
-rw-r--r-- 2 root root 20M Oct 27 21:29 demo3.log
-rw-r--r-- 2 root root 20M Oct 27 21:29 demo4.log

[root@node2 ~]# ls -lh /data/sdd1/
total 80M
-rw-r--r-- 2 root root 20M Oct 27 21:29 demo1.log
-rw-r--r-- 2 root root 20M Oct 27 21:29 demo2.log
-rw-r--r-- 2 root root 20M Oct 27 21:29 demo3.log
-rw-r--r-- 2 root root 20M Oct 27 21:29 demo4.log

[root@node3 ~]# ls -lh /data/sdd1/
total 20M
-rw-r--r-- 2 root root 20M Oct 27 09:29 demo5.log

[root@node4 ~]# ls -lh /data/sdd1/
total 20M
-rw-r--r-- 2 root root 20M Oct 27 21:29 demo5.log
     
     #######分散式複製卷#####
[root@node1 ~]# ls -lh /data/sde1/
total 160M
-rw-r--r-- 2 root root 40M Oct 27 21:29 demo1.log
-rw-r--r-- 2 root root 40M Oct 27 21:29 demo2.log
-rw-r--r-- 2 root root 40M Oct 27 21:29 demo3.log
-rw-r--r-- 2 root root 40M Oct 27 21:29 demo4.log

[root@node2 ~]# ls -lh /data/sde1/
total 160M
-rw-r--r-- 2 root root 40M Oct 27 21:29 demo1.log
-rw-r--r-- 2 root root 40M Oct 27 21:29 demo2.log
-rw-r--r-- 2 root root 40M Oct 27 21:29 demo3.log
-rw-r--r-- 2 root root 40M Oct 27 21:29 demo4.log

[root@node3 ~]# ls -lh /data/sde1/
total 40M
-rw-r--r-- 2 root root 40M Oct 27 09:29 demo5.log

 [root@node4 ~]# ls -lh /data/sde1/
total 40M
-rw-r--r-- 2 root root 40M Oct 27 21:29 demo5.log        

4.7 破壞測試

關閉伺服器器一
然後進入客戶段

[root@master test]# ll
ls: cannot access stripe: Transport endpoint is not connected
total 16
drwxr-xr-x. 3 root root 4096 Oct 27 21:29 dis
drwxr-xr-x. 3 root root 4096 Oct 27 21:29 dis-rep
drwxr-xr-x. 3 root root 4096 Oct 27 21:29 dis-stripe
drwxr-xr-x. 3 root root 4096 Oct 27 21:29 rep
d?????????? ? ?    ?       ?            ? stripe

可以很直觀的看到分散式卷掛掉了
再關閉伺服器3

[root@master test]# ll
ls: cannot access stripe: Transport endpoint is not connected
ls: cannot access dis-stripe: Transport endpoint is not connected
total 12
drwxr-xr-x. 3 root root 4096 Oct 27 21:29 dis
drwxr-xr-x. 3 root root 4096 Oct 27 21:29 dis-rep
d?????????? ? ?    ?       ?            ? dis-stripe
drwxr-xr-x. 3 root root 4096 Oct 27 21:29 rep
d?????????? ? ?    ?       ?            ? stripe

分散式和分散式條帶卷都掛掉了

注意點:刪除卷時,信任池中不能有主機處於拓機狀態,否則刪除不成功(只有關閉狀態才能刪除)

4.8 刪除卷

[root@node3 yum.repos.d]# gluster volume stop 卷名     ###要先關閉卷
Stopping volume will make its data inaccessible. Do you want to continue? (y/n)  ####填y
volume stop: rep-vol: success

[root@node3 yum.repos.d]# gluster volume delete 卷名  ##刪除卷
Deleting volume will erase all information about the volume. Do you want to continue?(y/n)   ###填寫y
volume delete: rep-vol: success


## 4.9 訪問控制
```bash
[root@node1 yum.repos.d]# gluster volume set dis-vol auth.reject IP地址   ###拒絕IP使用者
volume set: success

[root@node1 yum.repos.d]# gluster volume set dis-vol auth.allow IP地址   ##允許IP使用者
volume set: success

相關文章