RAID 1 – IOPS Write Penalty 1 ou 2

Je continue de voir des articles décrivant la pénalité d'écriture RAID IOPS pour RAID 1 (et RAID 10) en tant que 2. RAID 0 aurait une pénalité de 1, bien sûr, puisque chaque écriture est simplement écrite sur le disque. RAID 1 est décrit comme "nécessitant deux écritures", donc une pénalité de 2.

Mais ne devrait-il pas être 1, puisque datatables sont écrites simultanément?

Du sharepoint vue de l'application ou du server utilisant le disque, un tableau RAID 1 doit apparaître comme une seule unité qui écrit sur les deux disques simultanément. Un disque peut être retardé par rapport à l'autre, mais un controller RAID matériel réel devrait être capable de commencer l'écriture en même time et signaler que l'opération d'écriture est terminée lorsque le disque plus lent a été complété, ce qui devrait être légèrement supérieur à celui d'un RAID -0, voire pas du tout. Ainsi, la pénalité IOPS devrait être de 1 pour RAID 1 ou 1.2 au maximum.

Je comprends qu'il y a deux opérations d'écriture, donc il y a 2 "IOPS", mais ils sont internes au controller RAID.

Est-ce que j'ai râté quelque chose?

2 Solutions collect form web for “RAID 1 – IOPS Write Penalty 1 ou 2”

Si RAID 1 était juste en train de câbler un câble, l'impact de performance serait nul (facteur 1.0), mais la mise en miroir RAID 1 est plus que le simple câblage d'un câble. Il faut effectuer un travail réel pour écrire des données sur deux lecteurs et gérer les résultats de qui écrivent à partir de chaque lecteur.

Ce travail supplémentaire est le facteur dont ils parlent dans l'impact sur la performance. Si l'opération d'E / S se produit dans le operating system quelque part (logiciel RAID) ou dans un coprocesseur / controller dédié (RAID matériel), deux écritures doivent toujours être émises pour chaque donnée et les résultats de cette écriture (succès, échec ou on_fire) doit être "manipulé".


Dans le pire des cas, vous êtes susceptibles de rencontrer (logiciel RAID-1 implémenté dans le operating system), ce qui signifie que le kernel effectue deux écritures et deux conversations avec le controller de disque.
C'est une pénalité d'écriture de 2x puisque nous faisons deux fois plus de travail que tout au long de la stack.
(Vraiment, il est probablement plus proche de 1,9 – après tout, nous n'émettons pas deux appels d'écriture () sur le système de files – mais on s'arrangent pour le pessimisme.)

Dans le meilleur des cas (hardware RAID 1, implémenté avec un controller dédié), le kernel a une conversation avec le controller, mais le controller a toujours 2 conversations (un avec chaque disque) car il doit s'assurer que les deux lecteurs reçoivent la command, écrivez datatables et reconnaissez que datatables ont été écrites (ou supprimez toutes les conditions d'erreur indiquées par les lecteurs).
C'est probablement une pénalité de 1,2 fois pour le travail supplémentaire du controller tel que vous l'avez supposé dans votre question: vous vous enregistrez simplement le travail extra en kernel (ce qui est beaucoup plus coûteux que ce que le controller fait).

Maintenant, parce que nous sums sysadmins et que nous sums payés pour être un lot pessimiste, nous allons évidemment prendre le pire des cas, tout comme lorsque nous avons terminé le facteur de performance pour RAID logiciel – alors si quelqu'un request que nous allons le dire il y a une pénalité d'écriture 2x, même pour leur controller de matériel chic, et laissez-les être satisfaits lorsque le système effectue avec seulement une pénalité 1.5x en moyenne 🙂

un controller RAID matériel réel devrait pouvoir commencer l'écriture en même time et signaler que l'opération d'écriture est terminée lorsque le disque plus lent est terminé, ce qui devrait être légèrement supérieur à celui d'un RAID-0, sinon le cas échéant.

Chaque écriture a cependant la moitié de la performance totale disponible. Dans votre exemple, chaque disque du RAID 0 doit seulement écrire la moitié de ce qui a été envoyé au controller RAID. Dans RAID 1, chaque disque doit l'écrire tout.

Cela place le RAID 0 dans le ballpark deux fois plus vite que RAID 1 pour les écritures (sur un groupe RAID à 2 disques), alors qu'ils sont égaux en vitesse de lecture théorique.

  • Comment recréer une masortingce RAID 10 avec mdadm
  • RAIDZ vs RAID1 + 0
  • Préoccupations d'échec simultané de SSD Raid1
  • Étendre l'espace disque sur PowerEdge R710
  • Mise en œuvre logicielle de RAID 10 sur Windows Server 2008 en cours d'exécution sur Amazon EC2
  • Écriture de disque 6 fois plus lente dans RAID10 sur Ubuntu 14.04 après reconstitution
  • Est-ce une configuration RAID possible / bonne?
  • Des inconvénients avec des partitions fdisk plus petites, mdadm RAID10, LVM et KVM?
  • Raid 10 recovery sur Dell Server - Perc 6 / i
  • Mettre à jour le stockage RAID 10 NAS
  • RAID 10 ou RAID 50 sur disques SFF 16x 900 Go 10K
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de réseau.