zabbix的数据库扩容方案


原因:直接从官方下载的zabbix_appliance-5.4.0-vhdx.zip镜像搭建的运维平台,运行一段时间后,发现经常性的mysql崩溃,经排查发现是它的zabbix数据库分区只有4G多,由于监控的数据量太大导致分区爆满,引发mysql崩溃无法启动的故障,只好想办法扩容zabbix数据库所在的空间,经过各种尝试后使用如下方法成功解决问题。

思路:虚拟机上添加一块硬盘,创建新分区并挂载到扩容目录,迁移mysql的数据库目录到扩容目录,修改mysql、php和zabbix的配置文件,恢复正常运行。
原zabbix数据库(容量:4G): /var/lib/mysql/zabbix  (/dev/sda5 <--  /var/lib/mysql)
扩容目录的zabbix数据库位置(容量:126G): /data/mysql_data/mysql/zabbix (/dev/sdb1 <-- /data/mysql_data)

1、hyper-v添加一块IDE硬盘
      zabbix虚拟机-右键-设置-IDE控制器-添加-选择126G容量-虚拟硬盘位置-选择目录-文件名-确定-启动虚拟机

     

2、对新添加的硬盘进行分区
     fdisk -l
     fdisk /dev/sdb
        选择: n-p-回车-回车  #创建分区,m可查看帮助

3、安装mkfs.ext4命令和格式化新磁盘
     yum install e4fsprogs -y
     mkfs -t ext4 /dev/sdb1

4、创建扩容目录(即迁移后的目录)并挂载新磁盘
     mkdir mysql_data
     ls -l /dev/disk/by-uuid/  #查看新磁盘UUID号码
     vi /etc/fstab   #配置挂载信息,如果用mount挂载,重启后可能失效
      添加  UUID=b0fab428-92a9-46b5-8032-772c628d98dd /data/mysql_data        ext4    defaults        0 0
     reboot now
     df -hT

   

5、迁移mysql数据库目录
     systemctl stop mysqld
     cp -rf /var/lib/mysql /data/mysql_data/
     cd /etc/my.cnf.d/
     chmod u+w zabbix.cnf
     vi zabbix.cnf           
          修改目录:datadir = /data/mysql_data/mysql/
     vi client.cnf
          增加:[client]
                     socket = /data/mysql_data/mysql/mysql.sock
     vi mysql-server.cnf
          修改目录:[mysqld]
                            datadir=/data/mysql_data/mysql
                            socket=/data/mysql_data/mysql/mysql.sock
      chown -R mysql:mysql /data/mysql_data/mysql/
      systemctl start mysql

6、进入mysql查看迁移是否成功
     mysql -uroot -p
     select @@datadir;

       

7、修改php和zabbix_web配置文件指定mysql.sock迁移后的位置
    find / -name php.ini  #查找php.ini位置
    vi /etc/php.ini 
      修改:mysqli.default_socket = /data/mysql_data/mysql/mysql.sock
    systemctl restart php-fpm
    vi /etc/zabbix/zabbix_server.conf 
      修改:DBSocket=/data/mysql_data/mysql/mysql.sock
    systemctl restart zabbix-server

       注:如果不指定迁移后的mysql.sock文件位置的话,zabbix会自动从默认位置“/var/lib/mysql/mysql.sock”读取。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM