Delen via


Een Azure Blob Storage-container koppelen in Linux met BlobFuse2

Let op

In dit artikel wordt verwezen naar CentOS, een Linux-distributie die de status End Of Life (EOL) nadert. Houd rekening met uw gebruik en plan dienovereenkomstig. Zie de Richtlijnen voor het einde van de levensduur van CentOS voor meer informatie.

In dit artikel leest u hoe u BlobFuse2 installeert en configureert, een Azure Blob-container koppelt en toegang krijgt tot gegevens in de container. De basisstappen zijn:

BlobFuse2 installeren

BlobFuse2 configureren

Een blobcontainer koppelen

Toegang tot gegevens

BlobFuse2 installeren

U hebt twee opties voor het installeren van BlobFuse2:

Optie 1: BlobFuse2 installeren vanuit de Microsoft-softwareopslagplaatsen voor Linux

Zie BlobFuse2-releases voor ondersteunde distributies.

Zie de Leesmij voor blobFuse2 voor informatie over libfuse-ondersteuning.

Voer de volgende opdracht uit om uw versie van Linux te controleren:

cat /etc/*-release

Als er geen binaire bestanden beschikbaar zijn voor uw distributie, kunt u optie 2: de binaire bestanden bouwen op basis van broncode.

BlobFuse2 installeren vanuit de opslagplaatsen:

De Microsoft-pakketopslagplaats configureren

BlobFuse2 installeren

De Microsoft-pakketopslagplaats configureren

Configureer de Linux-pakketopslagplaats voor Microsoft-producten.

Als voorbeeld van een Redhat Enterprise Linux 8-distributie:

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

Wijzig op dezelfde manier de URL zodat .../rhel/7/... deze verwijst naar een Redhat Enterprise Linux 7-distributie.

BlobFuse2 installeren

sudo yum install blobfuse2

Optie 2: de binaire bestanden bouwen op basis van broncode

De binaire blobFuse2-bestanden maken op basis van broncode:

  1. De afhankelijkheden installeren:

    1. Git installeren:

      sudo apt-get install git
      
    2. Installeer BlobFuse2-afhankelijkheden.

      Op Ubuntu:

      sudo apt-get install libfuse3-dev fuse3 -y
      
  2. Kloon de opslagplaats:

    sudo git clone https://github.com/Azure/azure-storage-fuse/
    sudo cd ./azure-storage-fuse
    sudo git checkout main
    
  3. BlobFuse2 bouwen:

    go get
    go build -tags=fuse3
    

Tip

Zie Go downloaden en installeren als u Go wilt installeren.

BlobFuse2 configureren

U kunt BlobFuse2 configureren met behulp van verschillende instellingen. Enkele van de typische instellingen zijn:

  • Locatie en opties voor logboekregistratie
  • Tijdelijk bestandspad voor opslaan in cache
  • Informatie over het Azure-opslagaccount en de blobcontainer die moeten worden gekoppeld

De instellingen kunnen worden geconfigureerd in een YAML-configuratiebestand, met behulp van omgevingsvariabelen of als parameters die worden doorgegeven aan de BlobFuse2-opdrachten. De voorkeursmethode is het gebruik van het configuratiebestand.

Zie de volgende artikelen voor meer informatie over elk van de configuratieparameters voor BlobFuse2 en hoe u deze opgeeft:

BlobFuse2 configureren voor koppeling:

  1. Cache configureren.
  2. Maak een lege map om de blobcontainer te koppelen.
  3. Toegang tot uw opslagaccount autoriseren.

Caching configureren

BlobFuse2 biedt systeemeigen prestaties met behulp van lokale technieken voor bestandscaching. De cacheconfiguratie en het gedrag variƫren, afhankelijk van of u grote bestanden streamt of kleinere bestanden opent.

Caching configureren voor het streamen van grote bestanden

BlobFuse2 ondersteunt streaming voor lees- en schrijfbewerkingen als alternatief voor schijfcaching voor bestanden. In de streamingmodus slaat BlobFuse2 blokken grote bestanden in het geheugen op voor lezen en schrijven. De configuratie-instellingen met betrekking tot caching voor streaming bevinden zich onder de stream: instellingen in uw configuratiebestand:

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

Zie het voorbeeldconfiguratiebestand voor streaming om snel aan de slag te gaan met enkele instellingen voor een basisstreamingscenario.

Caching configureren voor kleinere bestanden

Kleinere bestanden worden in de cache opgeslagen in een tijdelijk pad dat is opgegeven in file_cache: het configuratiebestand:

file_cache:
    path: <path to local disk cache>

Notitie

BlobFuse2 slaat alle geopende bestandsinhoud op in het tijdelijke pad. Zorg ervoor dat u voldoende ruimte hebt om alle geopende bestanden te bevatten.

U hebt drie algemene opties voor het configureren van het tijdelijke pad voor bestandscache:

Een lokale schijf met hoge prestaties gebruiken

Als u een bestaande lokale schijf gebruikt voor bestandscache, kiest u een schijf die de beste prestaties biedt, zoals een SSD (Solid-State Disk).

Een RAM-schijf gebruiken

In het volgende voorbeeld wordt een RAM-schijf van 16 GB en een map voor BlobFuse2 gemaakt. Kies een grootte die aan uw vereisten voldoet. BlobFuse2 gebruikt de RAM-schijf om bestanden te openen die maximaal 16 GB groot zijn.

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
Een SSD gebruiken

In Azure kunt u de tijdelijke SSD-schijven gebruiken die beschikbaar zijn op uw VM's om een buffer met lage latentie te bieden voor BlobFuse2. Afhankelijk van de inrichtingsagent die u gebruikt, koppelt u de tijdelijke schijf op /mnt voor cloud-init- of /mnt/resource voor vm's van Microsoft Azure Linux Agent (waagent).

Zorg ervoor dat uw gebruiker toegang heeft tot het tijdelijke pad:

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

Een lege map maken om de blobcontainer te koppelen

Een lege map maken om de blobcontainer te koppelen:

mkdir ~/mycontainer

Toegang tot uw opslagaccount autoriseren

U moet toegang verlenen tot het opslagaccount voor de gebruiker die de container koppelt. De meest voorkomende manieren om toegang te verlenen, zijn met behulp van een van de volgende opties:

  • Toegangssleutel voor opslagaccount
  • Shared Access Signature
  • Beheerde identiteit
  • Service-principal

U kunt autorisatiegegevens opgeven in een configuratiebestand of in omgevingsvariabelen. Zie Instellingen configureren voor BlobFuse2 voor meer informatie.

Een blobcontainer koppelen

Belangrijk

BlobFuse2 biedt geen ondersteuning voor overlappende koppelingspaden. Als u meerdere exemplaren van BlobFuse2 uitvoert, moet u ervoor zorgen dat elk exemplaar een uniek en niet-overlappend koppelpunt heeft.

BlobFuse2 biedt geen ondersteuning voor co-existentie met NFS op hetzelfde koppelpad. De resultaten van het uitvoeren van BlobFuse2 op hetzelfde koppelpad als NFS zijn niet gedefinieerd en kunnen leiden tot beschadiging van gegevens.

Voer de volgende opdracht uit om een Azure-blok-blobcontainer te koppelen met blobFuse2. De opdracht koppelt de container die is opgegeven aan ./config.yaml de locatie ~/mycontainer:

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

Notitie

Zie BlobFuse2-koppelingsopdrachten voor een volledige lijst met koppelingsopties.

U hebt nu toegang tot uw blok-blobs via het Linux-bestandssysteem en gerelateerde API's. Als u uw implementatie wilt testen, maakt u een nieuwe map en een nieuw bestand:

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

Toegang krijgen tot gegevens

Over het algemeen kunt u werken met de blobFuse2-gekoppelde opslag, zoals u zou werken met het systeemeigen Linux-bestandssysteem. Het maakt gebruik van het virtuele mapschema met een slash (/) als scheidingsteken in het bestandspad en ondersteunt eenvoudige bestandssysteembewerkingen zoals mkdir, , readdiropendir, rmdir, open, readcreate, write, close, , , unlink, en truncatestatrename.

U moet echter rekening houden met enkele belangrijke verschillen in functionaliteit:

Functieondersteuning

In deze tabel ziet u hoe deze functie wordt ondersteund in uw account en het effect op ondersteuning wanneer u bepaalde mogelijkheden inschakelt:

Storage account type Blob Storage (standaardondersteuning) Data Lake Storage Gen2 1 NFS 3.0 1 SFTP 1
Standaard algemeen gebruik v2 Ja Ja Ja Ja
Premium blok-blobs Ja Ja Ja Ja

1 Azure Data Lake Storage Gen2, Network File System (NFS) 3.0 protocol en SSH File Transfer Protocol (SFTP) ondersteunen allemaal een opslagaccount waarvoor een hiƫrarchische naamruimte is ingeschakeld.

Zie ook

Volgende stappen