GET 24/7 LIVE HELP NOW

Announcement

Announcement Module
Collapse
No announcement yet.

xtrabackup prepare problem

Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • xtrabackup prepare problem

    Hello,

    I'm running Debian 6.0.2,
    mysqld Ver 5.5.17-55-log for Linux on x86_64 (Percona Server (GPL), Release 22.1)

    I'm creating backup doing:
    xtrabackup_55 --backup --datadir=/var/lib/mysql --target-dir=/home/la/backup/

    the create phase runs few minutes (the dataset is about 5G), and exits cleanly.

    but prepare phase quickly fails:
    $xtrabackup_55 --prepare --target-dir=/home/la/backup/

    xtrabackup_55 version 1.6.3 for Percona Server 5.5.9 Linux (x86_64) (revision id: undefined)
    xtrabackup: cd to /home/la/backup/
    xtrabackup: This target seems to be not prepared yet.
    xtrabackup: No valid checkpoint found.
    xtrabackup: Error: xtrabackup_init_temp_log() failed.


    I'm doing exactly the same steps as documentation says.


    Here is some last lines of strace output:

    open("./xtrabackup_logfile", O_RDWR) = 3
    fadvise64(3, 0, 0, POSIX_FADV_SEQUENTIAL) = 0
    fadvise64(3, 0, 0, POSIX_FADV_DONTNEED) = 0
    lseek(3, 0, SEEK_END) = 17416192
    mmap(NULL, 2117632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f09aa5e7000
    pread(3, "\0\0\0\0\0\0\0\1?\376\200\0\0\0\0\0xtrabkup 111206 "..., 2048, 0) = 2048
    write(2, "xtrabackup: No valid checkpoint "..., 39xtrabackup: No valid checkpoint found.
    ) = 39
    close(3) = 0
    munmap(0x7f09aa5e7000, 2117632) = 0
    write(2, "xtrabackup: Error: xtrabackup_in"..., 54xtrabackup: Error: xtrabackup_init_temp_log() failed.
    ) = 54
    exit_group(1) = ?

  • #2
    Looks like a bug at first glance.

    Comment


    • #3
      Maybe I can gather some additional information about this bug? Can you advice where to look?

      here is my.cnf:

      user = mysql
      pid-file = /var/run/mysqld/mysqld.pid
      socket = /var/run/mysqld/mysqld.sock
      port = 3306
      basedir = /usr
      datadir = /var/lib/mysql
      tmpdir = /tmp
      language = /usr/share/mysql/english

      skip-external-locking
      bind-address = 127.0.0.1
      myisam-recover = BACKUP
      expire_logs_days = 10
      max_binlog_size = 100M
      back_log = 75

      log_slow_queries=/var/log/mysql/slow_queries.log
      long_query_time=0.2
      log_error = /var/log/mysql/mysql-error.log



      max_connections = 300
      key_buffer = 16M
      myisam_sort_buffer_size=16M
      join_buffer_size = 8M

      table_cache = 132656
      thread_cache_size = 384
      wait_timeout = 60
      connect_timeout = 3
      tmp_table_size = 128M
      max_heap_table_size = 128M
      max_allowed_packet = 64M
      max_connect_errors = 10

      query_cache_size = 128M
      query_cache_type = 1
      query_cache_min_res_unit=512
      max_connect_errors = 10000
      query_prealloc_size = 163840
      query_alloc_block_size = 32768


      default-storage-engine = innodb

      innodb_log_files_in_group=2
      innodb_log_file_size=512M
      innodb_buffer_pool_size = 6000M
      innodb_thread_concurrency=8
      innodb_flush_method = O_DIRECT
      innodb_file_per_table = 1
      innodb_flush_log_at_trx_commit = 2
      innodb_additional_mem_pool_size = 20M
      transaction-isolation=READ-COMMITTED
      innodb_adaptive_flushing_method=keep_average
      innodb_flush_neighbor_pages=1
      innodb_log_block_size=4096

      Comment


      • #4
        I think that the problem is that you do not have a complete backup with which to do a prepare. The "xtrabackup" program only backs up the InnoDB tablespaces in your server. Trying to prepare against only that backup would not be valid.

        Look at the "innobackupex" script that is supplied with the XtraBackup distribution. It will also back up the rest of your files and give you a solid base from which to prepare and restore.

        Dave

        Comment


        • #5
          Yes, there's a bug with using innodb_log_block_size, for some reason it does not change and try to use 512 instead of what you set (4096 in your case)

          Comment


          • #6
            Thanks, Infin1ty!
            I took vanilla debian just to test it, installed percona-5.5, and xtrabackup fails to prepare backup with innodb_log_block_size=4096.
            Everything is fine with size=512.

            Comment

            Working...
            X