新闻详情

新闻详情

首页 / 资讯中心 / 详情

GlusterFS集群部署脚本合集

发布时间:2026/10/2 2:24:16来源:尧图网络
GlusterFS集群部署脚本合集
GlusterFS 集群部署脚本合集整合版 · txt 可直接复制粘贴适用环境CentOS 7.x GlusterFS 7.9阿里云 Storage SIG 源集群规模node1~node4存储节点 client客户端【执行顺序速查】序号 脚本名 在哪台执行---- ----------------------------- --------------------------------00 00_init_system.sh 主机名 node1~4、client参数为各自主机名01 01_setup_hosts.sh node1~4、client02 02_setup_yum.sh node1~4、client03 03_format_disks.sh node1~404 04_install_server.sh node1~405 05_create_cluster.sh node1仅一台06 06_install_client.sh client所有脚本均幂等重复执行不会出错。在 CentOS 7 上用 bash 运行即可例bash 00_init_system.sh node1--------------------------------------------------------------------------------【00_init_system.sh】通用初始化关防火墙/SELinux、设主机名适用机器node1~4、client参数为各自主机名用法示例bash 00_init_system.sh node1--------------------------------------------------------------------------------#!/bin/bashHOST${1:?用法: bash 00_init_system.sh 主机名}echo 设置主机名为 $HOSThostnamectl set-hostname $HOSTecho 关闭防火墙systemctl stop firewalld 2/dev/nullsystemctl disable firewalld 2/dev/nullecho 关闭 SELinuxsed -i s/SELINUX.*/SELINUXdisabled/g /etc/selinux/configsetenforce 0 2/dev/nullecho 完成当前信息echo 主机名: $(hostname)echo 防火墙: $(systemctl is-active firewalld)echo SELinux: $(getenforce)--------------------------------------------------------------------------------【01_setup_hosts.sh】写入集群 5 台主机名映射适用机器node1~4、client内容一致--------------------------------------------------------------------------------#!/bin/bashif grep -q node1$ /etc/hosts; thenecho /etc/hosts 已包含 node1~node4/client 映射跳过写入elseecho 追加集群主机名映射到 /etc/hostscat /etc/hosts EOF10.10.10.40 client10.10.10.41 node110.10.10.42 node210.10.10.43 node310.10.10.44 node4EOFfiecho 当前 /etc/hosts 主机名映射grep -E client|node[1-4] /etc/hosts--------------------------------------------------------------------------------【02_setup_yum.sh】配置阿里云 yum 源base/updates/extras/epel/gluster7适用机器node1~4、client说明自动停用失效的本地源 local.repo避免 yum 报错--------------------------------------------------------------------------------#!/bin/bashecho 1) 停用可能失效的本地源 local.repoif [ -f /etc/yum.repos.d/local.repo ]; thenmv /etc/yum.repos.d/local.repo /etc/yum.repos.d/local.repo.bakecho 已改名 /etc/yum.repos.d/local.repo - local.repo.bakfiecho 2) 配置 CentOS 7 基础源阿里云if [ ! -f /etc/yum.repos.d/centos7.repo ]; thencat /etc/yum.repos.d/centos7.repo EOF[base]nameCentOS-7 - Basebaseurlhttps://mirrors.aliyun.com/centos/7/os/x86_64/gpgcheck0enabled1[updates]nameCentOS-7 - Updatesbaseurlhttps://mirrors.aliyun.com/centos/7/updates/x86_64/gpgcheck0enabled1[extras]nameCentOS-7 - Extrasbaseurlhttps://mirrors.aliyun.com/centos/7/extras/x86_64/gpgcheck0enabled1EOFecho centos7.repo 已生成fiecho 3) 配置 EPEL 源阿里云if [ ! -f /etc/yum.repos.d/epel.repo ]; thencat /etc/yum.repos.d/epel.repo EOF[epel]nameEPEL 7baseurlhttps://mirrors.aliyun.com/epel/7/x86_64/gpgcheck0enabled1EOFecho epel.repo 已生成fiecho 4) 配置 GlusterFS 7 源CentOS Storage SIG阿里云镜像if [ ! -f /etc/yum.repos.d/gluster7.repo ]; thencat /etc/yum.repos.d/gluster7.repo EOF[gluster7]nameGlusterFS 7 (CentOS 7 Storage SIG)baseurlhttps://mirrors.aliyun.com/centos/7/storage/x86_64/gluster-7/gpgcheck0enabled1EOFecho gluster7.repo 已生成fiecho 5) 刷新缓存yum clean all /dev/null 21yum makecache /dev/null 21echo 当前启用的仓库yum repolist | tail -8--------------------------------------------------------------------------------【03_format_disks.sh】数据盘分区、格式化、挂载适用机器node1~4需已挂载 4 块数据盘 /dev/sdb~sde--------------------------------------------------------------------------------#!/bin/bashecho 检查数据盘是否存在for i in b c d e; doif [ ! -e /dev/sd$i ]; thenecho 警告/dev/sd$i 不存在请先在虚拟化软件中给本机添加数据盘。fidoneecho 分区 / 格式化 / 挂载 数据盘for i in b c d e; do[ -e /dev/sd$i ] || continueecho ---- 处理 /dev/sd$i ----if mountpoint -q /tat/sd$i 2/dev/null; thenecho /tat/sd$i 已挂载跳过continuefiprintf n\np\n1\n\n\nw\n | fdisk /dev/sd$i /dev/null 21mkfs.xfs -f /dev/sd${i}1 /dev/null 21mkdir -p /tat/sd$igrep -q /tat/sd$i /etc/fstab || echo /dev/sd${i}1 /tat/sd$i xfs defaults 0 0 /etc/fstabecho /dev/sd${i}1 - /tat/sd$i 完成doneecho 挂载全部 fstab 项mount -aecho 数据盘挂载结果df -h | grep /tat || echo 未检测到挂载点--------------------------------------------------------------------------------【04_install_server.sh】安装 GlusterFS 服务端并启动 glusterd适用机器node1~4--------------------------------------------------------------------------------#!/bin/bashecho 安装 GlusterFS 服务端联网下载可能需要几分钟yum install -y glusterfs-server glusterfs glusterfs-fuse glusterfs-rdmaecho 设置 glusterd 开机自启并启动systemctl enable glusterdsystemctl start glusterdecho 等待 glusterd 就绪sleep 3echo 验证echo glusterd 状态: $(systemctl is-active glusterd)echo 版本信息:gluster --version | head -1--------------------------------------------------------------------------------【05_create_cluster.sh】组建集群 创建分布式复制卷 dis-rep适用机器node1仅一台--------------------------------------------------------------------------------#!/bin/bashecho 1) 组建集群peer probe node2/3/4gluster peer probe node2gluster peer probe node3gluster peer probe node4echo 2) 查看 peer 状态若未全部收敛等 5~10 秒后重试建卷gluster peer statusecho 3) 等待集群状态收敛sleep 8echo 4) 创建分布式复制卷 dis-repreplica 2if gluster volume info dis-rep /dev/null 21; thenecho dis-rep 卷已存在跳过创建elsegluster volume create dis-rep replica 2 \node1:/tat/sde node2:/tat/sde node3:/tat/sde node4:/tat/sde forcefiecho 5) 查看卷信息gluster volume info dis-rep | grep -E Volume Name|Type|Status|Brickecho 6) 启动卷gluster volume start dis-repecho 7) 卷状态gluster volume status dis-rep | grep -E Brick|Status of volume--------------------------------------------------------------------------------【06_install_client.sh】客户端部署安装、挂载、写入测试文件适用机器client需先完成 00/01/02 脚本--------------------------------------------------------------------------------#!/bin/bashecho 1) 安装客户端组件yum install -y glusterfs glusterfs-fuseecho 2) 创建挂载目录mkdir -p /test/dis-repecho 3) 挂载分布式复制卷if mountpoint -q /test/dis-rep 2/dev/null; thenecho /test/dis-rep 已挂载跳过elsemount.glusterfs node1:dis-rep /test/dis-repfiecho 4) 查看挂载情况df -h | grep dis-repecho 5) 生成 5 个测试文件并复制到挂载点for i in 1 2 3 4 5; dodd if/dev/zero of/opt/test$i.txt bs1M count5 2/dev/nulldonecp /opt/test* /test/dis-rep/echo 6) 挂载点内容应看到 test1~5.txtls -lh /test/dis-rep/echo 7) 验证读写在挂载点正常echo hello-glusterfs /test/dis-rep/hello.txt cat /test/dis-rep/hello.txt整合自 deploy_scripts 目录 00~06 脚本2026-09-22
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

