Ceci est une ancienne révision du document !
During a recent discussion: [7/5/25 5:19 AM] Anyways I am going to build a PC for family which would act as always on file server with 2 disks in raid 1 and gaming pc for us in living room [7/5/25 5:20 AM] Honestly just have a backup disk for important files Imo raid is just a waste of resources especially raid 1 [7/5/25 5:22 AM] Why? It's redundancy [7/5/25 5:25 AM] But still 1 disk can fail and my data is still safe [7/5/25 5:25 AM] Like setup some sort of incremental backups or something Since this discussion was between two other people, I left off the tags. Then someone also not in the conversation reached out to me and asked me to explain what the discussion was. This is a discussion on that for our command and conquer for this issue. RAID - Redundant Array of Independent Disks, it used to be inexpensive disks, but I’m sure we all can agree that with SSD’s that is no longer the case. Why would any home user consider RAID? RAID is a technology that is used to increase the performance and/or reliability of data storage and home users may want a piece of that.
Lors d'une discussion récente :
[25/05/2019 05:19] Je vais construire un PC familial qui servirait de serveur de fichiers avec deux disques en RAID 1 et un PC de jeu pour nous dans le salon. [25/05/2019 05:20] Honnêtement, j'ai juste un disque de sauvegarde pour les fichiers importants. À mon avis, le RAID est un gaspillage de ressources, surtout en RAID 1. [25/05/2019 05:22] Pourquoi ? C'est de la redondance. [25/05/2019 05:25] Mais un disque peut tomber en panne et mes données sont toujours en sécurité. [25/05/2019 05:25] Par exemple, configurer des sauvegardes incrémentielles.
Comme cette discussion était entre deux autres personnes, j'ai laissé les tags de côté. Puis, une personne qui n'était pas dans la conversation m'a contacté pour m'expliquer le sujet.
Voici une présentation de ce sujet pour le Command & Conquer de ce numéro. RAID (Redundant Array of Independent Disks - grille redondante de disques indépendants) : autrefois, les disques étaient bon marché, mais nous sommes tous d'accord pour dire qu'avec les SSD, ce n'est plus le cas.
Pourquoi un particulier devrait-il envisager le RAID ? Le RAID est une technologie utilisée pour améliorer les performances et/ou la fiabilité du stockage de données, et les particuliers pourraient en vouloir en profiter.
When RAID is mentioned, we also need to mention LVM, logical volume management. Why would we need to, you may ask, well, when you use RAID, there is more than one disk involved and other than straight mirroring, your data is split over multiple disks. LVM allows you to manage physical disks as a single pool of storage and with it, you can create logical volumes that behave like partitions. LVM creates an abstraction layer between physical storage and logical partitions, this is the important part. We are not going to dive deep into this, I just want you to know enough so we can continue and you are curious enough to go look it up. This will not be a step-by-step, rather a 10000ft overview, as it would be a nightmare to cover all the cases. With LVM, disks or partitions are grouped into Physical Volumes (PVs). These PVs are combined into Volume Groups (VGs), and from these groups you can create Logical Volumes (LVs). Does it make sense? Good. It’s not rocket science. First we tell Ubuntu to create our PV from either disks or partitions, for example: sudo pvcreate /dev/sda1 /dev/sdb1 I want you to use all the methods we used in the last issue to get some help on the pvcreate command. root@ubuntusrv:~# pvcreate /dev/sda1 /dev/sdb1 Physical volume “/dev/sda1” successfully created. Physical volume “/dev/sdb1” successfully created.
Quand on parle de RAID, il faut aussi mentionner LVM (gestion des volumes logiques). Pourquoi, vous demandez-vous peut-être, eh bien, avec RAID, plusieurs disques sont impliqués et, outre la mise en miroir directe, vos données sont réparties sur plusieurs disques. LVM permet de gérer les disques physiques comme un pool de stockage unique et de créer des volumes logiques qui se comportent comme des partitions. LVM crée une couche d'abstraction entre le stockage physique et les partitions logiques ; c'est l'essentiel.
Nous n'allons pas approfondir ce sujet ; je souhaite simplement que vous en sachiez suffisamment pour que nous puissions continuer et que vous soyez suffisamment curieux pour consulter la documentation. Il ne s'agira pas d'une présentation détaillée, mais plutôt d'une présentation dans les grandes lignes, car il serait fastidieux de couvrir tous les cas.
Avec LVM, les disques ou partitions sont regroupés en volumes physiques (PV). Ces PV sont combinés en groupes de volumes (VG), et à partir de ces groupes, vous pouvez créer des volumes logiques (LV). Est-ce logique ? Parfait. Ce n'est pas sorcier.
Commençons par demander à Ubuntu de créer notre volume physique virtuel à partir de disques ou de partitions, par exemple : sudo pvcreate /dev/sda1 /dev/sdb1. Servez-vous de toutes les méthodes utilisées dans le dernier numéro pour obtenir de l'aide sur la commande pvcreate.
root@ubuntusrv:~# pvcreate /dev/sda1 /dev/sdb1 Le volume physique « /dev/sda1 » a été créé avec succès. Le volume physique « /dev/sdb1 » a été créé avec succès.
***There are three commands you can use to display properties of physical volumes: pvs, pvdisplay, and pvscan. I’m not even discussing those, you know the drill. Next, we need to combine the physical volumes into a volume group: sudo vgcreate new_vg /dev/sdb1 /dev/sdc1 (If the device was not previously initialized as a PV with pvcreate, vgcreate will initialize them, making them PV, but you obviously have less control.) You can specify multiple physical volumes to create a new volume group from them, like so: nonroot@ubuntusvr:~$ sudo vgcreate vol_grp2 /dev/sda2 /dev/sda5 /dev/sda7 Volume group “vol_grp2” successfully created Then, you can create a LV from the VG. You can specify the size or use all the free space, for example: sudo lvcreate -L 500G -n new_lv new_vg Once that is done, we can go ahead and slap a filesystem on it: sudo mkfs.ext4 /dev/new_vg/new_lv Now we can just mount the beast and we can use our new volume.
***Il existe trois commandes permettant d'afficher les propriétés des volumes physiques : pvs, pvdisplay et pvscan. Je n'en parle même pas, vous connaissez la procédure.
Ensuite, nous devons combiner les volumes physiques en un groupe de volumes :
sudo vgcreate new_vg /dev/sdb1 /dev/sdc1
(Si les périphériques n'ont pas été initialisés en tant que volumes physiques avec pvcreate, vgcreate les initialisera et les transformera en volumes physiques, mais vous avez évidemment moins de contrôle.)
Vous pouvez spécifier plusieurs volumes physiques pour créer un nouveau groupe de volumes, comme suit :
nonroot@ubuntusvr:~$ sudo vgcreate vol_grp2 /dev/sda2 /dev/sda5 /dev/sda7 Groupe de volumes « vol_grp2 » créé avec succès
Ensuite, vous pouvez créer un volume logique à partir du volume physique. Vous pouvez spécifier la taille ou utiliser tout l'espace libre. Par exemple :
sudo lvcreate -L 500G -n new_lv new_vg
Une fois cela fait, nous pouvons y ajouter un système de fichiers :
sudo mkfs.ext4 /dev/new_vg/new_lv
Il ne nous reste plus qu'à monter le disque et à utiliser notre nouveau volume.
Now that we understand the steps, getting our PV down first, making a VG or many VG’s, on top of our PV, and lastly the LV. Three steps, however I cannot tell you 100% how, as each computer is different, you may be using two different partitions or multiple partitions or multiple drives. All I want you to do is visualise the order, attack the problem step by step and follow the order and you will be successful. Don’t type out my commands 100%, you may not have sdb1, for instance, you need to use your own volumes or partitions. RAID on the other hand is a beast on it’s own. You can have hardware and software RAID, and RAID that may require you to install drivers for Linux. If you opt for hardware RAID, it is usually an add-on card that you will plug into your PC, unless you have a server board. Here you need to follow the instructions from the supplier with care. In my case, I was lucky, the last time I needed to do this, the driver came in a convenient .deb-file, that I needed to load, but you may not be so lucky. My advice is, that if you decide to home server it, check for compatibility. The previous install I did only had drivers for old versions of Red Hat Linux. Beware of cheap RAID cards on e-bay or wherever, as some work like the old win modems, that was purely software. Do your homework! Software RAID is cheaper and more prone to failure, as it relies on your OS. I don’t recommend it as I have had waaay too many issues with it in the past, if you want to learn about it, sure. RAID comes in “levels” RAID 0 – striping RAID 1 – mirroring RAID 5 – striping with parity RAID 6 – striping with double parity RAID 10 – combining mirroring and striping
Maintenant que nous comprenons les étapes, nous commençons par créer notre volume virtuel, puis un ou plusieurs volumes virtuels (VG) par-dessus notre volume virtuel, et enfin le volume logique (LV). Trois étapes, mais je ne peux pas vous expliquer exactement comment, car chaque ordinateur est différent. Vous pouvez utiliser deux ou plusieurs partitions ou plusieurs disques. Il vous suffit de visualiser l'ordre, d'aborder le problème étape par étape et de suivre l'ordre, et vous réussirez. Ne tapez pas mes commandes à la lettre ; vous n'avez peut-être pas sdb1, par exemple, vous devez utiliser vos propres volumes ou partitions.
Le RAID, en revanche, est un véritable casse-tête. Vous pouvez avoir du RAID matériel et du RAID logiciel, ou un RAID nécessitant l'installation de pilotes pour Linux. Si vous optez pour un RAID matériel, il s'agit généralement d'une carte d'extension que vous branchez à votre PC, sauf si vous possédez une carte serveur. Dans ce cas, suivez attentivement les instructions du fournisseur. Dans mon cas, j'ai eu de la chance : la dernière fois que j'ai eu besoin de cela, le pilote était fourni dans un fichier .deb pratique, que je devais charger. Mais vous pourriez ne pas avoir cette chance. Mon conseil : si vous décidez d'utiliser un serveur local, vérifiez la compatibilité. Mon installation précédente ne comportait que des pilotes pour d'anciennes versions de Red Hat Linux. Méfiez-vous des cartes RAID bon marché sur eBay ou ailleurs, car certaines fonctionnent comme les anciens modems Windows, qui étaient purement logiciels. Renseignez-vous !
Le RAID logiciel est moins cher et plus sujet aux pannes, car il dépend de votre système d'exploitation. Je ne le recommande pas, car j'ai rencontré beaucoup trop de problèmes avec par le passé. Si vous souhaitez en savoir plus, n'hésitez pas.
Le RAID est divisé en « niveaux » :
RAID 0 – répartition RAID 1 – mise en miroir RAID 5 – répartition avec parité RAID 6 – répartition avec double parité RAID 10 – combinaison de la mise en miroir et de la répartition
To envision striping, imagine a bunch of pot plants in a row. If I take a paintbrush wet with paint, and I draw a line across them, you may see the line, but each pot in the row only has a piece of the line on it. Mirroring is just what it says, it writes everything twice. You can imagine that this takes longer to write, but reading will be twice* as fast. (*almost) Parity is almost like the answer to a sum, imagine the data that you write is 2 and 3 bits, parity would sum them, and put a “5” down next to the numbers, so that even if one of the two get lost, you will know what the other one was, via simple math. This happens across all the drives in the set, meaning you will have to give up a lot of space for these parity sums. It is not what parity actually is, but it is a way for you to visualise it, remember that. So now you can work out what the different RAID levels mean, yourself, without getting bogged down in jargon or technical details. If you are the technical kind and want to know, see: https://www.techtarget.com/searchstorage/answer/RAID-types-and-benefits-explained Software Raid, requires mdadm, and Ubuntu does not ship with it by default, so you would need to install it. I suggest doing this in a VM, as it is easy to mess up your working desktop: sudo apt install mdadm OK, so here is the command syntax: sudo mdadm –create –verbose /dev/md0 –level=0 –raid-devices=2 /dev/sda /dev/sdb
Pour visualiser la répartition, imaginez un tas de plantes en pot alignées. Si je prends un pinceau humide et que je trace une ligne sur elles, vous pouvez voir la ligne, mais chaque pot de la rangée n'en porte qu'un morceau.
La mise en miroir est exactement ce que son nom indique : elle écrit tout deux fois. Vous pouvez imaginer que l'écriture est plus longue, mais la lecture sera deux fois plus rapide*. (*presque)
La parité est presque comme la réponse à une somme. Imaginez que les données que vous écrivez sont de 2 et 3 bits. La parité les additionnerait et ajouterait un « 5 » à côté des nombres, de sorte que même si l'un des deux se perd, vous saurez quel était l'autre, par un simple calcul. Cela se produit sur tous les disques du jeu, ce qui signifie que vous devrez céder beaucoup d'espace pour ces sommes de parité. Ce n'est pas ce qu'est réellement la parité, mais c'est un moyen pour vous de la visualiser, rappelez-vous-en.
Vous pouvez désormais comprendre vous-même la signification des différents niveaux RAID, sans vous perdre dans le jargon ou les détails techniques. Si vous êtes plutôt technicien et souhaitez en savoir plus, consultez : https://www.techtarget.com/searchstorage/answer/RAID-types-and-benefits-explained
Le RAID logiciel nécessite mdadm, et Ubuntu n'en est pas équipé par défaut ; vous devrez donc l'installer. Je vous conseille de le faire dans une machine virtuelle, car il est facile de perturber votre bureau : sudo apt install mdadm
Voici la syntaxe de la commande :
sudo mdadm –create –verbose /dev/md0 –level=0 –raid-devices=2 /dev/sda /dev/sdb
You need to replace the Raid level you require, as you can see, this is RAID 0 and the devices should change to match *your devices, currently set to two. Again, these are examples, please don’t just go copying and pasting it into your working machine’s terminal. Now you go have coffee, while the software “builds” the array. Once done, we format the MD not the SD, like so: sudo mkfs.ext4 /dev/md0 Then we mount it in the usual way, sudo mkdir /mnt/raid sudo mount /dev/md0 /mnt/raid While I do not think that this is something for a CnC, as the variables are too diverse, I did promise to put an outline down, explaining each part. So while LVM and RAID are often used together, they can also be used apart. If you would like more on each, drop us a note on misc@fullcirclemagazine.org and I’ll see if I can whip up a step-by-step in a VM for you to test.
Vous devez modifier le niveau de RAID requis. Comme vous pouvez le constater, il s'agit du RAID 0 et les périphériques doivent être modifiés pour correspondre à vos périphériques, actuellement définis sur deux. Ce ne sont là que des exemples ; évitez de les copier-coller dans le terminal de votre ordinateur.
Allez prendre un café, le temps que le logiciel « construise » la matrice. Une fois terminé, formatez le disque dur (MD) et non la carte SD, comme suit : sudo mkfs.ext4 /dev/md0
Ensuite, montez le système de la manière habituelle : sudo mkdir /mnt/raid
sudo mount /dev/md0 /mnt/raid
Bien que je ne pense pas que ce soit un sujet pour C & C, les variables étant trop diverses, j'ai promis de vous fournir un aperçu de chaque partie. Donc, si LVM et RAID sont souvent utilisés ensemble, ils peuvent également être utilisés séparément. Si vous souhaitez en savoir plus sur chacun d’eux, envoyez-nous un message à misc@fullcirclemagazine.org et je verrai si je peux vous préparer une procédure étape par étape dans une machine virtuelle pour que vous fassiez des tests.