Sabit diskin artımlı anlık görüntüleri nasıl oluşturulur ve geri yüklenir


13

Virtual Box'ı dağıtım / uygulama testi amacıyla çok kullanıyorum.

Sadece bu konuda sevdiğim özelliklerden biri, sanal makinelerin anlık görüntüleri, sanal bir makinenin durumunu kaydediyor ve herhangi bir sorun yaşamadan ve tüm sabit disk alanınızı tüketmeden eski ihtişamına geri yükleyebiliyor.

Canlı sistemlerimde dosya sisteminin 1: 1 görüntüsünü nasıl oluşturacağımı biliyorum, ancak bildiğim tüm çözümler tüm dosya sisteminin yeni bir görüntüsünü oluşturacak.

Geçerli bir dosya sisteminin anlık görüntüsünü alıp başka bir konuma kaydedebilen ancak yeni bir görüntü oluşturmak yerine artımlı yedeklemeler oluşturabilen programlar / dosya sistemleri var mı?

Ne istediğimi kolayca tanımlamak için dd, bir dosya sisteminin görüntüleri olarak olmalı , ancak sadece tam bir yedekleme yerine artımlı da yaratacaktır.


Ben klonezilla, vb aramıyorum. Kullanıcının hiçbir (veya neredeyse hiçbiri) müdahalesi olmadan sistemin kendisi içinde çalışmalı, ancak dosya sistemlerinin tüm verilerini içermelidir. Ayrıca mbr kaydetmek için duplicitybazı klasörler script + hariç tüm sisteminizi bir yedekleme aramıyorum dd. Bunu kendim yapabilirim, ekstra incelik ararım.

Bir sistemde büyük değişiklikler yapmadan önce yapabileceğim bir şey arıyorum ve sonra bir şey yanlış olduğunda veya üzerine kahve döktükten sonra sabit diskimi yaktıysam, sadece bir liveCD'den önyükleme yapabilir ve çalışan bir görüntüyü sabit diske geri yükleyebilirim.

Günlük olması gerekmez, hatta bir programa bile ihtiyaç duymaz. Sadece arada bir çalıştırın ve işine izin verin ve tercihen RAW tabanlı dosya kopyalama tabanlı değil.



Yüklenebilir resimler oluşturabilecek bir uygulama mı arıyorsunuz? Değilse, neden Deja Dup'i tercih etmiyorsun? Bir uygulamanın yüklenebilir görüntüler oluşturabileceğini istiyorsanız, bu yanıtı da bilmek istiyorum. Sık kullanılanlar ekleniyor.
heartsmagic

sadece başlıklı soruya bir cevap gönderdi ... ama görüyorum ki dosya düzeyinde yerine sistem çıplak metal geri yüklemek için daha potansiyel bir yol arıyorsunuz.
cprofitt

1
Dosya sistemi değil, artımlı yedekleme tabanlı bir blok seviyesi istediğiniz gibi geliyor. Anlık görüntüleri destekleyen bir dosya sistemi kullanmanın ötesinde, sorduğunuz şeyin mümkün olup olmadığından emin değilim. LVM, BTRFS bir olasılık olabilir.
cprofitt

@cprofitt thx başlığı düzeltmek için daha doğrudur.
Bruno Pereira

@Bruno - iyi başlıklar yapmak, bunu daha sonra gelen insanlar için cevabı bulmaya yardımcı olur.
cprofitt

Yanıtlar:


14

Açıklamak için cprofitt cevabını (onun cevabı olarak ise artan açıklayacağım gibi) ...

Öncelikle sabit bağlantılar hakkında bilmeniz gerekir.

Sabit bağlantılar, aslında diskte bulunan verileri (fiziksel konum) gösterir ve sabit bağlantıyı kullanarak verilere erişebilirsiniz. Her dosya ve dizin, fiziksel diskteki verilerin konumuna sabit bir bağlantıdır. Bu nedenle, aynı konuma işaret eden iki dosya (sabit bağlantılar) varsa, veriler yalnızca bir kez saklanır .


