Général
Azure Files est un stockage cloud, accessible via SMB par une machine locale, ou une VM Azure.
Azure Files peut stocker plusieurs types de ressources, comme les conteneurs blob, mais je m’intéresse ici uniquement aux partages de fichiers.
Il y’a également la possibilité de créer des partages NFS, mais je n’aborde pas ce cas ici. Un partage est accessible soit par SMB soit par NFS, mais pas les 2 en même temps.
Guide de planification général Azure Files
https://learn.microsoft.com/en-us/azure/storage/files/storage-files-planning
Quelques considérations
MS conseille de ne pas mélanger les différents types de ressources au sein d’un même compte de stockage (si il contient un partage Azure Files, alors il est déconseillé d’y mettre un stocke blob par exemple).
Dans la mesure du possible, essayer de ne mettre qu’un seul partage par compte de stockage (chaque partage aura son propre compte de stockage).
Compte de stockage
https://learn.microsoft.com/fr-fr/azure/storage/common/storage-account-overview
La gestion se fait sur le portail Azure, section “Comptes de stockage”.
Il faut créer un compte de stockage (qui lui-même doit appartenir à un groupe de ressources).
Les performances du compte de stockage (standard ou premium) est défini définitivement à la création du compte.
Le compte de stockage est protégé par 2 clés, “storage account key”. On peut les voir sur le portail Azure, dans le compte de stockage -> Sécurité + réseau (colonne de gauche) -> Clé d’accès.
Ces clés donnent un accès admin complet à l’ensemble des partages et données du compte de stockage.
Partages
Une fois le compte de stockage créé, on peut créer des partages (Portail -> Comptes de stockage -> Partages de fichiers
puis + Partage de fichiers
). Le nom ne peut pas contenir de majuscule.
Chaque partage a son propre niveau de performance (froid, chaud, optimisé pour les transactions).
Celui-ci peut se changer par la suite si besoin.
MS conseille, s’il y a des gros volumes à transférer, de commencer par le niveau optimisé pour les transactions le temps de la migration, puis de repasser à un autre niveau après.
Chaque partage a ses paramètres de sauvegarde.
Paramètres SMB
L’accès SMBv3 est ok pour Windows 10 et Debian Bullseye. Les paramètres SMB sont identiques pour tous les partages au sein d’un compte de stockage.
Accéder au partage Azure Files
Obtenir l’UNC
Ça devrait toujours être \\nomducomptedestockage.file.core.windows.net\nom-du-partage
.
Pour le vérifier :
Azure Portal -> Comptes de stockage -> Sélectionner le compte de stockage souhaité -> Partage de fichiers (colonne de gauche du panneau central) puis clic sur Connecter
Cela donne un script, dans lequel on trouve l’UNC.
On y voit aussi la clé de sécurité, derrière le /pass=
Connexion via clé
Si on veut établir la connexion manuellement, on peut ajouter les informations de connection dans Panneau de configuration -> Comptes d'utilisateur -> informations de connexion Windows
(ou à la volée lors de la connexion) :
- Adresse :
nomducomptedestockage.file.core.windows.net
- Utilisateur :
nomducomptedestockage
(ou localhost\nomducomptedestockage ) - Mot de passe : clé du compte de stockage
Il est bien sûr possible d’automatiser le déploiement de ce partage via GPO (ou Intune).
Depuis Linux
smb://nomducomptedestockage.file.core.windows.net/nom-du-partage
Mêmes utilisateurs et mot de passe. “Domaine” non-pertinent.
Authentification/autorisations
L’accès au partage se fait :
- soit par la “storage account key” (donne un accès complet admin à tous les partages du compte de stockage)
- soit par un accès basé sur l’identité (IAM)
Si on veut utiliser l’IAM, il est bien de commencer par vérifier que le montage fonctionne en utilisant la storage key, pour s’assurer du bon fonctionnement de la partie réseau sans s’occuper de la partie authentification.
Si on veut utiliser l’IAM, il faut le paramétrer. Un paramétrage sur le compte de stockage lui-même est nécessaire (chaque entité doit avoir les droits d’accès au compte de stockage pour accéder à un partage inclus dedans).
Ce paramétrage se fait sur le portail, dans Compte de stockage -> le choisir -> Access Control (IAM) -> Add -> Add role assignment .
On recherche “SMB”, puis on choisit le rôle “Storage File Data SMB Share Contributor” (pour un contributeur simple, qui peut modifier les fichiers).
On y affecte ensuite l’entité qui doit bénéficier de ce rôle (un groupe, un utilisateur).
Chaque partage de ce compte héritera de cette IAM. Il me semble qu’il est possible de surcharger chacun des partage avec d’autres droits (par exemple refus d’accès ?).
Il y a 3 méthodes d’authentification auprès d’une “source AD”, chacune avec ses spécificités.
Auprès d’un AD local (AD DS)
Il est nécessaire de pouvoir contacter ce DC local lors de l’établissement de la connexion au partage.
Ce DC local peut éventuellement être hébergé dans le cloud, avec accès via un VPN.
Disponible seulement pour les utilisateurs hybrides (synchronisés depuis le DC local vers Entra ID).
Introduction - MS
Activation - MS
Entra Domain Services (Entra DS, anciennement Azure AD DS)
Il s’agit d’un domaine géré (managé) par MS, qui fournit entre autres des fonctionnalités de DC et de GPO.
Il semble plutôt fait pour la gestion centralisée de serveurs virtuels, et il ne peut être contacté que via la connexion à un VPN.
Prend en charge les utilisateurs hybrides ainsi que cloud-only.
Les clients (postes utilisateurs) ne peuvent pas être Entra-joined ou Entra-registered.
les clients doivent être joints au domaine hosté pour que tout soit automatisé.
Il est toutefois possible de monter le partage depuis un poste non-joint à un domaine en fournissant des IDs explicites.
Récap chez Microsoft
Activation
Entra Kerberos
C’est une authentification directement auprès d’Entra, uniquement pour les utilisteurs hybrides (synchronisés depuis un DC local).
L’accès peut se faire sans besoin de connexion au DC (sauf pour régler les droits d’accès, là une connexion au DC sera nécessaire).
Les postes clients doivent être Entra-joined ou Entra-hybrid-joined ; pas ok si joints à Entra DS ou si joints uniquement à un AD local.
Migration des données
https://learn.microsoft.com/fr-fr/azure/storage/files/storage-files-migration-overview
Plusieurs méthodes possibles ; par exemple :
- simplement avec robocopy d’un lecteur à l’autre
- avec Azure Storage Mover
- avec Azure Files Sync
Azure Files Sync
Pour synchroniser un serveur local avec un partage Azure Files Sync
https://learn.microsoft.com/en-us/azure/storage/file-sync/file-sync-planning
Possible de faire de la synchro simple.
Possible aussi de donner au server local un rôle de cache, les clients s’adressant à lui et lui échangeant avec Azure.
Azure Storage Mover
https://learn.microsoft.com/en-us/azure/storage-mover/service-overview
Capable de gérer des gros volumes de données.
Transfère les metadonnées.
Requiert la création sur Azure d’une ressource Azure Storage Mover
Requiert ensuite la création d’un agent (apparement c’est une VM)
Coût
https://azure.microsoft.com/fr-fr/pricing/details/storage/files/#pricing
Il y’a plusieurs choses distinctes qui sont facturées : stockage utilisé, transactions (lecture/écriture de données), metadonnées, backups, snapshots etc…
Facturation provisionnée (espace pré-payé, qu’il soit utilisé ou non)
Facturation à l’usage pour les modes standard (optimisé pour les transactions, chaud, froid).
Le stockage est de moins en cher quand on descend dans les gammes (optimisé pr transactions -> chaud -> froid)
Les transactions sont de + en + chères quand on descend dans la gamme.
Il est possible de changer le niveau de chacun des partages à tout moment. Ceci entraîne toutefois des transactions donc de la facturation.
Redondance
https://learn.microsoft.com/fr-fr/azure/storage/common/storage-redundancy
LRS : 3 copies dans le même datacenter
ZRS : 1 copie dans chacun de 3 datacenter différents (dans la même région primaire)
GRS : LRS en zone primaire + LRS en zone secondaire
GZRS : ZRS en zone primaire + LRS en zone secondaire
Peut se changer après la création du compte de stockage.
Zones de disponibilité :
https://learn.microsoft.com/fr-fr/azure/reliability/availability-zones-overview?tabs=azure-cli#azure-regions-with-availability-zones
Sauvegarde
https://learn.microsoft.com/en-us/azure/backup/azure-file-share-backup-overview
Vault
Il faut créer un “Recovery Services vault”
https://learn.microsoft.com/en-us/azure/backup/backup-create-recovery-services-vault
Pour ceci, dans le portail Azure, chercher “Business Continuity Center”, et ouvrir Manage -> Vaults
.
Backup policy
Il faut ensuite créer une politique de sauvegarde ; consiste en un vault de destination, un type de sauvegarde, une fréquence de sauvegarde et une durée de rétention des sauvegardes. Pour ceci :
https://learn.microsoft.com/en-us/azure/backup/quick-backup-azure-files-vault-tier-portal
Une fois créé, toujours dans “Business Continuity Center”, ouvrir Manage -> Protection Policies
puis Create policy -> Create backup policy
. Choisir “Azure Files (Azure Storage)” et sélectionner le vault précédemment créé.
Pour une sauvegarde complète, MS recommande de choisir “Vault-Standard” comme niveau de sauvegarde.
Choisir la fréquence de sauvegarde (au + fréquent toutes les 4h, et 6 sauvegardes par jour).
Une fois créée, la politique apparaît dans la liste des “Protection policies”, en tant que politique gérée par Azure. Il faut toutefois s’assurer que la “Datasource type” est bien définie sur “Azure Files (Azure Storage)” pour la voir apparaître.
Activation de la sauvegarde
Aller dans “Business Continuity Center -> Overview” et cliquer sur “+ Configure protection”. Choisir “Azure”, “Azure Files” et “Azure Backup” en solution.
Choisir le vault créé précedemment.
Choisir le compte de stockage contenant les données à sauvegarder. Choisir le ou les partages à inclure dans la sauvegarde. Choisir la stratégie de sauvegarde désirée (celle créée précédemment).
Les différents partages au sein d’un même compte de stockage ne peuvent pas utiliser des vaults différents. On peut ne pas sauvegarder tous les partages d’un compte de stockage, mais ceux sauvegardés le seront tous dans le même vault.
Déclenchement manuel d’une sauvegarde
Aller dans les détails du vault, puis Protected items -> Backups items
. Choisir “Azure Storage”.
Choisir le partage à sauvegarder, et ouvrir les détails, puis clic sur “Backup now”.
Les points de sauvegarde déclenchés manuellement ne sont pas soumis à la politique de rétention standard, mais ont une date de validité définie directement lors de la création du backup (par défaut c’est 1 mois).
L’avancement de la sauvegarde peut être suivi dans les notifications.
Restauration
https://learn.microsoft.com/en-us/azure/backup/restore-afs
Changement de Vault pour un compte de stockage
https://learn.microsoft.com/en-us/azure/backup/backup-azure-files-faq
Pour pouvoir changer le vault qui recevra les sauvegardes d’un compte de stockage, il faut d’abord désactiver la protection pour chacun des partages de ce compte, puis désenregistrer le compte de stockage du vault.
Pour stopper la protection, aller dans Business continuity Center -> Protected items
. Choisir “Azure Files” en source. Choisir les partages appartenant au compte de stockage concerné. Choisir Stop Backup
dans la barre du haut.
La doc MS indique qu’on peut choisir de conserver les données sauvegardées, ou bien de les supprimer ; mais dans mon expérience, il est indispensable de les supprimer pour pouvoir désenregistrer le compte de stockage.
Une fois la protection stoppée, ouvrir le vault actuel, puis aller dans Manage -> Backup infrastructure
puis Azure storage accounts -> Storage accounts
.
Choisir le compte de stockage à désassocier, clic sur les … à droite puis “Unregister”.
Limites de quantités de sauvegarde
https://learn.microsoft.com/en-us/azure/backup/azure-file-share-support-matrix
Rapport par mail
Business Continuity Center -> Monitoring + Reporting -> Reports
Suppression réversible (Soft delete)
Concerne uniquement la suppression d’un partage (et non de fichiers dans ce partage).
Si activé, lorsqu’un partage est supprimé, il reste “dans la corbeille” pendant un temps (configurable).
Activé au niveau du compte de stockage, pour tous les partages lui appartenant.
Article chez MS
Coût
https://azure.microsoft.com/fr-fr/pricing/details/backup/
Cout de l’espace utilisé par les snapshots (tarification Azure Files) + cout abonnement (~6€/mois)
Disques managés
disques virtuels attachables à une VM azure en tant que disque local
https://azure.microsoft.com/fr-fr/pricing/details/managed-disks/
en HDD, 8To = 300€/mois
Montable sur plusieurs serveurs virtuels ?