前言
GlusterFS分布式文件系统:
- 简介:
GlusterFS(GNU ClusterFile System)是一种全对称的开源分布式文件系统,所谓全对称是指GlusterFS采用弹性哈希算法,没有中心节点,所有节点全部平等。GlusterFS配置方便,稳定性好,可轻松达到PB级容量,数千个节点。 - 可组卷类型:
(1) distribute volume:分布式卷
文件通过hash算法分布到所有brick server上,这种卷是glusterfs的基础和最大特点;实只是扩大的磁盘空间,如果有一个磁盘坏了,对应的数据也丢失,文件级RAID 0,不具有容错能力。
(2) stripe volume:条带卷
类似RAID0,文件分成数据块以Round Robin方式分布到brick server上,并发粒度是数据块,支持超大文件,大文件性能高;
(3) replica volume:复制卷
文件同步复制到多个brick上,文件级RAID 1,具有容错能力,写性能下降,读性能提升。
准备
节点1:192.168.230.141 新增一块30GB容量硬盘
节点2:192.168.230.141 新增一块30GB容量硬盘
客户端:挂载使用卷
1. 两个节点添加新磁盘
[root@node2 ~]# mkdir /FS
[root@node1 /]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 17G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 30G 0 disk
sr0 11:0 1 1024M 0 rom
[root@node1 /]# fdisk /dev/sdb
> 命令(输入 m 获取帮助):n ---创建分区
> Select (default p): p ---主分区
> 一直回车即可
> 命令(输入 m 获取帮助):w ---保存
[root@node1 /]# mke2fs -t ext4 /dev/sdb1
[root@node1 /]# vim /etc/fstab
在最后一行添加
/dev/sdb1 /FS ext4 defaults 1 1
[root@node1 /]# mount -a #立即刷新挂载
[root@node1 /]# df -h #可以看到新加的硬盘已经挂载到FS下
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 475M 0 475M 0% /dev
tmpfs 487M 0 487M 0% /dev/shm
tmpfs 487M 7.8M 479M 2% /run
tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/mapper/centos-root 17G 3.5G 14G 21% /
/dev/sda1 1014M 169M 846M 17% /boot
tmpfs 98M 0 98M 0% /run/user/0
/dev/sdb1 30G 45M 28G 1% /FS
2. 创建gluster复制卷
下载并启动gluster
[root@node1 ~]# yum -y install centos-release-gluster
[root@node1 ~]# yum -y install glusterfs-server samba rpcbind
[root@node1 ~]# systemctl start glusterd.service && systemctl enable glusterd.service
[root@node1 ~]# glusterfs -V
glusterfs 9.0
创建GlusterFS复制卷
本节点作为控制节点 把另一台加进来
[root@node1 ~]# gluster peer probe 192.168.230.141
[root@node1 ~]# gluster peer status
Number of Peers: 1
Hostname: 192.168.230.141
Uuid: d48397e4-bb93-44f2-89f6-cb209c635b50
State: Peer in Cluster (Connected)
创建GlusterFS复制卷
进入gluster交互界面设置
[root@node1 ~]# gluster
Welcome to gluster prompt, type 'help' to see the available commands.
gluster> volume create zu1 replica 2 transport tcp 192.168.230.140:/FS 192.168.230.141:/FS force
volume create: zu1: success: please start the volume to access data # 创建一个名为zu1的GlusterFS复制卷,把两个节点加进来
gluster> volume start zu1 # 启动zu1 卷
volume start: zu1: success
gluster> volume status # 查看zu1 卷状态
Status of volume: zu1
Gluster process TCP Port RDMA Port Online Pid
------------------------------------------------------------------------------
Brick 192.168.230.140:/FS 49152 0 Y 40739
Brick 192.168.230.141:/FS 49152 0 Y 84338
Self-heal Daemon on localhost N/A N/A Y 40756
Self-heal Daemon on 192.168.230.141 N/A N/A Y 84355
Task Status of Volume zu1
------------------------------------------------------------------------------
3. 客户端挂载
客户端下载启动glusterFS
[root@node1 ~]# yum -y install centos-release-gluster
[root@node1 ~]# yum -y install glusterfs-server samba rpcbind
[root@node1 ~]# systemctl start glusterd.service && systemctl enable glusterd.service
[root@node1 ~]# glusterfs -V
glusterfs 9.0
挂载节点1或节点2 glusterFS创建的 zu1 卷
[root@client ~]# mount -t glusterfs 192.168.230.140:/zu1 /opt/diskFS
测试
[root@client ~]# touch /opt/diskFS/test.txt
可以看到两个节点都有test.txt这个测试文件
[root@node1 ~]# ls /FS
test.txt
[root@node2 ~]# ls /FS
test.txt
======================================================================================================================================================================================================================================================================================================
辛苦浏览观看,如果对你有帮助,请顺手点个赞吧 (σ゚∀゚)σ…:*☆