Alt hacimleri alt alt hacimlerle geri alma


9

Alt alt hacimli bir alt hacimli anlık görüntüye geri dönmenin standart bir yolu var mı? Örneğin, bu benim btrfs ses düzeni:

ID 257 gen 59802 top level 5 path __active
ID 258 gen 59784 top level 5 path __snapshot
ID 259 gen 59802 top level 257 path home
ID 260 gen 36538 top level 257 path opt
ID 261 gen 59802 top level 257 path var

Böylece, home, opt ve var öğelerinin __active alt alt birimleri olduğunu görebilirsiniz. __Active'i bu yeni düzenim olacak şekilde anlık olarak görüntülersem:

ID 257 gen 59802 top level 5 path __active
ID 258 gen 59784 top level 5 path __snapshot
ID 259 gen 59802 top level 257 path home
ID 260 gen 36538 top level 257 path opt
ID 261 gen 59802 top level 257 path var
ID 416 gen 59784 top level 258 path __snapshot/__active

__Active'in anlık görüntüsüne geri dönmek istersem, eve yeniden bağlanmanın, tercih etmenin ve yeni __active'e var olmanın bir yolu var mı?

Yanıtlar:


3

Tekrar btrfs subvolume listgöstermeyle kastediyorsanız, şunu gösterirsiniz:

ID 257 gen 59802 top level 5 path __active
ID 258 gen 59784 top level 5 path __snapshot
ID 259 gen 59802 top level 416 path home
ID 260 gen 36538 top level 416 path opt
ID 261 gen 59802 top level 416 path var
ID 416 gen 59784 top level 258 path __snapshot/__active

o zaman hayır bunu şimdi ile yapmanın bir yolu yok btrfs-progs.

Alt hacimler yalnızca tüm alt alt hacimler (ile oluşturulmuş btrfs subvolume create ...) boşsa silinebilir , ancak bu anlık görüntüler için (bunlar ile oluşturulmuştur) doğru değildir btrfs subvolume snapshot .... anlık görüntü kaldırma ile ilgili sorun.

Hem alt alt hacimler hem de anlık görüntüler aynı ağaç yapısında görünmesine ve hatta btrfs subvolume delete ..komutu paylaşmasına rağmen , aynı şekilde davranmazlar.


1

Her şeyden önce, yapım __snapshot/__activesırasında alt hacimler (home, opt, var) yakalanmaz. Bunun yerine boş dizinler oluşturulur. Böylece __snapshot/__activekolayca çıkarılabilir, oysa çıkarılamaz __active.

Ama ana nokta restore edilmiş __activeolan __snapshot/__active. Bildiğim kadarıyla, bu atomik olarak yapılamaz. Ancak mutlu bir şekilde mvanlık görüntüler ve diğer alt hacimler (yazılabilir oldukları sürece). Yani örneğin

mv __active __snapshot/__active.old
mv __snapshot/__active __active

__activeanlık görüntüden geri yükler , ancak alt hacimleri konumuna taşır __snapshot/__active.old/{home,opt,var}. Onları yeniden takmak için artık

mv __snapshot/__active.old/{home,opt,var} __active/

ve alacaksın

ID 257 gen 59804 top level 258 path __snapshot/__active.old
ID 258 gen 59786 top level 5 path __snapshot
ID 259 gen 59802 top level 416 path home
ID 260 gen 36538 top level 416 path opt
ID 261 gen 59802 top level 416 path var
ID 416 gen 59784 top level 5 path __active

Anlık görüntünüz salt okunursa, örneğin

mv __active __snapshot/__active.old
btrfs subvolume snapshot __snapshot/__active __active
mv __snapshot/__active.old/{home,opt,var} __active/
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.