MEDIA-WIKI, MEDIA-WIKI_T, Bureaucrates, Administrateurs d’interface, Administrateurs (MediaWiki Sémantique), Conservateurs (MediaWiki Sémantique), Modificateurs (MediaWiki Sémantique), Masqueurs de modifications, Administrateurs
9 045
modifications
Aucun résumé des modifications |
Aucun résumé des modifications Balise : Révocation manuelle |
||
(24 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 28 : | Ligne 28 : | ||
=Serveur ou Target= | =Serveur ou Target= | ||
Ces deux machines vont offrir à d'autres machines la possibilité d'utiliser un espace disque local. | |||
Ces opérations sont à effectuer sur les deux serveurs. | Ces opérations sont à effectuer sur les deux serveurs. | ||
Ligne 38 : | Ligne 39 : | ||
==Préparation du disque dur== | ==Préparation du disque dur== | ||
Nous avons ajouté un disque dur de | Nous avons ajouté un disque dur de 160GB que nous nommons "/dev/sdb". Nous y faisons une seule partition de type Linux: "/dev/sdb1". | ||
Ligne 47 : | Ligne 48 : | ||
* Dans le sous-répertoire "/etc/tgt/conf.d", on crée le fichier, que l'on nommera "diskb.conf", contenant les paramètres permettant de mettre à disposition la partition "/dev/sdb1" aux clients ISCSI distants. | * Dans le sous-répertoire "/etc/tgt/conf.d", on crée le fichier, que l'on nommera "diskb.conf", contenant les paramètres permettant de mettre à disposition la partition "/dev/sdb1" aux clients ISCSI distants. | ||
Voici son contenu: | Voici son contenu pour la machine "sv1.home.dom": | ||
---- | ---- | ||
<target iqn.2023-02.dom.home. | <target '''iqn.2023-02.dom.home.sv1:sv1.target1'''> | ||
backing-store /dev/sdb1 | backing-store /dev/sdb1 | ||
initiator-name iqn.2023-02.dom.home.sv:sv.initiator01 | initiator-name iqn.2023-02.dom.home.sv:sv.initiator01 | ||
incominguser diskuser | incominguser diskuser Eupen2Marron | ||
initiator-address 192.168.1.73 | |||
</target> | |||
---- | |||
Et voici son contenu pour la machine "sv2.home.dom": | |||
---- | |||
<target '''iqn.2023-02.dom.home.sv2:sv2.target1'''> | |||
backing-store /dev/sdb1 | |||
initiator-name iqn.2023-02.dom.home.sv:sv.initiator01 | |||
incominguser diskuser Eupen2Marron | |||
initiator-address 192.168.1.73 | initiator-address 192.168.1.73 | ||
</target> | </target> | ||
---- | ---- | ||
Explications des options: | Explications des options: | ||
* '''target''' <nom du target> : définit le nom du target sous lequel les clients ISCSI verront ce device. Normalement ce nom suit une structure de nommage: "iqn.<année>-<mois>.<nom de domaine en ordre inverse>:<intitulé personnel>" | * '''target''' <nom du target> : définit le nom du target sous lequel les clients ISCSI verront ce device. Normalement ce nom suit une structure de nommage: "iqn.<année>-<mois>.<nom de domaine en ordre inverse>:<intitulé personnel>". On a donné des noms du target différents pour les deux machines pour une question de lisibilité. | ||
* '''backing-store''' <nom de device disque> : définit le nom du device disque; il peut être une partition disque ou LVM | * '''backing-store''' <nom de device disque> : définit le nom du device disque; il peut être une partition disque ou LVM | ||
* '''initiator-name''' <nom de l'initiator> : définit le nom de l'initiator, sorte de groupe de targets, ayant des options, permettant à un groupe de clients ISCSI d'y accéder; la structure de ce nom suit le même principe que le nom du target | * '''initiator-name''' <nom de l'initiator> : définit le nom de l'initiator, sorte de groupe de targets, ayant des options, permettant à un groupe de clients ISCSI d'y accéder; la structure de ce nom suit le même principe que le nom du target. Il est identique sur chaque machine, ainsi il forment un groupe de deux targets ISCSI. | ||
* '''incominguser''' <nom d'utilisateur> <mot de passe> : définit les paramètres d'authentification des clients ISCSI; lors d'une connexion, le client devra fournir de nom de cet utilisateur et son mot de passe pour cet "initiator-name". | * '''incominguser''' <nom d'utilisateur> <mot de passe> : définit les paramètres d'authentification des clients ISCSI; lors d'une connexion, le client devra fournir de nom de cet utilisateur et son mot de passe pour cet "initiator-name". Ils sont liés au nom d'initiator. | ||
* '''initiator-address''' <adresse IP> : définit l'adresse IP d'un client ISCSI qui peut y accéder | * '''initiator-address''' <adresse IP> : définit l'adresse IP d'un client ISCSI qui peut y accéder. Ils sont liés au nom d'initiator. | ||
Il existe bon nombre d'autres options. | Il existe bon nombre d'autres options. | ||
Les trois dernières sont facultatives mais ajoute un aspect de sécurité. | Les trois dernières sont facultatives mais ajoute un aspect de sécurité. | ||
==Configurer le mur de feu ou FireWall== | |||
Si vous activez le Firewall, ce qui est recommandé, il faut y ajouter la règle suivante: | |||
---- | |||
-A INPUT -p tcp -m tcp --sport 3260 -s 192.168.1.73 -m conntrack --ctstate NEW -j ACCEPT | |||
---- | |||
==Activer et lancer le service== | |||
Le service à lancer est "tgtd.service". La première commande active le service pour qu'à chaque démarrage du serveur, le service se lance. La seconde lance directement le service. | |||
systemctl enable tgtd.service | |||
systemctl start tgtd.service | |||
Eventuellement: | |||
systemctl enable remote-fs.target | |||
Quand on exécute la commande: | |||
netstat -nltp | grep tgtd | |||
on obtient: | |||
---- | |||
Connexions Internet actives (seulement serveurs) | |||
Proto Recv-Q Send-Q Adresse locale Adresse distante Etat PID/Program name | |||
tcp 0 0 0.0.0.0:3260 0.0.0.0:* LISTEN 1767/tgtd | |||
tcp6 0 0 :::3260 :::* LISTEN 1767/tgtd | |||
---- | |||
Nous remarquons que ce service écoute aussi en IPV6. | |||
ipv4.conf | On peut aussi le constater avec la commande suivante: | ||
tgtadm --lld iscsi --op show --mode portal | |||
qui donne: | |||
---- | |||
Portal: [::]:3260,1 | |||
Portal: 0.0.0.0:3260,1 | |||
---- | |||
Il est possible d'éliminer la première ligne par la commande: | |||
tgtadm --lld iscsi --op delete --mode portal --param portal=[::]:3260 | |||
Nous allons l'intégrer au lancement du service. On crée le répertoire "/etc/systemd/system/tgtd.service.d"; dans ce répertoire, on ajoute le fichier "ipv4.conf" dont voici le contenu: | |||
---- | ---- | ||
[Service] | [Service] | ||
ExecStartPost=/usr/sbin/tgtadm --lld iscsi --op delete --mode portal --param portal=[::]:3260 | ExecStartPost=/usr/sbin/tgtadm --lld iscsi --op delete --mode portal --param portal=[::]:3260 | ||
---- | |||
On recharge les paramètres de Systemd: | |||
systemctl daemon-reload | |||
On relance le service: | |||
systemctl stop tgtd.service | |||
systemctl start tgtd.service | |||
L'entrée pour IPV6 a disparu. | |||
==Vérification== | |||
La commande suivante permet d'afficher les caractéristiques de ce target: | |||
tgtadm --mode target --op show | |||
qui donne: | |||
---- | |||
Target 1: '''iqn.2023-02.dom.home.sv1:sv1.target1''' | |||
System information: | |||
Driver: '''iscsi''' | |||
State: ready | |||
I_T nexus information: | |||
LUN information: | |||
LUN: 0 | |||
Type: controller | |||
SCSI ID: IET 00010000 | |||
SCSI SN: beaf10 | |||
Size: 0 MB, Block size: 1 | |||
Online: Yes | |||
Removable media: No | |||
Prevent removal: No | |||
Readonly: No | |||
SWP: No | |||
Thin-provisioning: No | |||
Backing store type: null | |||
Backing store path: None | |||
Backing store flags: | |||
'''LUN: 1''' | |||
Type: '''disk''' | |||
SCSI ID: IET 00010001 | |||
SCSI SN: beaf11 | |||
Size: '''160040 MB''', Block size: 512 | |||
Online: Yes | |||
Removable media: No | |||
Prevent removal: No | |||
Readonly: No | |||
SWP: No | |||
Thin-provisioning: No | |||
Backing store type: rdwr | |||
Backing store path: '''/dev/sdb1''' | |||
Backing store flags: | |||
Account information: | |||
'''diskuser''' | |||
ACL information: | |||
'''192.168.1.73''' | |||
'''iqn.2023-02.dom.home.sv:sv.initiator01''' | |||
---- | |||
=Client ou Initiator= | |||
Après avoir configuré nos serveurs Targets, on passe au client qui va profiter de ces ressources. | |||
==Installation== | |||
Un paquet est à installer: | |||
dnf install iscsi-initiator-utils | |||
En base, il est déjà installé sur FGedora, Edition Serveur. | |||
==Configuration== | |||
Les fichiers de configuration se retrouvent dans le répertoire "/etc/iscsi". | |||
Il contient deux fichiers: initiatorname.iscsi et iscsid.conf | |||
* Dans le fichier "iscsid.conf", nous allons y apporter quelques modifications. | |||
Ces modifications permettent que la machine s'authentifie auprès des serveurs targets ISCSI. Il s'agit des deux paramètres de l'option "incominguser" activés sur les machines Targets: nom d'utilisateur et son mot de passe. On ajoute ou active ces lignes: | |||
---- | |||
node.session.auth.authmethod = CHAP | |||
node.session.auth.username = '''diskuser''' | |||
node.session.auth.password = '''Eupen2Marron''' | |||
---- | |||
* Dans le fichier "initiatorname.iscsi", on remplace la ligne existante par le nom d'initiator défini sur les serveurs targets ISCSI: | |||
---- | |||
InitiatorName=iqn.2023-02.dom.home.sv:sv.initiator01 | |||
---- | |||
Il ne peut y avoir qu'une ligne; seule la première ligne est utilisée. | |||
==Activer et lancer le service== | |||
Le service à lancer est "iscsid.service". La première et la seconde commandes active et lance le service "iscsid" et sont chargées d'établir les connexions aux "Targets" découverts: | |||
systemctl enable iscsi.service | |||
systemctl start iscsi.service | |||
Il est important de vérifier que le "target" de Systemd suivant est activé: | |||
systemctl enable remote-fs.target | |||
Et éventuellement: | |||
systemctl enable iscsid.socket | |||
systemctl enable iscsiuio.socket | |||
systemctl enable iscsi-onboot.service | |||
systemctl enable iscsid.service | |||
Notons que par défaut, ils sont activés sous Fedora Server. | |||
==Récupération des informations disponibles sur les serveurs== | |||
La configuration faite et le service lancé, il est temps de récupérer les informations provenant des serveurs. On lance les deux commandes suivantes qui sont chargées de découvrir les "targets" auprès de nos deux serveurs: | |||
iscsiadm --mode discoverydb --type sendtargets --portal 192.168.1.71 --discover | |||
qui donne: | |||
---- | |||
192.168.1.71:3260,1 iqn.2023-02.dom.home.sv1:sv1.target1 | |||
---- | |||
et: | |||
iscsiadm --mode discoverydb --type sendtargets --portal 192.168.1.72 --discover | |||
qui donne: | |||
---- | |||
192.168.1.72:3260,1 iqn.2023-02.dom.home.sv2:sv2.target1 | |||
---- | |||
Dans le répertoire "/var/lib/iscsi/nodes", deux sous-répertoires sont apparus: "iqn.2023-02.dom.home.sv1:sv1.target1/192.168.1.71,3260,1" et "iqn.2023-02.dom.home.sv2:sv2.target1/192.168.1.72,3260,1". Dans chacun, le fichier "default" est créé. Il contient nombre de paramètres propres à ce "target". | |||
En parallèle dans le répertoire "/var/lib/iscsi/send_targets", deux sous-répertoires sont apparus: "192.168.1.71,3260" et "192.168.1.72,3260". Dans chacun, le fichier "st_config" est créé. On y rencontre d'autres paramètres liés aux serveurs. | |||
<!-- | |||
==Automatisation de la liaison== | |||
Les commandes suivantes permettent de créer une liaison automatiques à ces devices. | |||
Liaison au serveur "sv1.home.dom": | |||
iscsiadm --mode node --target iqn.2023-02.dom.home.sv1:sv1.target1 --portal 192.168.1.71:3260 -o new | |||
qui affiche: | |||
---- | |||
iscsiadm: using tpgt 1 from existing record | |||
New iSCSI node [tcp:[hw=,ip=,net_if=,iscsi_if=default] 192.168.1.71,3260,-1 iqn.2023-02.dom.home.sv1:sv1.target1] added | |||
---- | ---- | ||
Liaison au serveur "sv2.home.dom": | |||
iscsiadm --mode node --target iqn.2023-02.dom.home.sv2:sv2.target1 --portal 192.168.1.72:3260 -o new | |||
qui affiche: | |||
---- | |||
iscsiadm: using tpgt 1 from existing record | |||
New iSCSI node [tcp:[hw=,ip=,net_if=,iscsi_if=default] 192.168.1.72,3260,-1 iqn.2023-02.dom.home.sv2:sv2.target1] added | |||
---- | |||
Dans le répertoire "/var/lib/iscsi/static", deux liens sont créés vers les répertoires: "/var/lib/iscsi/nodes/iqn.2023-02.dom.home.sv1:sv1.target1/192.168.1.71,3260,1" et "/var/lib/iscsi/nodes/iqn.2023-02.dom.home.sv2:sv2.target1/192.168.1.72,3260,1" | |||
Enfin pour que ces liaisons s'activent automatiquement au démarrage du service "iscsid.service", on change le paramètre "discovery.sendtargets.use_discoveryd" que l'on va mettre à "Yes" dans les fichiers "/var/lib/iscsi/send_targets/192.168.1.71,3260/st_config" et "/var/lib/iscsi/send_targets/192.168.1.72,3260/st_config". | |||
On le fait grâce à un éditeur de texte ou via les commandes suivantes: | |||
iscsiadm --mode discoverydb --portal 192.168.1.71:3260 -n discovery.sendtargets.use_discoveryd -v Yes -o update -t sendtargets | |||
iscsiadm --mode discoverydb --portal 192.168.1.72:3260 -n discovery.sendtargets.use_discoveryd -v Yes -o update -t sendtargets | |||
--> | |||
==Mise en route de la liaison== | |||
Maintenant soit on relance la machine "initiator" soit on relance le service "iscsi.service": | |||
systemctl restart iscsi.service | |||
==Vérification== | |||
On peut vérifier que les liaisons sont effectives. | |||
* par la commande: | |||
lsblk | |||
qui fait apparaître les deux nouvelles entrées suivantes: | |||
---- | |||
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS | |||
'''sdb''' 8:16 0 149G 0 disk | |||
'''sdc''' 8:32 0 149G 0 disk | |||
---- | |||
Ce sont les deux partitions mises à disposition par les serveurs "target". | |||
* par la commande: | |||
netstat -natp | grep iscsid | |||
qui affiche la liaison IP avec nos deux serveurs "target". | |||
---- | |||
Connexions Internet actives (serveurs et établies) | |||
Proto Recv-Q Send-Q Adresse locale Adresse distante Etat PID/Program name | |||
tcp 0 0 192.168.1.73:57520 '''192.168.1.71''':3260 ESTABLISHED 2315/iscsid | |||
tcp 0 0 192.168.1.73:58242 '''192.168.1.72''':3260 ESTABLISHED 2315/iscsid | |||
---- | |||
* par la commande: | |||
iscsiadm -m session -P 3 | |||
qui affiche plus d'informations, notamment la liaison entre le serveur et le device disque à la fin de chaque bloc: | |||
---- | |||
iSCSI Transport Class version 2.0-870 | |||
version 6.2.1.4 | |||
Target: '''iqn.2023-02.dom.home.sv1:sv1.target1''' (non-flash) | |||
Current Portal: '''192.168.1.71''':3260,1 | |||
Persistent Portal: 192.168.1.71:3260,1 | |||
********** | |||
Interface: | |||
********** | |||
Iface Name: default | |||
Iface Transport: tcp | |||
Iface Initiatorname: iqn.2023-02.dom.home.sv:sv.initiator01 | |||
Iface IPaddress: 192.168.1.73 | |||
Iface HWaddress: default | |||
Iface Netdev: default | |||
SID: 5 | |||
iSCSI Connection State: LOGGED IN | |||
iSCSI Session State: LOGGED_IN | |||
Internal iscsid Session State: NO CHANGE | |||
********* | |||
Timeouts: | |||
********* | |||
Recovery Timeout: 120 | |||
Target Reset Timeout: 30 | |||
LUN Reset Timeout: 30 | |||
Abort Timeout: 15 | |||
***** | |||
CHAP: | |||
***** | |||
username: diskuser | |||
password: ******** | |||
username_in: <empty> | |||
password_in: ******** | |||
************************ | |||
Negotiated iSCSI params: | |||
************************ | |||
HeaderDigest: None | |||
DataDigest: None | |||
MaxRecvDataSegmentLength: 262144 | |||
MaxXmitDataSegmentLength: 8192 | |||
FirstBurstLength: 65536 | |||
MaxBurstLength: 262144 | |||
ImmediateData: Yes | |||
InitialR2T: Yes | |||
MaxOutstandingR2T: 1 | |||
************************ | |||
Attached SCSI devices: | |||
************************ | |||
Host Number: 6 State: running | |||
scsi6 Channel 00 Id 0 Lun: 0 | |||
scsi6 Channel 00 Id 0 Lun: 1 | |||
Attached scsi '''disk sdb''' State: running | |||
Target: '''iqn.2023-02.dom.home.sv2:sv2.target1''' (non-flash) | |||
Current Portal: '''192.168.1.72''':3260,1 | |||
Persistent Portal: 192.168.1.72:3260,1 | |||
********** | |||
Interface: | |||
********** | |||
Iface Name: default | |||
Iface Transport: tcp | |||
Iface Initiatorname: iqn.2023-02.dom.home.sv:sv.initiator01 | |||
Iface IPaddress: 192.168.1.73 | |||
Iface HWaddress: default | |||
Iface Netdev: default | |||
SID: 6 | |||
iSCSI Connection State: LOGGED IN | |||
iSCSI Session State: LOGGED_IN | |||
Internal iscsid Session State: NO CHANGE | |||
********* | |||
Timeouts: | |||
********* | |||
Recovery Timeout: 120 | |||
Target Reset Timeout: 30 | |||
LUN Reset Timeout: 30 | |||
Abort Timeout: 15 | |||
***** | |||
CHAP: | |||
***** | |||
username: diskuser | |||
password: ******** | |||
username_in: <empty> | |||
password_in: ******** | |||
************************ | |||
Negotiated iSCSI params: | |||
************************ | |||
HeaderDigest: None | |||
DataDigest: None | |||
MaxRecvDataSegmentLength: 262144 | |||
MaxXmitDataSegmentLength: 8192 | |||
FirstBurstLength: 65536 | |||
MaxBurstLength: 262144 | |||
ImmediateData: Yes | |||
InitialR2T: Yes | |||
MaxOutstandingR2T: 1 | |||
************************ | |||
Attached SCSI devices: | |||
************************ | |||
Host Number: 7 State: running | |||
scsi7 Channel 00 Id 0 Lun: 0 | |||
scsi7 Channel 00 Id 0 Lun: 1 | |||
Attached scsi '''disk sdc''' State: running | |||
---- | |||
==Partitionnement== | |||
On partitionne ces deux disques "/dev/sdb" et "/dev/sdc" comme vu à l'article sur le [[LINUX:Partitionnement du disque|Partitionnement du disque]]. | |||
Nous n'avons fait qu'une partition. | |||
La commande: | |||
lsblk | |||
donne maintenant: | |||
---- | |||
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS | |||
sdb 8:16 0 149G 0 disk | |||
└─'''sdb1''' 8:17 0 149G 0 part | |||
sdc 8:32 0 149G 0 disk | |||
└─'''sdc1''' 8:33 0 149G 0 part | |||
---- | |||
==Formatage== | |||
Nous formatons ces deux partitions au format "xfs": | |||
mkfs.ext4 /dev/sdb1 | |||
mkfs.ext4 /dev/sdc1 | |||
==Montage classique via le fichier "/etc/fstab"== | |||
Nous allons les monter comme décrit dans l'article sur le [[LINUX:Montage d'espace disque|Montage d'espace disque]]. | |||
Nous créons deux répertoires vides pour le montage: | |||
mkdir /datab | |||
mkdir /datac | |||
Comme nous ne connaissons pas à l'avance le nom du device disque, nous utiliserons son UUID. | |||
Exécutons la commande: | |||
blkid | |||
qui donne ces deux UUID: | |||
---- | |||
/dev/sdb1: '''UUID="74435bdf-f453-471f-aa85-ec5418d59cfd"''' BLOCK_SIZE="512" TYPE="xfs" PARTUUID="2a4e45db-01" | |||
/dev/sdc1: '''UUID="c45eb09d-3eae-4090-995f-3da5ab7d167c"''' BLOCK_SIZE="512" TYPE="xfs" PARTUUID="7cdf9c3a-01" | |||
---- | |||
Nous avons le nécessaire pour ajouter toutes deux entrées au fichier "/etc/fstab": | |||
---- | |||
UUID="74435bdf-f453-471f-aa85-ec5418d59cfd" /datab xfs defaults,_netdev 0 0 | |||
UUID="c45eb09d-3eae-4090-995f-3da5ab7d167c" /datac xfs defaults,_netdev 0 0 | |||
---- | |||
L'option "_netdev" est fondamentale car ce montage ne doit être fait qu'après l'exécution du service "iscsid.service" lors de la phase de Systemd nommée "remote-fs.target". | |||
On peut monter ces nouveaux espaces disques: | |||
mount -a | |||
ou redémarrer la machine "cl1.home.dom". | |||
La commande: | |||
df | |||
voit apparaître nos deux répertoires "/datab" et "/datac": | |||
---- | |||
Sys. de fichiers blocs de 1K Utilisé Disponible Uti% Monté sur | |||
/dev/sdb1 156211688 1122160 155089528 1% /datab | |||
/dev/sdc1 156211688 1122160 155089528 1% /datac | |||
---- | |||
==Montage via Systemd== | |||
Au lieu d'ajouter ces deux entrées au fichier "/etc/fstab", on peut utiliser la fonctionnalité de Systemd pour monter ces disques. | |||
Dans le répertoire "/usr/lib/systemd/system", on crée deux fichiers, un pour chaque montage. | |||
* le fichier "datab.mount" dont voici le contenu: | |||
---- | |||
[Unit] | |||
Before=remote-fs.target | |||
After=iscsid.service | |||
Requires=iscsid.service | |||
| |||
[Mount] | |||
What=/dev/disk/by-uuid/74435bdf-f453-471f-aa85-ec5418d59cfd | |||
Where=/datab | |||
Type=xfs | |||
Options=defaults,_netdev | |||
| |||
[Install] | |||
WantedBy=remote-fs.target | |||
---- | |||
* le fichier "datac.mount" dont voici le contenu: | |||
---- | |||
[Unit] | |||
Before=remote-fs.target | |||
After=iscsid.service. | |||
Requires=iscsid.service | |||
| |||
[Mount] | |||
What=/dev/disk/by-uuid/c45eb09d-3eae-4090-995f-3da5ab7d167c | |||
Where=/datac | |||
Type=xfs | |||
Options=defaults,_netdev | |||
| |||
[Install] | |||
WantedBy=remote-fs.target | |||
---- | |||
On y retrouve tous les paramètres entrés dans le fichier "/etc/fstab". On remarque l'ordre d'éxécution. Il se fait après le service "iscsid.service" qui effectue la liaison avec les serveurs "target" et le montage se fait lors de la phase "remote-fs.target". | |||
On recharge les paramètres de Systemd que nous venons de modifier: | |||
systemctl daemon-reload | |||
et on active ces deux points de montage: | |||
systemctl enable datab.mount | |||
systemctl enable datac.mount | |||
Deux liens sont ajouté dans le répertoire "/etc/systemd/system/remote-fs.target.wants". | |||
On redémarre la machine "cl1.home.dom" ou on exécute les commandes: | |||
systemctl start datab.mount | |||
systemctl start datac.mount | |||
pour monter ces deux disques. | |||
==RAID 1== | |||
Au lieu d'utiliser les deux disques séparément, comme ils sont de même taille, on peut les coupler pour faire un seul device de type RAID 1 software. | |||
modifications