Başlatılmakta olan mevcut diski silmek mümkün mü?


23

Canlı bir USB diskte çalışan FreeNAS'ın bir kopyası bende. Ve bir yedeğini almak istiyorum.

Mükemmel çalışan bir sistemi ddkırmamaya çalışırken, işletim sistemi çalışırken diski açabilir miyim ?

Yoksa makineyi ddkapatıp başka bir makineden kaçmam gerekir mi?

Yanıtlar:


16

Kaçabilirsiniz ddçalıştıran diskte. Disk yapısında ağır değişiklikler olduğunda bunu yapmaktan kaçınılmalıdır. Ayrıca fschkbittiğinde varış yerini de seçmelisin . Yedekleme sırasında sistem daha sessiz.

'Dd' kullanmak istiyorsanız soğuk bir yedekleme (dosya sistemi kaldırılmış) çalıştırmak en iyi seçenektir.

Çalışan bir sistemi yedeklemek için daha iyi seçenekler var.

  • tarya cpioda dosyaları okuyacak ve açık dosyalarla oldukça iyi ilgilenecektir. Yedekleme sırasında meydana gelen değişikliklerin bazılarını özleyeceksiniz.
  • rsynctaraçık dosyalar ve yedekleme sırasındaki eksik değişiklikler gibi davranır . İlk yedeklemeyi yapmak için kullanılabilir ve artımlı yedeklemeleri çok iyi yapar. Artımlı bir yedekleme çalıştırırken, değişmeyen dosya bölümlerini kopyalamayı atlayabilir.

Veri tabanı içeren bir dosya sistemini yedekliyorsanız, yedeklemeler için desteği araştırın.


- Üstteki araçlarını kullanarak İyi noktaları tar, cpiove rsynctüm çalışmaları dosya sistemi içinde bu uygun olabilir bu yüzden. ddOTOH, FS'yi atlayarak doğrudan disk blokları ile çalışır.
Piskvor

16

Öyle teknik olarak mümkün diskin bölümleri herhangi yazılabilir, özellikle, ( "çekim kendin yap-in-the-ayak" gibi), ama son derece unadvisable.

Bu senaryoyu hayal edin:

  • dd diski başlangıçta okumaya başlar ve merhametle sonuna kadar yoluna devam eder.
  • Yarısı orda olduğunda, işletim sistemi diske bir dosya yazar. Dosya yine de parçalanmış - bir kısmı fiziksel olarak diskin başlangıcına, diğeri ise sonuna doğru yerleştirilmiş.
  • İşletim sistemi için sorun değil - dosyayı iyi yazar ve yazma önbelleklerinden çıkarır; şimdi doğru şekilde diske yazılmıştır.
  • Sorun şu ki, yedeklemeniz ddgeçmiş : dosyanın ilk bölümünü çoktan geçmiş ve kopyalamış, ikinci bölüme geçtiğinde tutarsız bir durum yakalayacak - her bölüm farklı bir sürümden olacak!

USB diskindeki tüm bölümleri salt okunur olarak yeniden düzenleyebiliyorsanız, bu sorun oluşmamalı (vurgu yapılmamalıdır ); bu, /bölüm için önemli bir ön yükleme / çevrimdışı hazırlık ve önyükleme süresi ayarlaması gerektiriyor olsa da - normalde /anında r / o'yu yeniden monte edebileceğinizi sanmıyorum , r / w gerektiren birden fazla şey asılı kalacaktır erişim.

Bu nedenle, kopyayı çalıştırmak muhtemelen çalışan sistemi bozmaz , ancak size görevi yürütmek için uygulanabilir bir yedekleme yapmaz . Makinenin kapatılmasını gerektiren kopyayı çevrimdışı hale getirmenizi şiddetle tavsiye ederim.


1
Harika bir cevap için teşekkürler, kolay bir çıkış yolu umuyordum, ama haklısın, belirttiğiniz şeyden doğan iyi bir senaryo hayal edemiyorum.
stuartc

