Nasıl bir btrfs anlık yapmak?


22

Ev / bölümüm tamamen fiziksel bir diskten oluşuyor. Btrfs olarak biçimlendirilmiştir. Fotoğrafını çekmek istiyorum. Özellikle, çok sayıdaki adlandırma konusunda kafam karıştı.

Benzer sorular olduğunun farkındayım, ancak her bir soru sorduğumdan farklı bir şey soruyor gibi görünüyor (ve btrfs'in hızlı gelişimi göz önüne alındığında, muhtemelen daha eski, yani daha eski). Örneğin, bu sorunun cevabı görünüşte sorumun cevabı değil, çünkü / home bölümüm ayrı bir birimdir ve btrfs için man sayfası şimdi anlık görüntüler oluşturmak için farklı bir komut gösterir.

Başka bir benzer problem, katı bir çözüm yok .
adlandırma konularında benim gibi kafası karışan biri

Benim sorum:

Başlamak için basit: bu benim ana bölümümün basit bir fotoğrafını çekmek için doğru komut mu?

btrfs subvolume snapshot /home/@home /home/@home_snapshot_20120421

Gerçekten cesur oldum ve test ettim ve işe yaramadı. Hata error accessing /home/@home. Aşağıda gösterildiği gibi, @home listelenmiştir.

Açıkçası, çok büyük isimlerle kafam karıştı. Anlık görüntüler oluştururken bunları kullanmam gerekir mi? Bazı örnekler /home, kaynak parametre olarak kullanarak evin fotoğraflarını çekmeyi göstermektedir , ancak kök hacimli örneklere dayanarak, benim kullanmam gerektiğini düşünüyorum /home/@home.

Bu komut işe yarar mı? Ve değilse, neden?

btrfs subvolume snapshot /home /home/@home_snapshot_20120421

@sadece adlandırma kuralı? Hiç anlamlı mı?

İşte alakalı olabilecek bazı çıktılar:

btrfs subvolume list /home
ID 256 top level 5 path @home

Bunun tam olarak ne anlama geldiğinden emin değilim. Denediğimde btrfs device scanhata veriyor (örn. / Dev / sda1 aygıtı tarayamıyor). Dosya sistemimde hata yok. Herşey yolunda.

İşte bölümlerim. Bir cevaba cevap olarak, hayır / ana sayfa benim tek btrfs bölümüm değil.

/dev/sda1: (boot partition) TYPE="ext2"  
/dev/sda2: (root partition) TYPE="btrfs"  
/dev/sdb1: (home partition) TYPE="btrfs"  
/dev/sdc1: (shared partition) TYPE="btrfs"  
/dev/sdc2: TYPE="swap"  

topluluk repo hakkında karar verecek ...
Bir Sıfır

Yanıtlar:


19

Ubuntu 12.04'te ana bölümümün bir görüntüsünü oluşturmak için doğru komut nedir?

Evin bir btrfs bölümünde olması ve / home olarak monte edilmesi gerçeği göz önüne alındığında, doğru komut:

sudo btrfs subvolume snapshot /home/ /home/<any_name_you_choose_for_the_snapshot>

İşte sonuçlarım:

Komutu bugün çalıştırmadan önce:

$ btrfs subvolume list /home  
ID 256 top level 5 path @home  
ID 257 top level 5 path @home/@snapshot_20120521_1936

Komuta:

$ sudo btrfs subvolume snapshot /home/ /home/@snapshot_20120611_1307  
Create a snapshot of '/home/' in '/home/@snapshot_20120611_1307'

Komutu bugün çalıştırdıktan sonra:

$ btrfs subvolume list /home  
ID 256 top level 5 path @home  
ID 257 top level 5 path @home/@snapshot_20120521_1936  
ID 258 top level 5 path @home/@snapshot_20120611_1307

Bu yöntemle ilgili tek sorun, ls (list) / home olduğunda anlık görüntülerin görünmesidir.

Ubuntu topluluğu Wiki bunun için bir çözümle güncellendi. İşte burada:

Ubuntu'nun düzeninde fotoğraflarla nasıl çalışılır

Ubuntu düzeninde / veya / home anlık görüntüleriyle çalışmak için, btrfs dosya sistemini ayrı bir yere monte etmek ve btrfs ağacının üstünden, monte edilmiş alt hacimlerden çalışmak çok uygundur. <- çözüm budur. Ne yazık ki uygun değil .

sudo mount /dev/sdX# /mnt

Bir anlık görüntü oluşturmak için yukarıda kullandığımla aynı sözdizimini kullanın:

sudo btrfs subvolume snapshot /mnt/@ /mnt/@_snapshot

Bu, ayrıca btrfs ağacının üstünde bulunan @ subvolume öğesinin bir anlık görüntüsünü de oluşturacaktır. Ağacın tepesinde olduğu için, dosyaları bağlı bir birimde listelerken görünmeyecektir.

Anlık görüntüye geri dönmek için, adını ubuntu'nun bağladığı ve yeniden başlattığı adıyla değiştirmeniz yeterlidir. İşte adı nasıl değiştireceğiniz:

sudo mv /mnt/@ /mnt/@_badroot
sudo mv /mnt/@_snapshot /mnt/@

Bir anlık görüntüyü silmek için:

sudo btrfs subvolume delete /mnt/@_badroot

btrfs anlık görüntüleri kendi içinde alt hacimlerdir ve eski @ alt hacmini silerek kendi başlarına yeten, yerine koymamız şartıyla, böyle iyi.

NOT: btrfs-tools komutu set-defaultUbuntu'nun düzenini bozacaktır.


Yani orada haklısın? Şimdi anlık görüntülerinizi monte edebilmelisiniz.
turbo

Aslında onları henüz monte etmeyi denemedim. Ve ben sadece psusi'nin apt-btrfs-snapshot paketi hakkındaki cevabını gördüm. Bu ilginç görünüyor, değil mi?
Monica Cellio için MountainX

Evet, üçüncü noktada da bahsettim. Üzgünüm işaret etmek zorunda kaldım;)
turbo

