基础环境
场景描述:在OpenStack平台创建两台云主机,同时挂载同一块共享盘的情况下实现云主机数据盘的同时读写。
主机名称 |
操作系统版本 |
IP地址 |
数据盘分区规划 |
acai01 |
CentOS-7.3-mini |
192.168.103.176 |
vdb1 glusterfs数据盘 vdb2 虚拟机数据盘 |
acai02 |
CentOS-7.3-mini |
192.168.103.112 |
vdb1 glusterfs数据盘 vdb2 虚拟机数据盘 |
基础配置
检查两个云主机同时挂载了同一个云硬盘
[root@harbor01 harbor-ansible]# 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 2G 0 part [SWAP] └─sda3 8:3 0 17G 0 part / vdb 8:16 0 100G 0 disk
|
[root@harbor02 harbor-ansible]# 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 2G 0 part [SWAP] └─sda3 8:3 0 17G 0 part / vdb 8:16 0 100G 0 disk
|
在acai01云主机创建磁盘分区
#关于分区:glusterfs存放数据需要一个挂载点,业务数据需要一个挂载点 sgdisk -n 0:0:+49G /dev/vdb sgdisk -n 0:0:+49G /dev/vdb
|
#检查分区表 [root@harbor01 ~]# 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 2G 0 part [SWAP] └─sda3 8:3 0 17G 0 part / sdb 8:16 0 100G 0 disk ├─sdb1 8:17 0 49G 0 part └─sdb2 8:18 0 49G 0 part
|
部署glusterfs集群
安装glusterfs
cat >/etc/yum.repos.d/glusterfs.repo <<EOF [glusterfs] name=glusterfs baseurl=https://mirrors.aliyun.com/centos/7/storage/x86_64/gluster-3.12/ gpgcheck=0 enabled=1 EOF
|
yum install glusterfs-server glusterfs-gnfs glusterfs-rdma
|
systemctl enable glusterd systemctl start glusterd
|
添加节点到glsuter集群
gluster peer probe harbor01 gluster peer probe harbor02
|
检查集群状态
创建glsuter volume
gluster volume模式
卷模式 |
描述 |
命令行 |
默认模式 |
分布卷,将文件通过hash算法存储 |
gluster volume create vo1 replica 2 transport tcp server1:/exp1 server2:/exp2 |
复制模式 |
复制卷,复制文件到集群节点 |
gluster volume create vo1 replica 2 transport tcp server1:/exp1 server2:/exp2 |
条带模式 |
将文件切割成数据块,存储到各节点 |
gluster volume create vo1 stripe 2 transport tcp server1:/exp1 server2:/exp2 |
#创建复制卷 gluster volume create vo1 replica 2 transport tcp harbor01:/glusterfs/brick harbor02:/glusterfs/brick
|
启动卷
挂载卷到客户端
mount -t glusterfs gitlab01:vo1 /var/opt
|