环境:centos8虚拟机(centos-release-8.1-1.1911)
方法:

  • qemu-img、qemu-nbd创建磁盘,关于nbd可以参考文章linux qemu-nbd介绍
  • 使用一个虚拟机来模拟两个节点

1. 安装软件包

  • 安装glusterfs源
# yum install centos-release-gluster7

得到/etc/yum.repos.d/CentOS-Gluster-7.repo

  • 重新创建yum源cache
# make makecache
  • 安装glusterfs
# yum install -y glusterfs glusterfs-server

2. 配置glusterfs

  • 启动服务
# systemctl start glusterd
  • 配置域名解析
# echo "169.254.155.112 build-centos81" >> /etc/hosts
# hostname
build-centos81
# hostname -i
169.254.155.112
  • 配置域名可信任
# gluster peer probe build-centos81

由于只有一个节点,这个可以不配置。多个节点需要相互配置可信任域名

3. 使用qemu-img创建磁盘

  • 创建一个1G磁盘并挂载
# qemu-img create -f qcow2 /home/gluster1.qcow2 1G   // qemu-img创建1G磁盘
# qemu-nbd -c /dev/nbd0 /homt/gluster1.qcow2         // qemu-nbd挂载
# mkfs.ext4 /dev/nbd0                                // 格式化磁盘
# mkdir -p /home/data1/brick1                        // 创建挂载点
# mount /dev/nbd0 /home/data1/brick1                 // 挂载磁盘
# mkdir -p /home/data1/brick1/gv0                    // 创建gv0目录,后面创建glusterfs会用到
  • 创建一个2G磁盘并挂载,过程同上
# qemu-img create -f qcow2 /home/gluster2.qcow2 2G   // qemu-img创建2G磁盘
# qemu-nbd -c /dev/nbd1 /homt/gluster2.qcow2         // qemu-nbd挂载
# mkfs.ext4 /dev/nbd1                                // 格式化磁盘
# mkdir -p /home/data2/brick1                        // 创建挂载点
# mount /dev/nbd1 /home/data2/brick1                 // 挂载磁盘
# mkdir -p /home/data2/brick1/gv0                    // 创建gv0目录,后面创建glusterfs会用到

4. 创建glusterfs文件系统

  • 创建volume
# gluster volume create gv0 replica 2 build-centos81:/home/data1/brick1/gv0 build-centos81:/home/data2/brick1/gv0 force

因为我们是在一个系统上模拟两个节点,这里要使用force参数,否则会出现下面的错误信息:

volume create: gv0: failed: Multiple bricks of a replicate volume are present on the same server. This setup is not optimal. Bricks should be on different nodes to have best fault tolerant configuration. Use ‘force’ at the end of the command if you want to override this behavior.

  • 启动volume
# gluster volume start gv0
  • 查看创建的volume信息
# gluster volume info
Volume Name: gv0
Type: Replicate
Volume ID: 7bf1b0e2-1dd2-44fe-a209-bc5ca430a350
Status: Started
Snapshot Count: 0
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: build-centos81:/home/data1/brick1/gv0
Brick2: build-centos81:/home/data2/brick1/gv0
Options Reconfigured:
transport.address-family: inet
storage.fips-mode-rchecksum: on
nfs.disable: on
performance.client-io-threads: off
  • 挂载glusterfs
# mount.glusterfs build-centos81:/gv0 /mnt
  • 查看大小
# df -h | grep mnt
build-centos81:/gv0                  976M   13M  907M   2% /mnt

可以看到挂载后的空间大小等于两个节点中较小的一个

5. 扩容

以上创建的两个节点的glusterfs,因此每次扩容需要两个节点。创建两个磁盘,每个磁盘为2G。

  • 扩容
# gluster volume add-brick gv0 build-centos81:/home/data3/brick1/gv0 build-centos81:/home/data4/brick1/gv0
# gluster volume infoVolume Name: gv0
Type: Distributed-Replicate
Volume ID: 7bf1b0e2-1dd2-44fe-a209-bc5ca430a350
Status: Started
Snapshot Count: 0
Number of Bricks: 2 x 2 = 4
Transport-type: tcp
Bricks:
Brick1: build-centos81:/home/data1/brick1/gv0
Brick2: build-centos81:/home/data2/brick1/gv0
Brick3: build-centos81:/home/data3/brick1/gv0
Brick4: build-centos81:/home/data4/brick1/gv0
Options Reconfigured:
transport.address-family: inet
storage.fips-mode-rchecksum: on
nfs.disable: on
performance.client-io-threads: off
# df -h | grep mnt
build-centos81:/gv0                  2.9G   38M  2.7G   2% /mnt

6. 缩容

  • 缩容
# gluster volume remove-brick gv0 build-centos81:/home/data3/brick1/gv0 build-centos81:/home/data4/brick1/gv0 start
Do you want to continue with your current cluster.force-migration settings? (y/n) y
volume remove-brick start: success
ID: 59a319e7-f055-4471-be3c-19c83b89665b# gluster volume remove-brick gv0 build-centos81:/home/data3/brick1/gv0 build-centos81:/home/data4/brick1/gv0 status
Node Rebalanced-files          size       scanned      failures       skipped               status  run time in h:m:s
---------      -----------   -----------   -----------   -----------   -----------         ------------     --------------
localhost                0        0Bytes             1             0             0            completed        0:00:00# gluster volume remove-brick gv0 build-centos81:/home/data3/brick1/gv0 build-centos81:/home/data4/brick1/gv0 commit
volume remove-brick commit: success

