Présentation d’une procédure pour créer un raid logiciel sous Raspbian Stretch à l’aide de mdadm
Update du système
Identification des disques
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 298.1G 0 disk
sdb 8:16 0 298.1G 0 disk
mmcblk0 179:0 0 7.3G 0 disk
├─mmcblk0p1 179:1 0 41.5M 0 part /boot
└─mmcblk0p2 179:2 0 7.3G 0 part /
- mmcblk0 : carte SD système hote
- sda,sdb : deux disques durs 2.5 pouces
Création des deux partitions
sudo cfdisk /dev/sdb
On se retrouve dans cette configuration
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 298.1G 0 disk
└─sda1 8:1 0 298G 0 part
sdb 8:16 0 298.1G 0 disk
└─sdb1 8:17 0 298G 0 part
mmcblk0 179:0 0 7.3G 0 disk
├─mmcblk0p1 179:1 0 41.5M 0 part /boot
└─mmcblk0p2 179:2 0 7.3G 0 part /
Création de l’aggrégat
mdadm: Note: this array has metadata at the start and
may not be suitable as a boot device. If you plan to
store '/boot' on this device please ensure that
your boot-loader understands md/v1.x metadata, or use
--metadata=0.90
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
- l : pour type de raid
- n : pour nombre de disques
- /dev/md0 : nom de mon aggrégat
- /dev/sd[ab]1 : partition à utiliser pour l’agrégat via regex
Création d’une partition sur le nouvel aggrégat
Syncing disks.
On constate la bonne création sur l’aggrégat
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 298.1G 0 disk
└─sda1 8:1 0 298G 0 part
└─md0 9:0 0 297.9G 0 raid1
└─md0p1 259:1 0 297.8G 0 md
sdb 8:16 0 298.1G 0 disk
└─sdb1 8:17 0 298G 0 part
└─md0 9:0 0 297.9G 0 raid1
└─md0p1 259:1 0 297.8G 0 md
mmcblk0 179:0 0 7.3G 0 disk
├─mmcblk0p1 179:1 0 41.5M 0 part /boot
└─mmcblk0p2 179:2 0 7.3G 0 part /
Formatage en EXT4
mke2fs 1.43.4 (31-Jan-2017)
Creating filesystem with 78061568 4k blocks and 19521536 inodes
Filesystem UUID: 0bb9aa83-4311-4a6c-8be3-51f6210ead6d
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616
Allocating group tables: done
Writing inode tables: done
Creating journal (262144 blocks):
done
Writing superblocks and filesystem accounting information:
done
Creation du dossier de reception pour le point de montage
Montage manuel de la partition
Montage automatique au boot
/dev/md0p1 /mnt/sumo ext4 defaults 0 0
Installation des outils samba pour créer un partage réseau
Création du dossier de reception des partages
Sauvegarde du fichier de configuration original
Ouverture fichier de configuration samba, éditez les options suivantes
[printers]
comment = All Printers
browseable = no
path = /var/spool/samba
printable = yes
guest ok = no
read only = yes
create mask = 0700
[homeSHAREME]
comment= Dossier Partage source
path=/mnt/sumo/SHAREME
browseable=Yes
writeable=Yes
only guest=no
create mask=0777
directory mask=0777
public=no
sudo chown -R monuser:monuser /mnt/sumo/SHAREME
Ajout d’un utilisateur pour mon partage
Redémarrer le raid 1 sur un nouveau système
Restauration d’un aggrégat sur un nouveau système
Si lors du mount, impossible de trouver le superblock
mount: /dev/md0p1: can't read superblock
Pour résoudre cela on lance un check de la partition (c’est du : ext4)
e2fsck 1.43.4 (31-Jan-2017)
ROOTRAID1: recovering journal
JBD2: Invalid checksum recovering block 25 in log
JBD2: Invalid checksum recovering block 3 in log
JBD2: Invalid checksum recovering block 4 in log
Journal checksum error found in ROOTRAID1
ROOTRAID1 was not cleanly unmounted, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
/lost+found not found. Create<y>? yes
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Free blocks count wrong (76557547, counted=67959223).
Fix<y>? yes
Free inodes count wrong (19521522, counted=19520826).
Fix<y>? yes
ROOTRAID1: ***** FILE SYSTEM WAS MODIFIED *****
ROOTRAID1: 710/19521536 files (8.5% non-contiguous), 10102345/78061568 blocks