proxmox VE备份优化手记--两次优化,大幅度提高性能

2024-01-19 21:58

本文主要是介绍proxmox VE备份优化手记--两次优化,大幅度提高性能,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

问题描述

某项目由两套proxmox组成,一套运行所有的应用程序,一台运行mysql数据库。为了保险起见,proxmox外挂共享存储,夜间对所有的虚拟机进行自动备份。
在这里插入图片描述
备份是用的一台4U服务器,考虑到容量与成本,用了一台旧的4U服务器,插了好多慢速的sata盘,有效容量达超过35TB。项目上线后,前半年运行都还很正常,随着业务的增加,数据量跟着增长,特别是数据库的数量及大小。随之而来的是监控系统报警频繁,用户体验变差。而且这个影响面还挺大的。通过排查,发现是数据库虚拟机备份所致。

设定的备份是从凌晨0:30分开始的,基本不能在白天上班前完成,更糟糕的情况,会延迟到傍晚。数据库的性能IO,引起访问堵塞,造成一系列的连锁反应,运维工作的压力极大。

临时措施

为了保证业务的正常,同时也考虑数据安全,征用一台容量小一点的闲置服务器(本来是用于其它目的),其硬盘全部为600G的15000转的sas机械硬盘。将其配置成nfs服务以后,挂接到proxmox数据中心。
在这里插入图片描述
设定好以后,夜里安排人轮流跟踪,有报警立即相互通知,还好,未出现堵塞现象。这说明确实是sata性能太差,导致备份速度太慢所致。观察一個星期,如果问题不复现,就出正式的解决方案。这样拿数据说话,也能得到决策人的支持。

方案设计

因为不是不差钱那种机构,因此不可能单独买一套sas盘的存储,而弃用现有的低性能存储。只能在现有这个存储上做优化,提高其性能。在另外一個与之无关的项目中,曾经采购过数台阿里云的“高效云盘”来存放计算密集性的应用(java、php、数据库等),用户访问量大时(用户在线人数上万时),也是老出问题,因而对这个事情印象深刻。所谓的高效云盘,就是用ssd缓存后端的sata盘数据,性能比裸的sata好不少。数据备份没有应用对应磁盘性能那么高的要求,那么借鉴这个方式,是不是对备份的整体写入性能有帮助呢?

原系统有一块ssd,用于安装操作系统,其它sata用于共享,在底层做成了raid 5。再采购一块512G的ssd,拔掉一块sata盘。

咨询硬件供应商,并告知当前使用raid卡的类型及型号,得到的答复是方案可行,并且现有的raid卡可支持ssd缓存,仅仅需要采购一個硬件缓存加速模块并支付少许授权费。以前没有这方面的实践,心里没多少底,但就算达不到要求,造成的资金损失也不大(ssd可做它用)。
在这里插入图片描述
总结一下,就是在现有基础上,采购一块512G的ssd硬盘及一块raid卡缓存加速模块,做上配置,即可投入使用。

方案实施

月黑风高夜,派一小弟悄声潜入机房。关机,下架,插入ssd盘,为了方便插入raid 缓存加速模块,把raid卡抠下来,插好缓存加速模块后再插回主板。
在这里插入图片描述
硬件准备就绪以后,上架,通电。

进raid卡设置界面(在系统引导之前),给sata盘做好raid 5,然后使用菜单,把512G的ssd盘设置成raid 组的缓存设备。具体的操作,请参照各厂商的操作手册。
在这里插入图片描述
设置完毕以后,继续引导,进入系统,应该看不到做缓存的那个512G硬盘。
配置nfs共享目录并启动nfs服务,然后在proxmox数据中心挂接此nfs共享目录。

实施效果

是骡子是马,拉出来溜溜才清楚。

先用磁盘性能工具hdparm及dd等工具测试,速度确实比裸sata盘快好几倍。看看时间差不多了,把备份时间提前半小时,从0:00让系统自动开始备份。相关人等注意听着手机,一有报警相互通知。

早上七点,起来查看备份情况(proxmox管理界面可跟踪到具体备份到那个虚拟机,备份量是多少),完成了将近90%。送了一口气,等到9点钟再看,备份完成。

联系其他运行人员,了解用户访问情况,反馈一切正常,未出现以前那种全部卡住的现象。
在这里插入图片描述

