Azure HPC Önbelleği ile NFS'ye bağlı blob depolama kullanma

Azure HPC Önbelleği ile NFS'ye bağlı blob kapsayıcılarını kullanabilirsiniz. Blob depolama belge sitesinde Azure Blob depolamada NFS 3.0 protokol desteği hakkında daha fazla bilgi edinin.

Azure HPC Önbelleği, ADLS-NFS depolama hedef türünde NFS özellikli blob depolama kullanır. Bu depolama hedefleri normal NFS depolama hedeflerine benzer, ancak normal Azure Blob hedefleriyle de çakışıyor.

Bu makalede, ADLS-NFS depolama hedeflerini kullanırken anlamanız gereken stratejiler ve sınırlamalar açıklanmaktadır.

Ayrıca, özellikle uyumlu ve uyumsuz senaryoları açıklayan bu bölümler olmak üzere NFS blob belgelerini okumalı ve sorun giderme ipuçları vermelisiniz:

Tutarlılık gereksinimlerini anlama

HPC Önbelleği ADLS-NFS depolama hedefleri için güçlü tutarlılık gerektirir. Varsayılan olarak, NFS özellikli blob depolama, HPC Önbelleği dosya sürümlerini doğru bir şekilde karşılaştırmasını engelleyen dosya meta verilerini kesinlikle güncelleştirmez.

Bu farkı geçici olarak çözmek için Azure HPC Önbelleği, depolama hedefi olarak kullanılan NFS özellikli blob kapsayıcılarında NFS özniteliği önbelleğe almayı otomatik olarak devre dışı bırakır.

Bu ayar, kapsayıcıyı önbellekten kaldırsanız bile, kapsayıcının ömrü boyunca devam eder.

NFS protokolüyle verileri önceden yükleme

NFS özellikli bir blob kapsayıcıda, bir dosya yalnızca oluşturulurken kullanılan protokol tarafından düzenlenebilir. Diğer bir ifadeyle, kapsayıcıyı doldurmak için Azure REST API'sini kullanırsanız, bu dosyaları güncelleştirmek için NFS kullanamazsınız. Azure HPC Önbelleği yalnızca NFS kullandığından, Azure REST API ile oluşturulmuş dosyaları düzenleyemez. (Blob depolama API'leriyle ilgili bilinen sorunlar hakkında daha fazla bilgi edinin)

Kapsayıcınız boşsa veya dosyalar NFS kullanılarak oluşturulduysa önbellek için sorun olmaz.

Kapsayıcınızdaki dosyalar NFS yerine Azure Blob REST API'si ile oluşturulduysa, Azure HPC Önbelleği özgün dosyalarda şu eylemlerle sınırlıdır:

  • Dosyayı bir dizinde listeleyin.
  • Dosyayı okuyun (ve sonraki okumalar için önbellekte tutun).
  • Dosyayı silin.
  • Dosyayı boşaltın (0 olarak kesin).
  • Dosyanın bir kopyasını kaydedin. Kopya NFS tarafından oluşturulan bir dosya olarak işaretlenir ve NFS kullanılarak düzenlenebilir.

Azure HPC Önbelleği REST kullanılarak oluşturulan bir dosyanın içeriğini düzenleyemez. Bu, önbelleğin değiştirilen bir dosyayı istemciden depolama hedefine geri kaydedemez olduğu anlamına gelir.

NFS ile oluşturulmamış dosyalarda okuma/yazma önbelleğe alma kullanım modellerini kullanırsanız veri bütünlüğü sorunlarına neden olabileceği için bu sınırlamayı anlamak önemlidir.

Bahşiş

Önbellek kullanım modellerini anlama bölümünde okuma ve yazma önbelleğe alma hakkında daha fazla bilgi edinin.

Önbelleğe alma senaryoları yazma

Bu önbellek kullanım modelleri yazma önbelleğini içerir:

  • %15'ten fazla yazma
  • %15'ten fazla yazma işlemi, her 30 saniyede bir yedekleme sunucusundaki değişiklikler denetleniyor
  • %15'ten fazla yazma işlemi, her 60 saniyede bir yedekleme sunucusundaki değişiklikler denetleniyor
  • %15'ten fazla yazma işlemi, her 30 saniyede bir sunucuya geri yazma

Yazma önbelleğe alma kullanım modelleri yalnızca NFS ile oluşturulmuş dosyalarda kullanılmalıdır.

