Debian sistemi çalıştıran sistem görüntüsü?


22

Çalışan bir Debian sistemini, orijinal (yedeklenmiş) Debian sisteminin arızalanması durumunda, gg kullanarak basitçe başka bir sabit diske geri yazılabilecek bir tür görüntü dosyasına yedeklemek mümkün müdür?

Ben özellikle ahududu pi üzerinde çalışan Debian Wheezy'um olduğu için depolarda doğrudan kullanılabilen bir araç arıyorum ve bu nedenle, Debian depolarının paketleri için oldukça güvenilir olan ARM mimarisi için desteğe ihtiyacım var.


2
Rw monte edilmiş dosya sisteminden blok blok kopyası almaya çalışmayı tavsiye etmem. En küçük yazmalar onu bozabilir ve uygulanabilir bir yedeğiniz olduğunu düşünürsünüz. Yani mount -o remount,rosizin için karar eğer sürücüde kopyaladığınız dd, dumpya da benzer. Dosya sistemiyle rsyncveya dahil olmak üzere başka bir yöntemle kopyalamak cp, canlı sistem için güvenlidir.
WhimsicalWombat

Yanıtlar:


15

ddHam diskinizin tam boyutunda bir resim dosyası oluşturmayı sakıncası yoksa iyidir. rsyncKolay dosya düzeyinde erişim istiyorsanız iyi. Ancak, bir dosya sistemini yedeklemenin standart yolu dumpve restore( aptitude install dump) 'dir.

Ahududu Pi gibi bir cihaz için, bir MS-DOS bölümleme tablosu ve diskin / dev / sda olduğunu varsayarak aşağıdaki şekilde yedeklerim:

  • dd if=/dev/sda of=sda-boot-sectors.img count=2048 Diskin önyükleme bölümünün bir görüntüsünü almak için.
  • fdisk -lu /dev/sda >sda-partition-table.txt daha sonra insan referansı için.
  • dump -0af sda1-root-level0.dump /dev/sda1 ve yedeklemek istediğiniz her bölüm için tekrarlayın.

Ardından lotu sıkıştırabilir ve güvenli bir yerde bırakabilirsiniz. Geri yüklemek için, ddbölüm tablosunu ve önyükleme kesimlerini geri yüklemek, bölüm tablosunu yeniden yüklemek, yeni dosya sistemlerini kurmak ve kullanmak için kullanırsınız cd /mnt/new-filesystem; restore -rf /some-location/sda1-root-level0.dump.

Üstler:

  • dump ACL'ler, genişletilmiş özellikler, sahiplik, seyrek dosyalar, özel dosya sistemi özellikleri dahil olmak üzere dosya sisteminin eksiksiz bir kopyasını alır - her şey olduğu gibi bırakılır.
  • Kullanılmayan blokları göz ardı ederek yalnızca ihtiyacınız olan blokları kopyalayacaktır.
  • Standart unix aracıdır ve birçok başka unix aracı tarafından okunabilir.

Dezavantajları:

  • Dosya sistemi döküm sırasında yazıldıysa, bozuk anlık görüntüler üretecek
  • Yedeklenmiş görüntüyü (disk görüntüleri ile yapabileceğiniz) monte etmek veya ayrı dosyalar ( rsyncyedekleme ile alabileceğiniz) elde etmek daha zordur .
  • Dosya sistemine özeldir. Bir ext3dosya sistemini ext4çöpe atıp bir tanesine geri yükleyebilirsiniz , ancak herhangi bir tür dosya sistemini çöpe atabilirsiniz . Olgun dosya sistemlerinin çoğu kendi dumpsürümlerine sahiptir. Standart Debian dumpyapar ext2, ext3ve ext4. Flash'a özgü bir dosya sistemi kullanıyorsanız, seçenekleriniz farklı olabilir.

Giriş sayfasında dump, dosya sisteminin yazılmaması gerektiği belirtilmemiştir. Ben mantıklı bir kısıtlama gibi bu sesler istemem, ama, ... birisi bu hatayı yapabilir yüzden, manpage söz edilmemiş olması üzücü
IMZ - Ivan Zakharyaschev

Gönderiniz sayesinde bu araç hakkında bilgi edindim (dump / restore). Bir dosya sisteminin bir kopyasını aşağıdaki gibi bir şeyle yapmak için kullanacağım:mkfs.ext4 /dev/sda1; mount /dev/sda1 /mnt/disk; cd /mnt/disk; dump -0af - /dev/sda5 | restore -rf -
imz - Ivan Zakharyaschev 24:15

5

ddÖnyükleme sektörü ve rsync -aHSdosyalar için kullanın . / Proc / sys ve RAM diskleri (tmpfs) gibi "sanal" dosya sistemlerini dışlamanız gerekir.

Bölümlemeyi de devam ettirmek istiyorsanız, bunu elden bırakabilir sfdiskveya yeniden oluşturabilirsiniz parted.


