不动产登记网站建设,综合信息服务平台,广西住房和城乡建设厅网站,怎么投诉没有备案就已经运营网站一、概述
GlusterFS 是一个开源的分布式文件系统。
由存储服务器、客户端以及NFS/Samba 存储网关#xff08;可选#xff0c;根据需要选择使用#xff09;组成。 没有元数据服务器组件#xff0c;这有助于提升整个系统的性能、可靠性和稳定性。
GlusterFS同时也是Scale-…一、概述
GlusterFS 是一个开源的分布式文件系统。
由存储服务器、客户端以及NFS/Samba 存储网关可选根据需要选择使用组成。 没有元数据服务器组件这有助于提升整个系统的性能、可靠性和稳定性。
GlusterFS同时也是Scale-Out横向扩展存储解决方案Gluster的核心在存储数据方面具有强大的横向扩展能力通过扩展能够支持数PB存储容量和处理数千客户端。
GlusterFS支持借助TCP/IP或InfiniBandRDMA网络一种支持多并发链接的技术具有高带宽、低时延、高扩展性的特点将物理分散分布的存储资源汇聚在一起统一提供存储服务并使用统一全局命名空间来管理数据。
GlusterFS特点
扩展性和高性能高可用性全局统一命名空间弹性卷管理基于标准协议
二、分布式卷原理及特点
这里我们只用到了分布式卷此文档只安装分布式卷 特点 文件没有进行分块处理一个文件只会存在某一个server中效率并没有提升
比如file1 和file2 上传file1只会在一个sever上
文件分布在不同服务器不具备冗余性更容易和无代价的拓展卷的大小单点故障会导致数据丢失依赖底层的数据保护
三、搭建
1.部署规划
基础信息 服务器类型 操作系统 GlusterFS版本 X86 Cnetos 7.9 9.69版本最新20230221
安装规划
|主机名 |磁盘名 挂载名| | -------- | -------- | -------- | |gwtest-01(192.168.1.199)| /dev/sdb /gfsdata01 /dev/sdc /gfsdata02 /dev/sdd /gfsdata03| |gwtest-02(192.168.1.7| /dev/sdb /gfsdata01 /dev/sdc /gfsdata02 /dev/sdd /gfsdata03| | gwtest-03(192.168.1.142)| 作为测试扩容节点 /dev/sdb /gfsdata01 /dev/sdc /gfsdata02 /dev/sdd /gfsdata03|
2.准备磁盘目录
所有节点执行
fdisk /dev/sdb
mkfs -t xfs /dev/sdb1fdisk /dev/sdc
mkfs -t xfs /dev/sdc1fdisk /dev/sdd
mkfs -t xfs /dev/sdd1依次将所有节点上所有盘初始化并挂载好目录
mkdir /gfsdata01 /gfsdata02 /gfsdata03
mount /dev/sdb1 /gfsdata01
mount /dev/sdc1 /gfsdata02
mount /dev/sdd1 /gfsdata03将挂载信息写到/etc/fstab 中开机自动挂载
3.软件安装
下载的是gluster9.6版本打成tar包解压后即可使用。所有节点执行
# tar -xvf glusterfs-9.6.tar.gz
# cd glusterfs-9.6执行安装 # rpm -Uvh --force --nodeps *.rpm
开启服务开机自启动并启动glusterd进程 # systemctl enable glusterd systemctl start glusterd
查看glusterd进程状态 # systemctl status glusterd
4.添加存储信任池 在gwtest-01节点运行
# gluster peer probe gwtest-02
peer probe: success. # gluster peer probe gwtest-03
peer probe: success. 查看信任池状态 在一台上可以看到其它台的信息
[rootgwtest-01 ~]# gluster peer status
Number of Peers: 2Hostname: gwtest-02
Uuid: 42c97841-3e42-4305-90f5-f3bca183a627
State: Peer in Cluster (Connected)Hostname: gwtest-03
Uuid: 94c85a3f-78da-4a34-97f2-6ca9f12a2e54
State: Peer in Cluster (Connected)四、创建卷
1.创建分布式卷
将前2台的三块盘创建一个分布式卷
[rootgwtest-01 ~]# gluster volume create dis-gw-volume gwtest-01:/gfsdata01 gwtest-01:/gfsdata02 gwtest-01:/gfsdata03 gwtest-02:/gfsdata01 gwtest-02:/gfsdata02 gwtest-02:/gfsdata03 forcevolume create: dis-gw-volume: success: please start the volume to access data2.查看并启动
查看已经创建的卷
[rootgwtest-01 ~]# gluster volume list
dis-gw-volume启动卷
[rootgwtest-01 ~]# gluster volume start dis-gw-volume
volume start: dis-gw-volume: success查看卷的状态
[rootgwtest-01 ~]# gluster volume status dis-gw-volume
Status of volume: dis-gw-volume
Gluster process TCP Port RDMA Port Online Pid
------------------------------------------------------------------------------
Brick gwtest-01:/gfsdata01 49152 0 Y 5555
Brick gwtest-01:/gfsdata02 49153 0 Y 5571
Brick gwtest-01:/gfsdata03 49154 0 Y 5587
Brick gwtest-02:/gfsdata01 49152 0 Y 6777
Brick gwtest-02:/gfsdata02 49153 0 Y 6793
Brick gwtest-02:/gfsdata03 49154 0 Y 6809 Task Status of Volume dis-gw-volume
------------------------------------------------------------------------------
There are no active volume tasks3.查看卷的信息
[rootgwtest-01 ~]# gluster volume info dis-gw-volume Volume Name: dis-gw-volume
Type: Distribute
Volume ID: 85106618-39ee-4012-93b3-9f1bbcd83de2
Status: Started
Snapshot Count: 0
Number of Bricks: 6
Transport-type: tcp
Bricks:
Brick1: gwtest-01:/gfsdata01
Brick2: gwtest-01:/gfsdata02
Brick3: gwtest-01:/gfsdata03
Brick4: gwtest-02:/gfsdata01
Brick5: gwtest-02:/gfsdata02
Brick6: gwtest-02:/gfsdata03
Options Reconfigured:
storage.fips-mode-rchecksum: on
transport.address-family: inet
nfs.disable: on五、使用卷
1.挂载目录
可先准备好相应的挂载目录注挂载的服务器需要安装gluster 客户端
手动挂载
[rootgwtest-01 ~]# mount -t glusterfs gwtest-01:/dis-gw-volume /gfs_gwtest
WARNING: getfattr not found, certain checks will be skipped..注意如果有这个WARNING请安装 yum install attr -y
我们这里就在ambari01 中
自动挂载 写到/etc/fstab 文件中 gwtest-01:dis-gw-volume /gfs_gwtest defaults,_netdev 0 0
然后mount -a既可
查看挂载情况
[rootgwtest-01 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
gwtest-01:/dis-gw-volume 600G 6.2G 594G 2% /gfs_gwtest2.准备测试文件
生成多个小文件
[rootgwtest-01 ~]# for i in seq -w 1 20; do cp -rp /var/log/messages /gfs_gwtest/copy-test-$i; done可以多执行几次如果文件少的话
查看生成的文件 , 可以看到是分布在不同的节点上的
六、扩容缩容与重分布
GlusterFS支持brick的扩容缩容及数据重平衡这里使用分布式卷做一次测试
1.准备环境
这里就紧接着上面的安装测试将第三台机器扩容进去 目前的分布式卷的情况是
[rootgwtest-01 ~]# gluster volume info dis-gw-volume Volume Name: dis-gw-volume
Type: Distribute
Volume ID: 85106618-39ee-4012-93b3-9f1bbcd83de2
Status: Started
Snapshot Count: 0
Number of Bricks: 6
Transport-type: tcp
Bricks:
Brick1: gwtest-01:/gfsdata01
Brick2: gwtest-01:/gfsdata02
Brick3: gwtest-01:/gfsdata03
Brick4: gwtest-02:/gfsdata01
Brick5: gwtest-02:/gfsdata02
Brick6: gwtest-02:/gfsdata03
Options Reconfigured:
storage.fips-mode-rchecksum: on
transport.address-family: inet
nfs.disable: on2.分布式卷的扩容
将第三台机器的磁盘扩容进去
执行扩容brick的操作
[rootgwtest-01 ~]#gluster volume add-brick dis-gw-volume gwtest-03:/gfsdata01 gwtest-03:/gfsdata02 gwtest-03:/gfsdata03 force
volume add-brick: success查看卷的信息发现新brick已经添加上去
[rootgwtest-01 ~]# gluster volume info dis-gw-volume Volume Name: dis-gw-volume
Type: Distribute
Volume ID: 85106618-39ee-4012-93b3-9f1bbcd83de2
Status: Started
Snapshot Count: 0
Number of Bricks: 9
Transport-type: tcp
Bricks:
Brick1: gwtest-01:/gfsdata01
Brick2: gwtest-01:/gfsdata02
Brick3: gwtest-01:/gfsdata03
Brick4: gwtest-02:/gfsdata01
Brick5: gwtest-02:/gfsdata02
Brick6: gwtest-02:/gfsdata03
Brick7: gwtest-03:/gfsdata01
Brick8: gwtest-03:/gfsdata02
Brick9: gwtest-03:/gfsdata03
Options Reconfigured:
storage.fips-mode-rchecksum: on
transport.address-family: inet
nfs.disable: on但是此时的新目录里是没有文件的历史的文件需要做重分布
[rootgwtest-03 ~]# ls /gfsdata0*
/gfsdata01:/gfsdata02:/gfsdata03:
[rootgwtest-03 ~]# 3.分布式卷的文件重分布 执行重分布命令
[rootgwtest-01 ~]# gluster volume rebalance dis-gw-volume start
volume rebalance: dis-gw-volume: success: Rebalance on dis-gw-volume has been started successfully. Use rebalance status command to check status of the rebalance process.
ID: 56dfdf10-8725-4ffd-8333-93293168da43重分布的进度状态信息 重分布是一个过程不会立刻成功可以用此命令来查看进度
[rootgwtest-01 ~]# gluster volume rebalance dis-gw-volume statusNode Rebalanced-files size scanned failures skipped status run time in h:m:s--------- ----------- ----------- ----------- ----------- ----------- ------------ --------------gwtest-02 16 546.4KB 26 0 0 completed 0:00:00gwtest-03 0 0Bytes 20 0 0 completed 0:00:00localhost 27 921.4KB 34 0 0 completed 0:00:00
volume rebalance: dis-gw-volume: success扩容完成以后就可以看到新增加的节点有文件移动过去旧的节点文件减少
4.分布式卷的缩容
执行缩容命令
[rootgwtest-01 ~]# gluster volume remove-brick dis-gw-volume gwtest-03:/gfsdata01 gwtest-03:/gfsdata02 gwtest-03:/gfsdata03 start
It is recommended that remove-brick be run with cluster.force-migration option disabled to prevent possible data corruption. Doing so will ensure that files that receive writes during migration will not be migrated and will need to be manually copied after the remove-brick commit operation. Please check the value of the option and update accordingly.
Do you want to continue with your current cluster.force-migration settings? (y/n) y
volume remove-brick start: success
ID: ca928a65-1202-4aba-babd-d98ead1558d5查看缩容状态 缩容命令结束后后台进程会自动将该节点的文件迁移至别的brick可以使用一下命令查看进度待全部迁移完成后继续
[rootgwtest-01 ~]# gluster volume remove-brick dis-gw-volume gwtest-03:/gfsdata01 gwtest-03:/gfsdata02 gwtest-03:/gfsdata03 statusNode Rebalanced-files size scanned failures skipped status run time in h:m:s--------- ----------- ----------- ----------- ----------- ----------- ------------ --------------gwtest-03 23 784.6KB 23 0 0 completed 0:00:00此时看文件已经没有
[rootgwtest-03 ~]# ls /gfsdata0*
/gfsdata01:/gfsdata02:/gfsdata03:执行删除提交
[rootgwtest-01 ~]# gluster volume remove-brick dis-gw-volume gwtest-03:/gfsdata01 gwtest-03:/gfsdata02 gwtest-03:/gfsdata03 commit
volume remove-brick commit: success
Check the removed bricks to ensure all files are migr