LVM Anlık Görüntüsünü ubuntu'da bir yedekleme / geri yükleme noktası olarak ayarlama


29

LVM Anlık Görüntüsünü ubuntu'da bir yedekleme / geri yükleme noktası olarak ayarlama.

Niye ya?

Gördüğüm kadarıyla, Linux'un bütün büyük faydası ile, en büyük dezavantajı, uygulamaların karmaşık bir şekilde oluşturulmasıdır. Bütün paralar bir dizine gidiyor. Tüm yapılandırma dosyalarını bir başkasına. Ve ikili dosyalar da bir demet içine konur. Evet, Windows aşağı yukarı aynı şekilde çalışır, ancak Linux'ta yüklü olan sistem / sunucu yazılımının doğası gereği, kurulu yazılımın çoğunun herhangi bir zamanda yalnızca yaklaşık% 95 oranında olgunlaşmış olması, sisteminizi ayda iki kez karıştırmaktır. çok muhtemel ..

Elbette, her kurulumdan önce ve sonra sistemi yedekleyebiliriz, ancak bu bir milyon yıl sürer. Sistem yedeklemeleri (yalnızca veri / dosya yedeklemesinin aksine) bilgisayarınızı kapatmanızı ve bir çeşit önyüklenebilir canlı CD ve yedekleme ortamını kullanmanızı gerektirir. Ayrıca, sürücü% 15'ten daha fazla doluysa, modern donanımda bile yedekleme yapmak uzun zaman alabilir.

Peki, bu nasıl yapılabilir?


3
Bu bir soru değil ... sanırım çok da zor görünmedin; "ubuntu lvm snapshot" için hızlı bir google ve ortaya çıkan ilk şey wiki.ubuntu.com/Lvm
psusi

1
Yapacak bir şey yok ... okudun mu? Burada söylediğin her şeyi kapsar.
psusi

5
Tabii ki olabilir bir soru sormak ve sonra kendiniz cevap - ama bu site Q & A gibi çalıştığını unutmayın - serbest form öğreticiler için değildir.
guntbert

3
Bu şey. AskUbuntu dersler veriyor, ancak bir tane koymak için kolay bir yol bulamadım. Ve sıkı çalışmamı, fayda sağlayabilecek biriyle paylaşmak istediğim için, bunu sadece buraya göndermeye karar verdim.
sürtünme

4

Yanıtlar:


11

Alternatif - LVM Anlık Görüntüleri - LVM anlık görüntülerini buradan okuyabilirsiniz: http://www.tutonics.com/2012/12/lvm-guide-part-2-snapshots.html

Kısaca, anlık görüntüler HardDisk'teki kullanılmış sektörleri dondurmanın, sisteme anlık görüntü birimi olarak adlandırılan HardDisk'in ayrılmış bir kısmına herhangi bir değişiklik / silme / ekleme yazma talimatını verir, böylece değişiklikleri tutma / iptal etme kararını erteler Anlık görüntü ses boşluğunun sağladığı kadarıyla, ileride bir süre için sürücüde. Ve böylece, değişiklikleri geri almaya karar verdiğinizde (veya onları sakladığınızda), bir satırla yapabilirsiniz.

İlk başta karmaşık görünebilir, ancak ilk efordan sonra, anlık görüntü mekanizmasını kullanmak için gereken her şeyin sadece 2 satırlık komut dosyası olduğunu (sizi temin ederim!) Temin ederim.

Garanti - Aşağıdaki talimatlar için verilenlerin garantisi yoktur. Kendi sorumluluğunuzdadır kullanın!

Nasıl?

