Yazılım RAID kurdum, yeniden başlattım, depo yok: dizi açılışta kurulmuyor

Diskler sağlam, veri yerinde, ama depo görünmüyor. Eksik olan disklerde değil: sisteme diziyi açılışta kurmasını söyleyen kayıtta.

AtlasPVE ·

Bu madde şunları karşılıyor

  • proxmox yazılım raid mdadm
  • proxmox raid dizisi açılışta gelmiyor
  • proxmox reboot sonrası depo kayboldu
  • proxmox mdadm destekleniyor mu
  • proxmox raid mi zfs mi

Diskleri birleştirdiniz, dizi kuruldu, depo göründü, üzerine veri yazdınız. Her şey çalıştı.

Sonra makineyi yeniden başlattınız ve depo yok.

Diskler sağlam. Veri de yerinde duruyor. Eksik olan başka bir şey.

Dizi disklerde değil, kurulum talimatındadır

Birden çok diski tek bir depo gibi göstermek, disklerin üzerinde duran bir özellik değildir. Sistem her açılışta o diskleri bulup yeniden bir araya getirmek zorundadır.

Bunu nasıl yapacağını söyleyen bir kayıt vardır. O kayıt yoksa dizi kurulmayabilir. Kurulsa bile başka bir adla kurulabilir, ki bu da aynı kapıya çıkar: deponuz eski adı işaret ediyordur ve orada bir şey yoktur.

Yani sorun "veri kayboldu" değil, "veriye giden yol açılışta kurulmadı". Kulağa daha az korkutucu geliyor ama panik anında ikisi aynı hissettirir.

Proxmox'un kendi duruşu

Bunu dürüstçe söylemek gerekiyor: Proxmox'un yerleşik ve desteklenen yolu ZFS'tir. Kurulum sırasında disk yansıması isterseniz size onu verir.

Klasik yazılım RAID çalışır, ama kurulumun sizin için ayarladığı yol değildir. Yani onu seçtiğinizde, açılışta kurulmasını sağlayan adımların doğru yapılmış olması size kalır.

Yine de mantıklı olduğu haller var: elinizde zaten kurulu bir dizi varsa ve onu taşıyorsanız, denetleyicinizin düzeni ZFS'in beklediği gibi değilse, ya da makinenin belleği ZFS için dar geliyorsa. Bunlar gerçek gerekçelerdir. Gerekçesiz seçmek ise kendinize sonradan iş çıkarmaktır.

Kural: dizi bir kez yeniden başlatmayı görmeden dizi sayılmaz

Bu maddenin en pratik cümlesi bu.

Diziyi kurduktan sonra, üzerine hiçbir iş bağlamadan, bilerek bir kez yeniden başlatın. Depo geri geliyor mu, aynı adla mı geliyor, içindekiler görünüyor mu.

Bu wiki'de alarm maddesinde de aynı şeyi yazmıştık: denenmemiş bir alarm bir mekanizma değil, bir umuttur. Dizi için de aynısı geçerli. Bir yeniden başlatmadan sağ çıkmamış dizi, çalıştığını sandığınız bir dizidir.

Adın değişmesi tuzağı

İkinci sık tuzak şu: dizi kuruluyor ama bir önceki seferkinden farklı bir adla kuruluyor.

Depo tanımınız eski adı işaret ettiği için depo yine görünmez. Bu sefer dizi ayakta, ama kimse ona bakmıyor.

Çözüm, depoyu ada göre değil kimliğe göre bağlamaktır. Ad değişebilir, kimlik değişmez.

Atlas ne yapıyor

Atlas dizi kurarken açılış kaydını da yazıyor ve ekranda şu uyarıyı gösteriyor: bu adım başarısız olursa dizi açılışta kurulmayabilir ve depo görünmez olur.

Uyarı doğruydu. Ama bir süre boyunca kendi kendini boşa çıkarıyordu.

Kaydı üretmek için sistemin aracı çağrılıyordu. Ölçüldü ve şu görüldü: ortada hiç dizi yokken o araç çıkış kodu sıfır veriyor ve hiçbir şey basmıyor. Yani "başarılı" diyor ama elinize bir şey vermiyor.

Sonuç: hiçbir şey yazılmıyor, ama adım başarılı kaydediliyordu. Kullanıcıya az önce gösterilen uyarının anlattığı şey aynen başına geliyor ve ekranda her şey yolunda görünüyordu.

Düzeltme iki parçaydı. Beklenen biçim ölçülerek belirlendi, tahmin edilmedi, ve gelen çıktı o biçime uymuyorsa adım başarısız sayılıyor. Boş çıktı da başarısızlıktır. Ayrıca aynı dizi ikinci kez yazılmasın diye hem cihaz yoluna hem kimliğe bakılıyor.

Genel ders

Buradaki asıl cümle şu: "komut başarılı oldu" ile "iş yapıldı" aynı şey değildir.

Çıkış kodu, aracın çalışıp çalışmadığını söyler. Sonucun oluşup oluşmadığını söylemez. Bir adımın bütün amacı bir etki üretmekse, kontrol edilecek şey aracın hâli değil etkinin kendisidir.

Bu wiki'de aynı ailenin iki maddesi daha var. Sahipsiz disk maddesinde boş bir cevap ile cevap alamamak ayrılmıştı. Sunucu adı maddesinde bilinmeyenin yerine makul görünen bir varsayılan koymanın tehlikesi vardı. Bu üçüncüsü: elde edilmemiş bir sonucun yerine bir çıkış kodu koymak.

Üçü de aynı arızanın farklı yüzleri: program, doğrulamadığı bir şeyi söylüyor.

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