GlusterFS分布式文件系统群集

GlusterFS分布式文件系统群集

5台centos服务器,四台添加硬盘(30G)

配置服务器基础环境
五台服务器上分别给新添加硬盘分区

[root@centos01 ~]# fdisk /dev/sdb
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-62914559,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-62914559,默认为 62914559):+5G
分区 1 已设置为 Linux 类型,大小设为 5 GiB
命令(输入 m 获取帮助):n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): p
分区号 (2-4,默认 2):
起始 扇区 (10487808-62914559,默认为 10487808):
将使用默认值 10487808
Last 扇区, +扇区 or +size{K,M,G} (10487808-62914559,默认为 62914559):+5G
分区 2 已设置为 Linux 类型,大小设为 5 GiB

命令(输入 m 获取帮助):n
Partition type:
p primary (2 primary, 0 extended, 2 free)
e extended
Select (default p): p
分区号 (3,4,默认 3):
起始 扇区 (20973568-62914559,默认为 20973568):
将使用默认值 20973568
Last 扇区, +扇区 or +size{K,M,G} (20973568-62914559,默认为 62914559):+5G
分区 3 已设置为 Linux 类型,大小设为 5 GiB

命令(输入 m 获取帮助):n
Partition type:
p primary (3 primary, 0 extended, 1 free)
e extended
Select (default e): e
已选择分区 4
起始 扇区 (31459328-62914559,默认为 31459328):
将使用默认值 31459328
Last 扇区, +扇区 or +size{K,M,G} (31459328-62914559,默认为 62914559):
将使用默认值 62914559
分区 4 已设置为 Extended 类型,大小设为 15 GiB
命令(输入 m 获取帮助):n
All primary partitions are in use
添加逻辑分区 5
起始 扇区 (31461376-62914559,默认为 31461376):
将使用默认值 31461376
Last 扇区, +扇区 or +size{K,M,G} (31461376-62914559,默认为 62914559):+5G
分区 5 已设置为 Linux 类型,大小设为 5 GiB

命令(输入 m 获取帮助):n
All primary partitions are in use
添加逻辑分区 6
起始 扇区 (41949184-62914559,默认为 41949184):
将使用默认值 41949184
Last 扇区, +扇区 or +size{K,M,G} (41949184-62914559,默认为 62914559):+5G
分区 6 已设置为 Linux 类型,大小设为 5 GiB

命令(输入 m 获取帮助):n
All primary partitions are in use
添加逻辑分区 7
起始 扇区 (52436992-62914559,默认为 52436992):
将使用默认值 52436992
Last 扇区, +扇区 or +size{K,M,G} (52436992-62914559,默认为 62914559):
将使用默认值 62914559
分区 7 已设置为 Linux 类型,大小设为 5 GiB

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:32.2 GB, 32212254720 字节,62914560 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0d5bf394

设备 Boot Start End Blocks Id System
/dev/sdb1 2048 10487807 5242880 83 Linux
/dev/sdb2 10487808 20973567 5242880 83 Linux
/dev/sdb3 20973568 31459327 5242880 83 Linux
/dev/sdb4 31459328 62914559 15727616 5 Extended
/dev/sdb5 31461376 41947135 5242880 83 Linux
/dev/sdb6 41949184 52434943 5242880 83 Linux
/dev/sdb7 52436992 62914559 5238784 83 Linux

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

查看创建的分区
[root@centos01 ~]# fdisk -l

磁盘 /dev/sda:85.9 GB, 85899345920 字节,167772160 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000ab7bb

设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 411647 204800 83 Linux
/dev/sda2 411648 8800255 4194304 82 Linux swap / Solaris
/dev/sda3 8800256 167772159 79485952 83 Linux

磁盘 /dev/sdb:32.2 GB, 32212254720 字节,62914560 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0d5bf394

设备 Boot Start End Blocks Id System
/dev/sdb1 2048 10487807 5242880 83 Linux
/dev/sdb2 10487808 20973567 5242880 83 Linux
/dev/sdb3 20973568 31459327 5242880 83 Linux
/dev/sdb4 31459328 62914559 15727616 5 Extended
/dev/sdb5 31461376 41947135 5242880 83 Linux
/dev/sdb6 41949184 52434943 5242880 83 Linux
/dev/sdb7 52436992 62914559 5238784 83 Linux

