Glusterfs

一,分布式文件系统

在这里插入图片描述在这里插入图片描述在这里插入图片描述

GluterFS概述

在这里插入图片描述在这里插入图片描述

1.5GlusterFS企业主要应用场景

在这里插入图片描述在这里插入图片描述

Glushter优点:不会出现单点,容量可以扩展,读写性能非常好(具体数据64个节点吞吐量是32GB/S),小文件(小于1M的交给CDN)

缺点:读写速度是32GB/S,但是一般平常使用千兆网卡(1000Mb/8=125MB/S),这样网卡无法承受,但是我们可以将网卡进行bond0绑定,但是无法解决带宽问题

NFS缺点:处理小文件性能不佳,单点问题,磁盘插槽满了磁盘不能扩容

二,部署安装

GlusterFS安装准备

在这里插入图片描述在这里插入图片描述使用本地yum安装createrepo
cd到rpm包里面使用createrepo -v .
在这里插入图片描述将各个节点映射本地文件
vim /etc/hosts
在这里插入图片描述

cat /etc/yum.repos.d/CentOS-Media.repo
制作本地yum源

在这里插入图片描述yum -y clean all
yum makecache

yum -y install glusterfs-server glusterfs-cli glusterfs-geo-replication
在这里插入图片描述

加入出现一下情况(版本冲突)

在这里插入图片描述

测试Glusterfs服务的状态和启停

在这里插入图片描述

在这里插入图片描述

确保所有的虚拟机的glusterd服务都处于开启状态,并做如下操作

gluster peer probe glusterfs02(主机名)
gluster peer probe glusterfs03(主机名)
以下相同····结果如下所示
在这里插入图片描述我们看它的状态
在这里插入图片描述

从存储池中删除节点

[root@node1 ~]# gluster peer detach glusterfs02

peer detach: success

[root@node1 ~]# gluster peer probe glusterfs02

peer probe: success.

可以通过本地光盘源安装xfs支持包(Centos7不需要安装)

yum -y install xfsprogs

xfs是将数据盘的格式弄成xfs的格式,目前式ext4的格式

在这里插入图片描述
格式化硬盘

mkfs.ext4 /dev/sdb
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

基本卷特点:

分布式卷(哈希卷):相当于raid0的读写速度
复制卷:相当于raid1
条带式卷:针对大文件才会用

复合卷特点

分布式复合卷:相当于raid1+raid0
分布式条带卷:针对大文件才会用(例如视频类公司),会将整个文件分成两份平均分给两个节点
复制条带卷:------------
分布式复制条带卷:最安全的,结合分布式复合卷和分布式条带卷特点

以下是分布式卷

在这里插入图片描述

volume的两种挂载方式

1.以glusterfs的方式挂载

挂载卷到目录(在glusterfs01上操作)前提条件式本机要安装glusterfs

在这里插入图片描述

我们在glusterfs01和glusterfs02上查看/gluster/brick1/目录:

首先gluster01上的/gluster/brick1
在这里插入图片描述
gluster02上的/gluster/brick1
在这里插入图片描述

2.以NFS的方式进行挂载

挂载之前我们如何打开glusterfs的NFS挂载方式

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在主机WebClient上查看挂载情况

df -hT
在这里插入图片描述

以下是分布式复制卷

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述在这里插入图片描述

创建分布式条带卷

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

特点:将挂载之后存储的内容平均分配给两个节点

四,存储卷中brick块设备的扩容

1.分布式复制卷的扩容

在这里插入图片描述在这里插入图片描述

[root@WebClient ~]# mount -o nolock -t nfs 192.168.40.148:/gs2 /mnt
[root@WebClient ~]# df -hT
Filesystem                   Type   Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root ext4    18G  987M   16G   6% /
tmpfs                        tmpfs  491M     0  491M   0% /dev/shm
/dev/sda1                    ext4   485M   33M  427M   8% /boot
/dev/sdb                     ext4   9.9G  151M  9.2G   2% /gluster/brick1
/dev/sdc                     ext4   9.9G  151M  9.2G   2% /gluster/brick2
192.168.40.148:/gs2          nfs     20G  301M   19G   2% /mnt

我们查看gluster03和gluster04服务器的/gluster/brick1和/gluster/brick2文件内容

在这里插入图片描述在这里插入图片描述

再次在WebClient 服务器/mnt创建文件

[root@WebClient ~]# touch /mnt/{11..20}
[root@WebClient ~]# ls /mnt/
1  10  11  12  13  14  15  16  17  18  19  2  20  3  4  5  6  7  8  9  lost+found

再查看gluster03和gluster04服务器的/gluster/brick1和/gluster/brick2文件内容

在这里插入图片描述在这里插入图片描述

我们需要对磁盘平衡操作

在这里插入图片描述

队gs2做磁盘平衡

[root@glusterfs04 ~]# gluster volume rebalance gs2 start
volume rebalance: gs2: success: Rebalance on gs2 has been started successfully. Use rebalance status command to check status of the rebalance process.
ID: e9efa11e-6c52-4fa2-9530-49a3a99f4d49

注意:平衡以后需要重新挂载

之后的结果

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

[root@glusterfs04 ~]# gluster volume heal gs2 full
Launching heal operation to perform full self heal on volume gs2 has been successful 
Use heal info commands to check status

在这里插入图片描述

常见问题

问题1

[root@localhost ~]# gluster peer status
Connection failed. Please check if gluster daemon is operational.

原因:未开启glusterd服务

解决方法:开启glusterd服务

/etc/init.d/glusterd start

问题2

[root@localhost ~]# gluster peer probe 192.168.230.130

peer probe: failed: Probe returned with unknown errno 107

原因:日志中打印[2014-05-15 15:55:25.929461] I [glusterd-handler.c:2836:glusterd_probe_begin] 0-glusterd:Unable to find peerinfo for host: 192.168.230.130 (24007)

防火墙没开启24007端口

解决方法:开启24007端口或者关掉防火墙

/sbin/iptables -I INPUT -p tcp --dport 24007 -j ACCEPT # 开启24007端口

/etc/init.d/iptables stop # 关掉防火墙

注:

也可以使用主机名来代替IP,修改/etc/hosts文件实现

gluster peer probe server-130

问题3

volume create volume1 192.168.230.135:/tmp/brick1
volume create: volume2: failed

不能只使用一个server上的brick创建volume,需要至少两个brick,或者在client主机(这里为192.168.230.134)上使用一个brick创建volume。
[cpp] view plaincopy在CODE上查看代码片派生到我的代码片

gluster> volume create volume1 192.168.230.134:/tmp/brick1 force  
volume create: volume1: success: please start the volume to access data  
gluster> volume info  
  
Volume Name: volume1  
Type: Distribute  
Volume ID: b01a2c29-09a6-41fd-a94e-ea834173a6a3  
Status: Created  
Number of Bricks: 1  
Transport-type: tcp  
Bricks:  
Brick1: 192.168.230.134:/tmp/brick1  
  
gluster>  
  
gluster> volume create volume2 192.168.230.134:/tmp/brick2  192.168.230.135:/tmp/brick2 force  
volume create: volume2: success: please start the volume to access data  
gluster> volume info  
   
Volume Name: volume1  
Type: Distribute  
Volume ID: b01a2c29-09a6-41fd-a94e-ea834173a6a3  
Status: Created  
Number of Bricks: 1  
Transport-type: tcp  
Bricks:  
Brick1: 192.168.230.134:/tmp/brick1  
   
Volume Name: volume2  
Type: Distribute  
Volume ID: 4af2e260-70ce-49f5-9663-9c831c5cf831  
Status: Created  
Number of Bricks: 2  
Transport-type: tcp  
Bricks:  
Brick1: 192.168.230.134:/tmp/brick2  
Brick2: 192.168.230.135:/tmp/brick2  

问题4

创建一个volume后删除,再使用同名的brick创建volume失败。

gluster> volume create test 192.168.230.134:/tmp/brick1 force  
volume create: test: success: please start the volume to access data  
gluster> volume info   
   
Volume Name: test  
Type: Distribute  
Volume ID: c29f75d2-c9f5-4d6f-90c5-c562139ab9cd  
Status: Created  
Number of Bricks: 1  
Transport-type: tcp  
Bricks:  
Brick1: 192.168.230.134:/tmp/brick1  
gluster> volume delete test force  
Usage: volume delete <VOLNAME>  
gluster> volume delete test  
Deleting volume will erase all information about the volume. Do you want to continue? (y/n) y  
volume delete: test: success  
gluster> volume create test 192.168.230.134:/tmp/brick1 force  
volume create: test: failed: /tmp/brick1 or a prefix of it is already part of a volume

因为volume delete时并未删掉create时创建的目录,需要手动删除后再使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值