Azure Blob Storage-tároló csatlakoztatása Linuxon a BlobFuse2 használatával
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 telepítésének két lehetősége van:
- Telepítse a BlobFuse2-t a Linuxhoz készült Microsoft szoftvertárakból – Ez az előnyben részesített telepítési módszer. A BlobFuse2 számos gyakori Linux-disztribúció adattáraiban érhető el.
- A BlobFuse2 bináris fájljainak létrehozása a forráskódból – A BlobFuse2 bináris fájlokat a forráskódból is létrehozhatja, ha az nem érhető el a terjesztési adattárakban.
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
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
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:
Telepítse a függőségeket:
A Git telepítése:
sudo apt-get install git
Telepítse a BlobFuse2 függőségeket.
Ubuntu rendszeren:
sudo apt-get install libfuse3-dev fuse3 -y
Klónozza az adattárat:
sudo git clone https://github.com/Azure/azure-storage-fuse/ sudo cd ./azure-storage-fuse sudo git checkout main
BlobFuse2 létrehozása:
go get go build -tags=fuse3
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 beállításainak konfigurálása
- BlobFuse2 konfigurációs fájl
- BlobFuse2 környezeti változók
- BlobFuse2 csatlakoztatási parancsok
A BlobFuse2 csatlakoztatásának konfigurálása:
- Gyorsítótárazás konfigurálása.
- Hozzon létre egy üres könyvtárat a blobtároló csatlakoztatásához.
- 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 mkdir
a , opendir
, readdir
, rmdir
, write
close
read
open
unlink
truncate
create
stat
é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 1 | NFS 3.0 1 | SFTP 1 |
---|---|---|---|---|
Standard általános célú v2 | ||||
Prémium szintű blokkblobok |
1 Az Azure Data Lake Storage, a Hálózati fájlrendszer (NFS) 3.0 protokoll és az SSH-fájlátviteli protokoll (SFTP) mind támogatnak egy hierarchikus névtérrel rendelkező tárfiókot.