四台服务器初始化新建分区
[root@centos01 ~]# mkfs.xfs /dev/sdb1
[root@centos01 ~]# mkfs.xfs /dev/sdb2
[root@centos01 ~]# mkfs.xfs /dev/sdb3
[root@centos01 ~]# mkfs.xfs /dev/sdb5
[root@centos01 ~]# mkfs.xfs /dev/sdb6
[root@centos01 ~]# mkfs.xfs /dev/sdb7

四台服务器创建挂载点在根目录
[root@centos01 ~]# mkdir /sdb{1…7}

挂载新创建的分区
[root@centos01 ~]# echo “/dev/sdb1 /sdb1 xfs defaults 0 0” >> /etc/fstab
[root@centos01 ~]# echo “/dev/sdb2 /sdb2 xfs defaults 0 0” >> /etc/fstab
[root@centos01 ~]# echo “/dev/sdb3 /sdb3 xfs defaults 0 0” >> /etc/fstab
[root@centos01 ~]# echo “/dev/sdb5 /sdb5 xfs defaults 0 0” >> /etc/fstab
[root@centos01 ~]# echo “/dev/sdb6 /sdb6 xfs defaults 0 0” >> /etc/fstab
[root@centos01 ~]# echo “/dev/sdb7 /sdb7 xfs defaults 0 0” >> /etc/fstab

将 /etc/fstab目录远程复制到其他三台服务器上
[root@centos01 ~]# scp /etc/fstab root@192.168.100.20:/etc/
[root@centos01 ~]# scp /etc/fstab root@192.168.100.30:/etc/
[root@centos01 ~]# scp /etc/fstab root@192.168.100.40:/etc/

修改hosts文件解析所有节点
[root@centos01 ~]# vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.100.10 centos01
192.168.100.20 centos02
192.168.100.30 centos03
192.168.100.40 centos04

[root@centos01 ~]# scp /etc/hosts root@192.168.100.20:/etc/
[root@centos01 ~]# scp /etc/hosts root@192.168.100.30:/etc/
[root@centos01 ~]# scp /etc/hosts root@192.168.100.40:/etc/
[root@centos01 ~]# scp /etc/hosts root@192.168.100.50:/etc/

将四台服务器重启,查看磁盘分区是否挂载成功
[root@centos01 ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/sda3 xfs 76G 3.6G 73G 5% /
devtmpfs devtmpfs 474M 0 474M 0% /dev
tmpfs tmpfs 489M 0 489M 0% /dev/shm
tmpfs tmpfs 489M 7.0M 482M 2% /run
tmpfs tmpfs 489M 0 489M 0% /sys/fs/cgroup
/dev/sdb7 xfs 5.0G 33M 5.0G 1% /sdb7
/dev/sdb2 xfs 5.0G 33M 5.0G 1% /sdb2
/dev/sdb5 xfs 5.0G 33M 5.0G 1% /sdb5
/dev/sdb6 xfs 5.0G 33M 5.0G 1% /sdb6
/dev/sdb1 xfs 5.0G 33M 5.0G 1% /sdb1
/dev/sdb3 xfs 5.0G 33M 5.0G 1% /sdb3
/dev/sda1 xfs 197M 136M 61M 70% /boot
tmpfs tmpfs 98M 0 98M 0% /run/user/0

安装GlusterFS
挂载Glusterfs光盘
[root@centos01 ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载

修改yum配置文件的挂载点
[root@centos01 ~]# cd /mnt/
[root@centos01 mnt]# ls
gfsrepo

[root@centos01 mnt]# vim /etc/yum.repos.d/local.repo
[local]
name=centos
baseurl=file:///mnt/gfsrepo
enabled=1
gpgcheck=0

安装gluster服务器端和客户端
[root@centos01 ~]# yum -y install glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma

启动服务,设置服务开机自动启动
[root@centos01 ~]# systemctl start glusterd
[root@centos01 ~]# systemctl enable glusterd

将yum配置文件远程复制到其他四台服务器
[root@centos01 ~]# scp /etc/yum.repos.d/local.repo root@192.168.100.20:/etc/yum.repos.d/
[root@centos01 ~]# scp /etc/yum.repos.d/local.repo root@192.168.100.30:/etc/yum.repos.d/
[root@centos01 ~]# scp /etc/yum.repos.d/local.repo root@192.168.100.40:/etc/yum.repos.d/
[root@centos01 ~]# scp /etc/yum.repos.d/local.repo root@192.168.100.50:/etc/yum.repos.d/

其他四台服务器挂载glusterfs光盘,删除系统自动yum源,安装gluster服务器端和客户端
[root@centos02 ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@centos02 ~]# rm -rf /etc/yum.repos.d/CentOS-*
[root@centos02 ~]# yum -y install glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma

启动服务,设置服务开机自动启动
[root@centos02 ~]# systemctl start glusterd
[root@centos02 ~]# systemctl enable glusterd

配置GlusterFS
1)创建GlusterFS群集
[root@centos01 ~]# gluster peer probe centos02
[root@centos01 ~]# gluster peer probe centos03
[root@centos01 ~]# gluster peer probe centos04

2)查看群集节点
[root@centos01 ~]# gluster peer status
Number of Peers: 3

