Comment nous avons testé le WD ActiveScale P100 pour notre stockage S3

Nous testons périodiquement de nouveaux matériels et logiciels à utiliser dans nos services. Vous voulez toujours plus de fonctionnalités pour un prix raisonnable. Aujourd'hui, je vais vous dire comment nous avons compris le périphérique Western Digital ActiveScale P100 et essayé de l'essayer pour notre stockage S3.

Immédiatement un petit avertissement: nous avons testé le produit en termes d'utilisation dans un service public. Peut-être que certaines fonctions, intéressantes et importantes pour un usage privé, ont été laissées de côté.


Il s'agit d'ActiveScale P100 en avril 2019 avant l'installation dans le centre de données OST.

Maintenant, notre S3 fonctionne sur Cloudian HyperStore 7.1.5. Cette version offre une compatibilité à 98% avec les API Amazon. La solution actuelle a tout ce dont nous avons besoin en tant que prestataire de services et nos clients, nous n'avons donc pas moins cherché des alternatives.

Cette fois, la solution matérielle et logicielle Western Digital ActiveScale est tombée entre nos mains. Le vendeur le positionne comme une solution pour organiser un cluster S3.

Voici à quoi cela ressemble:


ActiveScale P100 installé dans l'une des salles du centre de données OST.

Les trois premières unités sont des nœuds de contrôle. Les six unités suivantes sont des nœuds pour stocker des données. Chacun des six nœuds contient 12 disques de 10 To chacun. 720 To de capacité "brute" au total. Le complexe comprend également 2 périphériques réseau. Pour chaque nœud - 2 liens de 10G. Au total, cette décision prend 11 unités dans le rack.

Nous avons exécuté ActiveScale à travers des tests de charge: un script a généré un nombre différent de fichiers de différentes tailles, a essayé de les télécharger en modes mono-thread et multi-thread et a enregistré le temps d'exécution des commandes pour télécharger et supprimer des fichiers. Ce test était artificiel: il a été effectué à partir d'un ordinateur avec un lecteur SSD, une grande quantité de mémoire et un processeur avec une fréquence de 3,2 GHz, avec une largeur de canal limitée de 100 Mb / s. Néanmoins, nous avons les résultats d'un test similaire pour la solution actuelle, et les résultats obtenus étaient plus que conformes à nos attentes.

Test
Taille de l'objet
Nombre d'objets
Nombre de fils
Vitesse moyenne
Temps de chargement
Temps de retrait *
1
10 Ko
100 000
1
104 ko / s
2 h 40 m
6 m 58 s
2
10 Ko
100 000
20
11 Mo / s
35 m 4 s
11 m 38 s
3
1 Mo
100 000
1
5 Mo / s
5 h 55 m
7 m 16 s
4
1 Mo
100 000
20
11 Mo / s
2 h 30 min
7 m 26 s
5
10 Go
1
1
10 Mo / s
16 m 5 s
3 s
6
10 Go
1
20
10 Mo / s
16 m 2 s
3 s
Résultats des tests de résistance.

* Lors de la suppression d'un objet est uniquement marqué pour la suppression. L'enlèvement lui-même a lieu une fois par jour. Lorsque le cluster est presque plein, cela peut compliquer la gestion de la capacité, car il n'y a pas d'informations à jour sur les ressources utilisées.

La compatibilité d'Amazon S3 a été testée de manière standard. Voici l' un des tests que j'ai utilisés.

Au moment des tests, nous avions la documentation la plus basique, nous avons donc traité le périphérique de cette «boîte noire» indépendamment - via l'interface Web d'administration, l'API et l'accès physique.

Ce qui a été trouvé à l'intérieur


Interface d'administration Sur la page principale, des informations récapitulatives sur les tailles de cluster et les mesures de travail, les statistiques sur les objets, les utilisateurs, les compartiments, les politiques de stockage.



Interface utilisateur Dans le service S3, il est nécessaire pour que l'administrateur côté client puisse ajouter / supprimer des utilisateurs, générer des clés d'accès pour eux, citer des utilisateurs, etc. Le P100 ne l'a pas, mais après nos commentaires, le fournisseur prévoit de le mettre en œuvre.

