Stockage d'objets en arrière-boutique, ou Comment devenir votre propre prestataire

Le monde a vu le premier prototype de stockage d’objets en 1996. Dans 10 ans, Amazon Web Services lancera Amazon S3, et le monde commencera à devenir systématiquement fou avec un espace d'adressage plat. Grâce à sa gestion des métadonnées et à sa capacité à évoluer sans s'affaisser sous la charge, le stockage objet est rapidement devenu la norme pour la plupart des services de stockage cloud et au-delà. Une autre caractéristique importante est sa bonne adaptabilité pour le stockage d'archives et de fichiers similaires rarement utilisés. Toutes les personnes impliquées dans le stockage de données ont applaudi et ont porté la nouvelle technologie entre leurs mains.

Stockage d'objets en arrière-boutique, ou Comment devenir votre propre prestataire

Mais les rumeurs populaires étaient pleines de rumeurs selon lesquelles le stockage d'objets ne concerne que de gros nuages, et si vous n'avez pas besoin de solutions de la part de ces foutus capitalistes, il sera alors très difficile de créer les vôtres. Beaucoup de choses ont déjà été écrites sur le déploiement de votre propre cloud, mais il n'y a pas suffisamment d'informations sur la création des solutions dites compatibles S3.

Par conséquent, aujourd'hui, nous allons déterminer quelles sont les options disponibles « Pour être comme des adultes, et non CEPH et un fichier plus gros », nous en déploierons une et nous vérifierons que tout fonctionne à l'aide de Veeam Backup & Replication. Il revendique la prise en charge du travail avec des stockages compatibles S3, et nous vérifierons cette déclaration.

Et les autres ?

Je propose de commencer par un petit aperçu du marché et des options de stockage d'objets. Le leader et standard généralement reconnu est Amazon S3. Les deux poursuivants les plus proches sont Microsoft Azure Blob Storage et IBM Cloud Object Storage.

Est-ce tout? N'y a-t-il pas d'autres concurrents ? Bien sûr, il existe des concurrents, mais certains suivent leur propre chemin, comme Google Cloud ou Oracle Cloud Object Storage, avec une prise en charge incomplète de l'API S3. Quelqu'un utilise d'anciennes versions de l'API, comme Baidu Cloud. Et certains, comme Hitachi Cloud, nécessitent l’application d’une logique particulière, ce qui entraînera certainement ses propres difficultés. Quoi qu’il en soit, tout le monde est comparé à Amazon, qui peut être considéré comme le standard de l’industrie.

Mais dans les solutions sur site, le choix est bien plus large, décrivons donc les critères qui sont importants pour nous. En principe, seulement deux suffisent : la prise en charge de l’API S3 et l’utilisation de la signature v4. La main sur le cœur, en tant que futur client, nous ne nous intéressons qu'aux interfaces d'interaction, et nous ne sommes pas tellement intéressés par la cuisine interne du stockage lui-même.

Eh bien, de nombreuses solutions répondent à ces conditions simples. Par exemple, les poids lourds classiques des entreprises :

  • DellEMC ECS
  • Grille de stockage NetApp S3
  • Seaux Nutanix
  • FlashBlade et StorReduce de stockage pur
  • Huawei FusionStockage

Il existe un créneau de solutions purement logicielles qui fonctionnent immédiatement :

  • Chapeau rouge Ceph
  • Stockage d'entreprise SUSE
  • Cloudian

Et même ceux qui aiment classer soigneusement après montage n'ont pas été offensés :

  • Le CEPH dans sa forme la plus pure
  • Minio (version Linux, car il y a beaucoup de questions sur la version Windows)

La liste est loin d'être complète, on peut en discuter dans les commentaires. N'oubliez pas de vérifier les performances du système en plus de la compatibilité des API avant la mise en œuvre. La dernière chose que vous souhaitez est la perte de téraoctets de données en raison de requêtes bloquées. N'hésitez donc pas à charger des tests. En général, tous les logiciels pour adultes fonctionnant avec de grandes quantités de données disposent au moins de rapports de compatibilité. En cas de Veeam il est tout le programme sur des tests mutuels, ce qui nous permet de déclarer avec audace la totale compatibilité de nos produits avec des équipements spécifiques. Il s'agit déjà d'un travail à double sens, pas toujours rapide, mais en constante expansion. liste solutions testées.