学生信息管理系统|基于java + vue学生信息管理系统(源码+数据库+文档) 2026/10/2 3:21:36

学生信息管理系统|基于java + vue学生信息管理系统(源码+数据库+文档)

学生信息管理系统 目录 基于springboot vue学生信息管理系统 一、前言 二、系统功能演示 三、技术选型 四、其他项目参考 五、代码参考 六、测试参考 七、最新计算机毕设选题推荐 八、源码获取: 基于springboot vue学生信息管理系统 一、前言 博主介绍&…

阅读更多 →
Oracle数据泵impdp导入dump全攻略:从原理到高频报错排查 2026/10/2 3:21:36

Oracle数据泵impdp导入dump全攻略:从原理到高频报错排查

上周接到一个活,把生产库导出的一整套dump文件恢复到测试环境。原本以为就是impdp一条命令的事,结果从directory对象报错到表空间配额不足,前后折腾了两个多小时。事后我把这次导入过程重新复盘了一遍,又把以往做数据库迁移、测试…

阅读更多 →
垃圾分类目标检测实战:从数据采集到Jetson Nano部署 2026/10/2 3:21:36

垃圾分类目标检测实战:从数据采集到Jetson Nano部署

简介:本资源是一套面向计算机专业本科生的毕业设计实战项目,聚焦深度学习在环保领域的落地应用——垃圾分类目标检测系统,适用于毕业设计、课程大作业及项目能力提升场景。资源包含完整可运行的Python源码、答辩PPT及配套文档,已通…