Gestion des utilisateurs / rôles. Pour organiser un service public, nous avons besoin de pouvoir créer des utilisateurs avec différents droits d'accès. Le P100 présente des limites importantes à cet égard:

  • Vous ne pouvez créer qu'un seul utilisateur système, c'est-à-dire un administrateur de cluster. Plus - uniquement grâce à l'intégration avec Active Directory.
  • Les utilisateurs ne peuvent pas être groupés et assignés à un administrateur. En fait, cela nous empêche de fournir un service public.
  • l'utilisateur ne peut pas être supprimé définitivement, donc si le nouvel utilisateur possède la même connexion, vous devrez être créatif.
  • la définition de quotas pour les utilisateurs (volume, nombre de transactions, etc.) n'est possible que via la CLI.

Facturation. Le P100 est prêt à l'emploi, et c'est le plus gros inconvénient pour nous en tant que fournisseur de services. Nous avons un produit commercial et nous devons en quelque sorte facturer les clients. Le P100 possède des journaux de statistiques qui peuvent être supprimés toutes les heures via le panneau d'administration. Théoriquement, vous pouvez les analyser, extraire les données nécessaires et effectuer un calcul à leur sujet. Mais ces journaux ne sont stockés que 30 jours. Que faire dans les situations où au cours du mois de 31 jours ou le client demande à revérifier le compte des mois précédents n'est pas clair.

Définition de vos propres règles de stockage d'objets. Le P100 nous est déjà parvenu avec les paramètres suivants: les fichiers plus petits que le bloc (20 Ko) sont stockés en mode code d'effacement (EC) 6 + 2. Les fichiers plus gros que le bloc sont stockés en mode EC 13 + 4. Le P100 détermine lui-même la taille du fichier et sélectionne le mode approprié.

D'une part, le P100 a plus d'options. En revanche, tous les paramètres de règles de stockage pour le facteur de réplication et le code d'effacement ne sont possibles qu'au stade du déploiement du cluster. Plus tard, pendant le fonctionnement, il n'est plus possible d'ajouter de nouvelles règles de stockage de données ou de modifier celles existantes. Lors de l'expansion du cluster, cela doit être fait pour que l'efficacité et la fiabilité du stockage soient optimales.


Tableau des performances de stockage du code d'effacement.

CLI native \ AdminAPI. Pour gérer le cluster, le P100 possède une CLI, mais il est écrit et testé uniquement pour Ubuntu (nous utilisons Red Hat). Il ne donne pas d'avantages significatifs par rapport à l'interaction via les requêtes curl (put, get, post), mais il existe certaines fonctionnalités pour gérer le cluster.

Prise en charge de l'API AWS S3 de base et de l'AWS CLI. Ceci n'est qu'un indicateur de compatibilité avec l'API Amazon. Autrement dit, est-il possible d'utiliser les commandes pour Amazon S3 dans cette solution. Selon l'expérience, cet indicateur varie en moyenne quelque part entre 50 et 70%.

P100 a obtenu 58% selon les résultats des tests. Il n'a pas été possible de faire des tests de compatibilité sur l'attribution des droits d'accès à des objets individuels, car dans la solution P100, vous pouvez attribuer un accès général uniquement à un compartiment, et non à un objet distinct. Il n'y a pas non plus d'IAM (gestion des identités et des accès). En conséquence, la compatibilité est plus proche de 50%.


D'après les résultats des tests.

Gestion du système d'exploitation. Selon la spécification, ActiveScale OS 5.x apparaît.Selon les journaux et les dossiers disponibles via l'interface Web, j'ai découvert qu'il est très probablement basé sur une distribution Debian. Pendant les tests, il n'a pas été possible de trouver des moyens pour les mises à jour autogérées, comment installer les mises à jour de sécurité critiques, vos agents de surveillance, etc. Il faut absolument contacter le support technique P100 avec le départ d'une personne spécialement formée.

Le nombre de compartiments par utilisateur. Dans ces services, l'utilisateur peut généralement créer jusqu'à 100 compartiments, une sorte de «dossier» pour stocker des fichiers. Dans le cas général, cela suffit, mais la pratique montre qu'il n'y a pas beaucoup de seaux. Dans le P100, 100 godets est le maximum. Dans notre solution actuelle, l'utilisateur peut créer 1000 seaux.

Définition des droits d'accès au compartiment et aux objets. Dans P100, vous pouvez donner accès à un compartiment spécifique, mais pas à un objet spécifique. Ce dernier est souvent utilisé par les utilisateurs car il vous permet de fixer des limites sur le nombre de téléchargements et le moment où il peut être téléchargé.

