问题描述

某项目由两套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备份优化手记--两次优化,大幅度提高性能相关推荐

  1. U3D DrawCall优化手记 - 夜阑卧听风吹雨

     原文  http://www.cnblogs.com/ybgame/p/3588795.html 在最近,使用U3D开发的游戏核心部分功能即将完成,中间由于各种历史原因,导致项目存在比较大的问题,这 ...

  2. 【转】 U3D DrawCall优化手记 - 夜阑卧听风吹雨

     原文  http://www.cnblogs.com/ybgame/p/3588795.html 在最近,使用U3D开发的游戏核心部分功能即将完成,中间由于各种历史原因,导致项目存在比较大的问题,这 ...

  3. rman开启备份优化对备份归档的影响

    问题: 今天遇到了一个奇怪的问题,crontab做的定时任务,每天进行0级增量备份,先备份数据库库,然后单独备份归档,并且开启了备份优化,按道理讲每天的备份文件都差不多或者稍微大点才对,但是现在的情况 ...

  4. 第七篇:使用 CUDA 进行计算优化的两种思路

    前言 本文讨论如何使用 CUDA 对代码进行并行优化,并给出不同并行思路对均值滤波的实现. 并行优化的两种思路 思路1: global 函数 在 global 函数中创建出多个块多个线程对矩阵每个元素 ...

  5. [整理] C#调用SQLDMO.DLL时间数据库备份 / 还原。 (香神无涯) // C#实现SQLSERVER2000数据库备份还原的两种方法 (带进度条)...

    /// <summary> /// 通过调用MSSQL的SQLDMO.DLL文件来实现备份数据库 /// 1.首先在在项目中引用SQLDMO.DLL文件. /// 2.在引用中的SQLDM ...

  6. bct对oracle影响,Oracle 优化篇+Rman增量备份优化之BCT(块变更追踪)

    说明:本文为面向Oracle BCT(BLOCK CHANGE TRACKING)初学者的指导手册 标签:BCT.BLOCK CHANGE TRACKING.增量备份.备份优化.RMAN 注意:文中删 ...

  7. 双隐藏层BP网络的matlab仿真,求遗传算法优化含有两个隐含层的BP神经网络的matlab程序...

    怎样用遗传算法优化含有两个隐含层的BP神经网络的matlab程序啊,这个代码是错的,可不知道错在哪,求高手帮忙解答,非常感谢! FieldD=[repmat(PRECI,1,N);repmat([-0 ...

  8. 如何通过备份 Windows 7 “ 两个激活文件”实现重装操作系统后的自行激活?

    用 "MAK密钥"联网激活Windows 7企业版或专业版,是时过境迁的历史机遇(至少目前如此):用"神Key"联网激活Windows 7旗舰版,靠的是&quo ...

  9. 算法衡量auc_优化AUC两遍学习算法

    曲线ROC下的面积(简称AUC)是机器学习中一种重要的性能评价准则[,广泛应用于类别不平衡学习.代价敏感学习.信息检索等诸多学习任务.例如,在邮件协调过滤或人脸识别中,某些类别的数据显著多于其他类别, ...

最新文章

  1. 协作是企业管理的重点和难点
  2. 清华成果发布 | 广度学习基础计算系统集成平台
  3. openshift harp.js heroku react-router 4
  4. POJ - 3254 - Corn Fields
  5. Linux安装指定版本Angular Cli
  6. POJ 1330 Nearest Common Ancestors 【LCA模板题】
  7. 您的屁股发热严重,请降温后使用。
  8. python类库31[使用minidom读写xml]
  9. envi图像裁剪_【ENVI基础】如何进行水体提取?
  10. No package ‘vte-2.91‘ found
  11. JDK下载与安装详细步骤
  12. 学科网软件测试,对比学科网和菁优网:选择二一组卷平台的N个理由
  13. ubuntu11.04(unix 就可以了) 共享文件以及支持上传文件
  14. HTML顶部状态栏更改背景,适合做导航栏背景的图片
  15. 微信小程序使用云函数实现客户下单后商家小程序接收订单状态通知(通过发送统一服务消息uniformMessage.send实现)
  16. web开发网页嵌入flash
  17. SP2-0734: unknown command beginning lsnrctl st... - rest of line ignored.
  18. 华为 eNSP 打开警告:请将eNSP相关应用程序添加到windows firewall的允许程序列表,并允许其在公用网络上运行!
  19. 个人独资企业,核定征收;怎么申请?
  20. 美国诚实签经验贴汇总

热门文章

  1. 教你写一个ftp协议(文件传输协议)
  2. python画图marker显示_python matplotlib 画图刻度、图例等字体、字体大小、刻度密度、线条样式设置...
  3. 搜狗广告联盟不显示广告的原因
  4. 基于Matlab仿真无源雷达传感器和雷达干扰(附源码)
  5. java mysql 时间查询_MYSQL实现查询某个时间段内每一天的数据
  6. SQL触发器总结 - sql server 2012数据库基础-触发器及应用-实验报告
  7. Python等级考试一道关于血压的综合题解析
  8. 最新‘微信小程序’反编译最新教程(如何找回微信小程序源码手把手教程)
  9. 华为设备基本ACL和高级ACL综合配置
  10. tabbar图片位置大小修改