Önceden yapılandırılmış bir cilt grubunuz yoksa, muhtemelen temiz bir Ubuntu kurmanız gerekecektir. Ardından, sistemi ilk kez doğru bir şekilde yapılandırmak için biraz çaba harcamanız gerekecektir, ancak bu noktadan sonra anlık görüntü zahmetsiz hale gelecektir . Ve zahmetsizce, önceden yapılandırılmış komut dosyalarını kullanarak bir liner komutunu kastediyorum.

  1. Ubuntu canlı cd'ye önyükleme yapın (henüz kurulum yok .. sadece canlı cd)
  2. Açık Aksesuarlar -> Terminal
  3. Sabit sürücüyü temizleyeceğiz! Lütfen bu aşamadan geçmeden önce önemli olan her şeyi yedekleyin.

    İlk önce mevcut bölümleri kaldıralım:

    # fdisk /dev/sda
      Enter 'd' to delete - enter for as many partitions you have 
    > d   
    > <enter>
      ...
      Enter 'w' to write down changes
    > w
    
  4. Önyükleme bölümünü ve sürücünün geri kalanını diğer bölüm olarak oluşturun

    # fdisk /dev/sda
    > n
      To create a new partition.
    > p
      For Boot Primary partition.
    > 1
      Press <enter> to accept the default start sector.
      Enter:
    > +512M
      To give the boot partition a size of 512MB
    > n
      To create (another) new partition.
    > p
      Should be Primary too.
    > <enter> 
      To accept the default value of 2 (the second partition)
    > <enter>
      To accept the default start sector
    > <enter>
      To accept the whole disk
    > t
      To change the type of the second partition to LVM
    > 2
      To choose the second partition
    > 8e
      To set the type to 'LVM Linux'
    > w
      To write changes and exit.
    

    Değişikliklerin iyi çalıştığını kontrol etmek için:

    # fdisk --list
    

    Böyle bir şey almalısın:

      Device     Boot   Start    End        Blocks     Id   System
      /dev/sda1         2048     524287     261120     83   Linux
      /dev/sda2         524288   488397167  243936440  8e   Linux LVM
    
  5. Önceki cilt gruplarını / mantıksal birimleri kaldır:

    # lvdisplay 
    

    Sistemde sahip olabileceğiniz mantıksal birimleri gösterecektir.

    # lvremove <existing_logical_volume_name>
    

    Bu kuruluma müdahale edebilecek herhangi bir birim kurulumunun kaldırılması gerekiyorsa.

    # vgdisplay 
    

    Sistemde mevcut herhangi bir cilt grubunu gösterecek

    # vgremove <existing_volume_group>
    

    Cilt grupları için aynı ..

  6. 'Vgsnap' Birim Grubu Oluştur

    # vgcreate vgsnap /dev/sda2
    

    İle sonuçlanmalıdır:

      Volume group "vgsnap" successfully created
    
  7. Mantıksal Cilt Oluştur

    # lvcreate --extents 100%FREE --name lvroot vgsnap
    

    Cihazın% 100'üyle başlayan kök mantıksal hacmi.

    # lvresize --size -30G /dev/mapper/vgsnap-lvroot
    

    Bu, takas ve anlık görüntü hacimleri için 30 G'yi çıkaracaktır. Elbette - takas / anlık görüntü için daha küçük boyutlar seçebilirsiniz.

    > 'y'
      for the warning shown.
    

    Ve takas hacmini oluşturun:

    # lvcreate --size 15G --name lvswap vgsnap
    

    Not: Şimdi 15G kullanılmayan sürücü alanını terk ediyoruz, gelecekteki anlık görüntü için ayrıldı.

  8. Ubuntu'yu Kurmak

    Terimnal kapatın ve Yükleyici'yi başlatın.

    "LVM Kullan ..." ı seçin (Tüm disk şifrelemesini etkinleştirmeyi de seçebilirsiniz - ancak test etmedim ..)

    "Başka Bir Şey" seçeneğini seçin ve devam et düğmesine basın. Bu aşamada tanımlanmış / dev / mapper / ... birimlerinin bir bölümünü bulacaksınız. Bunlardan bazıları otomatik olarak üretilir (lvsnap- *) - şimdilik onları görmezden gelebilirsiniz.

    Seçin: / dev / mapper / vgsnap-lvroot birimi. Format olarak "ext4" ü seçin ve '/' olarak bağlayın

    Seçin: / dev / mapper / vgsnap-lvswap hacmi ve "takas alanı" nı seçin

    Şifrelenmiş bir sürücü oluşturacaksanız (anlık görüntülerle işe yarayacaksa hiçbir fikrim yok?), Muhtemelen / dev / sda2'yi seçip "şifreleme hacmini" işaretlemek isteyeceksiniz. Yine de test etmedim ..

    Not: Kullanılmayan 15G, anlık görüntü birimi için serbest bırakılmıştır.

    Seçin: / dev / sda1 bölümü. 'Ext2' olarak biçimlendirin ve '/ boot' olarak bağlayın

    Aşağıda - seçim yapın: / dev / sda1 bölümü, önyükleme olarak

    Yükle!

Anlık görüntüyü kullanma