Statistiques de cluster / utilisateur / compartiment. Nous avons besoin de ces informations pour suivre l'occupation des clusters et ne pas manquer le moment où nous arrivons au plafond par les ressources.

Dans l'interface, vous pouvez voir des statistiques presque en temps réel sur les utilisateurs et les compartiments (les informations sont mises à jour une fois par heure).



Il peut être téléchargé via un compartiment système spécial, mais sous la forme téléchargée au lieu d'un e-mail ou de noms d'utilisateur, il y aura un UUID, vous devez donc en quelque sorte comparer le type d'utilisateur qui se cache derrière des UUID spécifiques. Ce n'est pas un problème s'il y a 10 utilisateurs, mais si plus?

Auto-diagnostic. Le P100 peut interroger via SNMP toute la partie fer du cluster et l'afficher sur un tableau de bord. Par exemple, vous pouvez voir la saturation et la température des disques, l'utilisation de la mémoire, etc.


Informations sur l'état du nœud système.


Informations sur l'état des disques. Lorsqu'un disque tombe en panne, vous pouvez activer le rétroéclairage pour trouver et remplacer rapidement.


Paramètres de chargement du CPU et de la mémoire dans le cluster.

Journalisation des actions des utilisateurs. Ce n'est pas là, ce qui signifie qu'il n'est pas facile de comprendre les situations de "qui a supprimé le fichier et l'a supprimé".

Prise en charge SSE / SSE-C. Le P100 prend en charge le cryptage, mais avec des limitations: vous devez demander une clé de licence distincte, ce qui représente un supplément d'argent.

Équilibreur de charge. Il est intégré et vaut probablement HAProxy. Vous devez le configurer au minimum: spécifiez simplement les adresses IP entrantes et sortantes.

Automatisation des processus d'entrée / sortie des nœuds ou des disques sur les nœuds. Il est utile lorsqu'un nœud se casse dans un cluster et doit être mis hors service. Maintenant, pour de telles situations, nous avons une solution toute faite. Je n'ai pas trouvé un tel mécanisme dans le P100, vous ne pouvez désactiver qu'un nœud séparé via l'interface Web d'administration. Très probablement, vous devrez inviter l'ingénieur du vendeur.

Appliance S3 Gate. Cette solution logicielle vous permet de déployer ftp / nfs / samba-gate côté client et d'y déposer les fichiers qui devraient se trouver dans S3. Une chose pratique si l'utilisateur final ne sait pas utiliser S3. Malheureusement, le P100 n'a pas cela à bord.

Ports d'application fonctionnels. Dans le P100, seuls les ports standard pour S3 sont disponibles - 80, 443.

Documentation utilisateur. Il n'y a que de la documentation API.

Documentation administrative. Fourni par le vendeur sur demande.

Non testé, mais déclaré par le vendeur


Plusieurs points de terminaison. Nous sommes arrivés avec une installation prête, où un seul point de terminaison par cluster était déjà configuré. Le changement a échoué.

Géo-réservation. Cette option permet de répliquer les données sur trois sites et de basculer les clients vers des sites de sauvegarde. Nous n'avions qu'un seul cluster, il n'était donc pas possible de tester.

Intégration avec AD. Déclaré, mais nous n'utilisons pas AD par rapport à S3, nous n'avons donc pas testé.

Conclusions


En général, le WD ActiveScale P100 a laissé une impression positive: il fonctionne «prêt à l'emploi», rapidement et en même temps, il est très acceptable. Néanmoins, il s'agit d'une solution privée qui ne peut pas encore être utilisée pour créer un service S3 public. Voici l'essentiel que nous n'avions pas assez:

  • il n'y a aucun moyen de créer des groupes d'utilisateurs et de définir un administrateur pour eux;
  • pas d'interface utilisateur graphique;
  • pas de facturation;
  • inclusion de fonctions supplémentaires uniquement par un appel au fournisseur;
  • l'incapacité à conserver différentes politiques de stockage et à les affecter à différents groupes d'utilisateurs au sein du même cluster, en fonction des tâches en cours.

Selon les résultats des tests, le vendeur a accepté tous les souhaits. Peut-être que dans un proche avenir l'un d'entre eux sera réalisé.

Source: https://habr.com/ru/post/fr477836/


All Articles