Configuration RAID optimale pour le serveur SQL
Nous avons une base de données SQL 2005 backend pour notre site web, actuellement d'environ 10 GO en taille. Il y a beaucoup plus de lectures que de l'écrit, même si je n'ai pas les statistiques exactes.
Nous sommes la mise à niveau de notre serveur de base de données et je pensais obtenir 4 disques et de leur mise en place dans les deux matrices RAID 1 - un pour les fichiers de données et l'autre pour le système d'exploitation et les fichiers journaux. Serait-ce la une configuration ou serait-RAID 5-être mieux pour les fichiers de données? RAID 10 est un peu cher et est probablement excessif pour nous.
À ce stade, SQL Server doit conserver la plus grande partie de la base de données dans la mémoire vive (8 GO), mais il va grandir, donc je ne veux pas de s'en remettre entièrement.
Edit: nous voulons vraiment la redondance sur un serveur de production, de sorte que le RAID 0 est en lui-même. RAID 10 est agréable, mais peut-être un peu cher pour nous.
source d'informationauteur EMP
Vous devez vous connecter pour publier un commentaire.
Votre concept de l'utilisation de RAID 1 indépendant des miroirs est la bonne stratégie.
Nous avons mis en place des scénarios similaires à mon travail et ils fonctionnent très bien.
RAID 1
RAID 1 vous donne la vitesse de 1 disque pour l'écriture, mais 2 disques pour la lecture.
Lorsque vous écrivez des données sur une matrice RAID 1, il doit écrire que les données sur les deux disques, de sorte que vous ne gagnerez pas des performances en hausse, cependant, ce est là que vous obtenez la sécurité de vos données.
Lors de la lecture d'une matrice RAID 1, le contrôleur va lire les deux disques qu'ils ont les mêmes données sur eux.
RAID 5
Cela est utile pour protéger les grandes quantités de données. Le coût de RAID 5 augmente beaucoup plus lentement que le RAID 1 (ou RAID 0+1, une fois que vous faites des capacités au-delà de la taille des disques individuels) pour la même quantité de données.
Si vous voulez protéger 600 go en RAID 5, vous pouvez le faire avec 4x200gb lecteurs ou 3x300gb lecteurs, nécessitant 800-900 go de total des achats d'espace disque. RAID 1 serait 2x600gb lecteurs nécessitant de 1 200 go d'acheté de l'espace (avec 600 go disques bien plus cher) ou RAID 0+1, vous permettant d'utiliser moins chers lecteurs de capacité (c'est à dire: 4x300gb ou 6x200gb), mais requiert tout de même un total de 1 200 go d'acheté de l'espace.
RAID 0+1
Offre des avantages similaires en RAID 1 de l'enlever d'un cran avec la répartition des données entre les disques. Je suppose que si vous êtes préoccupés par les lectures simultanées, il vous sera également à l'aide de multi-processeurs et multi-cœurs. Vous serez le traitement de plusieurs requêtes à la fois et donc la répartition des données ne va pas aider beaucoup. Vous verrez un meilleur avantage sur un RAID 0+1 pour des applications simples à l'aide de gros fichiers de données, telles que le montage vidéo.
Quand j'étais à la recherche de cette même question il y a un moment pour un client, j'ai trouvé cet article très intéressant http://blogs.zdnet.com/Ou/?p=484. Sur la deuxième page, il dicusses le changement d'un RAID 0+1 indépendants des matrices RAID 1 de la création d'un grand nombre d'améliorations. C'était sur une échelle beaucoup plus grande (20 disque et 16 de disque SAN), mais même des concepts. La capacité de SQL Server pour équilibrer la charge des données entre plusieurs volumes au lieu d'utiliser un simple mal informés de bandes RAID 0+1 est un excellent concept.
J'aimerais passer un peu de temps à s'assurer que votre base de données est efficace indexés; veiller à la Pleine Analyses de la Table, assurez-vous que la plupart des requêtes fréquentes lire aussi peu de données que possible; je voudrais prendre une efficacité à la base de données sur un disque lent d'installation sur une base de données avec une mauvaise indices sur les Ssd.
Donné qu'il y a beaucoup plus de Lectures que de l'Écrit, RAID 5 sera plus rapide pour vos fichiers de données.
Si vous le pouvez, utilisez un RAID 1+0 tableau pour les fichiers journaux des transactions.
EDIT: vous aurez besoin d'au moins 3 Disques pour créer une matrice RAID 5.
Être conscient que la clé métrique de performance sera le chercher, et pas le débit de données. C'est, d'une base de données classique qu'est le disque-lié (comme le vôtre peut devenir comme elle pousse) sera limité par le nombre d'IOs par seconde disques de soutien, plutôt que le débit de données maximal qu'ils peuvent soutenir pour des lectures séquentielles.
Cela signifie que si vous vous demandez comment utiliser les 4 disques (par exemple), deux RAID1 paires devraient vous donner de meilleures performances que d'un 4-disque RAID5 tableau. Bien sûr, vous n'aurez pas autant de stockage utilisable des deux RAID1 paires.
Compte tenu de la petite taille de la base de données je voudrais utiliser quatre 15krpm 2.5" SFF, SAS disques, le programme d'installation en deux RAID 1 miroirs. Je passerais par le biais de quelque chose comme un Adaptec 5805 PCI-e x e 8 contrôleur SAS. Je l'avais mis les données d'un tableau et les journaux sur un autre pour la sécurité. Bar de la mémoire-cartographie de l'ensemble de la base de données, un très gros/cher SAN ou l'utilisation de disques Ssd je suis assez convaincu que ce sera juste au sujet de l'installation la plus rapide pour l'argent.
Espère que cette aide.
Deux choses,
De la théorie de l'RAID 1 vous donne deux lecteurs pour lire, mais ne pas penser est égale à deux fois les performances. Comme une question de fait, il n'est pas, habituellement, la lecture séquentielle spee finit par être exactement le même que celui d'un lecteur. Surprenant, mais vrai....ne monde réel, tests, ne comptez pas sur la théorie.
Avec cela dit, je voudrais aller avec deux RAID 1...mais pas comme vous l'avez dit, une pour l'OS et l'autre pour les données. J'aurais quelques petites partition de système d'exploitation sur l'un d'eux, mais certainement donner à la fois des raids à sql server pour les données. Donner à sql server toutes les séries que vous le pouvez.
SQL Server peut les répartir sur les paires, vous ne voulez absolument pas aller avec 0+1 en dépit de ce que tout le monde ici dit. Ils sont de nouveau à la recherche à l'théorique de repères, de ne pas comprendre que sql server peut bande de toutes ses données sur les disques, et peuvent le faire de façon optimisée.
Raid 1, c'est juste pour la redondance des données...autre que cela, donnez autant que vous le pouvez à sql server, et de laisser faire sa chose...son très bien ce qu'il fait.
Vous avez un 0+1 et de le briser en deux raid 1....faire des tests dans le monde réel, vous serez surpris de voir qui est plus rapide pour sql server de travail.
RAID 5 est bon si vous utilisez un contrôleur matériel avec une quantité décente de la batterie de sauvegarde de la mémoire cache RAM. Sélectionnez un morceau de la taille et de configurer la DB de sorte que la taille de la bande (disques de données * taille de bloc) est égal à DB taille d'écriture. Assurez-vous que votre partition de données [est aligné /est un multiple de] la taille de la bande.
Sinon, RAID 1+0 est toujours un bon choix pour les serveurs de DB.
Je vous recommande également l'établissement d'un ensemble de valeurs de base qui permet à la fois de faire un peu plus fondée prédictions que de simplement mettre votre doigt dans l'air (ou de demander à StackOverflow, semble vaguement et étrangement similaire à ces deux concepts).
Avec certaines valeurs de base, vous pouvez également mesurer l'efficacité de vos modifications et être une bonne base pour de futures mises à jour...
(Si ne sait pas, ramasser un peu de littérature (ou wikipedia) sur la Performance de l'Ingénierie. C'est une branche entière de trucs qui traite de ce genre de problèmes).
btw, où je travaille, ils ont un haut de gamme à san, qui fait un tablescan environ 2 minutes. J'ai rompu les disques en raid 1 jeux, et de laisser à sql server de gérer la répartition des données...pas le san. 2 minutes de chuter à 45 secondes.
il y a d'autres articles sur le net à ce sujet...c'est très difficile à obtenir raid des "vrais croyants" pour accepter cela, c'est pourquoi je suis si emphatique, sur ce point.
Je préfère raid 10 que j'ai déjà configuré sur mon dell r210 II serveur linux. Des performances étonnantes...