Montage de notre stand

Je voudrais parler un peu du choix d'un sujet de test.

Tout d’abord, je voulais trouver une option qui fonctionnerait immédiatement. Eh bien, ou du moins avec la probabilité maximale que cela fonctionne sans qu'il soit nécessaire de faire des gestes inutiles. Danser avec un tambourin et jouer sur la console la nuit est très excitant, mais parfois on a envie que ça marche tout de suite. Et la fiabilité globale de ces solutions est généralement plus élevée. Et oui, l'esprit d'aventurisme a disparu en nous, nous avons arrêté de grimper par les fenêtres vers nos femmes bien-aimées, etc. (c).

Deuxièmement, pour être honnête, la nécessité de travailler avec le stockage d'objets se pose dans des entreprises assez grandes, c'est donc le cas lorsque l'on n'est pas seulement gêné de se tourner vers des solutions au niveau de l'entreprise, mais même encouragé. En tout cas, je ne connais pas encore d’exemples de licenciements pour avoir acheté de telles solutions.

Sur la base de tout ce qui précède, mon choix s'est porté sur Édition communautaire Dell EMC ECS. C'est un projet très intéressant et j'estime qu'il est nécessaire de vous en parler.

La première chose qui vient à l’esprit quand on voit l’ajout Edition communautaire - qu'il ne s'agit que d'un papier calque d'un ECS à part entière avec certaines restrictions qui sont supprimées lors de l'achat d'une licence. Donc non!

Rappelez-vous

!!!Community Edition est un projet distinct créé à des fins de test et sans support technique de Dell !!
Et il ne peut pas être transformé en un ECS à part entière, même si vous le souhaitez vraiment.

Comprenons

Beaucoup de gens pensent que Dell EMC ECS est presque la meilleure solution si vous avez besoin de stockage objet. Tous les projets sous la marque ECS, y compris les projets commerciaux et corporatifs, sont githabé. Une sorte de geste de bonne volonté de la part de Dell. Et en plus du logiciel qui s'exécute sur le matériel de leur marque, il existe une version open source qui peut être déployée dans le cloud, sur une machine virtuelle, dans un conteneur ou sur n'importe lequel de vos propres matériels. Pour l’avenir, il existe même une version OVA, que nous utiliserons.
La DELL ECS Community Edition elle-même est une mini-version d'un logiciel à part entière qui s'exécute sur les serveurs de marque Dell EMC ECS.

J'ai identifié quatre différences principales :

  • Pas de support de cryptage. C'est dommage, mais pas critique.
  • Il n'y a pas de couche de tissu. Cette chose est responsable de la création de clusters, de la gestion des ressources, de la mise à jour, de la surveillance et du stockage des images Docker. Ici, c'est déjà très décevant, mais Dell peut aussi être compris.
  • La conséquence la plus désagréable du point précédent : la taille du nœud ne peut pas être étendue une fois l'installation terminée.
  • Pas de support technique. Il s'agit d'un produit de test dont l'utilisation n'est pas interdite dans les petites installations, mais personnellement, je n'oserais pas y télécharger des pétaoctets de données importantes. Mais techniquement, personne ne peut vous en empêcher.

Stockage d'objets en arrière-boutique, ou Comment devenir votre propre prestataire

Qu'y a-t-il dans la grande version ?

Au galop à travers l'Europe, passons en revue les solutions du fer afin d'avoir une vision plus complète de l'écosystème.

Je ne confirmerai ni ne réfuterai d'une manière ou d'une autre l'affirmation selon laquelle DELL ECS est le meilleur stockage d'objets sur site, mais si vous avez quelque chose à dire sur ce sujet, je serai heureux de le lire dans les commentaires. Quoi qu'il en soit, selon la version IDC MarketScape 2018 Dell EMC entre en toute confiance parmi les cinq principaux leaders du marché OBS. Bien que les solutions basées sur le cloud ne soient pas prises en compte, il s'agit d'une conversation distincte.

D'un point de vue technique, ECS est un stockage objet qui permet d'accéder aux données à l'aide de protocoles de stockage cloud. Prend en charge AWS S3 et OpenStack Swift. Pour les compartiments compatibles fichiers, ECS prend en charge NFSv3 pour l'exportation fichier par fichier.

