Aracılığıyla paylaş


NFS Azure dosya paylaşımlarına geçiş

Bu makale, Yalnızca Premium dosya paylaşımları (Dosya Depolama hesap türü olarak kullanılabilen Linux dosya sunucularından NFS Azure dosya paylaşımlarına geçişin temel yönlerini kapsar. Ayrıca verileri Azure dosya paylaşımlarına kopyalarken nasıl performans gösterdiklerini anlamak için fpsync ve rsync açık kaynak dosya kopyalama araçlarını karşılaştıracağız.

Dekont

Azure Dosyalar NFS erişim denetim listelerini (ACL) desteklemez.

Şunlara uygulanır

Dosya paylaşımı türü SMB NFS
Standart dosya paylaşımları (GPv2), LRS/ZRS No No
Standart dosya paylaşımları (GPv2), GRS/GZRS No No
Premium dosya paylaşımları (filestorage), LRS/ZRS No Yes

Önkoşullar

Linux sanal makinesine (VM) bağlı en az bir NFS Azure dosya paylaşımına ihtiyacınız vardır. Bir dosya oluşturmak için bkz . NFS Azure dosya paylaşımı oluşturma ve linux VM'sine bağlama. Birden çok TCP bağlantısı kullanmak için paylaşımı nconnect ile bağlamanızı öneririz. Daha fazla bilgi için bkz . NFS Azure dosya paylaşımı performansını geliştirme.

Geçiş araçları

NFS dosya paylaşımlarına veri aktarmak için birçok açık kaynak aracı mevcuttur. Ancak, şirket içi kurulumlarla karşılaştırıldığında performans açısından dikkat edilmesi gereken belirgin noktalara sahip dağıtılmış bir dosya sistemiyle ilgilenirken bunların tümü verimli değildir. Dağıtılmış dosya sisteminde, her ağ çağrısı yerel olmayabilecek bir sunucuya gidiş dönüş içerir. Bu nedenle, ağ çağrılarında harcanan süreyi iyileştirmek, ağ üzerinden en iyi performansı ve verimli veri aktarımını elde etmek için çok önemlidir.

fpsync ile rsync karşılaştırması kullanma

Tek iş parçacıklı olmasına rağmen, rsync çok yönlü, açık kaynak bir dosya kopyalama aracıdır. Herhangi bir uzak kabuk üzerinden yerel olarak, başka bir konaktan/konaktan veya uzak rsync daemon'larından kopyalayabilir. Birçok seçenek sunar ve kopyalanacak dosya kümesinin esnek belirtimini sağlar. Ancak, fpsync çok iş parçacıklı bir uygulamadır ve bu nedenle rsync işlerini paralel olarak çalıştırma gibi bazı avantajlar sunar.

Bu makalede, linux dosya sunucusundan NFS Azure dosya paylaşımlarına veri taşımak için fpsync kullanacağız.

Fpsync, verileri kopyalamak için rsync (varsayılan), cpio veya tar araçlarını kullanır. Kaynak dizinin src_dir/ alt kümelerini hesaplar ve eşitleme işlerini hedef dizine dst_dir/eşitlemek için oluşturur. Eşitleme işlerini anında yürütür ve aynı anda dosya sisteminde gezinerek büyük dosya sistemlerini verimli bir şekilde geçirmek ve büyük veri kümelerini birden çok dosyayla kopyalamak için kullanışlı bir araçtır.

Dekont

Fpsync, kaynak dizinin kendisini değil yalnızca dizin içeriğini eşitler. Rsync'in aksine, fpsync kaynak dizinde son '/' öğesini zorlar, bu da eşitlemeden sonra hedef dizinde kaynak dizinin adına sahip bir alt dizin almayacağınız anlamına gelir.

fpart yükleme

fpsync kullanmak için fpart dosya sistemi bölümleyicisini yüklemeniz gerekir. fpart'ı istediğiniz Linux dağıtımına yükleyin. Yüklendikten sonra altında fpsync'i /usr/bin/görmeniz gerekir.

Ubuntu'da fpart yüklemek için apt paket yöneticisini kullanın.

sudo apt-get install fpart

Kaynaktan hedefe veri kopyalama

Hedef (hedef) Azure dosya paylaşımınızın bir Linux VM'sine bağlı olduğundan emin olun. Ön koşullara bakın.

Tam geçiş yapıyorsanız verilerinizi üç aşamada kopyalayacaksınız:

  1. Temel kopya: Hedefte veri olmadığında kaynaktan hedefe kopyalayın. Temel kopyalama için kopyalama aracı olarak cpio ile fpsync kullanmanızı öneririz.
  2. Artımlı kopyalama: Kaynaktan hedefe yalnızca artımlı değişiklikleri kopyalayın. Artımlı eşitleme için kopyalama aracı olarak rsync ile fpsync kullanmanızı öneririz. Tüm değişiklikleri yakalamak için bu işlem birden çok kez yapılmalıdır.
  3. Son geçiş: Hedefte kaynakta var olmayan dosyaları silmek için son bir geçiş gereklidir.

Fpsync ile veri kopyalama işlemi her zaman şu komutun bazı sürümlerini içerir:

fpsync -m <specify copy tool - rsync/cpio/tar> -n <parallel transfers> <absolute source path> <absolute destination path>

Temel kopyalama

Temel kopyalama için cpio ile fpsync kullanın.

fpsync -m cpio -n <parallel transfers> <absolute source path> <absolute destination path>

Daha fazla bilgi için bkz . Cpio ve Tar desteği.

Artımlı kopyalama

Artımlı eşitleme için fpsync'i varsayılan kopyalama aracıyla (rsync) kullanın. Tüm değişiklikleri yakalamak için bunu birkaç kez çalıştırmanızı öneririz.

fpsync -n <parallel transfers> <absolute source path> <absolute destination path>

Varsayılan olarak, fpsync aşağıdaki rsync seçeneklerini belirtir: -lptgoD -v --numeric-ids. fpsync komutuna ekleyerek -o option ek rsync seçenekleri belirtebilirsiniz.

Son pas

Birkaç artımlı eşitlemeden sonra, bu hedefte kaynakta var olmayan dosyaları silmek için son geçişi yapmanız gerekir. Dizinden /data/dst/ ek dosyaları silmek için bunu ile el ile rsync --delete yapabilir veya -E seçeneğiyle fpsync kullanabilirsiniz. Ayrıntılar için bkz . Son Geçiş.

rsync ve fpsync'i farklı veri kümeleriyle karşılaştırma

Bu bölüm, rsync ve fpsync'in performansını farklı veri kümeleriyle karşılaştırır.

Veri kümeleri ve yapılandırma

Aşağıdaki tabloda, farklı iş yükleri altında kopyalama aracı performansını karşılaştırmak için kullandığımız farklı veri kümeleri listelenir.

Config # Kopyalama türü Dosya sayısı Dizin sayısı Dosya boyutu Toplam boyut
1.1 Temel kopyalama 1 milyon 1 0-32 KiB 18 GiB
1.2 Artımlı (delta değişikliği) 1 milyon 1 0-32 KiB 18 GiB
2 Temel kopyalama 191,345 3,906 0-32 KiB 3 GiB
3 Temel kopyalama 5.000 1 10 MiB 50 GiB

Testler 8 vCPU, 32 GiB bellek ve büyük veri kümeleri için 1 TiB'den fazla disk alanına sahip Azure Standard_D8s_v3 VM'lerinde gerçekleştirildi. Hedef için 1 TiB'den fazla sağlanan boyuta sahip NFS Azure Dosya paylaşımlarını yapılandırdık.

Denemeler ve sonuçlar: rsync ve fpsync karşılaştırması

Yukarıdaki yapılandırmalarla yaptığımız denemelere dayanarak, fpsync'in en iyi performansı rsync içeren 64 iş parçacığı ve ile bağlanan bir Azure NFS dosya paylaşımı için cpio ile 16 iş parçacığıyla nconnect=8birlikte kullandığını gözlemledik. Gerçek sonuçlar yapılandırmanıza ve veri kümelerinize göre değişir.

Dekont

Azure Dosyalar aktarım hızı aşağıdaki grafiklerde gösterilenden çok daha yüksek olabilir. Denemelerin bazıları basitlik için kasıtlı olarak küçük veri kümeleriyle gerçekleştirilen denemeler.

Yapılandırma 1

Toplam 18 GiB'lik 1 milyon küçük dosya içeren tek bir dizin için bu testi hem temel kopya hem de artımlı kopya olarak çalıştırdık.

Aşağıdaki sonuçların kaynaktan hedefe bir taban çizgisi kopyası yaptığını gözlemledik.

Chart showing the test results of configuration 1 for a baseline copy.

Aşağıdaki sonuçların artımlı kopya (delta değişikliği) yaptığını gözlemledik.

Chart showing the test results of configuration 1 for an incremental copy.

Yapılandırma 2

Toplam boyutu 3 GiB olan 3.906 dizinde 191.345 küçük dosya temel kopyası yapılan aşağıdaki sonuçları gözlemledik.

Chart showing the test results of configuration 2 for a baseline copy.

Yapılandırma 3

Toplam boyutu 50 GiB olan tek bir dizinde 5.000 büyük dosya (10 MiB) temel kopyası yapılan aşağıdaki sonuçları gözlemledik.

Chart showing the test results of configuration 3 for a baseline copy.

Sonuçların özeti

fpsync gibi çok iş parçacıklı uygulamaların kullanılması, rsync gibi tek iş parçacıklı kopyalama araçlarıyla karşılaştırıldığında NFS Azure dosya paylaşımlarına geçiş yaparken aktarım hızını ve IOPS'yi geliştirebilir. Testlerimiz şu sonuçları gösteriyor:

  • Verilerin dizin genelinde dağıtılması, geçiş işlemini paralelleştirmeye yardımcı olur ve böylece daha iyi performans elde eder.
  • Daha büyük dosya boyutlarından veri kopyalama, daha küçük dosya boyutlarından veri kopyalamaya kıyasla daha iyi performans sağlar.

Aşağıdaki tabloda sonuçlar özetlemektedir:

Config # Dosya sayısı Dizin sayısı Dosya boyutu Toplam boyut rsync süresi rsync aktarım hızı fpsync süresi fpsync aktarım hızı Aktarım hızı kazancı
1.1 (temel) 1 milyon 1 0-32 KiB 18 GiB 837,06 dakika 0,33 MiB/sn 228,16 dakika 1,20 MiB/sn 267%
1.2 (artımlı) 1 milyon 1 0-32 KiB 18 GiB 84,02 dakika 3,25 MiB/sn 7,5 dakika 36,41 MiB/sn 1,020%
2 (temel) 191,345 3,906 0-32 KiB 3 GiB 191,86 dakika 0,27 MiB/sn 8,47 dakika 6,04 MiB/sn 2,164%
3 (temel) 5.000 1 10 MiB 50 GiB 8,12 dakika 105,04 MiB/sn 2,76 dakika 308,90 MiB/sn 194%

Üçüncü taraf bilgileri hakkında yasal uyarı

Bu makalede bahsedilen açık kaynak araçları, iyi bilinen üçüncü taraf çözümleridir. Bunlar microsoft tarafından doğrudan veya dolaylı olarak geliştirilmeyen, sahip olunan veya desteklenmeyen bir uygulamadır. Üçüncü tarafın belgelerinde sağlanan yazılım lisansını ve destek bildirimini incelemek müşterinin sorumluluğundadır.

Sonraki adımlar