Longhorn est un système de stockage par blocs distribué léger, fiable et facile à utiliser pour Kubernetes.
Longhorn est un logiciel gratuit et open source. Développé à l’origine par Rancher Labs, il est désormais développé en tant que projet d’incubation de la Cloud Native Computing Foundation.
Avec Longhorn, vous pouvez :
Longhorn est livré avec une interface utilisateur autonome et peut être installé à l’aide de Helm, kubectl ou du catalogue d’applications Rancher.
Longhorn crée un contrôleur de stockage dédié pour chaque volume et réplique de manière synchrone le volume sur plusieurs répliques stockées sur plusieurs nœuds.
Le contrôleur de stockage et les réplicas sont eux-mêmes orchestrés à l’aide de Kubernetes.
Étant donné que les environnements cloud modernes nécessitent des dizaines de milliers, voire des millions de volumes de stockage en bloc distribués, certains contrôleurs de stockage sont devenus des systèmes distribués très complexes. En revanche, Longhorn peut simplifier le système de stockage en partitionnant un contrôleur de stockage en bloc volumineux en un certain nombre de contrôleurs de stockage plus petits, à condition que ces volumes puissent toujours être créés à partir d’un pool commun de disques. En utilisant un contrôleur de stockage par volume, Longhorn transforme chaque volume en microservice. Le contrôleur s’appelle Longhorn Engine.
Le composant Longhorn Manager orchestre les moteurs Longhorn, afin qu’ils fonctionnent ensemble de manière cohérente.
Utilisez le stockage persistant dans Kubernetes sans compter sur un fournisseur de cloud
Les pods peuvent référencer directement le stockage, mais cela n’est pas recommandé car cela ne permet pas au pod ou au conteneur d’être portable. Au lieu de cela, les exigences de stockage des charges de travail doivent être définies dans les volumes persistants (PV) et les revendications de volumes persistants (PVC) Kubernetes. Avec Longhorn, vous pouvez spécifier la taille du volume, le nombre de répliques synchrones et d’autres configurations spécifiques au volume que vous souhaitez sur les hôtes qui fournissent la ressource de stockage pour le volume. Vos ressources Kubernetes peuvent ensuite utiliser le PVC et le PV correspondant pour chaque volume Longhorn, ou utiliser une classe de stockage Longhorn pour créer automatiquement un PV pour une charge de travail.
Les réplicas sont alloués de manière dynamique sur les disques sous-jacents ou sur le stockage réseau.
Planifier plusieurs réplicas sur plusieurs hôtes de calcul ou de stockage
Pour augmenter la disponibilité, Longhorn crée des répliques de chaque volume. Les répliques contiennent une chaîne d’instantanés du volume, chaque instantané stockant la modification d’un instantané précédent. Chaque réplique d’un volume s’exécute également dans un conteneur, donc un volume avec trois répliques donne quatre conteneurs.
Le nombre de répliques pour chaque volume est configurable dans Longhorn, ainsi que les nœuds sur lesquels les répliques seront planifiées. Longhorn surveille la santé de chaque réplique et effectue des réparations, en reconstruisant la réplique si nécessaire.
Attribuer plusieurs frontaux de stockage pour chaque volume
Les frontaux courants incluent un périphérique du noyau Linux (mappé sous /dev/longhorn) et une cible iSCSI.
Spécifier les planifications des opérations récurrentes d’instantané et de sauvegarde
Spécifiez la fréquence de ces opérations (horaire, quotidienne, hebdomadaire, mensuelle et annuelle), l’heure exacte à laquelle ces opérations sont effectuées (par exemple, 3 heures du matin tous les dimanches) et le nombre d’instantanés et de jeux de sauvegarde récurrents conservés.