这篇关于proxmox VE备份优化手记--两次优化,大幅度提高性能的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Springboot中分析SQL性能的两种方式详解

《Springboot中分析SQL性能的两种方式详解》文章介绍了SQL性能分析的两种方式:MyBatis-Plus性能分析插件和p6spy框架,MyBatis-Plus插件配置简单,适用于开发和测试环... 目录SQL性能分析的两种方式:功能介绍实现方式:实现步骤:SQL性能分析的两种方式:功能介绍记录

Deepseek使用指南与提问优化策略方式

《Deepseek使用指南与提问优化策略方式》本文介绍了DeepSeek语义搜索引擎的核心功能、集成方法及优化提问策略,通过自然语言处理和机器学习提供精准搜索结果,适用于智能客服、知识库检索等领域... 目录序言1. DeepSeek 概述2. DeepSeek 的集成与使用2.1 DeepSeek API

Tomcat高效部署与性能优化方式

《Tomcat高效部署与性能优化方式》本文介绍了如何高效部署Tomcat并进行性能优化,以确保Web应用的稳定运行和高效响应,高效部署包括环境准备、安装Tomcat、配置Tomcat、部署应用和启动T... 目录Tomcat高效部署与性能优化一、引言二、Tomcat高效部署三、Tomcat性能优化总结Tom

Rsnapshot怎么用? 基于Rsync的强大Linux备份工具使用指南

《Rsnapshot怎么用?基于Rsync的强大Linux备份工具使用指南》Rsnapshot不仅可以备份本地文件,还能通过SSH备份远程文件,接下来详细介绍如何安装、配置和使用Rsnaps... Rsnapshot 是一款开源的文件系统快照工具。它结合了 Rsync 和 SSH 的能力,可以帮助你在 li

解读Redis秒杀优化方案(阻塞队列+基于Stream流的消息队列)

《解读Redis秒杀优化方案(阻塞队列+基于Stream流的消息队列)》该文章介绍了使用Redis的阻塞队列和Stream流的消息队列来优化秒杀系统的方案,通过将秒杀流程拆分为两条流水线,使用Redi... 目录Redis秒杀优化方案(阻塞队列+Stream流的消息队列)什么是消息队列?消费者组的工作方式每

SQL Server使用SELECT INTO实现表备份的代码示例

《SQLServer使用SELECTINTO实现表备份的代码示例》在数据库管理过程中,有时我们需要对表进行备份,以防数据丢失或修改错误,在SQLServer中,可以使用SELECTINT... 在数据库管理过程中,有时我们需要对表进行备份,以防数据丢失或修改错误。在 SQL Server 中,可以使用 SE

Oracle查询优化之高效实现仅查询前10条记录的方法与实践

《Oracle查询优化之高效实现仅查询前10条记录的方法与实践》:本文主要介绍Oracle查询优化之高效实现仅查询前10条记录的相关资料,包括使用ROWNUM、ROW_NUMBER()函数、FET... 目录1. 使用 ROWNUM 查询2. 使用 ROW_NUMBER() 函数3. 使用 FETCH FI

C#使用HttpClient进行Post请求出现超时问题的解决及优化

《C#使用HttpClient进行Post请求出现超时问题的解决及优化》最近我的控制台程序发现有时候总是出现请求超时等问题,通常好几分钟最多只有3-4个请求,在使用apipost发现并发10个5分钟也... 目录优化结论单例HttpClient连接池耗尽和并发并发异步最终优化后优化结论我直接上优化结论吧,

Java内存泄漏问题的排查、优化与最佳实践

《Java内存泄漏问题的排查、优化与最佳实践》在Java开发中,内存泄漏是一个常见且令人头疼的问题,内存泄漏指的是程序在运行过程中,已经不再使用的对象没有被及时释放,从而导致内存占用不断增加,最终... 目录引言1. 什么是内存泄漏?常见的内存泄漏情况2. 如何排查 Java 中的内存泄漏?2.1 使用 J

C#使用yield关键字实现提升迭代性能与效率

《C#使用yield关键字实现提升迭代性能与效率》yield关键字在C#中简化了数据迭代的方式,实现了按需生成数据,自动维护迭代状态,本文主要来聊聊如何使用yield关键字实现提升迭代性能与效率,感兴... 目录前言传统迭代和yield迭代方式对比yield延迟加载按需获取数据yield break显式示迭