Azure Blob Storage-tároló csatlakoztatása Linuxon a BlobFuse2 használatával

Figyelemfelhívás

Ez a cikk a CentOS-ra, egy olyan Linux-disztribúcióra hivatkozik, amely közel áll az élettartam (EOL) állapotához. Fontolja meg a használatát, és ennek megfelelően tervezze meg. További információ: CentOS End Of Life útmutató.

Ez a cikk bemutatja, hogyan telepítheti és konfigurálhatja a BlobFuse2-t, csatlakoztathat egy Azure-blobtárolót, és hogyan férhet hozzá a tárolóban lévő adatokhoz. Az alapvető lépések a következők:

A BlobFuse2 telepítése

A BlobFuse2 konfigurálása

Blobtároló csatlakoztatása

Adatok elérése

A BlobFuse2 telepítése

A BlobFuse2 telepítésének két lehetősége van:

1. lehetőség: A BlobFuse2 telepítése a Linuxhoz készült Microsoft szoftvertárházakból

A támogatott disztribúciók megtekintéséhez tekintse meg a BlobFuse2 kiadásait.

A libfuse támogatásáról további információt a BlobFuse2 README című témakörben talál.

A Linux-verzió ellenőrzéséhez futtassa a következő parancsot:

cat /etc/*-release

Ha a disztribúcióhoz nem érhetők el bináris fájlok, a 2. lehetőség: A bináris fájlok létrehozása a forráskódból.

A BlobFuse2 telepítése az adattárakból:

A Microsoft-csomagtárház konfigurálása

A BlobFuse2 telepítése

A Microsoft-csomagtárház konfigurálása

Konfigurálja a Microsoft Termékek Linux-csomagtárházát.

Példaként egy Redhat Enterprise Linux 8-disztribúción:

sudo rpm -Uvh https://packages.microsoft.com/config/rhel/8/packages-microsoft-prod.rpm

Ehhez hasonlóan módosítsa az URL-címet .../rhel/7/... úgy, hogy egy Redhat Enterprise Linux 7-disztribúcióra mutasson.

A BlobFuse2 telepítése

sudo yum install blobfuse2

2. lehetőség: A bináris fájlok létrehozása forráskódból

A BlobFuse2 bináris fájljainak létrehozása a forráskódból:

  1. Telepítse a függőségeket:

    1. A Git telepítése:

      sudo apt-get install git
      
    2. Telepítse a BlobFuse2 függőségeket.

      Ubuntu rendszeren:

      sudo apt-get install libfuse3-dev fuse3 -y
      
  2. Klónozza az adattárat:

    sudo git clone https://github.com/Azure/azure-storage-fuse/
    sudo cd ./azure-storage-fuse
    sudo git checkout main
    
  3. BlobFuse2 létrehozása:

    go get
    go build -tags=fuse3
    

Tipp.

Ha telepítenie kell a Go-t, olvassa el a Go letöltése és telepítése című témakört.

A BlobFuse2 konfigurálása

A BlobFuse2 különböző beállításokkal konfigurálható. A tipikus beállítások közé tartoznak a következők:

  • Naplózás helye és beállításai
  • Ideiglenes fájl elérési útja gyorsítótárazáshoz
  • Információk a csatlakoztatni kívánt Azure Storage-fiókról és blobtárolóról

A beállítások egy YAML-konfigurációs fájlban konfigurálhatók környezeti változók használatával, vagy a BlobFuse2 parancsoknak átadott paraméterekként. Az előnyben részesített módszer a konfigurációs fájl használata.

A BlobFuse2 konfigurációs paramétereiről és azok megadásának módjáról az alábbi cikkekben olvashat:

A BlobFuse2 csatlakoztatásának konfigurálása:

  1. Gyorsítótárazás konfigurálása.
  2. Hozzon létre egy üres könyvtárat a blobtároló csatlakoztatásához.
  3. Engedélyezze a tárfiókhoz való hozzáférést.

Gyorsítótárazás konfigurálása

A BlobFuse2 helyi fájl gyorsítótárazási technikákkal natív teljesítményt nyújt. A gyorsítótárazás konfigurációja és viselkedése attól függően változik, hogy nagy méretű fájlokat streamel, vagy kisebb fájlokat ér el.

Gyorsítótárazás konfigurálása nagy fájlok streamelésével

A BlobFuse2 támogatja az olvasási és írási műveletek streamelését a fájlok lemezes gyorsítótárazásának alternatívaként. Streamelési módban a BlobFuse2 gyorsítótárazza a nagy méretű fájlok blokkjait a memóriában olvasáshoz és íráshoz egyaránt. A streamelés gyorsítótárazásával kapcsolatos konfigurációs beállítások a stream: konfigurációs fájl beállításai alatt találhatók:

stream:
    block-size-mb:
        For read only mode, the size of each block to be cached in memory while streaming (in MB)
        For read/write mode, the size of newly created blocks
    max-buffers: The total number of buffers to store blocks in
    buffer-size-mb: The size for each buffer

Az alapszintű streamelési forgatókönyv néhány beállításának gyors megkezdéséhez tekintse meg a minta streamelési konfigurációs fájlt.

Gyorsítótárazás konfigurálása kisebb fájlokhoz

A kisebb fájlokat a rendszer a konfigurációs fájlban megadott file_cache: ideiglenes elérési útra gyorsítótárazza:

file_cache:
    path: <path to local disk cache>

Feljegyzés

A BlobFuse2 az ideiglenes elérési úton tárolja az összes megnyitott fájltartalmat. Győződjön meg arról, hogy elegendő hely áll rendelkezésre az összes megnyitott fájlhoz.

A fájl gyorsítótárazásának ideiglenes elérési útját három gyakori beállítással konfigurálhatja:

Helyi nagy teljesítményű lemez használata

Ha egy meglévő helyi lemezt használ a fájl gyorsítótárazására, válasszon egy olyan lemezt, amely a lehető legjobb teljesítményt nyújtja, például egy SSD-t.

RAM-lemez használata

Az alábbi példa egy 16 GB-os RAM-lemezt és egy címtárat hoz létre a BlobFuse2 számára. Válasszon ki egy méretet, amely megfelel a követelményeknek. A BlobFuse2 a RAM-lemezt használja a legfeljebb 16 GB méretű fájlok megnyitásához.

sudo mkdir /mnt/ramdisk
sudo mount -t tmpfs -o size=16g tmpfs /mnt/ramdisk
sudo mkdir /mnt/ramdisk/blobfuse2tmp
sudo chown <youruser> /mnt/ramdisk/blobfuse2tmp
SSD használata

Az Azure-ban a virtuális gépeken elérhető rövid élettartamú SSD-lemezek használatával alacsony késleltetésű puffert biztosíthat a BlobFuse2 számára. A használt kiépítési ügynöktől függően csatlakoztassa a rövid élettartamú lemezt a /mnt-hez cloud-init vagy /mnt/resource for Microsoft Azure Linux Agent (waagent) virtuális gépekhez.

Győződjön meg arról, hogy a felhasználó hozzáfér az ideiglenes elérési úthoz:

sudo mkdir /mnt/resource/blobfuse2tmp -p
sudo chown <youruser> /mnt/resource/blobfuse2tmp

Üres könyvtár létrehozása a blobtároló csatlakoztatásához

Üres könyvtár létrehozása a blobtároló csatlakoztatásához:

mkdir ~/mycontainer

Hozzáférés engedélyezése a tárfiókhoz

A tárolót csatlakoztató felhasználó számára hozzáférést kell adnia a tárfiókhoz. A hozzáférés megadásának leggyakoribb módjai az alábbi lehetőségek egyikének használata:

  • Tárfiók hozzáférési kulcsa
  • Közös hozzáférésű jogosultságkód
  • Felügyelt identitás
  • Szolgáltatásnév

Az engedélyezési adatokat konfigurációs fájlban vagy környezeti változókban is megadhatja. További információ: A BlobFuse2 beállításainak konfigurálása.

Blobtároló csatlakoztatása

Fontos

A BlobFuse2 nem támogatja az átfedésben lévő csatlakoztatási útvonalakat. Ha a BlobFuse2 több példányát futtatja, győződjön meg arról, hogy minden példány egyedi és nem átfedésben lévő csatlakoztatási ponttal rendelkezik.

A BlobFuse2 nem támogatja az NFS-szel való párhuzamosságot ugyanazon a csatlakoztatási útvonalon. A BlobFuse2 NFS-vel azonos csatlakoztatási útvonalon való futtatásának eredményei nincsenek meghatározva, és adatsérülést okozhatnak.

Ha azure-beli blobtárolót szeretne csatlakoztatni a BlobFuse2 használatával, futtassa a következő parancsot. A parancs csatlakoztatja a megadott ./config.yaml tárolót a következő helyre ~/mycontainer:

sudo blobfuse2 mount ~/mycontainer --config-file=./config.yaml

Feljegyzés

A csatlakoztatási lehetőségek teljes listáját a BlobFuse2 csatlakoztatási parancsai között találja.

Most már hozzá kell férnie a blokkblobokhoz a Linux fájlrendszeren és a kapcsolódó API-kon keresztül. Az üzembe helyezés teszteléséhez próbáljon meg létrehozni egy új könyvtárat és fájlt:

cd ~/mycontainer
mkdir test
echo "hello world" > test/blob.txt

Hozzáférés az adatokhoz

Általában úgy használhatja a BlobFuse2-hez csatlakoztatott tárolót, mintha a natív Linux fájlrendszerrel dolgozna. A virtuális könyvtársémát perjellel (/) elválasztóként használja a fájl elérési útján, és támogatja az olyan alapvető fájlrendszerműveleteket, mint mkdira , opendir, readdir, rmdir, writeclosereadopenunlinktruncatecreatestatés .rename

Azonban tisztában kell lennie néhány fontos funkcióbeli különbségel:

Szolgáltatások támogatása

Ez a táblázat bemutatja, hogyan támogatott ez a funkció a fiókjában, és milyen hatással van a támogatásra bizonyos képességek engedélyezésekor:

Tárfiók típusa Blob Storage (alapértelmezett támogatás) Data Lake Storage Gen2 1 NFS 3.0 1 SFTP 1
Standard általános célú v2 Igen Igen Igen Igen
Prémium szintű blokkblobok Igen Igen Igen Igen

1 Az Azure Data Lake Storage Gen2, a Network File System (NFS) 3.0 protokoll és az SSH File Transfer Protocol (SFTP) támogatása mind megköveteli egy hierarchikus névtérrel rendelkező tárfiók használatát.

Lásd még

Következő lépések