Ayarlar salt okunur oldu: yapılandırmanın yaşadığı yer neden farklı

Kök kullanıcı olarak bile yazamıyorsanız disk dolu değildir. Proxmox ayarları normal bir klasörde tutmaz ve o yer bilerek yazmayı reddeder.

AtlasPVE ·

Bu madde şunları karşılıyor

  • proxmox etc pve salt okunur
  • proxmox etc pve yazılamıyor
  • proxmox pmxcfs nedir
  • proxmox vm conf dosyası nerede
  • proxmox ayarları hangi dosyada

Bir dosyayı düzenlemeye çalışıyorsunuz ve izin verilmiyor. Kök kullanıcısınız. Diskte yer var. Yine de yazamıyorsunuz.

Burada bozulan bir şey yok. Baktığınız yer normal bir klasör değil ve bilerek yazmayı reddediyor.

Ayarların yaşadığı yer bir klasör değil

Proxmox, makine ayarlarını, depo tanımlarını, güvenlik duvarı kurallarını ve yedek görevlerini tek bir yerde tutar. Orası dosya sistemi gibi görünür, klasörleri ve dosyaları vardır, ama arkasında küçük bir veritabanı durur ve o veritabanı kümedeki her düğüme kopyalanır.

Sebebi basit: bir kümedeki bütün sunucular aynı makine tanımını görmek zorundadır. Bir makineyi bir sunucudan diğerine taşıyacaksanız, karşı taraf o makinenin nasıl tanımlandığını zaten biliyor olmalı. Ayar tek bir sunucunun diskinde sıradan bir dosya olsaydı, diğerleri onu bilmezdi.

Bu tasarımın üç sonucu var ve üçü de günlük hayatta karşınıza çıkıyor.

Sonuç bir: çoğunluk yoksa yazma reddedilir

Sunucu kümenin çoğunluğunu göremiyorsa yazma kapanır. Okuma çalışmaya devam eder, yazma durur.

Bu bir arıza değil, bir karar. Ağ ikiye bölünürse ve iki taraf da yazabilseydi, aynı makinenin iki farklı tanımı oluşurdu. Ağ geri geldiğinde hangisinin doğru olduğunu kimse söyleyemezdi ve birleştirmenin bir yolu olmazdı. Onun yerine sistem şunu seçiyor: azınlıkta kalan taraf yazmayı bırakır.

Kümede çoğunluğun nasıl sayıldığını ve iki sunuculu kurulumların neden zor olduğunu ayrı bir maddede anlattık. Buradaki tek eklenecek şey şu: o maddedeki çoğunluk kuralının en somut belirtisi tam olarak budur, birden yazamaz olmak.

Sonuç iki: tek sunucuda bile aynı yapı çalışıyor

Kümeniz olmasa bile bu yapı ayaktadır. Tek sunucu, kendi başına bir çoğunluktur, dolayısıyla normalde sorun çıkmaz.

Ama o yapıyı sağlayan servis düzgün çalışmıyorsa aynı belirtiyi tek sunucuda da görürsünüz. Yani "kümem yok, bu bana olmaz" doğru değildir.

Bir de az bilinen bir yol var: bu yapının arkasındaki veritabanı yerel diskte duruyor. Yerel disk dolduğunda yazma başarısız olur ve size ayarları değiştiremiyormuşsunuz gibi görünür. Belirti ayar tarafında, sebep depolama tarafındadır.

Sonuç üç: oraya yazdığınız her şey herkese gider

"Sadece bu makinede değiştireyim" diye bir seçenek yoktur. Oraya yazılan şey kümedeki bütün düğümlere ulaşır.

Bunu bilmeden yapılan klasik hata, bir düğümde deneme amaçlı bir değişiklik yapıp diğerlerini etkilemediğini varsaymaktır.

Bir başka nokta: orası yapılandırma için tasarlandı, veri için değil. Küçük metin dosyaları oraya aittir; betikler, arşivler, yedekler ait değildir. Alışkanlık olsun diye oraya dosya bırakmayın.

Yazamaz hale geldiyseniz sırayla bakın

Önce çoğunluğa bakın: sunucu kümenin geri kalanını görüyor mu? Görmüyorsa asıl sorun ağdadır ve ayar dosyası masumdur.

Sonra servise bakın: bu yapıyı sağlayan servis çalışıyor mu?

Sonra yerel diske bakın: doluysa yukarıdaki yol devrededir.

Ve sonuncusu, en sık atlanan: bir düğüm kümeden ayrılmış olabilir. Ağ kesintisi, kapatılmış bir komşu, yanlış yapılandırılmış bir güvenlik duvarı kuralı. Belirti hep aynı görünür, sebep her seferinde başka yerdedir.

Atlas ne yapıyor

Atlas bu yapıyı doğrudan dosya olarak okuyor, sistemin sorgu aracını her seferinde çalıştırmak yerine.

Sebebini ölçtük. O aracın her çağrısı yüz ile iki yüz milisaniye arasında işlemci ve yaklaşık yüz megabayt geçici bellek harcıyor. Panel açıkken on saniyede bir yenileme yapılıyor ve her yenilemede sekiz on çağrı gerekiyor. Yani izleme, izlediği sunucuda sürekli bir dalgalanma üretiyordu.

Aynı bilgiyi dosyadan okumak mikrosaniyeler sürüyor. Aradaki fark binlerce kat ve bu fark kullanıcının makinesinde duruluk olarak görünüyor.

İkinci ayrıntı daha zarif: o yapının içinde bir değişim sayacı var, yapılandırma her değiştiğinde artıyor. Atlas onu izliyor. Yani panelden bir ayar değiştirildiği anda önbellek kendiliğinden tazeleniyor; bir yandan sık sık sormamak, bir yandan da bayat bilgi göstermemek aynı anda mümkün oluyor.

Bu, wiki'de daha önce yazdığımız ilkenin bir başka yüzü: izleyen şey, maliyet çıkaran şey olmamalı. Bir izleme aracının en kolay hatası, izlediği sistemi yavaşlatarak kendi ölçtüğü sayıyı bozmasıdır.

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