
Pourquoi le sujet de cet article a été choisi pour mettre à niveau le sous-système de disqueIl est clair qu'en premier lieu, vous avez besoin, en règle générale:
- Augmentez la RAM. C'est une décision tellement évidente que je n'ai même pas jugé nécessaire d'en parler dans l'article principal
- Installez des processeurs supplémentaires ou remplacez les deux processeurs par les versions les plus productives prises en charge par les sockets de serveur.
Pour les serveurs plus anciens dotés de mémoire, les processeurs peuvent généralement être trouvés à des prix défiant toute concurrence.
À un moment donné, la question de tout propriétaire de leur propre serveur devient une mise à niveau ou un nouveau serveur.
Étant donné que le prix d'un nouveau serveur peut désormais être mesuré en millions de roubles, beaucoup sont sur le chemin de la mise à niveau.
Pour une mise à niveau réussie, il est très important d'utiliser des compromis, de sorte que pour une somme modique (par rapport au prix du nouveau serveur) nous obtenons un gain de performances significatif.
L'article fournit une liste de SSD serveur PCI-E 2.0 x8, qui sont beaucoup moins chers maintenant, les contrôleurs RAID avec prise en charge de la mise en cache SSD sont indiqués, et un SSD SATA III est testé sur l'interface SATA II.
La façon la plus évidente de mettre à niveau le sous-système de disque est de passer du HDD au SSD. Cela est vrai pour les ordinateurs portables et les serveurs. Sur les serveurs, la seule différence est peut-être que les SSD peuvent être facilement intégrés dans un raid.
Certes, il existe des points subtils associés au fait qu'il peut ne pas y avoir de ports SATA III sur l'ancien serveur et que vous devrez alors remplacer ou installer le contrôleur approprié.
Il existe bien sûr des méthodes intermédiaires.
Mise en cache sur SSD.
En général, cette méthode est bien adaptée aux bases de données, 1C, tout accès aléatoire. La vitesse s'accélère vraiment. Pour les gros fichiers de vidéosurveillance, cette méthode est inutile.
Contrôleurs RAID LSI (IBM, DELL, CISCO, Fujtsu)
À partir de la série 92xx, LSI dispose de la technologie CacheCade 2.0, qui vous permet d'utiliser presque tous les SSD SATA comme cache de matrice RAID. A la fois pour la lecture et l'écriture. Et même créer un miroir à partir de la mise en cache des SSD.
Avec les contrôleurs de marque, les choses se compliquent. Cela est particulièrement vrai pour IBM. Vous devrez acheter des clés et des SSD pour CacheCade auprès d'IBM pour beaucoup d'argent, il est donc plus facile de changer le contrôleur en LSI et d'acheter une clé matérielle à bas prix. Les clés logicielles coûtent beaucoup plus cher que les clés matérielles.
Contrôleurs Raid Adaptec
Les contrôleurs Adaptec disposent de la technologie MaxCache, qui vous permet également d'utiliser le SSD comme cache. Nous sommes intéressés par les versions de contrôleur qui se terminent par la lettre Q.
Les contrôleurs Q peuvent utiliser presque tous les SSD, pas seulement les SSD fournis par Adaptec.
- À partir de 5xxx, tous les contrôleurs prennent en charge le raid hybride. L'essence de cette technologie est que la lecture se fait toujours avec un SSD, lorsqu'il y a un miroir sur l'un des disques dans lesquels le SSD.
- 5xxxQ, par exemple 5805ZQ. Ces contrôleurs prennent en charge MaxCache 1.0. Lecture en cache uniquement.
- 6xxQ, par exemple 6805Q. MaxCache 2.0. Lire et écrire la mise en cache.
- 7xxQ, par exemple 7805Q. MaxCache 3.0. Lire et écrire la mise en cache.
- 8xxQ à des fins de mise à niveau n'a presque aucun sens à utiliser en raison des prix élevés.
Article sur la mise en cache sur SSD sur Habré (contrôleurs et OS).Mise en cache de la technologie logicielle sur SSD
Je ne couvrirai pas ces technologies. Dans presque tous les systèmes d'exploitation, ils sont désormais pris en charge. Je me souviens que lors de l'utilisation de btrfs, il transfère automatiquement les demandes de lecture à l'appareil avec la file d'attente la plus courte - SSD.
SSD SATA III sur SATA II
Puisqu'il n'y a pas toujours l'opportunité et l'argent pour un nouveau contrôleur, la question se pose de savoir comment fonctionnent les SSD SATA III sur l'interface SATA II obsolète.
Faisons un petit test. En tant que sujet de test, nous aurons un SSD SATA III de 400 Go Intel S3710.
Commandes utilisées pour les tests de vitessefio --name LinRead --eta-newline=5s --filename=/dev/sda --rw=read --size=500m --io_size=10g --blocksize=1024k --ioengine=libaio --iodepth=32 --direct=1 --numjobs=1 --runtime=60 --group_reporting fio --name LinWrite --eta-newline=5s --filename=/dev/sda --rw=write --size=500m --io_size=10g --blocksize=1024k --ioengine=libaio --fsync=10000 --iodepth=32 --direct=1 --numjobs=1 --runtime=60 --group_reporting fio --name RandRead --eta-newline=5s --filename=/dev/sda --rw=randread --size=500m --io_size=10g --blocksize=4k --ioengine=libaio --iodepth=32 --direct=1 --numjobs=4 --runtime=60 --group_reporting fio --name RandWrite --eta-newline=5s --filename=/dev/sda --rw=randwrite --size=500m --io_size=10g --blocksize=4k --ioengine=libaio --iodepth=32 --direct=1 --numjobs=4 --runtime=60 --group_reporting
Comme vous pouvez voir la différence de vitesse linéaire, IOPS, les retards sont très décents, il est donc logique d'utiliser uniquement l'interface SATA III, et si ce n'est pas le cas, mettez le contrôleur.
En toute honnêteté, je dirai que dans d'
autres expériences, la différence de vitesse de lecture et d'écriture aléatoires s'est avérée insignifiante. Peut-être qu'une si grande différence IOPS entre SATA II et SATA III aurait pu se produire parce que j'avais un contrôleur SATA II extrêmement infructueux ou un pilote avec quelques bugs.
Cependant, le fait est que vous devez vérifier la vitesse du SATA II - tout à coup, vous avez le même contrôleur de frein. Dans ce cas, la transition vers le contrôleur SATA III est requise.
SSD PCIe sur PCI-e 2.0 ou 1.0
Comme vous le savez, les SSD les plus rapides sont les PCI-e NVMe, qui ne se limitent pas à SAS ou SATA.
Cependant, lors de l'installation de SSD PCI-e modernes, il est nécessaire de prendre en compte le fait que la plupart d'entre eux n'utilisent que 4 lignes PCI-e, généralement PCI-e 3.0 ou 3.1.
Voyons maintenant la table de vitesse du bus PCI-e.
Lors de l'installation d'un SSD PCI 3.0 x4 dans un bus PCI-e 2.0, il fonctionnera sur le même nombre de lignes, mais à une vitesse nettement inférieure. Il y a un problème en ce que les vitesses linéaires des SSD PCI-e modernes dépassent la bande passante du bus PCI-e 2.0 et, en particulier, PCI-e 1.0.
Adaptateur SSD M.2 et PCI-e
Il existe de bonnes options de mise à niveau lorsque nous achetons un adaptateur pour 10 $ et mettons le SSD M.2 dans le serveur, mais encore une fois pour les bons SSD, il y aura des réductions de vitesse (en particulier sur PCI-e 1.0), et les SSD M.2 ne sont pas toujours facilement disponibles pour les charges de serveur: durabilité élevée, protection de l'alimentation et stabilité des caractéristiques de vitesse grâce au remplissage du cache SLC sur les modèles bon marché.
Cette méthode ne peut donc convenir qu'à un serveur avec un bus PCI-e 2.0 et occupé par un travail non critique.
SSD PCI-E 2.0 x8
La mise à niveau logique la plus économique consiste à utiliser le SSD PCI-E 2.0 x8 pour les serveurs avec un bus PCI-e 1.0 (bande passante jusqu'à 2 Go / s) et PCI-e 2.0 (jusqu'à 4 Go / s).
De tels disques SSD de serveur peuvent désormais être achetés à peu de frais à la fois sur divers marchés et lors d'enchères en ligne, y compris en Russie.
J'ai compilé un tableau de tels SSD obsolètes qui overclockeront parfaitement votre ancien serveur. À la fin du tableau, j'ai ajouté plusieurs SSD avec une interface PCI-E 3.0 x8. Tout à coup, vous avez de la chance et tombez sur un prix raisonnable.