Çözümünüzü cevap olarak işaretlemenizi öneririm.
turbo

Anlık görüntülerin evdeyken / evdeyken ortaya çıkan bir çözümü var. Şimdi cevabımı bilgilerle düzenliyorum.
Monica Cellio için MountainX,

11

Tamam önce ilk şeyler:

  • Eğer bir bakıyorsun alt hacim adı @homeolarak gösterdiği btrfs subvolume list /home. Takılı /home. @home, alt hacmin adıdır, ayrıca 256 no'lu ID'ye sahiptir, bu nedenle büyük olasılıkla yalnızca / eviniz btrfs olarak biçimlendirilir.

  • Şimdi @home'in anlık görüntüsünü oluşturmak için yayınlamanız gerekir: sudo btrfs subvolume snapshot /home/ /home/@home_snapshot_20120421

  • Alt hacmin herhangi bir adı olabilir. @, Ubuntu'nun yükleme sırasındaki sözleşmesidir. ( apt-btrfs-snapshotKök alt kullanırsanız @btw olarak adlandırılmalıdır .) Topluluk wiki , bu şekilde monte edildiğinden beri @kök ve @homeev olarak tutmanızı şiddetle önerir . Geri almak istiyorsanız bu özellikle önemlidir: btrfs subvolume set-default'i kullanmamalısınız (sözdizimi amaçlı değil).

  • İçin btrfs device scankullanmak zorunda sudo.

  • Bir alt sesi silmek için kullanabilirsiniz. sudo btrfs subvolume delete @home_snapshot_20120421

Onlar kesin olarak tüm btrfs komutları böylece örneğin sürece kısaltılabilir sudo btrfs device scanşekilde kısaltılır edilebilir sudo btrfs d s, sudo btrfs dev scya da bunların arasında herhangi bir şey.

Umarım bu sorularınızı cevaplamıştır. Düzenli yedekleme yapmak için orada bazı araçlar var, btrfs-snapshot-rotasyon buna bir örnektir. Bunları hiçbiri gerçekten olgun olmadığından veya yeterince çekiş olmadığından dikkatli kullanın, yani çok iyi böcek içerebilirler.


Bir hata alıyorum:$ sudo btrfs subvolume snapshot @home home/@snapshot_20120611_1257 ERROR: error accessing '@home'
Monica Cellio için MountainX

Ayrıca, btrfs device scanhenüz başaramadım . Herhangi bir değişken, aşağıdakileri içeren kullanarak sudohata verir "HATA: cihazı tarayamıyorsa '/ dev / SDX'" X, herhangi bir geçerli bir ad vb bir, A1, B, olduğu gibi burada
MountainX Monica CELLIO'nun için

@OneZero: Henüz tüm cevaplara sahip değilim, ancak Ubuntu 12.04'te ev bölümümün bir görüntüsünü oluşturmak için doğru komutu buldum ve bu bilgiyi aşağıda bir cevap olarak verdim.
Monica Cellio için MountainX,

bu gerçekten garip. Btrfs bölümümü kontrol ettim btrfs sub snap @ /mnt/randomve bu benim için çalıştı. Sonra tekrar / mnt içinde @ monte edildi. Karışıklık için özür dilerim
turbo

@ turbo: Cevabınız çok yardımcı oldu. Yardım etmeye çalıştığın için özür dilemeye gerek yok. Ubuntu sayfaları bile net değil. Sonunda hepsini çözeceğiz.
Monica Cellio için MountainX,

10

Yükleme apt-btrfs-snapshotpaketi ve bunun alt komutları kullanmak list, snapshot, deleteve set-default.

Bu, alt seviye btrfskomutlarını saran bir script . Önce btrfs root dosya sistemini bir yere monte ederek çalışır. /@Bununla, normal olarak monte edilmiş alt hacmin aksine, gerçek kökü kastediyorum /. Başka bir deyişle, çalıştırmak için gereken mount /dev/sda1 /mntsen olarak listelenir alt hacimleri görüntüleyebilmek için /mnt/@, /mnt/@homeve başka yakalamak oluşturduk. Oradan btrfs subvolume snapshot /mnt/@home @snapshot-today, /@homeadlandırılmış bir anlık görüntüsünü yaratacak yapabilirsiniz /@snapshot-today. Bunu btrfs subvolume snapshot /home /home/@snapshot_today, bunun yerine bir çocuk olarak enstantane yaratan koşu ile karşılaştırın /@home, bu nedenle siz ls /homeve onun gerçek adı ne zaman ortaya çıktığını gösterir /@home/@snapshot-today.

Bir anlık geri alınıyor sadece basit bir adlandırma işlemdir: mv /mnt/@home @backup ; mv /mnt/@snapshot-today @home. Bir dahaki sefere /@homeaçtığınızda /home, monte edildiğinde , anlık görüntüyü bulur.

Kafanızı sarmak biraz zordur, çünkü btrfs'nin çekirdeği nasıl gördükleri ile çekirdeğin şeyleri nasıl gördüğü arasındaki farkı, (takma seçeneklerinden etkilenen subvol = argüman) akılda tutmanız gerekir.

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.