Az Azure Blob Storage csatlakoztatása fájlrendszerként a BlobFuse v1 használatával
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ó és a 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ájljai elérhetők a Linuxhoz készült Microsoft-szoftvertárakban Ubuntu, Debian, SUSE, 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 van közzétéve: 16.04, 18.04 és 20.04, RHEL verziók: 7.5, 7.8, 7.9, 8.0, 8.1, 8.2, Debian verziók: 9.0, 10.0, SUSE 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
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 myaccount
kell, 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.