programing

오류로 인해 MariaDB 백업 도구 Mariabackup이 실패

shortcode 2022. 10. 15. 08:50
반응형

오류로 인해 MariaDB 백업 도구 Mariabackup이 실패

최근 MariaDB 5.5에서 10.2로 업그레이드하고 Innobackupx에서 Mariadbackup(xtrabackup의 포크)으로 전환했습니다.전체 백업을 시도하면 항상 실패합니다.

다음을 사용하여 백업을 실행하고 있습니다.

sudo mariabackup --backup --target-dir /mnt/database_backups/test --user backups --password REDACTED

명령어의 출력은 다음과 같습니다.

180501 11:53:30 Connecting to MySQL server host: localhost, user: backups, password: set, port: 3306, socket: /var/run/mysqld/mysqld.sock
Using server version 10.2.14-MariaDB-10.2.14+maria~trusty-log
mariabackup based on MariaDB server 10.2.14-MariaDB debian-linux-gnu (x86_64)
mariabackup: uses posix_fadvise().
mariabackup: cd to /var/lib/mysql/
mariabackup: open files limit requested 0, set to 1024
mariabackup: using the following InnoDB configuration:
mariabackup:   innodb_data_home_dir = .
mariabackup:   innodb_data_file_path = ibdata1:12M:autoextend
mariabackup:   innodb_log_group_home_dir = ./
mariabackup: using O_DIRECT
2018-05-01 11:53:30 140057835345792 [Note] InnoDB: Number of pools: 1
mariabackup: Generating a list of tablespaces
2018-05-01 11:53:30 140057835345792 [Warning] InnoDB: Allocated tablespace ID 2997 for warehouse/warehouses, old maximum was 0
180501 11:53:34 >> log scanned up to (2154583932391)
180501 11:53:34 [01] Copying ./ibdata1 to /mnt/database_backups/test/ibdata1
180501 11:53:35 >> log scanned up to (2154583953963)
180501 11:53:35 [01]        ...done
180501 11:53:35 [01] Copying ./warehouse/warehouses.ibd to /mnt/database_backups/test/warehouse/warehouses.ibd
180501 11:53:35 [01]        ...done

-- MORE Copying... ...done lines

180501 12:09:59 [01] Copying ./vioadmin/amazon__product_blacklist.ibd to /mnt/database_backups/test/vioadmin/amazon__product_blacklist.ibd
180501 12:09:59 [01]        ...done
180501 12:09:59 Executing FLUSH NO_WRITE_TO_BINLOG TABLES...
180501 12:09:59 Executing FLUSH TABLES WITH READ LOCK...
180501 12:09:59 Starting to backup non-InnoDB tables and files
180501 12:09:59 [01] Copying ./warehouse/warehouse_actions_archive.frm to /mnt/database_backups/test/warehouse/warehouse_actions_archive.frm
180501 12:09:59 [01]        ...done

-- MORE Copying... ...done lines

180501 12:10:01 Finished backing up non-InnoDB tables and files
180501 12:10:01 [01] Copying aria_log_control to /mnt/database_backups/test/aria_log_control
180501 12:10:01 [01]        ...done
180501 12:10:01 [01] Copying aria_log.00000001 to /mnt/database_backups/test/aria_log.00000001
180501 12:10:01 [01]        ...done
180501 12:10:01 [00] Writing xtrabackup_binlog_info
180501 12:10:01 [00]        ...done
180501 12:10:01 Executing FLUSH NO_WRITE_TO_BINLOG ENGINE LOGS...
mariabackup: The latest check point (for incremental): '2154617240383'
mariabackup: Stopping log copying thread.

2018-05-01 12:10:01 140057835345792 [Note] InnoDB: Read redo log up to LSN=2154583953920
180501 12:10:01 >> log scanned up to (2154583953920)
180501 12:10:01 Executing UNLOCK TABLES
180501 12:10:01 All tables unlocked
180501 12:10:01 [00] Copying ib_buffer_pool to /mnt/database_backups/test/ib_buffer_pool
180501 12:10:01 [00]        ...done
180501 12:10:01 Backup created in directory '/mnt/database_backups/test/'
MySQL binlog position: filename 'mariadb-bin.005485', position '28883329', GTID of the last change '0-1-241386'
180501 12:10:01 [00] Writing backup-my.cnf
180501 12:10:01 [00]        ...done
180501 12:10:01 [00] Writing xtrabackup_info
180501 12:10:01 [00]        ...done
mariabackup: Redo log (from LSN 2154583538384 to 2154583953920) was copied.
mariabackup: error: failed to copy enough redo log (LSN=2154583953920; checkpoint LSN=2154617240383).

문제가 무엇인지 누가 좀 밝혀줄 수 있나요?당사의 데이터 디렉토리는 약 94G이기 때문에 데이터베이스가 상당히 크고, 보시다시피 소요시간은 약 17분입니다.이노백큐펙스랑 비슷해요.

위의 로그에서 알 수 있듯이 백업 중간에 다음 행으로 시작하는 행이 있습니다.Executing FLUSH NO_WRITE_TO_BINLOG TABLES이것들이 괜찮은지 문제가 있는지는 모르겠지만, 수백 개의 컴퓨터 사이에 흩어져 있는 것은 조금 이상해 보입니다.Copying아래 표에 나와 있는 모든 InnoDB가 나와있음에도 불구하고Starting to backup non-InnoDB tables and files.

도와주셔서 고맙습니다.

저는 Mariabackup 10.2를 만들었습니다.redo 로그 해석 코드는 Percona xtrabackup 및 Mariabackup 10.1과는 다소 다릅니다.

로그 전체를 공유해서 정확히 왜 실패했는지 알 수 있을까요?https://jira.mariadb.org/에서 새로운 MDEV 버그를 제출하고 세부사항을 공유하여 문제 링크를 여기에 올리는 것이 가장 편리합니다.

나는 두 가지 가설을 가지고 있다.버그로 인해 redo 로그의 Copy_online이 너무 일찍 중지되었거나 redo 로그가 다음 시간 이후에 기록되는 많은 InnoDB 백그라운드액티비티가 있습니다FLUSH TABLES WITH READ LOCK백업이 거의 끝날 무렵에 발행되었습니다.

어느 쪽이든 순환 redo 로그 파일이 중간에 덮어쓰기되었기 때문에 Copy_last 단계에서 나머지 로그를 복사할 수 없을 수 있습니다.

편집: 다른 사용자가 이 문제에 대해 https://jira.mariadb.org/browse/MDEV-16367을 신청했습니다.더 자세한 정보가 있으면 거기에 제출해 주세요.

언급URL : https://stackoverflow.com/questions/50115613/mariadb-backup-tool-mariabackup-failing-with-error

반응형