Ad Widget

Collapse

Намечается такая проблемка со свободным

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • sergeyfromkomi
    Senior Member
    • Dec 2009
    • 126

    #1

    Намечается такая проблемка со свободным

    Добрый день! Намечается такая проблемка со свободным местом в /var-там стоит база zabbix-а mysql mysql-server-5.0.90
    [code]
    # du -h /var/db/mysql/*
    2.4M /var/db/mysql/cacti
    5.0M /var/db/mysql/ib_logfile0
    5.0M /var/db/mysql/ib_logfile1
    626M /var/db/mysql/ibdata1
    1.9M /var/db/mysql/mybsd2.localhost.err
    2.0K /var/db/mysql/mybsd2.localhost.pid
    750K /var/db/mysql/mysql
    2.0K /var/db/mysql/test
    898K /var/db/mysql/zabbix
    [/]
    всего около 100 хостов проверяется только по icmp ..
    в настройках итема есть "Хранить динамику изменений (дни)365"
    zabbix работает только 2-а месяца а база уже 626 Мб...
    что можно сделать, чтоб примерно через полгода у меня zabbix не встанет по причине нехватки места под mysql.....?
  • costas
    Senior Member
    • Aug 2009
    • 201

    #2
    Originally posted by sergeyfromkomi
    Добрый день! Намечается такая проблемка со свободным местом в /var-там стоит база zabbix-а mysql mysql-server-5.0.90
    [code]
    # du -h /var/db/mysql/*
    2.4M /var/db/mysql/cacti
    5.0M /var/db/mysql/ib_logfile0
    5.0M /var/db/mysql/ib_logfile1
    626M /var/db/mysql/ibdata1
    1.9M /var/db/mysql/mybsd2.localhost.err
    2.0K /var/db/mysql/mybsd2.localhost.pid
    750K /var/db/mysql/mysql
    2.0K /var/db/mysql/test
    898K /var/db/mysql/zabbix
    [/]
    всего около 100 хостов проверяется только по icmp ..
    в настройках итема есть "Хранить динамику изменений (дни)365"
    zabbix работает только 2-а месяца а база уже 626 Мб...
    что можно сделать, чтоб примерно через полгода у меня zabbix не встанет по причине нехватки места под mysql.....?
    Базу mysql из /var переселите на другой раздел где у Вас есть место, если места нет, то увы и ах.
    CentOS-5.5 i386, Zabbix 1.8.4 (stable), MySQL 5.0.92, PHP 5.2.17 (cli)

    ...эта проверка бесполезная, вредная, и она зло.

    Comment

    • sergeyfromkomi
      Senior Member
      • Dec 2009
      • 126

      #3
      Originally posted by costas
      Базу mysql из /var переселите на другой раздел где у Вас есть место, если места нет, то увы и ах.
      это процедура сложная.....?? можно через конфиг mysql просто переписать путь....

      Comment

      • dima_dm
        Senior Member
        • Dec 2009
        • 2697

        #4
        Места на диске у вас что-то маловато. Если увеличить интервалы опроса, то данных будет меньше.
        Оценка размера базы:
        http://www.zabbix.com/documentation/...n/requirements -> 2.6. Размер базы данных

        Рекомендую включить innodb_file_per_table:
        Опция /etc/my.cnf
        innodb_file_per_table
        Каждая таблица в отдельном файле. (работает при создании новой таблицы)
        Способы перевода таблиц в отдельный файл
        Code:
        1) Перенос данных
        CREATE TABLE new_table LIKE old_table; 
        INSERT INTO new_table SELECT * FROM old_table; 
        DROP TABLE old_table; 
        RENAME TABLE new_table to old_table;
        2) Через dump файл
        Сделать полный dump
        mysqldump -u root -ppassword  zabbix
        mysql> drop database zabbix;
        cat dump.sql | mysql -u root -ppassword  zabbix

        Тогда таким скриптом можно будет сжимать таблицы и освобождать место после удаления старых данных.

        Code:
        #! /bin/bash
        #### Config ############
        TIME=`date "+%Y%m%d%H%M"`
        USER='root'
        PASSWORD='XXXXXXX'
        mysql='/usr/bin/mysql'
        mysql_base_dir='/var/lib/mysql/zabbix'
        ### End Config #########
        echo " Start Otimize:"; date;
        cd $mysql_base_dir
        for i in *.ibd
         do
         table=`echo $i|awk '{split($0, Name, "."); print Name[1];}'`;
         echo "echo optimize table $table| $mysql -u $USER -pXXXXXXX zabbix"
         echo optimize table $table| $mysql -u $USER -p$PASSWORD zabbix;
         done
        echo " End Optimize:"; date;

        Comment

        • dima_dm
          Senior Member
          • Dec 2009
          • 2697

          #5
          Originally posted by sergeyfromkomi
          это процедура сложная.....?? можно через конфиг mysql просто переписать путь....
          Используйте опцию при старте MySQL
          $bindir/mysqld_safe --datadir=$datadir

          Comment

          • sergeyfromkomi
            Senior Member
            • Dec 2009
            • 126

            #6
            спасибо....

            Comment

            • dima_dm
              Senior Member
              • Dec 2009
              • 2697

              #7
              Через my.cnf
              /etc/my.cnf
              [mysqld]
              datadir=/path/to/datadir/mysql


              В некоторых сборках MySQL не позволяет сменить datadir, в этом случае вам поможет link на другую директорию.
              ln -s /opt/data/mysql5 /var/lib/mysql/mysql5

              Comment

              Working...