XtraBackup ve rsync arasındaki fark nedir?


11

Evet, ikisinde de sıkıntı yaşayacağım ... Ancak bilmek istiyorum ...

  • XtraBackup rsync -ac src dest üzerinde ve üstünde ne yapıyor?
  • XtraBbackup hakkında bu kadar özel olan ne?
  • XtraBackup mysqld ile nasıl etkileşime giriyor?

1
Bu "XtraBackup'ı duydum ama buzkıran soruları sormaktan korkuyorum." Bu tür soruları seviyorum !!! +1 !!!
RolandoMySQLDBA

1
@RolandoMySQLDBA: Düşünceyi kışkırtmayı ve insanların bilgi paylaşmasını seviyorum. Bu şekilde daha iyi oluruz, değil mi? Yalnız bir Ranger olmak çok eğlenceli değil. :-)
randomx

Yanıtlar:


16

rsync , verilerin bir yerden diğerine sadece kaba bir bayt bayt kopyasıdır. Son rsync'e kadar birden çok rsync gerçekleştirmelisiniz, ki bu çok hızlıdır. Ardından, MySQL'in tamamen kapanmasını ve bir rsync daha gerçekleştirmesini sağlarsınız.

XtraBackup , rsync gibi davranan ancak hayatta bir amacı olan kapsamlı bir araçtır. Tüm InnoDB verilerini ve tablo alanlarını kopyalamaya başlayabilir. Dahili kontrol noktaları oluşturma ve zamanında anında yedekleme elde etmeye yardımcı olmak için yerinde bir InnoDB çökme kurtarma gerçekleştirme yeteneğine sahiptir. XtraBackup ayrıca artımlı yedeklemelerin oluşturulmasına izin veren ekstra bir özelliğe sahiptir. Başka bir ek özellik de, yerinde çökme kurtarma tarafından oluşturulan InnoDB günlük dosyalarının oluşturulmasıdır. Ayrıca MyISAM tablolarının dondurulmuş kopyalanmasını sağlayan bazı sarıcı yazılımlar da vardır.

Her iki yöntem de harika. XtraBackup, InnoDB işlem özelliklerini basitçe ilk kopyalamanın çoğuna uygular. Xtrabackup, yerleşik bir MySQL altyapısına düşebilecek dosyalar oluşturur. Söylemesi adil, XtraBackup enstrümantasyonel yedekleme ve somutlaştırılmış, çok kullanışlı InnoDB dosyaları sağlar.

Rsync kullanmak, kopyalama işlemini birden çok kez yönetmeye ve rsync'in tek bir müdahalesini gerektirecek şekilde mysql kapatma ile kapatmaya zorlar.

Birini diğerinin üzerinde kullanmak kişisel bir tercih olabilir. Bir şey kabul edilmelidir: XtraBackup, kopyalanan verilerden biraz daha büyük yedeklemeler yapar. Yöntem seçimini bu sorunun okuyucusuna bırakıyorum.

Kullanım basitliğine sahip olduğu için rsync'i tercih ediyorum, süreç başlamadan önce belirli bir noktayı belirleyebilirim, ayrıca mysqld'i kilitlemek veya kapatmak için, böyle bir kontrol gerçekleştirilebildiğinde ve hangi sırayla belirlediğimde tam kontrole sahibim .

Her iki yedekleme stilinin de ortak bir yanı vardır : XtraBackup ile, gerçek zamanlama noktası yedekleme işlemi tamamlanana ve XtraBackup'a güvenmeniz gerekir (şimdiye kadar 200.000 indirme. Facebook, en büyük kullanıcılardan biridir. çok güven kazandı). Başka bir deyişle, gece yarısı XtraBackup'ı başlatırsam ve yedekleme saat 02:20'ye kadar devam ederse, yedeklemenin gerçek zamanı 2: 20 AM'dir. Birden çok rsync'i el ile yapmanız ve ardından son rsync'ten önce ne zaman bir 'hizmet mysql durağı' vereceğinizi belirlemeniz gerektiğinden, rsync'i kullanmak aynı hareketli hedef sorununa sahiptir.

Bu yöntemler , mysqld'in rsync yöntemi kullanılarak kapatılması gerektiğinden farklıdır , oysa XtraBackup mysqld'den bağımsız olarak çalışır. Aslında, XtraBackup, sarmalayıcı yazılım aracılığıyla MyISAM tablolarıyla uğraşmak dışında, mysqld ile çok fazla etkileşime girmez. XtraBackup, mysqld'den ayrı ve farklı InnoDB depolama motoru işlemlerini kullanarak tamamen işlevsel InnoDB verileri ve günlük dosyaları oluşturmaya çalışır.

MySQL'in kapatılması çok büyük bir nedenden dolayı rsync yöntemi için çok gereklidir: InnoDB Arabellek Havuzu, diske yazılmamış veri ve dizin sayfaları (1 Sayfa = 16KB) olan "kirli sayfaları" tutabilir. Rsync kullanmak, InnoDB Arabellek Havuzu'nda beklemedeki veri değişikliklerini yakalamaz. Son rsync için mysqld'in kapatılmasını hızlandırmak için lütfen şu komutu çalıştırın:

SET GLOBAL innodb_max_dirty_pages_pct = 0;

Bu komut, kirli sayfa sayısını minimumda tutar. Bu komut, rsync yedekleme yöntemini gerçekleştirmeden yaklaşık bir saat önce çalıştırılmalıdır. XtraBackup bir mysql kapatması gerektirmese de bu XtraBackup'a da yardımcı olabilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.