Visualiser une révision

[Tuto/HowTo] [Ubuntu/Debian] Créer un JBOD (raid0 non strip) avec btrfs

voxdemonix : révision n°11 (04 octobre 2018 00:57:17)

Introduction
============

Parmi toutes les méthodes que j'ai testé (entre autre : [mdadm](https://www.0rion.netlib.re/forum4/viewtopic.php?f=94&t=356), [zfs](https://www.0rion.netlib.re/forum4/viewtopic.php?f=94&t=289#p755), [glusterfs](https://www.0rion.netlib.re/forum4/viewtopic.php?f=94&t=289#p763), [mhddfs](https://www.0rion.netlib.re/forum4/viewtopic.php?f=94&t=289#p748)), [btrfs](https://fr.wikipedia.org/wiki/Btrfs) offre la méthode la plus simple de mise en place.
Voyons ensemble comment créer un JBOD avec btrfs.
Pour rappel un JBOD est un agrégat (une addition) de plusieurs disques. [Btrfs](https://fr.wikipedia.org/wiki/Btrfs) accepte de commencer avec un seul disque et d'en ajouter par la suite.
Les méta-données sont dupliquées sur chaque disque, les données ne sont ni découpées (strip) ni dupliquées (mirror).
Le côté dommage est qu'au niveau du montage il y a un [point of failure](https://fr.wikipedia.org/wiki/Point_individuel_de_d%C3%A9faillance). En effet dans votre fichier _/etc/fstab_ pour effectuer le montage vous devrez indiquer un seul des disques de la partition JBOD. Si ce disque plante la partition ne sera plus montable sans modifier le fichier /etc/fstab. (ndlr: [initramfs](https://wiki.gentoo.org/wiki/Custom_Initramfs) ?)
En cas de défaillance d'un espace mémoire, les données présentes sur les autres espaces mémoire sont toujours accessible. Par contre les données sur le disque cassé sont bien entendu perdues.


Mise en place
=============

**Note :** toutes les commandes suivantes sont à exécuter en tant que root.

**Installez les pré-requis**

```
apt install -y btrfs-tools
```

**Listez les disques**

```
fdisk -l
```

* Récupérez les chemins de vos disques (par exemple _/dev/sdb_ et _/dev/sdc_).

**Créez la "partition" btrfs sur un ou plusieurs disques (vous pourrez en ajouter par la suite)**

```
mkfs.btrfs -d single /dev/sdb /dev/sdc
```

* l'option _**-d single**_ indique que l'on ne veut pas dupliquer les datas

![screenshot-2017_08_11-Tuto-BTRFS-Creation_JBOD_01](https://framapic.org/j2eTz7zpnAz2/e5FqDZjnDYfh.png)


**Création du point de montage**

```
mkdir /media/mountPoint
```

**Montez la "partition" btrfs (vous pouvez choisir n'importe quel disque de la "partition")**

```
mount /dev/sdb /media/mountPoint
```

**Récupérez l'UID de n'importe lequel de vos disques participant à "la grappe"**

```
blkid | grep "btrfs" | grep -E " UUID=\"([0-9a-z]{1,}[\-]{0,}){0,}\""
```

**Éditez le fichier _/etc/fstab_**

```
nano /etc/fstab
```

**Adaptez puis ajoutez la ligne suivante**

```
UUID=blablabla-uid-de-votre-disque-blablabla /media/mountPoint           btrfs   defaults,rw,noatime      0  0
```

Voici quelques options de montage possible : https://btrfs.wiki.kernel.org/index.php/Manpage/btrfs(5)#MOUNT_OPTIONS


Suppléments
===========

Ajouter un disque
-----------------

**Lancez la commande suivante**

```
btrfs device add /dev/sdc /media/mountPoint
```

* **Note :** le volume doit être monté 



Retirer un disque
-----------------

**Lancez la commande suivante**

```
btrfs device delete /dev/sdc /media/mountPoint
```

* **Note :** le volume doit être monté 


Farm Link
=========

* [Btrfs - JBOD](https://www.0rion.netlib.re/forum4/viewtopic.php?f=94&t=654#p1492) (tutoriel d'origine)
* [Using Btrfs with Multiple Devices](https://btrfs.wiki.kernel.org/index.php/Using_Btrfs_with_Multiple_Devices)