阅读更多 →
MySQL开发实战:从部署到调优的完整避坑指南 2026/10/2 3:21:36

MySQL开发实战:从部署到调优的完整避坑指南

这几天连续帮人排查 MySQL 问题,从 Windows 服务起不来,到 SSL 连接握手失败,再到锁表把线上业务堵死,我发现大多数人对 MySQL 开发的认知停留在“会写 SELECT 就行”——但真实项目里,安装、连接、事务、索引、调优才…

阅读更多 →
编译器扩展与C++跨平台兼容性:从Access Violation到VSCode跳转失灵的排雷指南 2026/10/2 3:21:36

编译器扩展与C++跨平台兼容性:从Access Violation到VSCode跳转失灵的排雷指南

写 C 的人,多少都经历过这种玄学时刻:同一份代码,在 GCC 下编得顺风顺水,拿到 MSVC 上一堆报错;或者某天兴致勃勃地切换编译器,结果被“attribute不认识”糊了一脸。再夸张一点的,是 C# 调用 C …

阅读更多 →
HE图像预测空间基因表达:数据预处理与线性注意力Transformer实战 2026/10/2 3:21:29

HE图像预测空间基因表达:数据预处理与线性注意力Transformer实战

病理医生在显微镜下看一张H&E切片,能直接判断肿瘤类型、分级,有时候还能猜出大致的分子亚型——这说明形态学的轮廓里,藏着基因表达的部分信息。而"Digital profiling of gene expression from histology images with linearized at…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