Le processus d’écriture des informations est plutôt inhabituel, surtout après les systèmes de stockage par blocs classiques.

  • Lorsque de nouvelles données arrivent, un nouvel objet est créé avec un nom, les données elles-mêmes et des métadonnées.
  • Les objets sont divisés en morceaux de 128 Mo et chaque morceau est écrit sur trois nœuds à la fois.
  • Le fichier d'index est mis à jour, où les identifiants et les emplacements de stockage sont enregistrés.
  • Le fichier journal (entrée de journal) est mis à jour et également écrit sur trois nœuds.
  • Un message est envoyé au client concernant un enregistrement réussi.
    Les trois copies des données sont écrites en parallèle. L’écriture n’est considérée comme réussie que si les trois copies ont été écrites avec succès.

Stockage d'objets en arrière-boutique, ou Comment devenir votre propre prestataire

La lecture est plus facile :

  • Le client demande des données.
  • L'index recherche un endroit pour stocker les données.
  • Les données sont lues à partir d'un nœud et envoyées au client.

Stockage d'objets en arrière-boutique, ou Comment devenir votre propre prestataire

Il existe de nombreux serveurs eux-mêmes, alors regardons le plus petit Dell EMC ECS EX300. Il commence à 60 To, avec la possibilité d'augmenter jusqu'à 1,5 Po. Et son frère aîné Dell EMC ECS EX3000 permet déjà de stocker jusqu'à 8,6 Po par rack.

Déployer

Techniquement, Dell ECS CE peut être déployé aussi grand que vous le souhaitez. En tout cas, je n'ai trouvé aucune restriction explicite. Cependant, il est pratique d'effectuer toute la mise à l'échelle en clonant le tout premier nœud, pour lequel nous avons besoin de :

  • 8 vCPU
  • 64GB RAM
  • 16 Go pour le système d'exploitation
  • 1 To directement pour le stockage
  • Dernière version de CentOS minimale

C'est une option pour le cas où vous souhaitez tout installer vous-même dès le début. Pour nous, cette option n'est pas pertinente, car. J'utiliserai une image OVA pour déployer.

Mais dans tous les cas, les exigences sont très mauvaises, même pour un seul nœud, et si vous suivez strictement la lettre de la loi, vous avez alors besoin de quatre de ces nœuds.

Cependant, les développeurs ECS CE vivent dans le monde réel, et l'installation réussit même avec un seul nœud, et la configuration minimale requise est :

  • 4 vCPU
  • 16 Go de RAM
  • 16 Go pour le système d'exploitation
  • 104 Go de stockage lui-même

Ce sont ces ressources qui sont nécessaires au déploiement de l'image OVA. Déjà beaucoup plus humain et réaliste.

Le nœud d'installation lui-même peut être extrait du site officiel github. Il existe également une documentation détaillée sur le déploiement du tout-en-un, mais vous pouvez également la lire sur le site officiel lire les docs. Nous ne nous attarderons donc pas en détail sur le déroulement de l'OVA, il n'y a pas d'astuce là-dedans. L'essentiel est qu'avant de le démarrer, n'oubliez pas soit d'étendre le disque au volume requis, soit de joindre ceux nécessaires.
On démarre la machine, on ouvre la console et on utilise les meilleurs crédits par défaut :

  • connexion: administrateur
  • Mot de passe : changeme

Ensuite, nous exécutons sudo nmtui et configurons l'interface réseau - IP/masque, DNS et porte. Gardant à l’esprit que CentOS minimal ne dispose pas d’outils réseau, nous vérifions les paramètres via l’adresse IP.

Stockage d'objets en arrière-boutique, ou Comment devenir votre propre prestataire

Et comme seuls les courageux conquièrent les mers, nous faisons une mise à jour miam, après quoi nous redémarrons. C'est en fait assez sûr. tout le déploiement est effectué via des playbooks et tous les packages Docker importants sont verrouillés sur la version actuelle.

Il est maintenant temps de modifier le script d'installation. Pas de fenêtres sophistiquées ni de pseudo-interface utilisateur pour vous : tout se fait via votre éditeur de texte préféré. Techniquement, il existe deux manières : vous pouvez exécuter chaque commande manuellement ou lancer immédiatement le configurateur videoploy. Il ouvrira simplement la configuration dans vim et, à la sortie, il commencera à la vérifier. Mais il n’est pas intéressant de vous simplifier délibérément la vie, alors exécutons deux commandes supplémentaires. Même si cela n'a aucun sens, je vous avais prévenu =)

