Linux sisteminin tamamen geri yüklenmesi


20

Sistemimdeki çeşitli dosyaları yedeklemek için rsync kullanmaya alışkınım, ancak bir makineyi tamamen geri yüklemenin en iyi yolu nedir.

Geçmişte denedim:

  1. Fedora kurulum disklerinden temel bir biçim / yeniden yükleme yapın
  2. Ağın etkin olduğundan emin olun
  3. Rsync yedekten her şeyi yeni kurulan sistemin üstüne kopyalayın

Bu şekilde çalışır ama kurulan her paketin daha sonra% 100 çalıştığını düşünmüyorum.

Sistemimi minimum çaba ile geri yükleyebilmek istiyorum ve her şey yedeklemenin yapıldığı andaki gibi çalışıyor. Ayrıca mümkünse diğer makinelere kurun ve aynı paket ve verilere sahip iki makineye sahip olun.


Diğer makinelere kurmak istediğinizi söylediğinizde, masaüstü ve dizüstü bilgisayar gibi diğer "özdeş / makineler" veya daha fazlasını mı kastediyorsunuz?
Ichorus

donanım farklı olurdu ama her ikisi de aynı yazılım paketlerini istiyor
Simon Foster

Yanıtlar:


17

İşte yaptığım şey (bu, / dev / sda'da tek bir disk olduğunu varsayar)

  • MBR ve bölüm tablosunu yedeklemek için dd kullanın: "dd bs = 512 sayım = 1 = / dev / sda = / backups / sda.layout" ise

  • tüm şeyi kopyalamak için rsync kullanın: "rsync -axvPH --numeric-ids ..."

Geri yükleme üzerinde bunu:

  • hedef makineyi sysrescuecd ile önyüklerim , genellikle bir USB çubuğunda 'sda.layout' dosyasına sahip olurum.

  • MBR / bölüm tablosunu dd ile geri yükleyin: "dd bs = 512 sayım = 1 = / path / to / sda.layout = / dev / sda"

  • Bölüm tablosunu yeniden okumak için çekirdeği almak için partprobe (teşekkürler yorumlayıcı Mark) kullanın.

  • Tüm çeşitli bölümleri / restore / altına monte edin. Bağlama noktalarını geri yükleme altında aynı hale getiriyorum, bu yüzden kaynağımda / boot, / var varsa, / restore / boot, / restore / var, vb.

  • her şeyi geri yüklemek için rsync kullanın.


3
Bunu birkaç kez yaptım ve standart linux CLI komutlarını kullanma avantajına sahip. Merkezi bir sunucuya yedeklemeler yapmak için rsnapshot, rsync etrafında bir perl betiği kullanıyorum. Sonra sysrescuecd'den önyükleme yaptıktan ve bölümler tablosunu görüntüledikten sonra her şeyi rsync. BTW, "partprobe" bölüm tablosunu yeniden okuyacak
Mark Porter

Tamam, bu aşağılık bir saldırı olarak görülebilir, ancak çekirdeğin fdisk gibi bir sysctl () düzenleyerek bölüm tablosunu yeniden okuyabileceğinden, fdisk'e sahip olabilirsiniz - ki bu da partprobe'un aksine her zaman benim deneyimimde var - it: fdisk / dev / yourdisk << EOF w EOF
Bernd Haug

Herkesin önerileri için teşekkürler, orada daha iyi bir çözüm olması gerektiğini biliyordum. Bu önerileri deneyecek ve benim için neyin en iyi olduğunu göreceğim.
Simon Foster

3
DD ile saymayı unutma! "dd bs = 512 ise = / dev / sda = / backups / sda.layout sayısı = 1" ve "dd bs = 512 ise = / path / to / sda.layout = / dev / sda count = 1"
Steven

@Steven: Saçmalık! Yakaladığınız için teşekkürler. Bir yorumu oylayabilir miyim?
kbyrd

6

Sistemleri hiçbir zaman tamamen klonlamam. Neyin değişebileceğini asla bilemezsiniz ve sistem klonlanmış resminiz, bir değişikliğin gerçekleştiği andan daha eski olabilir. Bunu yapmanın en iyi yolu, işlevsel olarak özdeş sistemler üretmenizi sağlayan bir prosedür oluşturmaktır. Bir olasılık Kickstart, AutoYaST veya benzeri araçlardır. Yapılandırmanızın iyi yedeklerini tutun ve her şeyi elle yapmak yerine yapılandırmak için Bcfg2, Kukla veya CFEngine gibi bir yapılandırma yönetim sistemi kullanın. Ardından, sahip olduğunuz sisteme benzeyen yeni bir sistem oluşturmanız veya mevcut bir sistemi yeniden oluşturmanız gerektiğinde, bu basit ve iyi tanımlanmış bir prosedürdür.


3

Önden daha fazla çaba harcayacaktı , ancak Kickstart ve Revisor bir kurulumu özelleştirmenize ve diğer makinelerde kullanmanıza izin veriyor. Ayar dosyalarınızın özelleştirilmiş sürümlerini ekleyebilirsiniz.

Ana dizininizi ayrı bir bölümde tutmayı da düşünebilirsiniz. Başka bir bölüme temiz kurulum yaparken bu bölümü yalnız bırakabilirsiniz.


2

Sistem kurtarma cd'sinin bir kopyasını alın ve ilk minimal kurulumunuzdan sonra önyükleyin, diske takın ve diskinize kökleyin ve ardından rsync'i yapın. Bittikten sonra doğru önyükleme aygıtından ve çekirdekten önyükleme almak için update-grub'u çalıştırmanız gerekebilir.


2

Her zaman Gentoo'nun yeni bir sistemi kurmanın (yedeklemeden veya başka bir şekilde) basitliği nedeniyle en iyisi olduğunu düşündüm.

  1. Çalışan, minimal sistem oluşturun.
  2. Çalışma sistemini bir livecd'ye sabit sürücü olarak yükleyin.
  3. Dosya sistemini kaldırın ve bir yere kaydedin.
  4. Hedef sistemi bir livecd ile yükleyin.
  5. Hedef sabit sürücüyü hazırlayın ve takın.
  6. Takılı sabit sürücüyü açın.
  7. Chroot girin.
  8. Önyükleyici ve sisteme bağlı diğer şeyleri ayarlayın.
  9. Yeniden başlatın ve gidin.
  10. Yeni yazılım yükleyin / kullanıcı klasörlerini kopyalayın / gerektiği gibi başka dosyalar ekleyin.

2

Clonezilla canlı cd'yi deneyin. Canlı bir oturuma önyükleme yapabilir ve herhangi bir şey yüklemenize gerek kalmadan makinenizi görüntüleyebilirsiniz. Daha sonra görüntünün kopyasını bir ağ paylaşımında veya uzak makinede saklayabilirsiniz.


0

Tam olarak aynı makine ise, sadece ddbir disk görüntüsü oluşturmak için kullanırım , sonra gerekirse yeniden biçimlendiririm (gerekirse daha sonra bazı yapılandırmaları değiştirme).

Donanımı değiştiriyorsanız, dosya sistemi kökünün bir tarball veya tam rsync yedeklemesini oluşturmada biraz başarılı oldum. İlk olarak neden tam bir yüklemeye ihtiyacınız olduğundan emin değilim - tam bir yedek aldığınız sürece, temel Fedora yüklemesi bir önkoşul olmamalıdır.


0

Prosedürünüz birçok soruna neden olabilir ve bundan kaçınılmalıdır.

Bu konuda iki temel yol tavsiye edilir ve üçüncüsü de tamamen bir geliştirme ortamı oluşturmaya çalışıyorsanız.

Görüntüleme

Geri yükleyeceğiniz donanım aynı veya yeterince benzer olacaksa, tüm sabit sürücünün veya dizinin bir kopyasını oluşturmak için bir disk görüntüleme aracı kullanın. Geri yüklemek istediğinizde, söz konusu makineleri bu görüntü ile yeniden görüntülemeniz yeterlidir. Birden fazla makineye görüntü veriyorsanız, diğer cihazlarda (ana makine adı, statik IP adresi vb.) Makineye özgü ayarları birbirleriyle çakışmayacak şekilde güncellemeniz gerektiğini unutmayın.

Gerçek görüntülemeyi yapmak için, sabit sürücüleri klonlayabilen herhangi bir araç veya ürünü tavsiye ederim.

Yapılandırma / Giriş Dizini yedekleri

Birincil makinenizde, aşağıdaki dizinlerden (veya diğerlerinden) istediğinizi düzenli olarak (hangi yöntemle isterseniz) yedekleyin:

/ home - Tüm kullanıcı kişisel ayarları, belgeleri ve dosyaları
/ etc - yapılandırmalar
/ opt - paket yöneticisi aracılığıyla yüklenmeyen özel yazılım
/ usr / local - paket yöneticisi
/ var - log'ları aracılığıyla yüklenmeyen özel yazılım ve benzeri

Geri yüklerken, işletim sistemini söz konusu makinelere yeniden yükleyin ve ardından bunların (veya yalnızca ilgili dosyaların) her birini doğru konuma kopyalayın.

Anlık görüntülere sahip Sanal Makineler

VMWare'de (veya istediğiniz herhangi bir şeyde) bir sanal makine oluşturun. İstediğiniz gibi yapılandırıldığında, bir anlık görüntü oluşturun. Bu anlık görüntü daha sonra herhangi bir sayıda yeni veya mevcut sanal makineye kolayca geri yüklenebilir.

Genel olarak, yalnızca verileri ve yapılandırmaları yedeklemelisiniz (ancak bunları tanımlamanız gerekir). İşletim sistemi ve yazılım her zaman önemsiz bir şekilde yeniden oluşturulabilir: yalnızca kendi içeriğiniz değerlidir. Bu kurulum geliştirme amaçlıysa ve özdeş bir ortam sağlamanız gerekiyorsa (sadece işleri yeniden çalıştırmanın aksine), o zaman sanal bir makinedeki anlık görüntüler gerçekten en iyi seçenektir.

Görüntüleme kaba kuvvet çözümüdür. Yapabiliyorsanız, verilerinizi yedekleyin ve işletim sisteminin kendisi hakkında endişelenmeyin. Tamamen geri yüklemeye çalışmak sorun istiyor.

Niyetinizin burada ne olduğunu açıklığa kavuşturabiliyorsanız, daha ayrıntılı bir çözüm sağlayabilirim.


0

"Donanım farklı olacak" dediğinden , SystemImager çok kullanışlı olabilir.

PXE ve Rsync'in etrafındaki bir dizi sarmalayıcı komut dosyasıdır. Bu nedenle, oluşturduğu "yedekleme" yedeklenmiş Linux sunucunuzun tam bir dizin yapısıdır. Bu dizine "cd" yazabilir ve besledikçe etrafındaki şeyleri değiştirebilirsiniz. (SystemImager, görüntüyü dışarı ittiğinizde değişen Ağ ayarlarını kendi başına yönetir.)

Yedeklenen sunucunuza bağlanıp görüntüyü dışarı itmeden önce yazılım yüklemek için yum veya apt komutunu çalıştırabilirsiniz.

Düzenleme: Bölümler / mantıksal birimler oluşturan SI komut dosyasına bakabilir ve hedef makinelerin disk boyutuna göre değiştirebilirsiniz. Ayrıca çekirdek modülleri ekleyebilir / kaldırabilirsiniz.


0

Mondo Rescue ile çok iyi şanslar yaşadım. Temel olarak tüm dosyalarınızı ve bölümlerinizi daha sonra kullanmak üzere önyüklenebilir bir CD'ye yedekler. Bölümlerdeki ve sürücülerdeki değişiklikleri işleyebilir.

http://www.mondorescue.org/



0
  • En güvenli yol, tüm diskleri veya en azından ilgili bölümleri klonlamak ve bir Canlı CD kullanarak geri yüklemektir.

  • Yerden tasarruf sağlayan başka bir yöntem de dökümü (XFS için xfsdump) kullanmaktır, ancak bu durumda bölümleri elle yeniden oluşturmanız (biçimlendirmeniz) gerekir. Onları aynı parametrelerle, özellikle UUID ve LABEL ile oluşturmayı unutmayın.

  • Ayrıca kullanabilirsiniz tar ile --xattrs her dosyanın genişletilmiş niteliklerini kaydetmek için parametre.


1
Linux'taki modern rsync, genişletilmiş öznitelikler ve ACL'ler için sırasıyla -X ve -A'ya sahiptir.
kbyrd

0

partimage ve partclone (Clonezilla'nın parçaları), tam sistem görüntüleri oluşturmak için kullanışlı yardımcı programlardır.

Tanımladığınız gibi, tam sistem görüntüleri mutlaka sistemde taşınabilir değildir: genellikle cihaz adları nedeniyle.

GRUB'u (tercihen ayrı bir / önyükleme bölümünde) ve MBR'yi görüntülemeden sonra (örneğin bir LiveCD ile) yeniden kurmak kadar basit olabilir.

Diğer bir yaklaşım, bir temel görüntüye (Vagrant temel kutuları gibi) uygulanan politikaları tanımlamak için Yapılandırma Yönetimi araçlarını kullanmaktır; ve veri yedeklemelerini blok ve / veya nesne deposuna ayırın (EBS / S3, Açik Blok Blok Depolama / Açik Nesne Depolama)

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.