KVM+GFS分布式存储系统构建KVM高可用

2023-12-07 21:15

本文主要是介绍KVM+GFS分布式存储系统构建KVM高可用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、安装部署KVM虚拟化平台
1、安装KVM虚拟化平台
yum -y install qemu-kvm qemu-kvm-tools virt-install qemu-img bridge-utils libvirt virt-manager
2、验证
cat /proc/cpuinfo | grep vmx
lsmod | grep kvm
3、开启libvirtd服务
systemctl start libvirtd && systemctl enable libvirtd
二、部署GlusterFS
1、在所有节点上执行如下操作:
systemctl stop firewalld && systemctl disable firewalld
setenforce 0 && sed -i s/enforcing/disabled/g /etc/selinux/config
cat >> /etc/hosts<<EOF
192.168.180.210 node1
192.168.180.200 node2
192.168.180.190 node3
192.168.180.180 node4
192.168.180.170 kvm
EOF
2、所有主机修改主机名称
以node1为例
hostnamectl set-hostname node1
3、在4个节点服务器上安装GlusterFS并启动服务
yum -y install centos-release-gluster
yum -y install glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma openssl-devel
systemctl start glusterd.service && systemctl enable glusterd.service
4、在node1上添加所有节点
gluster peer probe node2 && gluster peer probe node3 && gluster peer probe node4
5、查看群集状态
gluster peer status
6、创建GlusterFS分布式复制卷并启动卷
所有节点创建/data目录
mkdir /data
创建分布式复制卷
gluster volume create models replica 2 node1:/data node2:/data node3:/data node4:/data force
查看models卷
gluster volume info models
启动models卷
gluster volume start models
7、在KVM主机上挂载glusterfs卷
yum -y install glusterfs glusterfs-fuse
mkdir /kvmdata
mount -t glusterfs node1:models /kvmdata/
8、kvm使用卷创建虚拟机
添加镜像存储池ISO 以及虚拟机存放目录存储池data,把两个存储池存放到glusterfs 挂载的/kvmdata 目录下
指定虚拟机安装位置,将文件存放到/kvmdata中
virt-install -n test05 -r 1024 --vcpus=1 --disk path=/kvmdata/test05.qcow2,size=10 -w bridge:br0 --virt-type=kvm --accelerate --autostart -c /data_kvm/iso/CentOS-7-x86_64-DVD-2009.iso --vnc --vncport=5901 --vnclisten=0.0.0.0
9、验证存储
virsh list --all
在四台节点上查看目录里是否存在虚拟机文件

这篇关于KVM+GFS分布式存储系统构建KVM高可用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/467387

相关文章

Nginx分布式部署流程分析

《Nginx分布式部署流程分析》文章介绍Nginx在分布式部署中的反向代理和负载均衡作用,用于分发请求、减轻服务器压力及解决session共享问题,涵盖配置方法、策略及Java项目应用,并提及分布式事... 目录分布式部署NginxJava中的代理代理分为正向代理和反向代理正向代理反向代理Nginx应用场景

Java 线程池+分布式实现代码

《Java线程池+分布式实现代码》在Java开发中,池通过预先创建并管理一定数量的资源,避免频繁创建和销毁资源带来的性能开销,从而提高系统效率,:本文主要介绍Java线程池+分布式实现代码,需要... 目录1. 线程池1.1 自定义线程池实现1.1.1 线程池核心1.1.2 代码示例1.2 总结流程2. J

使用Node.js和PostgreSQL构建数据库应用

《使用Node.js和PostgreSQL构建数据库应用》PostgreSQL是一个功能强大的开源关系型数据库,而Node.js是构建高效网络应用的理想平台,结合这两个技术,我们可以创建出色的数据驱动... 目录初始化项目与安装依赖建立数据库连接执行CRUD操作查询数据插入数据更新数据删除数据完整示例与最佳

Docker多阶段镜像构建与缓存利用性能优化实践指南

《Docker多阶段镜像构建与缓存利用性能优化实践指南》这篇文章将从原理层面深入解析Docker多阶段构建与缓存机制,结合实际项目示例,说明如何有效利用构建缓存,组织镜像层次,最大化提升构建速度并减少... 目录一、技术背景与应用场景二、核心原理深入分析三、关键 dockerfile 解读3.1 Docke

Three.js构建一个 3D 商品展示空间完整实战项目

《Three.js构建一个3D商品展示空间完整实战项目》Three.js是一个强大的JavaScript库,专用于在Web浏览器中创建3D图形,:本文主要介绍Three.js构建一个3D商品展... 目录引言项目核心技术1. 项目架构与资源组织2. 多模型切换、交互热点绑定3. 移动端适配与帧率优化4. 可

Redis实现分布式锁全过程

《Redis实现分布式锁全过程》文章介绍Redis实现分布式锁的方法,包括使用SETNX和EXPIRE命令确保互斥性与防死锁,Redisson客户端提供的便捷接口,以及Redlock算法通过多节点共识... 目录Redis实现分布式锁1. 分布式锁的基本原理2. 使用 Redis 实现分布式锁2.1 获取锁

Python利用PySpark和Kafka实现流处理引擎构建指南

《Python利用PySpark和Kafka实现流处理引擎构建指南》本文将深入解剖基于Python的实时处理黄金组合:Kafka(分布式消息队列)与PySpark(分布式计算引擎)的化学反应,并构建一... 目录引言:数据洪流时代的生存法则第一章 Kafka:数据世界的中央神经系统消息引擎核心设计哲学高吞吐

Springboot项目构建时各种依赖详细介绍与依赖关系说明详解

《Springboot项目构建时各种依赖详细介绍与依赖关系说明详解》SpringBoot通过spring-boot-dependencies统一依赖版本管理,spring-boot-starter-w... 目录一、spring-boot-dependencies1.简介2. 内容概览3.核心内容结构4.

Go语言使用net/http构建一个RESTful API的示例代码

《Go语言使用net/http构建一个RESTfulAPI的示例代码》Go的标准库net/http提供了构建Web服务所需的强大功能,虽然众多第三方框架(如Gin、Echo)已经封装了很多功能,但... 目录引言一、什么是 RESTful API?二、实战目标:用户信息管理 API三、代码实现1. 用户数据

Redis分布式锁中Redission底层实现方式

《Redis分布式锁中Redission底层实现方式》Redission基于Redis原子操作和Lua脚本实现分布式锁,通过SETNX命令、看门狗续期、可重入机制及异常处理,确保锁的可靠性和一致性,是... 目录Redis分布式锁中Redission底层实现一、Redission分布式锁的基本使用二、Red