Nous créons donc vim ECS-CommunityEdition/deploy.xml et apportons les modifications minimales optimales pour qu'ECS s'allume et fonctionne. La liste des paramètres peut être raccourcie, mais je l'ai fait comme ceci :

  • License_accepted : true Vous n'êtes pas obligé de le modifier, puis lors du déploiement, il vous sera explicitement demandé de l'accepter et une jolie phrase vous sera présentée. Peut-être s’agit-il même d’un œuf de Pâques.
    Stockage d'objets en arrière-boutique, ou Comment devenir votre propre prestataire
  • Décommentez les lignes autonames: et custom : entrez au moins un nom souhaité pour le nœud - le nom d'hôte sera remplacé par celui-ci pendant le processus d'installation.
  • install_node : 192.168.1.1 Spécifiez la véritable adresse IP du nœud. Dans notre cas, on indique la même chose que dans nmtui
  • dns_domain : saisissez votre domaine.
  • dns_servers : entrez votre DNS.
  • ntp_servers : vous pouvez en spécifier un. J'ai pris le premier que j'ai rencontré du pool 0.pool.ntp.org (il est devenu 91.216.168.42)
  • autonaming : personnalisé Si vous ne décommentez pas, la lune s'appellera Luna.
  • ecs_block_devices :
    / Dev / sdb
    Pour une raison inconnue, il se peut qu'il y ait un périphérique de stockage en bloc inexistant /dev/vda
  • pools_de stockage :
    membres:
    192.168.1.1 Ici encore nous indiquons la véritable IP du nœud
  • ecs_block_devices :
    /dev/sdb Nous répétons l'opération de découpe de périphériques inexistants.

En général, l'ensemble du dossier est décrit de manière très détaillée dans documentation, mais qui le lira dans une période aussi troublée. Il indique également que le minimum suffisant est de spécifier l'adresse IP et le masque, mais dans mon laboratoire, un tel ensemble a plutôt mal démarré et j'ai dû l'étendre à celui spécifié ci-dessus.

Stockage d'objets en arrière-boutique, ou Comment devenir votre propre prestataire

Après avoir quitté l'éditeur, vous devez exécuter update_deploy /home/admin/ECS-CommunityEdition/deploy.yml, et si tout est fait correctement, cela sera signalé explicitement.

Stockage d'objets en arrière-boutique, ou Comment devenir votre propre prestataire

Ensuite, vous devez toujours démarrer videploy, attendre la mise à jour de l'environnement et vous pouvez démarrer l'installation elle-même avec la commande ova-step1, et après sa réussite, la commande ova-step2. Important : n'arrêtez pas les scripts à la main ! Certaines étapes peuvent prendre beaucoup de temps, plus longtemps que le premier essai et donner l'impression que tout est cassé. Dans tous les cas, vous devez attendre la fin du script de manière naturelle. À la fin, vous devriez voir quelque chose comme ceci.

Stockage d'objets en arrière-boutique, ou Comment devenir votre propre prestataire

Maintenant, enfin, nous pouvons ouvrir le panneau de configuration WebUI en utilisant l'adresse IP que nous connaissons. S'il n'a pas été modifié lors de la configuration, le compte par défaut sera root/ChangeMe. Vous pouvez même utiliser immédiatement notre stockage compatible S3. Il est disponible sur les ports 9020 pour HTTP et 9021 pour HTTPS. Encore une fois, si rien n'a été modifié, alors access_key : object_admin1 et secret_key : ChangeMeChangeMeChangeMeChangeMeChangeMe.

Mais n’allons pas trop loin et commençons dans l’ordre.

Stockage d'objets en arrière-boutique, ou Comment devenir votre propre prestataire

Lorsque vous vous connectez pour la première fois, vous serez obligé de changer votre mot de passe pour un mot de passe adéquat, ce qui est absolument correct. Le tableau de bord principal est extrêmement clair, alors faisons quelque chose de plus intéressant que d'expliquer les mesures évidentes. Par exemple, créons un utilisateur que nous utiliserons pour accéder au stockage. Dans le monde des prestataires de services, on les appelle des locataires. Cela se fait dans Gérer > Utilisateurs > Nouvel utilisateur d'objet

