conspicio.fr
← Serveur

RAID

Publié le

  • raid
  • zfs
  • disque
  • stockage

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