En kolay yol
btrfs-zero-log /dev/sda5
Günlük günlüğünde bir işlem (yazma veya silme) sıkıştığından ve diskle eşleşmediğinden bu sorunu alıyorsunuz.
Nasıl çalışır:
Bu yüzden veri 1 yazıldığında günlüğe sonra diske yazılır (veya aynı zamanda, ancak dergi sadece yaklaşan yazma hakkında meta verileri kaydeder - emin değilim ... bu kısımda daha fazla araştırmaya ihtiyaç duyar) ...
Bu yazma ortasında sistemini kapatmak neyse eğer / montaj o döner o (başarısız olur çalışmaz zaman bir şey daha sonra sistem (sizin btrfs bağlama noktası tutan USB sökmek), hickups silmek veya yapmak dmesg ve btrfsck irade hataları daha ayrıntılı olarak gösterir) ...
Dmesg'e baktığınızda aynı transit mesajları göreceksiniz.
Bunun gibi bir şey göreceksiniz:
parent transid verify failed on 109973766144 wanted 1823 found 1821
Bu, btrfs'nin transif 1826 (Bu dergide olduğu) istediğini, ancak diskte 1821'i gördüğü anlamına gelir. Yani disk, günlükle senkronize olmaktan 2 işlem uzaktaydı. Şahsen burada sadece 2 işlem nedeniyle bir brtfs-zero-log risk olacaktır. Ancak bu sadece verilerinizse% 100 güvenli olmak için (kritik verileriniz varsa, ASLA hiç bir zaman sadece 1 kopyasına sahip olmamalısınız, her zaman güvenli başka bir yerde bir kopya / yedek almalısınız - btrfs yaratıcılarını suçlamak olmaz kişilerin yedekleme yapma sorumluluğu eksikliğine karşı haklı çıkar - btrfs yedekleme çözümü değildir, onun bir dosya sistemidir - hiçbir şey başka bir kopyasına sahip olmanın yanı sıra gerçek bir yedekleme çözümü değildir - hatta eşlik veya yansıtılmış sürücüler değil, gerçek bir yedekleme aktif kopyası Teksas'taki ofisinizdeyken Alpler'in yeraltında bir yerde oturuyor)
parent transid verify failed on 31302336512 wanted 62455 found 62456
Burada dergi 62455 istiyor ama disk 62456'da bir önde, yani senin durumunda dergi temizlerdim. Journal bu sefer güncellenmedi. Yine size güvenli bir şey olduğunu söyledim, eğer onun tek veri ve mega kritik (utanç size), ve ben güvenli olmak için ilk önce aşağıdaki işlemleri yapmak istiyorum.
Bir btrfsck / dev / sda5 çalıştırmak (bu arada salt okunur bir kontrol yapar, böylece tamamen güvenlidir, endişelenmeniz gereken tek btrfsck seçenekleri) size bu mesajları gösterir.
Ancak bu verilerin kritik olması durumunda dikkatli olun, ilk önce yapardım (Diğer cinsiyetlerin söylediği gibi)
mount -t btrfs -o rootflags=recovery,nospace_cache /dev/sda3 /mnt/sda3
mount -t btrfs -o rootflags=recovery,nospace_cache,clear_cache /dev/sda3 /mnt/sda3
mount -t btrfs -o recovery,nospace_cache,nospace_cache /dev/sda3 /mnt/sda3
Sonra cp veya rsync tüm dosyalarınızı güvenli konuma getirin, o zaman güvenli olduğunda btrfs-zero-log yapın, başarılı bir işlem ise sisteminizi yedeklemek için çok fazla zaman harcadınız (ancak başarılı değilse, eşek)
Sonra bağlar başarısız olursa bir btrfs geri yükleme yapın (sistemin bir dökümü, devam ettirilebilir bir işlem olduğunu anladığım için, ancak her seferinde Y veya y sormaya devam ediyor, bu yüzden çıkışı izleyin)
btrfs restore /dev/sda5 /USB
Sonra güvenli olduğunda (btrfs geri yükleme tamamlandığında) btrfs-zero-log yapın, eğer başarılı bir işlem ise sisteminizi yedeklemek için çok fazla zaman harcadınız (ancak başarılı değilse, kıçınızı kurtardınız)
Önce ekranı çalıştırabilirsiniz
screen /bin/bash
btrfs restore /dev/sda5 /USB
EKRAN YAN NOTU
Sökmek için (komut yine de çalışır): CONTROL-a sonra tırnak işaretleri olmadan ": detach" yazın ve ENTER tuşuna basın
Ayırmanın başka bir yolu: Daha sonra macun veya terminalinizi kapatın ve ayrılır (komut / geri yükleme yine de çalışır).
Kontrol etmek için ekrana geri dönün:
screen -x
screen -x, ayrılmış olsa bile oturumlara eklenecek ve -h'nin aksine, zaten eklenmiş olsa bile eklenecektir)
Birden fazla ekranınız varsa, screen -x, oturuma eklemek için daha belirgin olmanız gerektiğini söyler:
screen -ls
Tüm oturumları listelemek için, bunu hatırlamak kolay.
PID'yi görmek için şunları da yapabilirsiniz:
ps aux | grep screen
PID'nizi bulduktan sonra ekranı şu şekilde çalıştırın:
screen -x PID
Bu belirli bir oturuma eklenecektir. Aynı ekrana birkaç oturum / macun bağlayabilirsiniz (aynı metni çıktılar, komutları bir arada yazabilirsiniz ve diğer macun üzerinde yansıtılacaktır)
nospace_cache
?