Az Azure Blob Storage csatlakoztatása fájlrendszerként a BlobFuse v1 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ó.

Fontos

A BlobFuse2 a BlobFuse legújabb verziója, és számos jelentős fejlesztéssel rendelkezik a cikkben tárgyalt verzió, a BlobFuse 1 verzióval szemben. A BlobFuse2 fejlesztéseiről a BlobFuse2 fejlesztéseinek listájában olvashat.

A BlobFuse az Azure Blob Storage virtuális fájlrendszer-illesztőprogramja. A BlobFuse lehetővé teszi a meglévő blokkblobadatok elérését a tárfiókban a Linux fájlrendszeren keresztül. A BlobFuse a virtuális könyvtársémát használja elválasztóként a "/" perjellel.

Ez az útmutató bemutatja, hogyan használhatja a BlobFuse v1-et, és hogyan csatlakoztathat Blob Storage-tárolót Linuxon, és hogyan férhet hozzá az adatokhoz. A BlobFuse v1-ről további információt az olvasó ésa wiki tartalmaz.

Figyelmeztetés

A BlobFuse nem garantálja a 100%-os POSIX-megfelelőséget, mivel egyszerűen lefordítja a kéréseket a Blob REST API-kba. Az átnevezési műveletek például a POSIX-ban atomiak, a BlobFuse-ban azonban nem. A natív fájlrendszer és a BlobFuse közötti különbségek teljes listájáért látogasson el a BlobFuse forráskódtárába.

A BlobFuse v1 telepítése Linuxon

A BlobFuse bináris fájlok linuxos szoftvertárakban érhetők el Ubuntu, Debian, SU Standard kiadás, CentOS, Oracle Linux és RHEL disztribúciókhoz. A BlobFuse ezen disztribúciókra való telepítéséhez konfigurálja a listából az egyik adattárat. A bináris fájlokat az Azure Storage telepítési lépéseit követve is létrehozhatja a forráskódból, ha a disztribúcióhoz nem érhetők el bináris fájlok.

A BlobFuse az Ubuntu linuxos adattárában jelenik meg: 16.04, 18.04, és 20.04, RHEL verziók: 7.5, 7.8, 7.9, 8.0, 8.1, 8.2, CentOS verziók: 7.0, 8.0, Debian verziók: 9.0, 10.0, SU Standard kiadás verzió: 15, Oracle Linux 8.1. Futtassa ezt a parancsot, és győződjön meg arról, hogy az alábbi verziók valamelyike telepítve van:

cat /etc/*-release

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 BlobFuse v1 telepítése

sudo yum install blobfuse

Felkészülés a csatlakoztatásra

A BlobFuse natív teljesítményt nyújt azáltal, hogy ideiglenes elérési utat igényel a fájlrendszerben a megnyitott fájlok puffereléséhez és gyorsítótárazásához. Ehhez az ideiglenes elérési úthoz válassza ki a leginkább teljesítő lemezt, vagy használjon ramdiskot a legjobb teljesítmény érdekében.

Feljegyzés

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

(Nem kötelező) Ramdisk használata az ideiglenes elérési úthoz

Az alábbi példa egy 16 GB-os ramdiskot és egy BlobFuse könyvtárat hoz létre. Válassza ki a méretet az igényeinek megfelelően. Ez a ramdisk lehetővé teszi, hogy a BlobFuse legfeljebb 16 GB méretű fájlokat nyisson meg.

sudo mkdir /mnt/ramdisk
sudo mount -t tmpfs -o size=16g tmpfs /mnt/ramdisk
sudo mkdir /mnt/ramdisk/blobfusetmp
sudo chown <youruser> /mnt/ramdisk/blobfusetmp

SSD használata ideiglenes elérési útként

Az Azure-ban a virtuális gépeken elérhető rövid élettartamú lemezek (SSD) használatával alacsony késleltetésű puffert biztosíthat a BlobFuse számára. A használt kiépítési ügynöktől függően a rövid élettartamú lemez a cloud-init esetében a "/mnt" vagy a waagent virtuális gépek esetében az "/mnt/resource" kapcsolóra lesz csatlakoztatva.

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

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

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

A tárfiókhoz való hozzáférést a fiók hozzáférési kulcsával, közös hozzáférésű jogosultságkóddal, felügyelt identitással vagy szolgáltatásnévvel engedélyezheti. Az engedélyezési információk a parancssorban, a konfigurációs fájlban vagy a környezeti változókban is megadhatók. További információ: Érvényes hitelesítési beállítások a BlobFuse olvasóban.

Tegyük fel például, hogy a fiók hozzáférési kulcsaival rendelkezik, és egy konfigurációs fájlban tárolja őket. A konfigurációs fájl formátumának a következőnek kell lennie:

accountName myaccount
accountKey storageaccesskey
containerName mycontainer
authType Key

A accountName tárfiók neve, nem pedig a teljes URL-cím. Frissítenie myaccountkell, storageaccesskeyés mycontainer meg kell adnia a tárolási adatait.

Hozza létre ezt a fájlt a következővel:

sudo touch /path/to/fuse_connection.cfg

Miután létrehozta és szerkesztette ezt a fájlt, mindenképpen korlátozza a hozzáférést, hogy más felhasználók ne tudják elolvasni.

sudo chmod 600 /path/to/fuse_connection.cfg

Feljegyzés

Ha a konfigurációs fájlt Windows rendszeren hozta létre, mindenképpen futtassa dos2unix a fájl megtisztításához és Unix formátumba konvertálásához.

Üres könyvtár létrehozása csatlakoztatáshoz

sudo mkdir ~/mycontainer

Csatlakoztatás

Feljegyzés

A csatlakoztatási lehetőségek teljes listájáért tekintse meg a BlobFuse adattárat.

A BlobFuse csatlakoztatásához futtassa a következő parancsot a felhasználóval. Ez a parancs csatlakoztatja a "/path/to/fuse_connection.cfg" fájlban megadott tárolót a (/mycontainer) helyre.

sudo blobfuse ~/mycontainer --tmp-path=/mnt/resource/blobfusetmp  --config-file=/path/to/fuse_connection.cfg -o attr_timeout=240 -o entry_timeout=240 -o negative_timeout=120

Feljegyzés

Ha ADLS-fiókot használ, a következőket kell tartalmaznia --use-adls=true: .

Most már hozzá kell férnie a blokkblobokhoz a hagyományos fájlrendszer API-kkal. Alapértelmezés szerint a címtárat csatlakoztató felhasználó az egyetlen személy, aki hozzáférhet hozzá, ami biztosítja a hozzáférést. Az összes felhasználó hozzáférésének engedélyezéséhez csatlakoztathatja a lehetőséget -o allow_other.

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

A csatlakoztatás megőrzése

A csatlakoztatás megőrzésének módjáról a BlobFuse wikiben való megőrzése című témakörben olvashat.

Szolgáltatások támogatása

Ennek a funkciónak a támogatását befolyásolhatja a Data Lake Storage Gen2, a Network File System (NFS) 3.0 protokoll vagy az SSH File Transfer Protocol (SFTP) engedélyezése. Ha engedélyezte bármelyik funkciót, tekintse meg a Blob Storage szolgáltatástámogatását az Azure Storage-fiókokban a funkció támogatásának felméréséhez.

Következő lépések