RAID
Publié le
Identification des disques
lsblk -d -o NAME,SIZE,MODEL,SERIAL,ROTA ; ls -l /dev/disk/by-id/ | grep -v part Pour plus d’info sur l’identification de disque, se referer a la methode smart.
Ashift
Ashift est Il est defini par la taille d’un disque.
smartctl -i /dev/disk/by-id/<disque> | grep 'Sector Size' disque : au format branchement-model-serial
ex: ata-XXXXX-XXXX
Tableau de valeurs
|--------|--------| | octets | ashift | |--------|--------| | 4096 | 12 | | 512 | 9 |
En cas de doute, il vaut mieux choisir 12, cela coutera un peu d’espace a defaut de coute en performance.
Preparer un disque
Effacer chaque partitions, puis disque
wipefs -a /dev/disk/by-id/<disque>-part* ; wipefs -a /dev/disk/by-id/<disque> Creer le RAID
┌─────────┬───────────────────┬──────────────┬─────────────────┬────────────────┐ │ RAID │ Nom ZFS │ Disques min. │ Pannes tolérées │ Capacité utile │ ├─────────┼───────────────────┼──────────────┼─────────────────┼────────────────┤ │ RAID 0 │ stripe │ 2 │ 0 │ 100 % │ ├─────────┼───────────────────┼──────────────┼─────────────────┼────────────────┤ │ RAID 1 │ mirror │ 2 │ n − 1 │ 1 disque │ ├─────────┼───────────────────┼──────────────┼─────────────────┼────────────────┤ │ RAID 5 │ raidz1 │ 3 │ 1 │ n − 1 disques │ ├─────────┼───────────────────┼──────────────┼─────────────────┼────────────────┤ │ RAID 6 │ raidz2 │ 4 │ 2 │ n − 2 disques │ ├─────────┼───────────────────┼──────────────┼─────────────────┼────────────────┤ │ — │ raidz3 │ 5 │ 3 │ n − 3 disques │ ├─────────┼───────────────────┼──────────────┼─────────────────┼────────────────┤ │ RAID 10 │ mirrors en stripe │ 4 │ 1 par paire │ 50 % │ └─────────┴───────────────────┴──────────────┴─────────────────┴────────────────┘
Compression
┌─────────────┬───────────────┬──────────────────────────────┬───────────────────────┐ │ Algorithme │ Taux de │ Coût processeur │ Usage │ │ │ compression │ │ │ ├─────────────┼───────────────┼──────────────────────────────┼───────────────────────┤ │ lz4 │ Moyen │ Très faible, décompression │ Choix par défaut │ │ │ │ la plus rapide │ universel │ ├─────────────┼───────────────┼──────────────────────────────┼───────────────────────┤ │ zstd (= │ Meilleur que │ │ Pools sur disques │ │ zstd-3) │ lz4 │ Modéré │ durs, données │ │ │ │ │ compressibles │ ├─────────────┼───────────────┼──────────────────────────────┼───────────────────────┤ │ zstd-N (1 à │ │ La compression ralentit │ Archives écrites une │ │ 19) │ Croît avec N │ fortement avec N, la │ fois et rarement │ │ │ │ décompression reste rapide │ relues │ ├─────────────┼───────────────┼──────────────────────────────┼───────────────────────┤ │ gzip-N │ Proche de │ Plus lent que zstd │ Obsolète, remplacé │ │ │ zstd │ │ par zstd │ ├─────────────┼───────────────┼──────────────────────────────┼───────────────────────┤ │ off │ — │ — │ Aucune raison valable │ └─────────────┴───────────────┴──────────────────────────────┴───────────────────────┘
On va choisir la compression en fonction de la nature des donnees, mettre des fichiers deja compresse comme du mp3 ou du jpeg rend une seconde compression sans gain. La ou une base de donnees ou des logs se voit plus sujet a la compression.
Le second poids dans la balance est la vitesse d’ecriture et la puissance processeur, si un processeur compresse plus lentement que l’ecriture sur disque on se retrouve avec une ecriture lente pour un gain de stockage assez reduit.. Notamment sur nvme qui sont tres rapide :)
De maniere general, lz4 pour des media/donnee. et zstd pour des donnees plus brute. De toute maniere, il s’agit de compression, donc d’une optimisation d’espace, rien de limitant avec lz4 partout !
Mirror
zpool create -o ashift=<9|12> -O compression=lz4 -O atime=off <pool> mirror /dev/disk/by-id/<disque1> /dev/disk/by-id/<disque2> Verifier
zpool status <pool> Declarer le pool a Proxmox
pvesm add zfspool <id-storage> -pool <pool> -content images,rootdir Via interface proxmox
La creation de ZFS et l’ajout peuvent se faire depuis l’interface.
Le sector size ne s’affiche cependant pas dans l’interface, il faut donc forcement le faire avec le terminal.
Apres ca,
Prendre le noeu de la machine, on l’appellera pve.
pve > Disks > ZFS > Creat: ZFS
Rentrer les parametres, Create