Vue d’ensemble du cache cloud
Cloud Cache est une fonctionnalité qui fonctionne avec les conteneurs Profile et ODFC pour fournir une résilience et une haute disponibilité. Cloud Cache utilise le conteneur monté localement pour fournir des mises à jour périodiques aux fournisseurs de stockage distants . Cloud Cache est conçu pour isoler les utilisateurs des problèmes de stockage locaux à court terme ou intermittents (région interne, proximité proche). En fonction de la configuration, elle peut également être utilisée dans le cadre d’un plan de continuité d’activité ou de récupération d’urgence (BCDR) lors de l’utilisation de fournisseurs de stockage distants dans différentes régions. L’utilisation du cache cloud place une exigence de de performances et de stockage sur la machine virtuelle pour prendre en charge les opérations d’E/S supplémentaires et le stockage requis par le cache local .
Considérations relatives au cache cloud :
- Cloud Cache utilise des fournisseurs de stockage basés sur l’ordre des entrées dans
CCDLocations
. - Les fournisseurs de stockage doivent être répertoriés dans l’ordre de proximité, puis de préférence.
- Un seul fournisseur (1) est utilisé lorsque les données sont hydratées du fournisseur de stockage.
- Les données sont écrites dans tous les fournisseurs de stockage, quel que soit le fournisseur utilisé pendant l'hydratation des données .
- Les performances (latence, utilisation, goulots d’étranglement) d’un fournisseur de stockage affectent son état de synchronisation avec la copie locale.
- Avoir un (1) ou plusieurs fournisseurs en retard dans la mise à jour du cache local peut être un indicateur d’un fournisseur de stockage peu performant.
-
Ping
ouTest-NetConnection
résultats des commandes ne sont pas les mêmes que les E/S transactionnelles et sont de mauvais indicateurs de la façon dont un fournisseur de stockage peut ou va fonctionner.
Figure 1 : diagramme détaillé montrant les composants cloud Cache
Composants du cache cloud
Cache locale
Le cache cloud est en mesure d’isoler un utilisateur des problèmes de connectivité aux fournisseurs de stockage distants, car le conteneur utilisé pour le profil de l’utilisateur est créé et stocké localement sur la machine virtuelle (cache local). Pendant une première connexion, FSLogix crée le conteneur pour l’utilisateur dans C:\ProgramData\FSLogix\Cache
et stocke les données lues à partir du fournisseur de stockage distant et les données écrites à partir de l’ordinateur local. Ensuite, FSLogix configure toutes les redirections nécessaires pour le profil de l’utilisateur. Ensuite, le service profil utilisateur crée le profil de l’utilisateur dans le cache local.
Au cours d’une connexion 2nd ou Nth, FSLogix tente de rechercher et de monter les disques durs virtuels du cache local précédents stockés sur la machine virtuelle. La recherche d’un cache local est le paramètre de configuration par défaut et peut ne pas être souhaité, car il peut entraîner des événements d’espace disque faible. Pour plus de paramètres, consultez la page de référence des paramètres cloud Cache. S’il n’existe aucun ou plusieurs disques durs virtuels de cache local, un fichier proxy est inscrit et un disque dur virtuel de cache local créé. Ensuite, FSLogix configure les redirections nécessaires pour le profil de l’utilisateur. Enfin, FSLogix utilisera un (1) des fournisseurs de stockage distants comme source de lecture pour remplir le cache local comme demandé par le système d’exploitation pendant le processus de connexion pour terminer la connexion.
Objets cache
Fichiers de file d’attente
Les fichiers *.queue
sont créés pour chaque fournisseur de stockage distant et effectuent le suivi des fichiers *.index
qui ne sont pas encore vidés dans le cache local et les fournisseurs de stockage distant.
Fichiers d’index
Les fichiers *.index
contiennent des lots de modifications au niveau du bloc qui doivent être écrites dans le cache local et les fournisseurs de stockage distant.
Figure 2 : cache local du cache cloud
Fournisseurs de stockage distants (hydrate, purger, clone)
Cloud Cache exploite le profil de l’utilisateur à partir du cache local pendant la session de l’utilisateur et doit être configuré avec un ou plusieurs fournisseurs de stockage distants, comme spécifié dans CCDLocations
. Ces fournisseurs de stockage distant stockent des copies complètes du cache local et sont utilisés pendant la session active et pour les connexions suivantes. Si tous les fournisseurs deviennent défectueux pendant la session de l’utilisateur, le cache local continue de fonctionner et de croître1 jusqu’à ce qu’un ou plusieurs fournisseurs retournent à un état sain.
Avertissement
Si une lecture est demandée à partir du profil de l’utilisateur et que Cloud Cache ne parvient pas à hydrater les données de l’un des fournisseurs de stockage distants, cela entraîne un blocage de session ou un blocage du système (BSOD).
1 Le cache local augmente uniquement jusqu’à la taille maximale du conteneur, comme spécifié dans le paramètre SizeInMBs
.
Hydratez-vous
Lorsque le cache local ne contient pas les données demandées par le système de fichiers, Cloud Cache hydrate (lit et copie) les données de 1 des fournisseurs de stockage distants vers le cache local. Cette opération fait également partie du processus de connexion lors du remplissage du cache local pour le profil de l’utilisateur.
Rougir
L’opération de vidage se produit généralement de trois façons.
- Sur une opération asynchrone différée, Cloud Cache vide les modifications apportées simultanément à tous les fournisseurs de stockage, car chaque fournisseur est vidé sur son propre thread. FSLogix ne limite pas cette opération et utilise autant de débit que le système le permettra.
- Lors de la déconnexion lorsqu’un ou plusieurs fournisseurs ne contiennent pas toutes les mises à jour, la déconnexion de l’utilisateur est retardée2 jusqu’à ce que tous les fournisseurs se trouvent dans la même séquence.
- Pendant la session d’un utilisateur, lorsque la connexion à un fournisseur de stockage est dégradée, FSLogix met en file d'attente toutes les modifications, puis les applique aux fournisseurs lorsqu'ils retrouvent un état fonctionnel.
2 La déconnexion d’un utilisateur est retardée en fonction de la configuration du cache cloud à l’aide de la valeur HealthyProvidersRequiredForUnregister
et CcdUnregisterTimeout
.
Clone
Un clone VHD(x) complet est effectué lorsque Cloud Cache détermine, lors de la connexion, qu’un fournisseur de stockage n’est pas à la même séquence. Pendant cette opération, toutes les écritures en attente sont conservées dans le cache local jusqu’à ce que tous les fournisseurs de stockage se trouvent dans la même séquence. Une fois terminée, l’opération de vidage commence à envoyer de nouvelles données aux fournisseurs de stockage.
Fichier proxy
Cloud Cache utilise le concept d’un fichier proxy, représenté comme Profile_%username%.vhd
bien qu’il ne s’agit pas d’un vrai fichier de disque dur virtuel. Le fichier proxy est monté sur l’ordinateur local en tant que disque dur virtuel enregistré représentant le conteneur de l’utilisateur. Le fichier proxy est utilisé comme moyen de traiter toutes les écritures d’E/S destinées au cache local. Cela inclut les données manquantes dans le cache local qui sont hydratées à partir d’un fournisseur de stockage distant. Les écritures d’E/S sont mises en mémoire tampon sur le disque et suivies via le fichier proxy avant d’être écrites en tant qu’objets de cache *.index
dans le répertoire du cache. Bien que le fichier proxy ait la même taille que le fichier de cache local, la taille réelle sur le disque est égale à zéro, car aucune donnée n’est écrite dans ce fichier.
Figure 3 : fichier proxy du cache cloud
Fichiers auxiliaires
Cloud Cache utilise deux (2) fichiers auxiliaires pour maintenir le contrôle et la séquence du cache local.
Note
Ces fichiers auxiliaires sont utilisés par FSLogix et ne sont pas destinés à être ouverts ou utilisés en dehors du produit. Toutes les informations pertinentes contenues dans ces fichiers seront disponibles par le biais de nos fichiers journaux ou des entrées du journal des événements.
Verrouiller le fichier
Le fichier de verrouillage est ce que son nom peut impliquer, un fichier utilisé pour déterminer quelle machine virtuelle a un verrou d’E/S sur le conteneur. Cloud Cache utilise ces informations pour déterminer la propriété du conteneur pour un fournisseur donné. Le mécanisme de fichier de verrouillage est essentiel lors de l’utilisation du cache cloud avec ProfileType défini sur « 3 » (sessions multiples ou simultanées). Ce fichier existe uniquement sur les fournisseurs de stockage distants.
Fichier Meta
Le fichier meta est un fichier à usage multiple dans lequel nous suivons l’état du conteneur. Dans le fichier meta, Cloud Cache utilise un système de numérotation de séquences pour déterminer quel fournisseur a les données les plus récentes. Ce fichier est à la fois local sur la machine virtuelle et synchronisé avec les fournisseurs de stockage distants.
Fournisseurs de stockage
FSLogix n’est pas un fournisseur de stockage. Nous nous appuyons plutôt sur l’architecture sous-jacente des fournisseurs de stockage. Pour plus d’informations sur les fournisseurs de stockage pris en charge par FSLogix, consultez nos options de stockage de conteneurs.