7. 删除glusterfs

  • umount挂载点
# umount /mnt
  • 停止glusterfs
# gluster volume stop gv0
  • 删除glusterfs
# gluster volume delete gv0
# gluster volume info
No volumes present

centos8搭建glusterfs服务相关推荐

  1. 搭建glusterfs集群

    搭建glusterfs集群 Glusterfs简介 GlusterFS是Scale-Out存储解决方案Gluster的核心,它是一个开源的分布式文件系统,具有强大的横向扩展能力,通过扩展能够支持数PB ...

  2. 基于centos8搭建zookeeper集群

    [README] 本文基于centos8 搭建 1,其他linux版本,命令可能不同: 2,集群包括3个节点,如下(因为采用NAT模型进行网络连接,需要让windows和linux机器在同一个网段): ...

  3. CentOS 7 搭建GlusterFS

    CentOS 7 搭建GlusterFS 实验需求: 4台机器安装GlusterFS组成一个集群 客户端把docker registry存储到文件系统里 4个节点的硬盘空间不整合成一个硬盘空间,要求每 ...

  4. centos8搭建maven私服(含nexus-3.28.1-01.tar.gz下载链接)

    centos8搭建maven私服 简介 maven maven私服 仓库简介 Nexus仓库类型介绍 私服搭建 环境 安装nexus 创建目录 下载 拷贝压缩文件至/usr/local目录下 解压 创 ...

  5. centos8搭建分布式集群

    目录 1.1 前言 2.1 环境配置清单 2.2 CentOS8服务器配置静态ip 2.2.1 配置个人电脑的网络设置 2.2.2 配置VMware 2.2.3 配置服务器[电脑ip变更,则需重新配置 ...

  6. 阿里云服务器CentOS8 搭建javaweb环境及mysql数据库安装

    阿里云服务器CentOS8 搭建javaweb环境及mysql数据库安装 一. JavaWeb环境搭建 步骤1:登录 Linux 实例 1.使用标准方式登录 Linux 实例(推荐) 浏览器直接搜索阿 ...

  7. 云服务器centos8搭建网站 apache+php+mysql

    由于对数据库容量要求比较大,年费用300左右的普通虚拟主机只能提供500M-1G的数据库,不能满足要求,故寻找到同样费用的云服务器单核.1G内存.系统盘50G,缺点是只提供基本系统centos,其他要 ...

  8. 五分钟搭建BERT服务,实现1000+QPS​,这个Service-Streamer做到了

    作者 | 刘欣 简介:刘欣,Meteorix,毕业于华中科技大学,前网易游戏技术总监,现任香侬科技算法架构负责人.之前专注游戏引擎工具架构和自动化领域,2018年在GDC和GoogleIO开源Airt ...

  9. 15.4 xshell使用xftp传输文件;15.5 使用pure-ftpd搭建ftp服务

    扩展: vsftp使用mysql存放虚拟用户并验证 : http://www.aminglinux.com/bbs/thread-342-1-1.html ftp的主动和被动模式 : http://w ...

最新文章

  1. kubernetes学习笔记之十三:基于calico的网络策略入门
  2. 【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 调试进程 ATTACH 附着目标进程 | 读取目标函数寄存器值并存档 )
  3. b. Suffix Zeroes
  4. 常用对照表之TCP及UDP常见端口参照
  5. Android SDK更新的问题
  6. python如何实现通知_ExASIC: 用python实现一个通知机器人
  7. 如何快速分析一款ios软件或需求的大流程,然后在业务层实现,不牵扯到界面?...
  8. 新年继续发红包,1500元!
  9. html怎么制作附页,HTML和CSS属性的正确书写规范
  10. structs2 get方式传参中文乱码解决方法
  11. 解决ArcGIS安装之后出现的Windows installer configures问题
  12. python从入门到精通pdf下载-Python网络爬虫从入门到精通 PDF 下载
  13. 语音识别相关工具和资料分享
  14. 软件测试——软件开发过程
  15. 竞赛保研(自动化专业)
  16. html 页面自动弹出,javaScript实现自动弹出页面
  17. 免费企业邮箱怎么注册申请
  18. 华为数通HCIE实验考试LAB-C2全记录
  19. mysql 数据库字符集转换_字符集介绍及mysql数据库编码转换
  20. android照片不小心删除,如何恢复安卓手机误删除的照片

热门文章

  1. Baseline管理
  2. IHttpModule的那些事
  3. python库的学习系列之 13.2. ConfigParser — Configuration file parser
  4. 做DNS子域委派配置
  5. 使用Maven管理Eclipse Java项目
  6. chrome 浏览器之下载管理器插件
  7. EDEN-MACE 1.4.0 更新,增加数据清理功能
  8. matlab练习程序(图像放大/缩小,放大没有进行插值操作)
  9. iOS知识点个人归纳总结--Runtime
  10. 服务端I/O性能:Node、PHP、Java、Go的对比