虚拟化KVM和REDIS基础及高可用集群

发布时间:2026/7/13 15:38:41
虚拟化KVM和REDIS基础及高可用集群 一、virt-manager 图形化创建虚拟机完整过程总结1. 前置环境准备宿主机开启 CPU 虚拟化BIOS 开启 Intel VT-x/AMD-V安装虚拟化依赖包启动并设置开机自启 libvirtd 服务上传系统 ISO 镜像至宿主机本地目录配置存储池存放磁盘镜像配置虚拟网络默认 NAT 网络 default如需外网桥接提前创建桥接网卡。2. virt-manager 创建虚拟机步骤打开 virt-manager连接 QEMU/KVM 本地虚拟化会话点击「新建虚拟机」选择本地介质 ISO 镜像安装选择上传好的系统 ISO自动识别操作系统版本取消自动检测可手动选择分配硬件资源CPU 核心数、内存大小不超过宿主机物理内存一半创建虚拟磁盘设置磁盘大小、存储格式qcow2 稀疏镜像推荐节省空间选择存储池存放虚拟机命名勾选「在安装前自定义配置」进入硬件微调网卡默认 virtio 网卡连接 default NAT 网络显示VGA/Spice开启剪贴板共享磁盘总线改为 virtio 提升 IO 性能确认配置后启动虚拟机进入操作系统安装界面分区、设置用户名密码、完成系统安装安装虚拟化驱动virtio 驱动重启后实现文件拖拽、屏幕自适应。3. 图形化方式优缺点优点可视化操作适合新手硬件修改直观快照、克隆一键操作缺点批量部署多台虚拟机效率低无法自动化不适合服务器无图形环境。二、命令行qemu-imgvirt-install创建虚拟机实践总结1. 工具说明核心工具qemu-img创建、管理 qcow2 虚拟磁盘virt-installlibvirt 命令行一键创建虚拟机virsh虚拟机生命周期管理。2. 完整实操流程步骤 1创建虚拟磁盘镜像# 创建20G qcow2稀疏磁盘步骤 2virt-install 命令创建虚拟机bash参数说明指定名称、内存 CPU、磁盘路径、虚拟网卡、图形显示、ISO 安装源。步骤 3连接控制台安装系统步骤 4安装完成后常规操作关机虚拟机virsh shutdown centos7-test导出 xml 配置备份virsh dumpxml centos7-test centos7.xml后续可通过 xml 批量新建虚拟机virsh define centos7.xml3. 命令行创建优缺点优点可写入 Shell 脚本批量自动化部署无图形服务器可用适配运维自动化缺点需要记忆大量参数调试门槛高硬件修改需编辑 xml 文件。三、virsh 虚拟机管理实战总结1. 基础生命周期管理bash2. 配置与磁盘快照管理bash3. 硬件热调整实战内存热扩容虚拟机运行中生效bashvirsh setmem vm 4096M --liveCPU 核心调整需关机修改 xmlbashvirsh edit vm # 修改vcpu字段后重启生效新增磁盘、网卡编辑 xml attach-detach 设备4. 存储池 虚拟网络管理bash# 存储池 virsh pool-list --all virsh pool-start 存储池名 # 虚拟网络 virsh net-list --all virsh net-dumpxml default virsh net-start default5. 课程练习总结实操练习覆盖虚拟机启停、快照备份恢复、配置导出迁移、硬件资源调整核心要点virsh edit直接编辑 xml 修改硬件生产环境优先优雅 shutdowndestroy 仅故障应急批量运维思路导出 xml 模板替换磁盘路径、主机名实现批量克隆虚拟机。四、Redis 单机安装 Redis 高可用集群部署总结一Redis 单机安装实践1. 源码编译安装流程安装依赖apt install build-essential gcc make wget下载解压 redis 源码配置系统后台运行bash修改核心配置启动与自启配置systemd管理实现开机自启连接测试exit单机优缺点优点部署简单适合测试、小型业务缺点无数据备份、无故障转移宕机数据丢失无法扩容。二Redis 高可用集群主从 哨兵 Sentinel部署架构规划1 主6379 2 从6380、6381 3 个哨兵26379、26380、26381实现自动故障转移。1. 主从复制部署复制三份 redis 配置分别修改端口、pid、持久化文件从节点配置添加同步主库confreplicaof 127.0.0.1 6379 masterauth 123456依次启动主、两个从节点验证复制主节点写入数据从节点查询同步数据。2. Sentinel 哨兵高可用部署新建sentinel.conf3 份哨兵配置端口分别 26379/26380/26381 核心配置confport 26379 daemonize yes sentinel monitor mymaster 127.0.0.1 6379 2 sentinel auth-pass mymaster 123456 sentinel down-after-milliseconds mymaster 3000 sentinel failover-timeout mymaster 10000参数说明2 代表至少 2 个哨兵判定主库宕机才触发切换。启动三个哨兵进程bashredis-sentinel /etc/redis/sentinel-26379.conf3. 故障转移测试手动关闭主 Redisredis-cli -p 6379 shutdown哨兵自动检测故障重新选举新主库原从节点晋升为主剩余从节点自动切换复制新主重启旧主后自动变为新主的从节点。4. 集群总结主从实现数据热备份读写分离哨兵实现主库自动故障转移保证高可用适用场景中小型生产缓存数据不丢失、服务不间断扩展海量数据分片场景需使用 Redis Cluster 分片集群。