Teşekkürler, kulağa çok ilginç geliyor, bunu daha önce ayarladınız mı? Bu parçalardan nasıl tam bir görüntü oluşturabilirim, sadece bir loopkack cihazı kullanın? (Evet, bölümlemeye devam etmek istiyoruz. Yeni bir SD karta / diske daha fazla karıştırılmadan yazılmaya hazır bir görüntü istiyorum)
stefan.at.wpf

@ stefan.at.wpf VM'leri klonlamak için bazı çözümlerimi karıştırdım, fiziksel sunucular yarattım (autoyast / kistart), aynasız bir sistemden bir baskın 1 aynası yaparak ve her zamanki (statik) parçaları çoğaltmanın normal yolunu yarattı. küme düğümleri için dosya sistemi. Bu meli kullanmıyorum. Benim yöntemim, yeni sunucuyu (bir yedekleme istemcisi dahil) otomatik olarak kurmak ve daha sonra eski sunucunun içeriğini yeni sunucuya yedeklemektir.
Nils,

4

İçin Debian , gerçekten sadece yedeklemek için gereken verileri ve konfigürasyon dosyalarını .

Mevcut durumu yedeklemek için:

  • İle paket seçimlerini yedekle dpkg --get-selections > dpkg_selections.
  • Debconf veritabanını ile yedekleyin sudo debconf-get-selections > debconf_selections.

Bunu yeni bir sisteme uygulamak için:

  • Önce debconf seçimlerini uygulayın sudo debconf-set-selections < debconf_selections.
  • İle paket seçimleri uygulayın dpkg --set-selections < dpkg_selections.
  • İle paketleri yükleyin apt-get dselect-upgrade.

Verileriniz öncelikle içinde olmalı /homeve/var (örneğin /var/lib/mysql, MySQL için /var/wwwApache, vs.). Hangi uygulamaların sizin için önemli olduğunu çözebilmelisiniz.

Yapılandırma öncelikle içinde olacaktır /etc. Yine, sizin için neyin önemli olduğunu bulmak zor olmamalı.


Almak için debconf-get-selectionkoşmakapt-get install debconf-utils
pandita

1

Bilmiyorum, bunun iyi olması durumunda, sistem çalışırken, ama ben de öyle yapıyorum.

sudo dd if=/dev/mmcblk0 of=/path/to/backup/directory/backup.img bs=1M

Dediğim gibi, belki daha iyi bir çözüm var, bu durumda da bilmek istiyorum!


1

Çok fazla yedekleme ve geri yükleme yazılımı denedim ve hiç mutlu olmadı. Şimdi yaptığım şey şu: Yedek bir bilgisayara ikinci bir Debian'ım var (aynı MB, NIC kartı, vb.). Her akşam makine A'dan makine B'ye rsync yapıyorum. Çalışan iki sistemin çatışmasını istemediğim için sakladığım bazı dosyalar var (/ etc / network / interfaces, / etc / hosts, / etc / hostname). Aslında bunların kopyalarını başka bir klasörde bulunduruyorum. Ayrıca B makinesinde çalıştırmam gerekmeyen bazı hizmetleri devre dışı bırakıyorum (postfix, mysql, etc). B makinesinde yazılmış ve temel olarak A makinesine dönüştürecek bir betiğim var (geri aldığım dosyaları değiştirin), NIC'yi yeniden başlatın ve devre dışı bırakılmış hizmetleri etkinleştirin. Elbette, A makinesini çalıştırdığımda makine A'nın kapalı olması gerekir, aksi halde tahribat olur. B makinesini A makinesini kapatarak, senaryoyu çalıştırarak aylık olarak B makinesini test ediyorum. ve güncel olduğundan ve düzgün çalıştığından emin olmak için bazı testler yapın. Bir cazibe gibi çalışıyor!


0

Clonezilla'yı kontrol et. Standart Debian depolarında listelendiğini görüyorum.http://clonezilla.org/

Düzenleme: Muhtemelen hayır, Clonezilla ön sayfadaki gereksinimleri listeliyor: "X86 veya x86-64 işlemci"


İlginç proje olsa da, yine de teşekkür ederim :-)
stefan.at.wpf

0

Pi'mi yedeklemek için microSD kartı çıkartıp dizüstü bilgisayarıma taktım. Ardından dd, yukarıdaki gibi, tüm diskin dizüstü bilgisayarımda bir dosya üretmek için a komutunu çalıştırın :

dd if=/dev/mmcblk0 of=/path/to/backup/directory/backup.img bs=1M

2
Bu kelimenin tam anlamıyla sorunun en önemli bölümünü görmezden geliyor. Asıl soru, bir sistemin canlı görüntüsünü nasıl yapacağınızı sormaktır ve etrafınızdaki diskleri hareket ettirdiğinizde sistemi kapatmanız daha iyi olmuştur.
Sirenler

0

Systemback kullanın. Debian Stretch ile bile çalışmasını sağladım. Yapılandırılmış masaüstünüz ile size güzel bir canlı açılış usb verir.

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.