1
@stuartc: FS sürücüsünden büyük bir işbirliği gerektirir - kopyanın başlamasından bu yana yapılan her değişikliğin kopyalanma sürecini ve tutarlı bir duruma geçip geçmeyeceğini bildirmek. Bu büyük bir sorunsa, gibi anlık görüntülemeyi destekleyen dosya sistemlerine bakın btrfs.
Piskvor

4

Asla monte edilmiş bir bölümün görüntüsünü oluşturmamalısınız. Ondan önyükleme yapıp yapmadığın önemli değil.

Ancak, başlattığınız bölümün bağlantısını kesmeye çalışmakta zorlanacaksınız.


4

Bunun için dump(8)FreeBSD'de kullanıyorum. Örneğindump -auLf /mnt/some-other-disk/root.dmp /

Bu -Lseçenek, anlık bir fotoğraf çekerek canlı dosya sisteminin kopyalanmasını sağlar.

Dökümü kullanarak geri yüklenebilir restore(8).

Sadece UFS ile çalışabilir; Ben bu konuda emin değilim.


0

Kaç yedekleme ipucunun aşağıdakilerden bahsetmediği şaşırtıcı:

Linux sisteminin (ve çoğu çoklu iş parçacığı işletim sisteminin), yedekleme ve geri yükleme yaparken genellikle sessiz olması gerekir.

Bu, görüntülemeye çalışırken bir işletim sistemi çalıştırmamakla kolayca elde edilir.

Yedekleme ve geri yükleme için, monte edilebilir ve aslında muhtemelen işletim sistemi tarafından kök (/) olarak çalıştırılmamalıdır.


Sebep: Her bir çok görevli işletim sisteminde linux dahil, dosyaları etkileyecek şekilde çalışan eş zamanlı kod dizileri vardır ve bu da sistem genelinde doğru dosya kümesi yedekleme veya geri yüklemelerinin yapılmasını imkansız kılar.

Özellikle, dosyaları alırken, yedeklemenizin herhangi bir zamanda dosya sisteminin gerçek ve doğru bir görüntüsünü temsil etmeyeceği şekilde dosyalar oluşturmak veya silmek için başka bir görev olabilir. Bu yedeği geri yüklemeyi denerseniz, çökmelere ve diğer anomalilere neden olacak veri bozulmalarına sahip olursunuz.


Seçenekler: Yedeklemelerin ya özel bir yazılım ve / veya disk sistemleri (örneğin çalışan bir işletim sistemini yedekleyebilen örneğin Windows'taki Acronis gibi) ya da çalıştığınız işletim sisteminin çalışmadığı dosyalara erişen harici bir ikincil işletim sistemi tarafından yapılması gerekir. yedekleme veya geri yükleme.

!!! Bu nedenle, örneğin yedekleme yapmak için Deja-dup'i kullanmanız gerektiğini söyleyen web sayfalarını gördüğünüzde , bu sadece işe /homeyarar ve daha sonra SADECE /homedeja-dup'i çalıştırırken etkileyen programları çalıştırmazsanız çalışır. (Ve o zaman bile, dosyalarınıza bir daemon aracılığıyla dokunabileceklerini gerçekten bilmiyorsanız, parmaklarınızı çarpmak isteyebilirsiniz.)


0

Bunu zaten test ortamında başarılı, sonunda fsck ve rsync ile iyi bir cihaz kopyası elde etme şansını arttırmak için yapıyorum.


1
rsyncİle yapılan bir bütün diski (tüm dosya sistemi) dökümü geliştirmek için  nasıl kullandığınızı açıklayabilir misiniz dd? (Ve, erişim hakkınız varsa rsync, neden onu ikincil, yardımcı biri yerine birincil yedekleme aracı olarak kullanmıyorsunuz?)……………………………… Lütfen yorumlara cevap vermeyin;  cevabınızı daha net ve eksiksiz hale getirmek için düzenleyin .
Scott
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.