REST tarafından oluşturulan dosyalarda yazma önbelleğini kullanmayı denerseniz dosya değişiklikleriniz kaybolabilir. Bunun nedeni önbelleğin dosya düzenlemelerini depolama kapsayıcısına hemen kaydetmeye çalışmamasıdır.

REST tarafından oluşturulan dosyalara yazma işlemleri önbelleğe alınmaya çalışılırsa veriler şu şekilde risk altındadır:

  1. Önbellek, istemcilerden yapılan düzenlemeleri kabul eder ve her değişiklikte bir başarı iletisi döndürür.

  2. Önbellek, değiştirilen dosyayı depolama alanında tutar ve ek değişiklikler bekler.

  3. Bir süre geçtikten sonra önbellek, değiştirilen dosyayı arka uç kapsayıcısına kaydetmeye çalışır. Bu noktada, NFS ile REST tarafından oluşturulan bir dosyaya yazmaya çalıştığından bir hata iletisi alır.

    İstemci makineye değişikliklerinin kabul edilmediğini ve önbelleğin özgün dosyayı güncelleştirmenin hiçbir yolu olmadığını söylemek için çok geç. Bu nedenle istemcilerden gelen değişiklikler kaybolacak.

Önbelleğe alma senaryolarını okuma

Okuma önbelleği senaryoları, NFS veya Azure Blob REST API ile oluşturulan dosyalar için uygundur.

Bu kullanım modelleri yalnızca okuma önbelleği kullanır:

  • Yoğun ve seyrek yazılanları okuma
  • İstemciler önbelleği atlayarak NFS hedefine yazar
  • Ağır okuma, her 3 saatte bir yedekleme sunucusunu denetleme

Bu kullanım modellerini REST API veya NFS tarafından oluşturulan dosyalarla kullanabilirsiniz. bir istemciden arka uç kapsayıcısına gönderilen tüm NFS yazma işlemleri yine başarısız olur, ancak hemen başarısız olur ve istemciye bir hata iletisi döndürür.

Okuma önbelleği iş akışı, önbelleğe alınmadığı sürece dosya değişikliklerini de içerebilir. Örneğin, istemciler kapsayıcıdaki dosyalara erişebilir, ancak değişikliklerini yeni bir dosya olarak geri yazabilir veya değiştirilmiş dosyaları farklı bir konuma kaydedebilir.

Ağ Kilit Yöneticisi (NLM) sınırlamalarını tanıma

NFS özellikli blob kapsayıcıları, dosyaları çakışmalardan korumak için yaygın olarak kullanılan bir NFS protokolü olan Ağ Kilitleme Yöneticisi'ni (NLM) desteklemez.

NFS iş akışınız başlangıçta donanım depolama sistemleri için yazılmışsa istemci uygulamalarınız NLM istekleri içerebilir. İşleminizi NFS özellikli blob depolamaya taşırken bu sınırlamayı geçici olarak çözmek için istemcilerinizin önbelleği bağladığında NLM'yi devre dışı bırakın.

NLM'yi devre dışı bırakmak için istemcilerinizin mount komutundaki seçeneği -o nolock kullanın. Bu seçenek istemcilerin NLM kilitleri istemesini ve yanıt olarak hatalar almasını engeller. Seçenek nolock farklı işletim sistemlerinde farklı şekilde uygulanır; ayrıntılar için istemci işletim sistemi belgelerinize (man 5 nfs) bakın.

HPC Önbelleği ile NFS özellikli kapsayıcılara yazma süreçlerini kolaylaştırın

Azure HPC Önbelleği, ADLS-NFS depolama hedefinde değişiklik yazmayı içeren bir iş yükünde performansın geliştirilmesine yardımcı olabilir.

Dekont

Azure HPC Önbelleği aracılığıyla dosyalarını değiştirmek istiyorsanız ADLS-NFS depolama kapsayıcınızı doldurmak için NFS kullanmalısınız.

NFS özellikli blob Performansı konusunda dikkat edilmesi gerekenler makalesinde açıklanan sınırlamalardan biri, ADLS-NFS depolama alanının mevcut dosyaların üzerine yazma konusunda çok verimli olmamasıdır. Azure HPC Önbelleği'yi NFS'ye bağlı blob depolama ile kullanırsanız, istemciler etkin bir dosyayı değiştirirken önbellek aralıklı yeniden yazma işlemlerini işler. Arka uç kapsayıcısına dosya yazma gecikmesi istemcilerden gizlenir.

NFS protokolüyle verileri önceden yükleme konusunda yukarıda açıklanan sınırlamaları göz önünde bulundurun.

Sonraki adımlar