Azure Storage Account - Blob Storage unter Linux mounten
Azure Storage Accounts bieten unterschiedliche Möglichkeiten und Verwendungszwecke. In diesem Tutorial verwenden wir einen Blob Storage Container, um ihn in einen Ubuntu Server zu mounten.
Installation
Um einen Blob Container anzubinden benötigt man fuse3 und blobfuse2. Hierfür muss zuerst das Linux Software Repository für Microsoft Products installiert werden.
UBUNTU_VERSION=$(lsb_release -sr)
curl -sSL -O https://packages.microsoft.com/config/ubuntu/${UBUNTU_VERSION}/packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
sudo apt update
Anschließend können die Pakete installiert werden:
Anbinden des Container
Information
Sollte der Storage Account nur über einen Private Endpoint verfügbar sein, muss zuerst sichergestellt werden, das dieser auch vom Linux Client erreichbar ist.
Folgende Informationen werden benötigt um den Storage Account Container anzubinden:
- Storage Account Name (${AccountName})
- Endpoint (IdR. https://${AccountName}.blob.core.windows.net/
- Account Key (${AccountKey}
- Container Name ${ContainerName}
Mountpoint anlegen
Zuerst muss ein Ordner angelegt werden, in den der Container gemounted werden kann
Konfigurationsdatei anlegen
Um den Storage Account zu mounten, muss zuerst eine Konfigurationsdatei angelegt werden.
sudo mkdir -p /etc/blobfuse2
sudo touch /etc/blobfuse2/${AccountName}.yaml
sudo nano /etc/blobfuse2/${AccountName}.yaml
Information
Im Befehl muss der Wert für ${AccountName} durch den richtigen Wert ersetzt werden.
allow-other: true
nonempty: true
logging:
type: syslog
level: log_warning
components:
- libfuse
- stream
- attr_cache
- azstorage
libfuse:
attribute-expiration-sec: 120
entry-expiration-sec: 120
negative-entry-expiration-sec: 240
stream:
block-size-mb: 8
max-buffers: 64
buffer-size-mb: 36
attr_cache:
timeout-sec: 7200
azstorage:
type: block
account-name: ${AccountName}
endpoint: https://${AccountName}.blob.core.windows.net/
mode: key
account-key: ${AccountKey}
container: ${ContainerName}
Eine komplette Übersicht der Konfiguration kann im Github Repository von azure/azure-storage-fuse eingesehen werden (Link).
Temporäres einbinden
Fals ein Eintrag in der fstab Tabelle mit der Option noauto vorhanden ist, genügt die Befehlszeile:
Ist kein Eintrag vorhanden, müssen alle Eingaben, in der Befehlszeile übernommen werden:
Information
Im Befehl muss der Wert für ${AccountName} durch den richtigen Wert ersetzt werden.
Statisches Einbinden
Für das statische einbinden ist ein Eintrag in der fstab Tabelle nötig:
Information
Im Befehl muss der Wert für ${AccountName} durch den richtigen Wert ersetzt werden.