文
杨一on运维
一、绪言
有赞做为”新趸批”的软件效劳供给商,跟着营业的不停进展,从第一批几十家商户到目前万商家,波及趸批,美业,餐饮,自媒体等漫溢商家,营业范围以及走访量暴发式延长。
一方面给后端数据库带来的影响是效劳器数目和DB实例的数据量涌现成倍补充。百般营业需求:神速托付实例,慢盘查优化以及备份复原经管等都给DBA的通常运维援助带来更高的请求。另一方面最最先以excel做为CMDB经管数据库实例的纯人肉运维又给高效的数据库运维带来拦阻。
本文先容有赞DBA研发的数据库主动化经管平台-ZanDB,管理上头的营业方进展中碰到的题目,抛砖引玉,期盼能给面对一样需求的同业带来扶助。
图1完全的web界面
二、主动化筹备2.1准则化从事过大范围化运维的朋侪都领会:准则化是范围化,主动化的根基。在咱们开拓MySQL主动化运维平台的昔时,面对的重要题目即是百般”不准则”:OS软件初始化不统一,软件目录机关不准则,建设文献路线不准则,主从建设差错称。因而咱们最先入手协议准则:
OS层面
1.磁盘统一做成RAID5形式增添空间欺诈率。
2.统一RAID卡读写战略为WB,IO安排战略为deadline,以及其余SSDIO方面的优化。
数据库层面
1.统一目录建设,经过端口停止分辨,譬喻my,my,在my底下缔造对应的数据目录、日记目录、运转文献目录,tmp目录等。
2.每个实例独享一个建设文献,除server_id,innodb_buffer_pool_size等参数外其余参数均坚持一致。
3.线上处境的MySQL软件目录和版本坚持一致。有了以上准则和典范,咱们花了2个月左右的功夫将昔时不相符的准则的主机和实例停止变革,而且欺诈saltstack来维持DB效劳器根基的软件安设和文献建设典范。
2.2ZanDB的技能栈ZanDB系统采纳PythonDjango+Percona-Toolkit+Agent(servant)+Celery+前审察关(JQuery+Ajax)技能,同时欺诈了缓存Redis和MySQLDB做为储备,整套系统采纳的技能栈较简捷,完结的功用关于今朝来讲对比适用。
三、主动化运维之路一期关于任何具珍稀据财产的公司而言,数据备份重于一起。由于史籍出处,有赞数据库的备份是由shell足本堆砌的,没有统一的进口来观察备份事实是胜利仍是失利,要是DBA对本身维持的数据库的备份有用性一窍不通,涌现反常题目需求复原而又复原不了的时辰,对有赞以及有赞的商家而言会是致命的阻滞。
因而,咱们第一期的办事是开拓ZanDB备份监控系统。
它的主邀功用:
1.及时观察备份的施行情景,现时应备份实例个数,已完结实例数,备份失利的个数。
2.显示每个备份的花费时长。
3.观察往时5天的备份统计音信,如总个数,巨细等。
完结ZanDB备份监控系统开拓,咱们对备份情景情景有了根基的控制,以后最先入手策画ZanDB的二期策画研发办事。
四、主动化运维之路二期在策画ZanDB系统时架构时,咱们取舍欺诈B/S架构形式,在数据库效劳器上安排咱们欺诈go自研的agent—servant,ZanDB系统经过