Cprofitt tarafından verilen süreç şunları içerir:

  1. Yeni bir nokta oluşturmak için yedeklemeleri döndürün. ("Bugünün yedeği" dünden "Dünün yedeği", iki gün öncesindeki "Dünün Yedeği" "İki Gün önce'nin yedeği" vb. Olur)

    • Liste, istediğiniz kadar büyümeye devam ediyor, ancak komut dosyasında sadece 4 anlık görüntü var. (Tüm işlemi bir sonraki seviye için tekrar yapar (örneğin bir hafta - "Bu haftanın yedeği") ve bunları döndürür, bu yüzden sadece 4'e sahiptir).
    • Üzerine yazma işlemini önlemek için taşıma işlemi tersine yapılır
  2. Yaptığınız en son anlık görüntüyü (örn. "Dünün yedeği") yenisini (örn. "Bugünün yedeği") yerine kopyalayarak, dosyayı kopyalamadan mevcut dosyalara yeni sabit bağlantılar oluşturun. Böylece yeni anlık görüntüdeki tüm dosyalar bir öncekiyle aynı yeri gösteriyor .


Resimli bir örnek

Aşağıdaki resimde, aynı renk adına sahip aynı renkteki dosyalar, diskteki aynı dosyaya sabit bağlantılardır. Burada sadece iki anlık görüntü ve birkaç dosyayla ilgileniyoruz, ancak örnek ölçekleniyor. (Anlık görüntüleri cproffit'in cevabında komut dosyalarının tersi yönde hareket ettirmem dışında)

resim açıklamasını buraya girin

Süreç şudur:

  1. Sistemin bir anlık görüntüsü var.

  2. Anlık görüntü kopyalardır (mevcut dosyalara sabit bağlantılar oluşturur)

  3. Anlık görüntüyü güncellemek için Rsync çalıştırılır. Dosyalar değiştirildiğinde, yeni dosyayı sabit diskte yeni bir kopya olarak saklar (böylece eski anlık görüntü değişmez). Bu örnekte, Dosya B değiştirilmiştir. Not: Artık yalnızca A Dosyasının ve C Dosyasının yalnızca 1 kopyası ve B Dosyasının sabit diskinde depolanan iki kopyası var

  4. Anlık görüntüleri döndürün (bu durumda anlık görüntü 0 'düşer' ve silinir ve anlık görüntü 1'i anlık görüntü 0 olarak yeniden adlandırırım)

  5. Anlık görüntü hedefini kopyalayın (2. adımın tekrarı)

  6. Rsync tekrar. (3. adımı tekrarlayın). Şimdi A Dosyasının 1 kopyasına ve B Dosyasının ve C Dosyasının 2 kopyasına sahibiz


[İlk] komut dosyasının basitleştirilmiş bir sürümü (çalıştırılamaz, tıpkı bir atlama taşı gibi) şudur:

#!/bin/bash

# Delete the snapshot we don't want (has 'fallen off')
rm -rf /root/snapshot/home/hourly.3 ;

# Rotate the snapshots by shuffling them back
mv /root/snapshot/home/hourly.2 /root/snapshot/home/hourly.3 ;
mv /root/snapshot/home/hourly.1 /root/snapshot/home/hourly.2 ;

# Copy the snapshot (creating hard links to the existing files)
cp -al /root/snapshot/home/hourly.0 /root/snapshot/home/hourly.1 ;

# Do the rsync ...
# step 4: rsync from the system into the latest snapshot (notice that
# rsync behaves like cp --remove-destination by default, so the destination
# is unlinked first.  If it were not so, this would copy over the other
# snapshot(s) too!
rsync -va --delete /home/ /root/snapshot/home/hourly.0 ;

Şimdi tam betik (ler) burada (cprofitt ile bağlantılı olarak) tam açıklamaya sahiptir ve daha ayrıntılıdır ancak temelde yukarıdaki gibidir. Diğer komut dosyası, anlık görüntüleri gruplamak ve cprofitt'in işlemi otomatik hale getirmek (cron kullanarak) ve yedeklemenin başarılı olduğunu doğrulamak için yanıt konuşmalarının diğer kısmı içindir.

İsimleri değiştirebilirsiniz, böylece "hourly ..." olarak adlandırılan dizinler yerine başka bir şey denir ve komut dosyası el ile çalıştırılır.


Tüm parçayı geri yüklemek için, en son anlık görüntüyü (veya bir önceki görüntüyü) yedeklerini aldığınız dizine kopyalayın.

Hala anlık görüntüde olan tek bir dosyayı geri yüklemek için, anlık görüntüye gidin ve ait olduğu yere geri kopyalayın.

Yedekleme ortamı harici bir sabit sürücü olabilir (ext2 / ext3 / ext4 olmalıdır). Eğer yedekliyorsanız /(esas /bootolarak /home, /etc /rootve /usr) o zaman ...

  1. Harici sürücüyü bağlar, yedeklemeyi gerçekleştirir ve en son anlık görüntüyü oluşturursunuz.

  2. Sürücüyü çıkarın.

  3. İstediğiniz bir dosyayı (çöp kutusundan bile) sildiğinizi unutmayın.

  4. Harici sürücüyü bağlayın ve dosyayı alın.

  5. Bir yedekleme yapın (sadece emin olmak için)

  6. Sürücünün bağlantısını kesin ve yola çıkın ...

  7. Bir dizüstü bilgisayar ve lavun karışmadığını fark edin.

  8. Yeni dizüstü bilgisayarınız canlı bir cd ile çalıştığında, dahili sürücüyü biçimlendirin, harici sürücüyü takın ve ardından cp -a /media/external/snapshot-0/* /media/internal-drive(anlık görüntü-0'ın en son anlık görüntü olduğunu varsayarak)

  9. ddGrub'u MBR'ye yükleyin (evet ayrı olmalıdır) - ya da cprofitt'in cevabının altında söylediği gibi mbr'yi yedeklemek için kullanın .

  10. Yeniden Başlatma.

Komut dosyasının iyileştirilmesi gerekir (yalnızca istediğiniz şeyleri almak için) ve yordam yordamı bölümünüz olmadığını varsayar /home. Diskte yenisini oluşturduysanız (veya varsa) ve mount /dev/sdxy /media/external/homekopyalamadan önce yerine takın .


100 dd anlık görüntüler 100 x <average size of snapshot> disk alanı maliyeti olacak . Bunların 100'ü mal olacak <size of snapshot> + <size of changed files>. / Home (~ 400GB) birkaç anlık görüntüsünü 500GB disk üzerine koymak için bunu kullandım.
Portablejim

Sanal disk görüntüsünü dosya sisteminize bağlayabilir, ardından yedeklerini alabilirsiniz. Bkz. Superuser.com/questions/158908/… ve bağlantılar
Portablejim

Dediğim gibi, bu sanal bir kutu değil, çalışan bilgisayarlarım için, vbox sadece bir örnektir.
Bruno Pereira

Güncellenmiş soru (sonunda yorum eklemek yerine).
Portablejim

@Portablejim: CP'nin "sabit bağlantıları koruduğunu" yazıyorsunuz. Bence bu ifade kafa karıştırıcı. cp -alkaynak dosyaları kopyalamak yerine kaynak dosyalara bağlantı yapıyor. Şekilleriniz de bunu yansıtmalıdır, örneğin, şekil 2'deki A dosyalarının aynı dosya olduğunu göstererek.
daniel kullmann

7

Rsync kullanabilirsiniz.

Listing one: make_snapshot.sh

#!/bin/bash
# ----------------------------------------------------------------------
# mikes handy rotating-filesystem-snapshot utility
# ----------------------------------------------------------------------
# this needs to be a lot more general, but the basic idea is it makes
# rotating backup-snapshots of /home whenever called
# ----------------------------------------------------------------------

unset PATH  # suggestion from H. Milz: avoid accidental use of $PATH

# ------------- system commands used by this script --------------------
ID=/usr/bin/id;
ECHO=/bin/echo;

MOUNT=/bin/mount;
RM=/bin/rm;
MV=/bin/mv;
CP=/bin/cp;
TOUCH=/bin/touch;

RSYNC=/usr/bin/rsync;


# ------------- file locations -----------------------------------------

MOUNT_DEVICE=/dev/hdb1;
SNAPSHOT_RW=/root/snapshot;
EXCLUDES=/usr/local/etc/backup_exclude;


# ------------- the script itself --------------------------------------

# make sure we're running as root
if (( `$ID -u` != 0 )); then { $ECHO "Sorry, must be root.  Exiting..."; exit; } fi

# attempt to remount the RW mount point as RW; else abort
$MOUNT -o remount,rw $MOUNT_DEVICE $SNAPSHOT_RW ;
if (( $? )); then
{
    $ECHO "snapshot: could not remount $SNAPSHOT_RW readwrite";
    exit;
}
fi;


# rotating snapshots of /home (fixme: this should be more general)

# step 1: delete the oldest snapshot, if it exists:
if [ -d $SNAPSHOT_RW/home/hourly.3 ] ; then         \
$RM -rf $SNAPSHOT_RW/home/hourly.3 ;                \
fi ;

# step 2: shift the middle snapshots(s) back by one, if they exist
if [ -d $SNAPSHOT_RW/home/hourly.2 ] ; then         \
$MV $SNAPSHOT_RW/home/hourly.2 $SNAPSHOT_RW/home/hourly.3 ; \
fi;
if [ -d $SNAPSHOT_RW/home/hourly.1 ] ; then         \
$MV $SNAPSHOT_RW/home/hourly.1 $SNAPSHOT_RW/home/hourly.2 ; \
fi;

# step 3: make a hard-link-only (except for dirs) copy of the latest snapshot,
# if that exists
if [ -d $SNAPSHOT_RW/home/hourly.0 ] ; then         \
$CP -al $SNAPSHOT_RW/home/hourly.0 $SNAPSHOT_RW/home/hourly.1 ; \
fi;

# step 4: rsync from the system into the latest snapshot (notice that
# rsync behaves like cp --remove-destination by default, so the destination
# is unlinked first.  If it were not so, this would copy over the other
# snapshot(s) too!
$RSYNC                              \
    -va --delete --delete-excluded              \
    --exclude-from="$EXCLUDES"              \
    /home/ $SNAPSHOT_RW/home/hourly.0 ;

# step 5: update the mtime of hourly.0 to reflect the snapshot time
$TOUCH $SNAPSHOT_RW/home/hourly.0 ;

# and thats it for home.

# now remount the RW snapshot mountpoint as readonly

$MOUNT -o remount,ro $MOUNT_DEVICE $SNAPSHOT_RW ;
if (( $? )); then
{
    $ECHO "snapshot: could not remount $SNAPSHOT_RW readonly";
    exit;
} fi;

ve ikinci:

Listing two: daily_snapshot_rotate.sh

#!/bin/bash
# ----------------------------------------------------------------------
# mikes handy rotating-filesystem-snapshot utility: daily snapshots
# ----------------------------------------------------------------------
# intended to be run daily as a cron job when hourly.3 contains the
# midnight (or whenever you want) snapshot; say, 13:00 for 4-hour snapshots.
# ----------------------------------------------------------------------

unset PATH

# ------------- system commands used by this script --------------------
ID=/usr/bin/id;
ECHO=/bin/echo;

MOUNT=/bin/mount;
RM=/bin/rm;
MV=/bin/mv;
CP=/bin/cp;

# ------------- file locations -----------------------------------------

MOUNT_DEVICE=/dev/hdb1;
SNAPSHOT_RW=/root/snapshot;

# ------------- the script itself --------------------------------------

# make sure we're running as root
if (( `$ID -u` != 0 )); then { $ECHO "Sorry, must be root.  Exiting..."; exit; } fi

# attempt to remount the RW mount point as RW; else abort
$MOUNT -o remount,rw $MOUNT_DEVICE $SNAPSHOT_RW ;
if (( $? )); then
{
    $ECHO "snapshot: could not remount $SNAPSHOT_RW readwrite";
    exit;
}
fi;


# step 1: delete the oldest snapshot, if it exists:
if [ -d $SNAPSHOT_RW/home/daily.2 ] ; then          \
$RM -rf $SNAPSHOT_RW/home/daily.2 ;             \
fi ;

# step 2: shift the middle snapshots(s) back by one, if they exist
if [ -d $SNAPSHOT_RW/home/daily.1 ] ; then          \
$MV $SNAPSHOT_RW/home/daily.1 $SNAPSHOT_RW/home/daily.2 ;   \
fi;
if [ -d $SNAPSHOT_RW/home/daily.0 ] ; then          \
$MV $SNAPSHOT_RW/home/daily.0 $SNAPSHOT_RW/home/daily.1;    \
fi;

# step 3: make a hard-link-only (except for dirs) copy of
# hourly.3, assuming that exists, into daily.0
if [ -d $SNAPSHOT_RW/home/hourly.3 ] ; then         \
$CP -al $SNAPSHOT_RW/home/hourly.3 $SNAPSHOT_RW/home/daily.0 ;  \
fi;

# note: do *not* update the mtime of daily.0; it will reflect
# when hourly.3 was made, which should be correct.

# now remount the RW snapshot mountpoint as readonly

$MOUNT -o remount,ro $MOUNT_DEVICE $SNAPSHOT_RW ;
if (( $? )); then
{
    $ECHO "snapshot: could not remount $SNAPSHOT_RW readonly";
    exit;
} fi;

Komut dosyasını ihtiyaçlarınız için oluşturduktan sonra cron işlerine ekleyin.

crontab -e

aşağıdakileri ekleyin:

0 * / 4 * * * /usr/local/bin/make_snapshot.sh

0 13 * * * /usr/local/bin/daily_snapshot_rotate.sh

Make_snapshot.sh öğesinin her dört saatte bir çalıştırılmasını ve daily_snapshot_rotate.sh öğesinin her gün 13: 00'da (yani 13:00) çalıştırılmasını sağlar.

kaynak: http://www.mikerubel.org/computers/rsync_snapshots/

* * * * * command to be executed
- - - - -
| | | | |
| | | | ----- Day of week (0 - 7) (Sunday=0 or 7)
| | | ------- Month (1 - 12)
| | --------- Day of month (1 - 31)
| ----------- Hour (0 - 23)
------------- Minute (0 - 59)

Saatlik çalışmasını istiyorsanız, her saat için bir cron işi eklersiniz.

Başka bir olası seçenek rsnapshot kullanmaktır

  1. Rsnapshot'ı yükleyin (yazılım merkezinde bulunur)

  2. Rsnapshot'ı yapılandırma ve Yedekleme Kaynak Dizinini Belirleme

/Etc/rsnapshot.conf dosyasını açın ve aşağıdaki satırları kaldırın.

# nano /etc/rsnapshot.conf

cmd_cp          /bin/cp
cmd_ssh /usr/bin/ssh
cmd_du          /usr/bin/du
cmd_rsnapshot_diff      /usr/local/bin/rsnapshot-diff
logfile /var/log/rsnapshot
  1. Hedef yedekleme dizinlerinizi /etc/rsnapshot.conf dosyasında aşağıda gösterildiği gibi tanımlayın. Bu örnekte,

    / home - yedeklenmesi gereken kaynak dizin localhost / - yedeklemenin saklanacağı hedef dizin. Bu dizinin, son adımda gösterildiği gibi /.snapshots/{internal.n <// dizini altında oluşturulacağını lütfen unutmayın.

    nano /etc/rsnapshot.conf

    yedekleme / ana sayfa / localhost /

  2. Rsnapshot Yapılandırmasını Test Edin

Rsnapshot öğesinin düzgün bir şekilde kurulduğundan ve linux rsync yedeklemesi yapmaya hazır olduğundan emin olmak için yapılandırma testi yapın.

# rsnapshot configtest
Syntax OK
  1. Rsnapshot Saatlik Yedekleme Yapılandırmasını Doğrula

Linux dizinlerini veya dosyalarını çeşitli aralıklarla yedekleyebilirsiniz. Varsayılan olarak, saatlik ve günlük yedeklemeler yapılandırılır.

Saatlik yedekleme yapılandırmasını doğrulayın.

# rsnapshot -t hourly
echo 6490 > /var/run/rsnapshot.pid
mkdir -m 0700 -p /.snapshots/
mkdir -m 0755 -p /.snapshots/hourly.0/
/usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded /home \
/.snapshots/hourly.0/localhost/
mkdir -m 0755 -p /.snapshots/hourly.0/
/usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded /etc \
/.snapshots/hourly.0/localhost/
mkdir -m 0755 -p /.snapshots/hourly.0/
/usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded \
/usr/local /.snapshots/hourly.0/localhost/
touch /.snapshots/hourly.0/
  1. Rsnapshot Günlük Yedekleme Yapılandırmasını Doğrulayın

Günlük rsnapshot cwrsync yedekleme işleminin doğru yapılandırıldığını doğrulayın.

# rsnapshot -t daily
echo 6493 > /var/run/rsnapshot.pid
mkdir -m 0700 -p /.snapshots/
/.snapshots/hourly.5 not present (yet), nothing to copy
  1. Rsnapshot için Crontab Girişi ekle

Rsync'in saatlik ve günlük yedekleme yapılandırmalarının rsnapshot cwrsync yardımcı programında düzgün bir şekilde kurulduğunu doğruladıktan sonra, bu köpek yavrusu crontab'da aşağıda gösterildiği gibi ayarlanma zamanı gelmiştir.

# crontab -e
0 */4 * * * /usr/local/bin/rsnapshot hourly
30 23 * * * /usr/local/bin/rsnapshot daily

kaynak: http://www.thegeekstuff.com/2009/08/tutorial-backup-linux-using-rsnapshot-rsync-utility/

---- Çıplak Metal Kurtarma

Baremetal iyileşme yapmak için dd ve katran kullanırdım.

Önemli meta verileri yedekleyin:

# dd if-/dev/hda of=/backups/mbr bs=512 count=1

İşletim sistemini yedekleyin:

# mkdir /backups
# mount nfsserver:/backups/<servername> /backups


# cd /
# tar cfz /backups/system.tar.gz --exclude /mnt --exclude /proc --exclude /backups

Baremetal bir geri yükleme dosyası yapmak istersem kişisel olarak sistemimi devre dışı bırakma eğilimindeydim.


2
Tüm cevabınız çok iyi görünüyor, sorun yok ve istediğim şey değil, tüm yöntemler MBR'yi geri yüklemeyecek ve ddartımlı değil. Sorduğum şey bunların hiçbiri değil. Son 10% aramak ilginç olabilir, ancak geri kalan tüm bilgi dökümü gerçekten değildir.
Bruno Pereira

Yukarıdaki ayrıntılar dosya sistemi ile ilgilenir (dosya sistemi olarak) ve ben MBR ile başa çıkmak için dd işlemini ekledim.
cprofitt

3

Blok tabanlı artımlı yedekleme yapmanın 2 yolu vardır

  • Dosya sistemi tabanlı anlık görüntüler
  • Program tabanlı anlık görüntüler

Dosya sistemi tabanlı anlık görüntüler

Hem ZFS hem de BTRFS , blok tabanlı artımlı anlık görüntüler sağlar ( BTRFS , ZFS (sayfa 25) ). Rsync olarak ayarladığınız bir sürücünüz ZFS veya BTRFS ve anlık görüntü olabilir.

Orada da LVM anlık aynı blok tabanlı artan anlık sağlar (cprofitt ile sözü).

Program tabanlı anlık görüntüler

Orada bir kaç yedekleme programları , amaç için dışarı ancak birkaç sopa:

Özellikle yineleme gibi bir şey aramamanızdan bahsettiğinizi biliyorum, ancak bazı özelliklerden bahsetebileceğimi düşündüm.

Ancak bu programlar geri yüklemek için bunları yüklemenizi gerektirir. Rsync gibi bir şeyin güzelliği, hemen hemen her linux kurulumunun varsayılan olarak rsync'e (örneğin küçük çekirdek (10MB dağıtım) eksik) sahip olmasıdır.

iki yüzlülük

Farkı (blok seviyesi) depolar ve sonra sıkıştırır ve şifreler. Bu, rsync yönteminden bile daha az depolama alanına yol açar, ancak (en azından benim gördüğüm şekilde) dosya sisteminin yeniden yapılandırılması gerekecektir, bu da zaman alacaktır (bununla birlikte artımlı yedeklemeler kullanıyorsanız ve o zamandan beri son tam yedekleme)

Adam sayfası nasıl çalıştığını açıklar.

Rdiff-backup

Yineleme gibi blok düzeyi farkları oluşturan bir istemci-sunucu programıdır, ancak en son geri yükleme noktasındaki değişiklikleri depolar, böylece en son anlık görüntü geri yükleme en hızlısıdır. Zamanda geri gitmek (en son anlık görüntü değil) daha fazla farkın analiz edilmesini gerektirir ve bu nedenle daha yavaştır.

Bazı insanlar rdiff-backup'u rsnapshot ile karşılaştırır (rsync mentodunun daha otomatik bir yolu gibi görünür). Hemen hemen tüm nasıl yapılır ağ üzerinde rdiff kullanmaya odaklanmak, ancak ben localhost üzerinde nasıl yapılacağından söz bir tane buldum .


tamam bunu beğendim, bölüm geri yükleme ile nasıl çalışacağını açıklamak ister misiniz? yani, ben bir diski kırmak nasıl tüm sistemimi bir bölümden kendim, bölümleri kendim yapmak zorunda kalmadan geri yüklemek istiyorum, vb çok ayrıntılı olması veya komut dosyaları, sadece bazı komut adları ve ne yapacaklarını içermez.
Bruno Pereira

Bu sistemlerle ilgili deneyimim yoktu, bunları yalnızca Google'ı kullanarak biraz araştırma yapmaktan buldum (bu yüzden neden sadece bağlantı olduklarını). örneğin duplicitygerçekte ne olduğunu öğrendim .
Portablejim

3

Ddar'a ( ana sayfa ) bir göz atmalısınız .

Anlık görüntünün özdeş kısımlarını aktarmamak anlamındadır. Anlık görüntülerle uğraştığı için sözcüğün klasik anlamında artımsal değildir.

Not: Bunu kendim denemedim (ama yazara güveniyorum). Kutudan çıkar çıkmaz elde etmek istediklerinizi yapamayabilirsiniz, ancak yine de sayfada daha fazla benzer çözüm var (örn. ZFS ), bu nedenle bir başlangıç ​​noktası olarak, muhtemelen yararlı olabilir.


1
Ben ddar'ın yazarıyım (bahsettiğiniz için teşekkürler!). Soruyu doğru anlarsam, ddar'a bir dizi LVM anlık görüntüsü vermek tam olarak istendiği gibi olur. Söylediğiniz gibi, artımlılardan ziyade anlık görüntülerle ilgileniyor, ancak anlık görüntüler, daha yeni olanları etkilemeden eski anlık görüntülerin kaldırılabileceği avantajıyla aynı etkiye sahip olacak.
Robie Basak

@ robie nasıl çalıştığını görmek için trilled olurdu, benim için veya bu tür bir çözüm arayan herhangi bir kullanıcı için çok küçük bir rehber yapabilir misiniz?
Bruno Pereira

1

Bunu sadece teorik olarak LVM ile yapabileceğinizi düşünüyorum ve büyük miktarda sabit disk harcayacak. Benim teorim, kök sisteminizi mantıksal bir birimde yaşayabilmenizdir, o zaman bir test yapmak istiyorsanız, bir anlık görüntü oluşturabilir ve yeni birimi kullanarak makineyi yeniden başlatabilirsiniz.

LVM anlık görüntüleri çalışmak için orijinal birime ihtiyaç duyar. Bunun nedeni, yeni birimin anlık görüntü ve gerçek dosya sistemi arasındaki farkı tutmasıdır.

Sistemi bu durumda bırakırsanız, yeni dosya sistemi değiştikçe disk alanını boşa harcarsınız. Enstantane ve kesin dosya sistemini birleştirmenin bir yolu olup olmadığını bilmiyorum. Şüphesiz başka bir mantıksal birime dd yapabilirsiniz, ancak bunun için dosya sisteminizin iki katı boşluğa ve "kurtarma noktanız" ile mevcut durum arasındaki farka ihtiyacınız olacaktır.

Ve tüm bunlar yeniden başlatma gerektirir ve otomatik olmaktan çok uzaktır.

Ayrıca, solaris sistemlerindeki zfs veya deneysel btrfs gibi çeşitli modern dosya sistemlerinin bu şekilde gittiğini varsayar.


1

Bu biraz kafamın üstünde, ama yapmak istediğiniz şeyin bir parçası gibi geliyor ikili dosyaların kısmi yedeklerini yapmak (bölüm görüntü dosyaları gibi). Bunu yapmak için tasarlanmış bir paket var (sadece okudum - denemedim.)

Bup'a bir bakın.

https://github.com/apenwarr/bup

Size bazı fikirler verebilir.

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.