Hostname: centos02
Uuid: 4cc7469c-9d8b-4fce-9d5c-f0132f4faab9
State: Peer in Cluster (Connected)

Hostname: centos03
Uuid: 200c060d-9ad6-4e61-9065-2637599f3865
State: Peer in Cluster (Connected)

Hostname: centos04
Uuid: e548bbe0-5796-4ef2-a990-017379f96e08
State: Peer in Cluster (Connected)

创建分布式卷
创建分布式卷
[root@centos01 ~]# gluster volume create FBS-Volume centos01:/sdb1 centos02:/sdb1 force

查看分布式卷的状态
[root@centos01 ~]# gluster volume info FBS-Volume

启动分布式卷
[root@centos01 ~]# gluster volume start FBS-Volume

客户端创建挂载目录,客户端挂载分布式卷
[root@centos05 ~]# mkdir /FBS-Volume
[root@centos05 ~]# mount -t glusterfs 192.168.100.10:FBS-Volume /FBS-Volume

客户端验证是否挂载成功
[root@centos05 ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
192.168.100.10:FBS-Volume fuse.glusterfs 10G 65M 10G 1% /FBS-Volume

条带卷

创建条带卷
[root@centos01 ~]# gluster volume create TD-Volume stripe 2 centos01:/sdb2 centos02:/sdb2 force

查看条带卷状态
[root@centos01 ~]# gluster volume info TD-Volume

启动条带卷
[root@centos01 ~]# gluster volume start TD-Volume

客户端创建挂载目录,客户端挂载条带卷
[root@centos05 ~]# mkdir /TD-Volume
[root@centos05 ~]# mount -t glusterfs 192.168.100.10:TD-Volume /TD-Volume

客户端验证是否挂载成功
[root@centos05 ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
192.168.100.10:FBS-Volume fuse.glusterfs 10G 65M 10G 1% /FBS-Volume
192.168.100.10:TD-Volume fuse.glusterfs 10G 65M 10G 1% /TD-Volume

复制卷
创建复制卷
[root@centos01 ~]# gluster volume create FZ-Volume replica 2 centos01:/sdb3 centos02:/sdb3 force

查看复制卷状态
[root@centos01 ~]# gluster volume info FZ-Volume

启动复制卷
[root@centos01 ~]# gluster volume start FZ-Volume

客户端创建挂载目录,客户端挂载复制卷
[root@centos05 ~]# mkdir /FZ-Volume
[root@centos05 ~]# mount -t glusterfs 192.168.100.10:FZ-Volume /FZ-Volume

客户端验证是否挂载成功
[root@centos05 ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
192.168.100.10:FBS-Volume fuse.glusterfs 10G 65M 10G 1% /FBS-Volume
192.168.100.10:TD-Volume fuse.glusterfs 10G 65M 10G 1% /TD-Volume
192.168.100.10:FZ-Volume fuse.glusterfs 5.0G 33M 5.0G 1% /FZ-Volume

分布式条带卷
创建分布式条带卷
[root@centos01 ~]# gluster volume create FBSTD-Volume stripe 2 transport tcp centos01:/sdb5 centos02:/sdb05 centos01:/sdb6 centos02:/sdb6 force

查看分布式条带卷状态
[root@centos01 ~]# gluster volume info FBSTD-Volume

启动分布式条带卷
[root@centos01 ~]# gluster volume start FBSTD-Volume

客户端创建挂载目录,客户端挂载分布式条带卷
[root@centos05 ~]# mkdir /FBSTD-Volume
[root@centos05 ~]# mount -t glusterfs 192.168.100.10:FBSTD-Volume /FBSTD-Volume/

客户端验证是否挂载成功
[root@centos05 ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
192.168.100.10:FBS-Volume fuse.glusterfs 10G 65M 10G 1% /FBS-Volume
192.168.100.10:TD-Volume fuse.glusterfs 10G 65M 10G 1% /TD-Volume
192.168.100.10:FZ-Volume fuse.glusterfs 5.0G 33M 5.0G 1% /FZ-Volume
192.168.100.10:FBSTD-Volume fuse.glusterfs 91G 3.7G 88G 5% /FBSTD-Volume

分布式复制卷
创建分布式复制卷
[root@centos01 ~]# gluster volume create FBSFZ-Volume replica 2 transport tcp centos01:/sdb7 centos02:/sdb7 centos03:/sdb1 centos04:/sdb1 force

查看分布式复制卷状态
[root@centos01 ~]# gluster volume info FBSFZ-Volume

启动分布式复制卷
[root@centos01 ~]# gluster volume start FBSFZ-Volume

客户端创建挂载目录,客户端挂载分布式复制卷
[root@centos05 ~]# mkdir /FBSFZ-Volume
[root@centos05 ~]# mount -t glusterfs 192.168.100.10:FBSFZ-Volume /FBSFZ-Volume

客户端验证是否挂载成功
[root@centos05 ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
192.168.100.10:FBS-Volume fuse.glusterfs 10G 65M 10G 1% /FBS-Volume
192.168.100.10:TD-Volume fuse.glusterfs 10G 65M 10G 1% /TD-Volume
192.168.100.10:FZ-Volume fuse.glusterfs 5.0G 33M 5.0G 1% /FZ-Volume
192.168.100.10:FBSTD-Volume fuse.glusterfs 91G 3.7G 88G 5% /FBSTD-Volume
192.168.100.10:FBSFZ-Volume fuse.glusterfs 10G 65M 10G 1% /FBSFZ-Volume

自动挂载GlusterFS文件系统
设置自动挂载glusterFS文件系统
[root@centos05 ~]# vim /etc/fstab
192.168.100.10:FBS-Volume /FBS-Volume glusterfs defaults,_netdev 0 0
192.168.100.10:TD-Volume /TD-Volume glusterfs defaults,_netdev 0 0
192.168.100.10:FZ-Volume /FZ-Volume glusterfs defaults,_netdev 0 0
192.168.100.10:FBSTD-Volume /FBSTD-Volume glusterfs defaults,_netdev 0 0
192.168.100.10:FBSFZ-Volume /FBSFZ-Volume glusterfs defaults,_netdev 0 0

重启客户端查看是否自动挂载
[root@centos05 ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
192.168.100.10:FZ-Volume fuse.glusterfs 5.0G 33M 5.0G 1% /FZ-Volume
192.168.100.10:FBS-Volume fuse.glusterfs 10G 65M 10G 1% /FBS-Volume
192.168.100.10:FBSTD-Volume fuse.glusterfs 91G 3.7G 88G 5% /FBSTD-Volume
192.168.100.10:TD-Volume fuse.glusterfs 10G 65M 10G 1% /TD-Volume
192.168.100.10:FBSFZ-Volume fuse.glusterfs 10G 65M 10G 1% /FBSFZ-Volume

GlusterFS相关命令
查看创建glusterfs卷
[root@centos01 ~]# gluster volume list
FBS-Volume
FBSFZ-Volume
FBSTD-Volume
FZ-Volume
TD-Volume

查看卷的状态
[root@centos01 ~]# gluster volume status

针对条带卷设置访问控制列表(允许100.10、100.20、100.50挂载,其他拒绝挂载)
[root@centos01 ~]# gluster volume set TD-Volume auth.allow 192.168.100.10,192.168.100.20,192.168.100.50

客户端挂载条带卷
[root@centos05 ~]# mount -t glusterfs 192.168.100.10:TD-Volume /TD-Volume

查看是否挂载成功
[root@centos05 ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
192.168.100.10:FZ-Volume fuse.glusterfs 5.0G 33M 5.0G 1% /FZ-Volume
192.168.100.10:FBS-Volume fuse.glusterfs 10G 65M 10G 1% /FBS-Volume
192.168.100.10:FBSTD-Volume fuse.glusterfs 91G 3.7G 88G 5% /FBSTD-Volume
192.168.100.10:FBSFZ-Volume fuse.glusterfs 10G 65M 10G 1% /FBSFZ-Volume
tmpfs tmpfs 98M 0 98M 0% /run/user/0
192.168.100.10:TD-Volume fuse.glusterfs 10G 65M 10G 1% /TD-Volume

删除创建的节点,删除前停止服务
[root@centos01 ~]# gluster volume stop FBSFZ-Volume
[root@centos01 ~]# gluster volume delete FBSFZ-Volume

上一篇:GlusterFS 分布式文件系统的使用入门


下一篇:glusterfs集群安装