Parmi ces SSD, Fusion ioMemory est autonome.
Le directeur de recherche
de Fusion était
Steve Wozniak . SanDisk a ensuite acheté cette société pour 1,2 milliard de dollars. À un moment donné, ils coûtaient de 50 000 $ chacun. Vous pouvez maintenant les acheter pour plusieurs centaines de dollars à l'état neuf pour un disque d'une capacité de 1 To ou plus.
Si vous regardez attentivement le tableau, vous pouvez voir qu'ils ont un nombre assez élevé d'IOPS par enregistrement, ce qui est presque égal au nombre d'IOPS par lecture. Compte tenu de leur prix actuel, à mon avis, ces SSD méritent une attention particulière.
Certes, ils ont plusieurs fonctionnalités:
- Ils ne peuvent pas être amorçables.
- Besoin d'un pilote à utiliser. Les pilotes ont presque tout, mais sous les dernières versions de Linux, ils devront être compilés.
- La taille de secteur optimale est de 4096 octets. (512 est également pris en charge)
- Le pilote dans le pire des cas peut consommer beaucoup de RAM (avec une taille de secteur de 512 octets)
- La vitesse de travail dépend de la vitesse du processeur, il est donc préférable de désactiver les technologies d'économie d'énergie. C'est à la fois un plus et un moins, car avec l'aide d'un processeur puissant, l'appareil peut fonctionner encore plus rapidement que celui indiqué dans les spécifications.
- A besoin d'un bon refroidissement. Pour les serveurs, cela ne devrait pas poser de problème.
- Il n'est pas recommandé pour ESXi, car ESXi préfère les disques avec le secteur 512N, ce qui peut entraîner une consommation de mémoire élevée par le pilote.
- Les versions de marque de ces SSD ne sont généralement pas prises en charge par les fournisseurs jusqu'au niveau du dernier pilote de SanDisk (mars 2019)
J'ai effectué des tests Fusion ioMemory en comparaison avec un serveur SSD Intel P3700 PCI-E 3.0 x8 plutôt moderne (ce dernier coûte 4 fois plus cher que Fusion avec une capacité similaire). Dans le même temps, vous pouvez voir à quel point la vitesse est réduite en raison du bus x4.
Oui, la vitesse de lecture linéaire est uniquement coupée par l'Intel P3700. Le passeport devrait être de 2800 Mo / s, et nous avons 1469 Mo / s. Bien qu'en général, on peut dire qu'avec le bus PCI-e 2.0, vous pouvez utiliser le serveur SSD PCI-E 3.0 x4, si vous pouvez les obtenir à un prix raisonnable.
Conclusions
Le sous-système de disque d'un ancien serveur avec un bus PCI-E 1.0 ou 2.0 peut être redécouvert en utilisant des SSD qui peuvent utiliser 8 lignes PCI-E qui fournissent des débits jusqu'à 4 Go / s (PCI-E 2.0) ou 2 Go / s (PCI-E 1.0). La façon la plus économique de procéder consiste à utiliser des disques SSD PCI-E 2.0 obsolètes.
Les options de compromis liées à l'achat d'une clé CacheCade pour les contrôleurs LSI ou au remplacement d'un contrôleur Adaptec par une version Q sont également faciles à mettre en œuvre.
Eh bien, une façon complètement banale consiste à acheter (effectuer un raid) le contrôleur SATA III pour que le SSD fonctionne à pleine vitesse et les déplacer tous nécessitant une vitesse.