Makinenin ayar dosyası bozulursa: eski hali nerede duruyor

Her makinenin küçük bir metin dosyası var. Bozulursa yalnız o makine etkilenir ve eski hali çoğu kişinin bakmadığı iki yerde durur.

AtlasPVE ·

Bu madde şunları karşılıyor

  • proxmox vm başlamıyor conf düzenledim
  • proxmox vm listeden kayboldu
  • proxmox conf dosyası bozuldu
  • proxmox vm ayarını geri almak
  • proxmox elektrik kesintisi sonrası ayar

Her sanal makinenin ve her konteynerin küçük bir metin dosyası var. Kaç çekirdek, ne kadar bellek, hangi disk, hangi ağ: hepsi orada, insan okuyabileceği biçimde yazılı.

Bu dosya bozulursa ne olur, eski hali nerededir, ve elle düzenleyecekseniz neye dikkat etmelisiniz?

Önce iyi haber: bozulan dosya yalnız kendi makinesini etkiler

Her makinenin ayrı bir dosyası var. Birinde bir yazım hatası olması paneli çökertmez, diğer makineleri durdurmaz, sunucuyu etkilemez.

Belirti genellikle şudur: o makine listede görünmez olur ya da başlatılamaz. Diğer her şey normal çalışmaya devam eder. Panik etmeden önce bunu bilin, çünkü ilk izlenim genellikle "sistem bozuldu" olur ve öyle değildir.

Nasıl bozulur

Elle düzenleme. En sık sebep bu. Bir virgül, bir tırnak, yanlış bir anahtar adı.

Makine çalışırken düzenleme. Dosya bozulmasa bile beklemediğiniz bir şey olur: değişikliğiniz bir sonraki açılışta uygulanır, siz ise hemen uygulandığını sanırsınız. Ya da sistem dosyayı kendisi güncelleyip sizin yazdığınızın üzerine yazar.

Yazma işleminin yarıda kesilmesi. Elektrik kesilir, disk dolar, süreç öldürülür. Dosya yarım kalır.

Bu üçüncüsü en sinsi olanıdır ve ayrı bir başlığı hak ediyor.

Yarım yazılmış bir dosya, hiç olmayan bir dosyadan kötüdür

Dosya yoksa bu apaçık bir durumdur. Program bakar, göremez, "yok" der ve varsayılanla devam eder. Bu hâl kolayca ele alınır.

Yarım yazılmış dosya öyle değil. Bir dosya gibi görünür. Program varlığını kontrol eder, bulur, güvenir ve içindeki eksik veriyle çalışmaya kalkar. Sorun okuma anında değil, sonrasında ortaya çıkar.

Çözüm basit ve her yazma işlemi için geçerli: dosyayı doğrudan üzerine yazmayın. Önce geçici bir ada yazın, sonra yerine taşıyın. Taşıma işlemi ya tamamen olur ya hiç olmaz; arada bir hâl yoktur. Böylece dosyanın içeriği ya eskisidir ya yenisi, asla yarısı değil.

Proxmox ayarlarına dokunan bir betik yazıyorsanız bu tek alışkanlık, yazacağınız kodun geri kalanından daha değerlidir.

Eski hali iki yerde duruyor

Yedeğin içinde. Bir makinenin yedeği yalnız diski değil, o andaki ayar dosyasını da taşır. Yedeği geri yüklediğinizde ayar da geri gelir. Çoğu kişi yedeği yalnız veri olarak düşünür ve elindeki kurtarma yolunu bilmez.

Anlık görüntünün içinde. Bir anlık görüntü aldığınızda o andaki ayarlar aynı dosyanın içinde adlandırılmış bir bölüme yazılır. Yani dosya, kendi geçmişinin bir kısmını içinde taşır.

Ama bu ikisi birbirinin yerine geçmez ve fark önemli: anlık görüntünün kaydı aynı dosyanın içinde durur. Dosyanın kendisi yok olursa o kayıt da onunla birlikte gider. Yedek ise ayrı bir yerdedir. Gerçek kurtarma yolu yedektir, anlık görüntü yalnızca geri dönmek istediğiniz bir noktadır.

Elle düzenleyecekseniz

Makineyi önce durdurun.

Düzenlemeden önce bir kopya alın ve o kopyayı başka bir yere koyun. Ayarların durduğu yer yapılandırma için tasarlandı, oraya yedek bırakmayın.

Değişikliği yaptıktan sonra makineyi başlatın ve gerçekten çalıştığını görün. Bir sonraki yeniden başlatmaya kadar bekleyip unutmayın; unutulmuş yarım bir düzenleme, aylar sonra kimsenin bağlamadığı bir arıza olarak geri döner.

Genel kural: "dosya yok" ile "dosya bozuk" ayrı hallerdir

Bir programın kurtarma yolu genellikle "dosya yok" hâli düşünülerek yazılır, çünkü akla ilk gelen odur. "Dosya var ama içi bozuk" hâli akla gelmez.

Oysa asıl tehlikeli olan ikincisidir, tam da düşünülmediği için. Ve ikisi farklı görünür: dosyanın olmaması bir işaret taşır, içeriğin bozuk olması taşımaz.

Atlas ne yapıyor

Atlas kendi küçük ayar dosyalarını tutuyor ve burada dürüstçe anlatılacak birkaç şey var, çünkü hepsi ölçülerek bulundu.

Kardeş iki dosya farklı davranıyordu. Biri dosyası bozulduğunda kendini onarıyor, bozuğu kenara alıp temiz bir başlangıç yapıyordu. Diğeri onarmıyordu: hata veriyor ve orada kalıyordu, yani o özellik kalıcı olarak çalışmaz hâle geliyordu ve kullanıcının ürün üzerinden düzeltme yolu yoktu.

Sebep tam da yukarıdaki kural: kurtarma dalı "dosya yok" hâli için yazılmıştı. Bozuk içerik hatası o işareti taşımıyor, dolayısıyla o dal tutmuyor ve hata yukarı çıkıyordu.

Kenara alınan kopyalar hiç temizlenmiyordu. Her bozulma olayı kalıcı bir dosya bırakıyor ve sayılarının üstünde bir sınır yoktu. Canlı bir makinede ölçüldü: iki tanesi aylardır duruyordu. Bu, wiki'de daha önce yazdığımız kuralın aynısı: yazan her şeyin bir tavanı olmalı.

Aynı anda iki kez kenara alma aynı adı üretiyordu ve ikinci kopya birincinin üzerine yazıyordu, yani bir bozuk sürüm sessizce kayboluyordu.

Hepsi düzeltildi ve kenara alma işleminin kendisine tek bir kural konuldu: hiçbir durumda hata fırlatmaz. Kenara alma bir kurtarma adımıdır; kurtarma adımının kendisi yeni bir arıza kaynağı olmamalıdır. Bu cümle küçük görünüyor ama kurtarma kodu yazan herkesin duvara asması gereken cümledir.

Kaynaklar

Proxmox'un kendi belgeleri. İngilizce, ve bu konuda son sözü onlar söyler.

İlgili maddeler

Bu iş Atlas’ta nasıl görünüyor?

Ürün sayfasına git