Linux'ta, tüm sürücümün görüntü anlık görüntüsünü nasıl oluştururum / geri yüklerim?


14

Tüm sürücünüzün dijital bir anlık görüntüsünü alan Windows yardımcı programları tarafından çok şımarık bir durumdayım. (örneğin, Mac OS X için Time Machine gibi).

Bunu Linux'ta yapmanın benzer bir yolu var mı?


1
Sanırım Windows'da şımarık Linux kullanıcıları gerçekten sistem yardımcı programları ile şımarık şekilde. :)

Yanıtlar:


13

İstediğiniz araca (Time Machine'e en çok benzeyen) rsnapshot denir . Normal yedekleme araçlarının aksine, yalnızca değişen şeyleri kopyalar ve zaman içinde birçok noktaya kolayca seyahat etmenizi sağlar. Ne kadar disk alanına sahip olduğunu söyleyebilir ve bu sınırda kalacak şekilde tutulan anlık görüntü sayısını ayarlar. Çok güzel bir araç.


6

PartImage komut satırından veya metin GUI'si olarak çalışır. DD'ye göre önemli bir avantajı vardır:

Partimage sadece bölümün kullanılan kısımlarındaki verileri kopyalar. Hız ve verimlilik için, görüntü dosyasına serbest bloklar yazılmaz. Bu, boş blokları da kopyalayan 'dd' komutundan farklıdır.


6

Eğer dd if=/dev/sda of=/path/to/target/backupkoymaya çalıştığınız odanız olduğunu biliyorsanız sadece " " yapabilirsiniz . Ayrıca " dd if=/dev/sda | bzip2 > /path/to/target/backup" anında sıkıştırmak için de yapabilirsiniz . Bu biraz zaman alabilir.

Veya tar --preserve-permissions -cjf backup.tar.bz2 /what/to/backupgerekli tüm okuma izinlerine sahip bir kullanıcı olarak " " yapabilirsiniz . İstediğini al.

Zeyilname: Yakın zamanda Vista ile önceden kurulmuş yeni bir dizüstü bilgisayar satın aldım. Ben bir yerde vista korumak istedim düşündüm, bir noktada denemek istedim, bu yüzden ilk kez (linux livecd ile) bilgisayar önyükleme, bunu yaptım:

dd if=/dev/sda | ssh 10.0.0.1 "bzip2 > ~/vistadrive.bz2"

Tabii ki bu hızlı bir yerel ağdaydı. Aksi takdirde, iletimden önce sıkıştırmak daha ihtiyatlı olurdu:

dd if=/dev/sda | bzip2 | ssh 10.0.0.1 "cat > ~/vistadrive.bz2"

Umarım bunlardan bazılarını faydalı bulursunuz.

Düzenleme: Hata! Değişti bbiçin dd...


1
Önyükleme sektörünü de içermez mi? Bu bir windows sürücüsünü yedeklemek için partimage kullanırken beni her zaman berbat.

greg, herhangi bir bölüm tablosu ve mbr dahil olmak üzere her şeyi içerir
Johannes Schaub - litb

4

İki katlı bir strateji kullanıyorum: # 1 LVM anlık görüntüleri ve iki numaralı rsnapshot , özel bir harici sabit disk sürücüsüne zamanında yedeklemeler yapmak için kullanıyorum. Harici sabit disk sürücüsü, kötü bir şey olursa kapıdan kolayca çıkabilmem için yerleştirilir. Bir dizi şifreli DVD diskine periyodik olarak bir anlık görüntü yazmak ve bunları depolama için başka bir şehirde bir arkadaşınızın yerine göndermek dışında (henüz) site dışı bir mekanizma kullanmıyorum.

Ben değişmedi şeyler için sabit bağlantılar kullanarak, anlık görüntüleri yapar yolu nedeniyle rsnapshot tavsiye ederim. Ana dizininiz çıldırırsa, bir rsnapshot kopyasını alıp tarpipe veya rsync'i sürücü arızasını yeniden kurduktan veya kurtardıktan sonra yeni ana bölümünüze geri döndürebilirsiniz.


3

Birkaç. Eski tarz dd (1) var , bu bir çeşit sır. orada dökümü (8) ve geri yükleme (8) ; Amanda gibi birçok açık kaynaklı ürün var ; ve isterseniz ZFS'yi yükleyebilir ve periyodik anlık görüntüler almak için bir cron betiği kullanarak Time Machine ile etkili bir şekilde özdeş bir şey elde edebilirsiniz (bkz. Tim Foster'ın web günlüğü.)

Wikipedia'da birçok seçenek içeren bir makale vardır .


2

Zaman makinesi gibi bir dosya düzeyinde yedekleme istiyorsanız , Norman'ın önerdiği gibi rsnapshot'ı tavsiye ederim .

Norton hayalet gibi tam bir görüntü yedekleme ve geri yükleme türü çözümü istiyorsanız , CloneZilla'nın oldukça iyi çalıştığını gördüm . Canlı CD'yi önyüklerim ve ardından görüntüleri yedeklemek / geri yüklemek için SSH sunucusu olarak başka bir makine kullanırım.

