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