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时创建的目录,需要手动删除后再使用。

深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值