(CD sürümü ve USB önyüklemesi olmayan eski bir tablet dizüstü bilgisayar için PXE önyükleme yoluyla canlı sürümü çalıştırmayı başardım, ancak çok uğraştı.)

Ve Windows makineleri için de kullanabilirsiniz.


1

Hep kullanma hakkında endişeli ddSürücüler farklı boyutlarda olduğunda . Veya farklı sayıda kafa / sektör / parça / vb. Vardı.

gg aynı sürücünün anlık görüntüsünü alırken ve yeniden yanıt verirken çok kullanışlıdır. Özellikle USB sürücüler veya Windows bölümleri. Ama 500Meg'den 1500Meg sürücüsüne giderken endişeleniyorum.

Ayrıca, sürücüm arızalandığında, daha yeni bir işletim sistemine yükseltmek için bir bahane olarak kullanabilmeyi seviyorum.


Tüm bunlar, iyi eski katran güzel bir iş çıkarıyor! GNU-tar , dosyalara karşı fark-tar-tar , sadece değiştirilen güncelleme dosyalarını ve sadece arşiv dosyaları-tarihten daha yeni seçenekler içerir.

(Bahsetmeliyim: Birkaç yıl önce, daha yeni bir sürümünü indirip yüklememi gerektiren bir hatayla karşılaştım GNU-tar'ın hatayla karşılaştım . (Çok uzun yol adları ve birden fazla cilt ile ilgili bir şey.) Önemli değil. bu her zaman bir seçenek.)

/ Proc , / sys ve / var / log / lastlog veya / mnt komutlarını hariç tutmalısınız . (Genellikle / mnt altına monte edilmiş harici bir sürücüye yedeklerim yedeklerim. Yedeklemeyi yedekleme - çok iyi değil!)

/ Dev dahil etmek faydalı olabilir. gnu-tar , cihazları düzgün bir şekilde işleyecektir ( mknod ). Gerçi bir geri yükleme sırasında yedeklenmiş / dev'i kullanmayacaksınız . (Bazen daha önce hangi izinleri veya bağlantıları ayarladığınızı görmek güzel.)

Ayrıca, yedeklemeden önce fdisk & rpm bilgilerini dökmek isteyebilirsiniz . Örneğin

/sbin/sfdisk -l /dev/sda > /....../info_sda
rpm -qa | sort > /...../info_rpms
rpm -qa --qf "%{ARCH} \t %{NAME}-%{VERSION}-%{RELEASE}\n" | sort -k2,2 > /........./info_rpms_arch

Kullanıcı tarafından monte edilen herhangi bir "isteğe bağlı" dosya sisteminin yanı sıra .


1

İşte başka bir yöntemin tam adımları, bir sabit diskten diğerine geçmek ve hatta donanım benzerse bir makineyi klonlamak için çalışır.

İlk olarak, iyi bir çalışma sistemi görüntüsü oluşturun. Bunu kök olarak yapın.

# cd / 
# tar cpzf hostname.tgz / --exclude=hostname.tgz --exclude=proc --exclude=lost+found --exclude=mnt --exclude=sys --exclude=home --exclude=usr/src

Çekirdek görüntülerini yedekleyin

# mount /boot
# cd /boot
# tar cpzf boot.tgz *

Görüntünün yayılmasını istediğiniz makineyi canlı bir cd / gentoo cd'si ile başlatın. Bu sabit sürücüyü takın ve uygun şekilde bölümleyin:

# fdisk /dev/hda
/dev/hda1  /boot
/dev/hda2  swap
/dev/hda3  /tmp
/dev/hda4  /

Dosya sistemleri ekle

# mke2fs /dev/hda1
# mkswap /dev/hda2
# mke2fs -j /dev/hda3
# mke2fs -j /dev/hda4

Montaj sürücüleri:

# mount /dev/hda4 /mnt/new_root
# mkdir /mnt/new_root/tmp
# mkdir /mnt/new_root/boot
# mkdir /mnt/new_root/proc
# mkdir /mnt/new_root/sys
# mount /dev/hda3 /mnt/new_root/tmp
# mount /dev/hda1 /mnt/new_root/boot
# swapon /dev/hda2
# mount -t proc proc /mnt/new_root/proc

Hostname.tgz dosyasını bu makineye kopyalayın.

Yeni makinenin kök dizinine çıkarın / mnt / new_root

# tar -xzf hostname.tgz

Yeni ortama chroot.

# chroot /mnt/new_root /bin/bash
# env-update && source /etc/profile

/Boot/grub/grub.conf ve / etc / fstab öğelerini doğrulayın

Sabit diskteki kurulum grubu:

# grep -v rootfs /proc/mounts > /etc/mtab
# grub-install /dev/hda

Sürücülerden çıkın ve sürücüyü engelleyin, makineyi yeniden başlatın.


0

Mantıksal birim yöneticisi LVM'yi kullanarak Linux'ta anlık görüntülere sahip olabilirsiniz.


1
LVM kullanıyorsanız, durum böyle olmayabilir. Eğer öyleyse evet, bu iyi bir seçenek olurdu howtoforge.com/linux_lvm_snapshots
Gavin H
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.