Aşağıdaki adımlar, anlık görüntünün herhangi bir zamanda nasıl kullanılacağını gösterecektir:

  1. Anlık görüntüyü takma:

    Anlık görüntü birimini oluşturun

    # lvcreate --size 15G --snapshot --name lvsnap /dev/mapper/vgsnap-lvroot
    

    Mount dizinini oluşturun

    # mkdir /mnt/vgsnap-lvsnap
    

    Anlık görüntüyü salt okunur montaj olarak takın

    # mount -o ro /dev/vgsnap/lvsnap  /mnt/vgsnap-lvsnap
    

    Anlık Görüntü Açık!

    Bu noktada sisteminizi karıştırmaya, beta sürücülerini kurmaya ve hatta (Hayır! Bu sadece uygunsuz) başlayabilirsiniz.

    Şu andan itibaren istediğiniz zaman (anlık görüntü boyutu sağladığında ..) önceki durumuna dönebilir veya yeni görünümden memnun kaldıysanız, saklayın.

  2. Otomatik anlık görüntü birimi boş disk alanı izleme: Burada sağlanan komut dosyasının ince bir sürümünü kullanma: http://blog.rimuhosting.com/2012/02/20/cron-script-for-checking-disk-space/ Monitor_snapshot komut dosyası oluşturdum .

    Nasıl kullanılır / kurulur? - Yukarıdaki bağlantıda olduğu gibi:

    # cd /etc/cron.hourly
    # copy /home/<user>/Downloads/monitor_snapshot
    # chmod +x monitor_snapshot
    

    İlk kez çalıştırmadan önce, e-posta adresiniz (bildirimlerin gönderileceği yerler vb. Gibi) içindeki değerleri daha iyi düzenleyebilirsiniz. karar verirken - anlık görüntü dolmak üzere olduğunda size haber verin.

    Komut dosyasını çalıştırmayı test etmek için:

    # sh /etc/cron.hourly/monitor_snapshot
    

    Anlık görüntüdeki boş alanın yüzdesini (sayısını) yazdıracaktır.

    Önemli! Testleriniz / kurulumlarınız bittiğinde - geri alma veya değişiklik yapma - ve anlık görüntüyü Umount!

  3. Değişiklikleri geri alma : (Bkz. Rollback_snapshot komut dosyası, aşağıdaki talimatlarla birlikte belgenin sonundaki bağlantıya bakın)

    # lvconvert --merge /dev/vgsnap/lvsnap
    

    Bu aynı zamanda anlık görüntüyü de azaltır, ancak değişikliklerinizi iptal eder. Ayrıca - Geri alma işleminin yalnızca bir sonraki etkinleştirme işleminde gerçekleşeceğini bildiren bir uyarı göreceksiniz, bu nedenle:

    # reboot
    

    Not: Birleşmeyi atlarsanız, anlık görüntüyü Umount yaptıktan sonra değişiklikleriniz kabul edilir.

  4. Değişikliklerin yapılması - anlık görüntünün düzenlenmesi : ( Aşağıdaki talimatları izleyerek - tansiyonun sonundaki linke bakınız))

    # umount /mnt/vgsnap-lvsnap
      Will unmount (commit0 the snapshot
    
    # lvremove /dev/mapper/vgsnap-lvsnap
    # rm -rf /mnt/vgsnap-lvsnap/
    
    # rm /etc/cron.hourly/monitor_snapshot
      Remove the cron daemon script (that is unused)
    
  5. Anlık görüntünün yeniden monte edilmesi: ( Aşağıdaki talimatlara göre remount betiğine bakın - belgenin sonundaki bağlantı) Daha önce olduğu gibi:

    # lvcreate --size 15G --snapshot --name lvsnap /dev/mapper/vgsnap-lvroot
    # mkdir /mnt/vgsnap-lvsnap
    # mount -o ro /dev/vgsnap/lvsnap /mnt/vgsnap-lvsnap
    

    Monitor_snapshot cihazını ana dizinize kaydettiyseniz geri yükleyebilirsiniz:

    # cp /home/<user>/monitor_snapshot /etc/cron.hourly/
    # chmod +x /etc/cron.hourly/monitor_snapshot
    

Hepsi bu kadar millet! Aşağıdaki talimatlar yalnızca istifa edenler içindir;)

  1. Anlık görüntü sesini atma (Artık gerekli değilse)

    # rmdir /mnt/vgsnap-lvsnap
    # lvremove /dev/vgsnap/lvsnap
    

    (Ayrıca, takas için ayrılan 15G'yi işgal etmek için kök bölümünü yeniden boyutlandırmak veya takas etmek isteyebilirsiniz)

  2. Birim grubunun atılması - Yalnızca birim grubunun birimlerini kaldırarak mümkündür, bu muhtemelen işletim sistemi kurulumunun silinmesi anlamına gelir. Ama elbette, cilt grubunu çıkarmaya gerek yok ...

    Birim grubunu kaldırmak için:

    # vgremove vgsnap
    

Önemli Not! - fdisk'in biçimlendirilmesi / çalıştırılması ve tüm bölümlerin çıkarılması, birimleri sürücünün farklı bir bölümüne yazıldığından hacimleri veya grubu SİLEMEZ ... Bu nedenle, yukarıda verilen kaldırma talimatlarını kullanın ve gerekirse birimleri ve grubu çıkarın.


Bu ayrıntılı talimatlar için çok teşekkürler ... vay.
Adriano Lucas

2

Kullanarak yedekleme yapmak için bir cronjob oluşturma lvcreate -s -L <size> -n <snapshot_name> <volume_name>

Burada cilt adı, anlık görüntüsünü almak istediğiniz sesin adıdır. Daha fazla ayrıntı için bu eğitime devam edebilirsiniz


1
Güzel rehber! Bununla birlikte, niyetimin nerede bir yedekleme ortamı olmadan yedekleme yapmak için bir araç sağlayacağını unutmayın . Tembel bir yedekleme şekli olarak. Eski günlerde Norton GoBack ve Windows 2000 ile bu bir hayat kurtarıcıydı :) Çalıştığım sistemlerle gerçekten uğraşıyordum ve zaman zaman hatalarımı geri alabileceğime güvenebiliyordum. ! Yedeklemeler muhtemelen gerçek bir sunucuya gitmek için doğru yoldur, ancak bir VMWare / VirtualBox (harici olarak anlık görüntüler sağlayan) takılmayan bir iş istasyonu için, anlık görüntülerin gitme yolu olduğuna inanıyorum.
ovmak
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.