Linux sisteminin anlık görüntüsünü oluşturma


11

Aşağıdakileri yapmak istiyorum - Linux işletim sistemimin (centOS6.5) geçerli durumunu kaydedin. Bazı değişiklikler yapın (daha spesifik olarak bir hata enjekte edin ve belirli bir hata türü meydana geldiğinde nasıl davrandığını kontrol etmek için bazı hizmetleri test edin.) Sonra sistemi kaydedilen duruma geri yükleyin. Bunu linux sisteminde nasıl yapacağımı anlayamıyorum. Bir ext4 dosya sistemine sahip centOS 6.5 ile bir makinem var.Ayrıca bu sanal bir makine değil, fiziksel bir sunucudur.

Herhangi bir fikir veya öneriniz var mı?


Fiziksel sunucu mu yoksa sanal makine mi?
steve

1
İşletim sisteminizi VirtualBox gibi sanallaştırma yazılımlarında çalıştırmanızı tavsiye ederim. Anlık görüntüleri güzel bir şekilde destekler.
yaegashi

Fiziksel bir sunucudur. Bunu birden çok makinede (fiziksel sunucular) yapmam gerekiyor ve işletim sistemimi bir sanallaştırma yazılımında çalıştırmak için yapılandırmayı değiştiremiyorum.
bRuta

Sistem anlık görüntülerini desteklemek için genellikle sanallaştırma gibi ek bir meta katmana ihtiyaç duyar. Fiziksel sunucuların, bellenim ve önyükleyici seviyesinden kontrol altındaymış gibi davranmalarını sağlamak çok zor olacaktır.
yaegashi

Yanıtlar:


8

Basit tutup kopyalarım. USB'den canlı bir sistem önyükleyin (en kolayı USB başparmak sürücüsünden Ubuntu'dur), sonra sabit diskinizi farklı bir bölüme (veya harici sabit sürücüye vb.) Dökün, örn.

dd if=/dev/sda1 bs=64M of=/mnt/my_mounted_backup_drive/backup-sda1

/dev/sda1root ( /) bölümünüzle değiştirmeniz gerekir . (Diğeri gibi diğer bölümleri ile aynı mı /boot, /boot/efi, /home) olduğu durumlarda.

Yerden tasarruf etmeniz gerekiyorsa,

dd if=/dev/sda1 bs=64M | gzip --fast | dd bs=32M of=/mnt/my_mounted_backup_drive/backup-sda1.gz

ya da, daha karmaşık, çok daha yavaş ama birkaç bayt tasarruf,

mkdir -p /mnt/linux
mount -o ro /dev/sda1 /mnt/linux
cd /mnt/linux
tar cvJf /mnt/my_mounted_backup_drive/linux-backup.tar.xz .??* *

Daha sonra başka bir şekilde geri yükleyebilirsiniz, ör.

mkdir -p /mnt/linux
mount /dev/sda1 /mnt/linux
cd /mnt/linux
tar xvJf /mnt/my_mounted_backup_drive/linux-backup.tar.xz

veya

dd /mnt/my_mounted_backup_drive/backup-sda1.gz bs=32M | gzip --decompress | dd bs=64M of=/dev/sda1

(verilerinizi nereye yazdığınıza dikkat edin, bu her şeyi siler, bu /dev/sda1yüzden ilk seferde doğru olsun :-)


Not: Bir şeylerin gerçekten yanlış gitmesini beklerseniz, bölüm tablosunu yedekleyin dd if=/dev/sda bs=64M count=2 of=/mnt/my_mounted_backup_drive/backup-sda. Geri yüklerken, buraya diske çok fazla blok yazmamaya dikkat etmelisiniz - bölüm düzeninize bakmadan kaç tane olduğunu söyleyemezsiniz. İlk bölümünüzün gdiskveya bölümüne göre başladığı bloğa kadar (dahil değil) geri yükleyin fdisk.
Ned64

5

Tüm sistemi yedeklemek için rsync kullanabilirsiniz.

rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /* /path/to/backup/folder

Arch Linux Wiki'de bu konuda harika bir makale var


Benim için en iyi seçenek olmak oldukça kısa. Tabii rsyncyoksa, ddusb sürücülerimi yedeklemek için kullandığım kullanabilirsiniz.
m3nda


1

Dosya sisteminin içeriğini sıkıştırılmış bir dosyaya kaydedecek ve verileri çıkarırken dosya sistemini geri yükleyecek FSArchiver'ı kullanabilirsiniz .

Belgelerden bir örnek :

fsarchiver savefs /mnt/backup/gentoo-rootfs.fsa /dev/sda1

Ayrıca çok iş parçacıklı sıkıştırmayı da kullanabilirsiniz ve geri yükleme basittir:

fsarchiver restfs /mnt/backup/gentoo-rootfs.fsa id=0,dest=/dev/sda1

-1

Önceki duruma geri dönmek için, geçerli dosya sistemini yeni bir dizine bağlayabilirsiniz. Bu, dosya sistemini aşağıdaki komutla belirtilen yeni bir kök dizine bağlar:

mount DIR DIR

Bu durumu geri yüklemek için, dosya sisteminin kökünü mount komutunda belirtilen dizinden değiştirin.

umount DIR

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.