Stockage d'objets en arrière-boutique, ou Comment devenir votre propre prestataire

Lors de la création d'un utilisateur, il nous est demandé de spécifier un espace de noms. Techniquement, rien ne nous empêche d’en démarrer autant qu’il y aura d’utilisateurs. Et vice versa. Cela permet de gérer les ressources indépendamment pour chaque locataire.

En conséquence, nous sélectionnons les fonctions dont nous avons besoin et générons des clés utilisateur. S3/Atmos me suffira. Et n'oubliez pas de conserver la clé 😉

Stockage d'objets en arrière-boutique, ou Comment devenir votre propre prestataire

L’utilisateur a été créé, il est désormais temps de lui allouer un bucket. Accédez à Gérer > Compartiment et remplissez les champs obligatoires. Tout est simple ici.

Stockage d'objets en arrière-boutique, ou Comment devenir votre propre prestataire

Nous avons maintenant tout prêt pour une utilisation de combat de notre stockage S3.

Configuration de Veeam

Ainsi, comme nous nous en souvenons, l’une des principales utilisations du stockage objet est le stockage à long terme d’informations rarement consultées. Un exemple idéal est la nécessité de stocker des sauvegardes sur un site distant. Dans Veeam Backup & Replication, cette fonctionnalité est appelée niveau de capacité.

Commençons la configuration en ajoutant notre Dell ECS CE à l'interface Veeam. Dans l'onglet Infrastructure de sauvegarde, lancez l'assistant d'ajout d'un nouveau référentiel et sélectionnez l'élément Object Storage.

Stockage d'objets en arrière-boutique, ou Comment devenir votre propre prestataire

Nous choisissons pour quoi tout a été commencé - Compatible S3.

Stockage d'objets en arrière-boutique, ou Comment devenir votre propre prestataire

Dans la fenêtre qui apparaît, écrivez le nom souhaité et passez à l'étape Compte. Ici, vous devez spécifier le point de service dans le formulaire https://your_IP:9021, la région peut être laissée telle quelle et l'utilisateur créé peut être ajouté. Un serveur de porte est nécessaire si votre stockage est situé sur un site distant, mais il s'agit déjà d'un sujet d'optimisation de l'infrastructure et d'un article séparé, vous pouvez donc l'ignorer en toute sécurité ici.

Stockage d'objets en arrière-boutique, ou Comment devenir votre propre prestataire

Si tout est spécifié et configuré correctement, un avertissement concernant le certificat apparaîtra, puis une fenêtre avec un compartiment, dans lequel vous pourrez créer un dossier pour nos fichiers.

Stockage d'objets en arrière-boutique, ou Comment devenir votre propre prestataire

Nous parcourons l'assistant jusqu'au bout et apprécions le résultat.

Stockage d'objets en arrière-boutique, ou Comment devenir votre propre prestataire

L'étape suivante consiste soit à créer un nouveau référentiel de sauvegarde évolutif, soit à ajouter notre S3 à celui existant - il sera utilisé comme niveau de capacité pour le stockage des archives. La fonction permettant d'utiliser directement les référentiels compatibles S3, comme un référentiel standard, n'est pas disponible dans la version actuelle. Il y a trop de problèmes peu évidents pour que cela puisse être résolu, mais tout peut l'être.
Accédez aux paramètres du référentiel et activez le niveau de capacité. Tout y est transparent, mais il y a une nuance intéressante : si vous souhaitez que toutes les données soient envoyées au stockage objet le plus rapidement possible, réglez-le simplement sur 0 jour.

Stockage d'objets en arrière-boutique, ou Comment devenir votre propre prestataire

Après avoir parcouru l'assistant, si vous ne voulez pas attendre, vous pouvez appuyer sur ctrl+RMB sur le référentiel, lancer de force la tâche de hiérarchisation et regarder les graphiques explorer.

Stockage d'objets en arrière-boutique, ou Comment devenir votre propre prestataire

C'est tout pour le moment. Je pense avoir réussi à montrer que le stockage en bloc n’est pas aussi effrayant qu’on le pense. Oui, il existe des solutions et des options pour un wagon et un petit chariot, mais vous ne pouvez pas tout couvrir dans un seul article. Alors partageons notre expérience dans les commentaires.

Source: habr.com

Ajouter un commentaire