Forum Linux.debian/ubuntu Glusterfs-server - pourquoi l'arbitre se rempli-t-il de données ?

Posté par . Licence CC by-sa
2
10
oct.
2017
  1. Quelqu'un saurait-il pourquoi l'arbitre de mon volume Glusterfs (replica 3 arbiter 1) se rempli de données?

  2. N'est-il pas censé stocker uniquement des fichiers vide?

  1. Quand vous tapez "gluster volume info", vos volumes avec arbitre sont-ils aussi affiché comme de vulgaire replica 3? (moi ça indique "Number of Bricks: 1 x 3 = 3" et dans les infos n'est pas indiqué quel bricks est l'arbitre bref rien à voir avec se qui est indiqué (...)

Journal RAID is no Backup!

Posté par . Licence CC by-sa
Tags :
37
29
sept.
2017

Suite à une discussion avec mon copain Léo, je retombe sur ce tweet magnifique : https://twitter.com/leyrer/status/847816162557689857.

Je sais qu’en écrivant ici j’ai une audience assez érudite, mais sauvons l’humanité et rajoutons une couche :

Repeat after me: RAID is no Backup!

Répète après moi : le RAID n’est pas de la sauvegarde !

Alors, ça sert à quoi le RAID ?

On voit bien avec la photo que le gars pouvait avoir douze disques de redondance, ça ne lui sert plus à rien. Ça (...)

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

0
21
sept.
2017

Introduction

Parmi toutes les méthodes que j'ai testé (entre autre : mdadm, zfs, glusterfs, mhddfs), 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 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. 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 ?)
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

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      0  0

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é

Forum Linux.général Linux, GPT, LVM et Intel Matrix Storage, j'ai loupé un truc ?

Posté par . Licence CC by-sa
1
20
sept.
2017

Bonsoir les gens,

En ce moment à mon taf, je suis en train de préparer un serveur pour un site distant (ROBO, Remote Office/Branch Office, comme on dit dans le marketing IT).
C'est une petite machine HP Proliant ML10 Gen9 bien sympathique, qui dispose de 2 HDD de 1 To (*).
Comme c'est de l'entrée de gamme, il n'y a pas de carte RAID hardware mais le chipset et l'UEFI fournissent de l'Intel Matrix Storage. Du fakeraid en somme. Très (...)

Forum général.cherche-matériel Boîtier pour disque dur externe qui supporte le RAID

Posté par . Licence CC by-sa
Tags :
0
29
août
2017

Bonjour, je suis à la recherche d'un boitier pour disque dur externe qui prendrait en charge au minimum 2 disques durs pour pouvoir faire du RAID 1 (redondance des données). Idéalement ça devrait prendre des disques 3,5 pouces et bien sûr être pris en charge par Linux sans bidouille particulière.
Pour le moment j'ai vu des boitiers de la marque Icy Box mais la prise en charge par linux semble nulle.
Bref, si vous en utilisez sous linux, vous avez (...)

Wiki GlusterFS sur Ubuntu/Debian

0
26
juin
2017

Sommaire

Ce wiki traite de la partie serveur de GlusterFS pour la partie client voyez ce wiki : Monter un volume/répertoire GlusterFS sur Ubuntu/Debian

logo glusterfs fourmis qui mange une feuille

Qu'est-ce que GlusterFS ?

GlusterFS permet de créer des volumes/répertoires virtuels agrégeant un nombre X de serveurs. Pour cela GlusterFS crée des volumes (sorte de partition JBOD) à cheval sur les serveurs que vous stipulez lors de la création du volume et dispose d'un mode de redondance (replication) afin de lutter contre les pannes de stockage. Par défaut, sans réplication, gluster fait une sorte de raid0 (si vous uploader 10 fichiers sur un pool contenant deux Servers/Node, vous aurez 5 fichiers par server) (source). Vous pouvez utiliser l'argument stripe nombreDecoupage si vous souhaitez que les fichiers soient découpé avec leur data propre dispersée sur les différents stockages (le but étant d'augmenter les performances en lecture).
En une phrase, il permet de faire un cluster de stockage.

GlusterFS supporte :

Les types de volume/répertoire sont :

  • RAID0 non Strip / JBOD (fichier) (les fichiers sont répartis sur les différentes unités de stockage (bricks), si vous perdez une unité les données sur les autres bricks sont encore valable et accessible)
  • RAID0 Strip (data) (chaque fichier est découpé N fois et ses datas respective distribuées sur N espaces de stockage, en cas de perte d'une unité de stockage TOUTES les données sont perdues; infos)
  • Replication X - Raid1 (les fichiers sont dupliqués X fois à travers les Nodes comme du Raid1, perdre une unité de stockage n'a aucune incidence sur les données)
  • Distributed Replicated (les fichiers sont distribué sur certains nodes et dupliqués sur d'autres comme du Raid10; infos)
  • Distributed Stripped Replicated - RAID10 Strip (chaque fichier est découpé en N morceau répartis sur N Nodes et répliqué X fois sur X Nodes)

La mise en place est simple :

  1. vous installez le serveur sur au moins une machine
  2. vous connectez les serveurs entre eux.
  3. vous créez un volume virtuel
  4. avec un logiciel client vous pouvez accéder à votre volume (qui se comporte comme une partition) en vous connectant à n'importe lequel des deux Serveurs/Nodes.

Note : vous pouvez créer un raid local sur plusieurs disques. Par contre vous ne pouvez hélas pas créer un raid gluster dans un autre raid/jbod gluster.

Fonctionnement

ndlr : simple et si possible imagé

_


_

Installer GlusterFS Server

Passez en admin (root)

Sur Ubuntu/Raspbian

sudo su

Sur Debian/Ubuntu minimal

su

Installez le logiciel glusterfs-server

apt-get install glusterfs-server attr

Note : si vous souhaitez installer une version spécifique de Gluster utilisez l'attribut --version=id_version par exemple :

apt-get install glusterfs-server --version=3.7.15-ubuntu1~xenial1

Pour connaître la version du package installé, entrez dans un terminal

apt-show-versions glusterfs-server

Donner le droits d'accès (rw) au fichiers log

sudo chmod 777 /var/log/glusterfs/*.log

Lancez le démon

service glusterfs-server restart

_


_

Désinstaller glusterfs-server

Passez en admin (root)

Sur Ubuntu/Raspbian

sudo su

Sur Debian/Ubuntu minimal

su

Au choix :

Supprimez gluster sans supprimer les données (volumes, peer, etc)

apt-get remove glusterfs-server

Supprimez gluster ET ses données

apt-get purge --auto-remove glusterfs-server
rm -R /etc/glusterfs
rm -R /var/lib/glusterd

_


_

Création de Raid

Créer un volume type RAID1 avec choix du nombre de réplication

Adaptez puis entrez cette commande dans votre terminal

sudo gluster volume create NomVolume replica 2 transport tcp HOSTNAME_server1:/media/superPartition HOSTNAME_server2:/media/superPartition force
  • HOSTNAME => peut valoir l'ip, le nom de domaine ou tout path réseau valable d'un des server du cluster
  • NomVolume => le nom du volume dans dans la grille GlusterFS
  • replica 2 => le nombre de fois que les fichiers doivent être dupliqué
  • transport tcp => on utilise TCP/IP
  • force => ne se met qu'à la fin de la commande, permet d'utiliser le mode root
  • exemple officiel : gluster volume create NEW-VOLNAME [replica COUNT] [transport tcp | rdma | tcp,rdma] NEW-BRICK…

Ensuite démarrez votre volume/répertoire

sudo gluster volume start NomVolume

Note : remplacez start par stop pour arrêter un volume (c'est un umount version gluster)

Créer un volume avec un Arbitrer (replica 3 arbiter 1)

infos : Arbiter volumes and quorum options in gluster
(ndlr : à tester et corriger)
Le Nœud Arbitrer est chargé d'aider à élire un Noeud Maitre après une coupure réseau importante (split brain). Il est choisit automatiquement par GlusterFS parmi les Noeuds, il prend le troisième Nœud (bricks) et il n'est pas possible de le configurer/modifier (source).
Le paramètre replica doit être à 3 pour pouvoir utiliser un Arbitrer. Il faut donc au minimum 3 machines pour ce mécanisme.
Note : en raid1 (replica 2) lorsqu'une machine est absente tout est cassé. Ici (replica 3 arbiter 1) tant qu'au moins deux machines sur 3 de chaque séries sont connectées entre elles (peu importe lesquelles), tout continue de fonctionner.

sudo gluster volume create NomVolume replica 3 arbiter 1 transport tcp HOSTNAME_server1:/media/superPartition HOSTNAME_server2:/media/disque2 HOSTNAME_server3:/media/mon/path force
  • HOSTNAME => peut valoir l'ip, le nom de domaine ou tout path réseau valable d'un des server du cluster
  • NomVolume => le nom du volume dans dans la grille GlusterFS
  • replica 3 => le nombre de fois que les fichiers doivent être dupliqué
  • transport tcp => on utilise TCP/IP
  • force => ne se met qu'à la fin de la commande, permet d'utiliser le mode root
  • exemple officiel : gluster volume create replica 3 arbiter 1

_


_

_


_

Options & Utilisations

Note : Pour utiliser les commandes suivantes dans un script vous devez ajouter en fin de commande force --mode=script

Ajouter un Noeud/Node (ajouter peer)

sudo gluster peer probe HOSTNAME

HOSTNAME peut valoir l'IP, le nom de domaine ou tout path réseau valable d'un des server du cluster
Note : Une fois que le pool est établi, seuls les membres de confiance (trust) peuvent ajouter de nouveaux serveurs au pool. Un nouveau serveur ne peut PAS s'ajouter au pool, il doit être ajouté par le pool. (source)

Retirer un Noeud/peers (supprimer peer)

sudo gluster peer detach HOSTNAME

HOSTNAME peut valoir l'IP, le nom de domaine ou tout path réseau valable d'un des serveurs du cluster
Note : Tout les volumes ouvert en commun entre ses pairs (peers) doivent être stoppé AVANT.

Retirer un Noeud/peers et les bricks liés

Récupérez les infos des bricks à supprimer

sudo gluster volume info

Soit on supprime le peer de son bricks

sudo gluster volume remove-brick nomBricks replica 1  HOSTNAME:/media/monDisk/monDossier force

Soit on supprime le bricks

sudo gluster volume delete nomBricks

Lancez enfin la commande pour détachez le Node/peers

sudo gluster peer detach HOSTNAME

HOSTNAME peut valoir l'IP, le nom de domaine ou tout path réseau valable d'un des server du cluster
Note : Tout les volumes ouvert en commun entre ses pairs (peers) doivent être stoppé AVANT.

Ajouter un ou plusieurs serveurs à un volume / augmenter la taille d'un volume

sudo gluster volume add-brick NomVolume HOSTNAME:/media/maPartition

NomVolume => le nom du volume dans dans la grille GlusterFS
HOSTNAME => peut valoir l'ip, le nom de domaine ou tout path réseau valable d'un des server du cluster
/media/maPartition => le path où stocker les données sur le serveur
Exemple officiel : gluster volume add-brick VOLNAME NEW-BRICK
Source : http://www.gluster.org/community/documentation/index.php/Gluster_3.2:_Expanding_Volumes

Afficher le status des connexions en cours

sudo gluster peer status

Afficher les infos des volumes

sudo gluster volume info

Supprimer un serveur d'un volume en cours en mode répliqué (raid) /diminuer un volume

sudo gluster volume remove-brick monVolume replica 2 HOSTNAME:/media/maPartition

NomVolume => le nom du volume dans dans la grille GlusterFS
replica 2 => le nombre de replication
HOSTNAME => peut valoir l'ip, le nom de domaine ou tout path réseau valable d'un des server du cluster
/media/maPartition => le path où stocker les données sur le serveur
Source : https://support.rackspace.com/how-to/add-and-remove-glusterfs-servers/

Supprimer un volume

sudo gluster volume delete NomVolume

Note : ça ne supprime pas les fichiers.
Le volume doit être stoppé avant via

sudo gluster volume stop NomVolume

Lister les fichiers logs

sudo ls  /var/log/glusterfs/

Restreindre l'accès à une ou plusieurs IP/plage d'IP

sudo gluster volume set nomVolume auth.allow 192.168.1.2,192.168.*.1

nomVolume => le nom identifiant votre volume
192.168.1.2,192.168.*.1 => un exemple d'ip suivis d'un exemple de plage d'ip à autoriser
Note : Fonctionne aussi si le volume est en cours de fonctionnement.

Foire Aux Questions

Que se passe-t-il si on ajoute sur le serveur comme point de montage un dossier dans lequel il y a un ou des fichiers/dossiers?

Réponse : Le ou les fichiers sont ignoré par GlusterFS purement et simplement. Ils sont toujours accessible via le système de fichier du serveur mais pas via un quelconque volume glusterfs.

Que se passe-t-il si on ajoute sur le client comme point de montage un dossier dans lequel il y a un ou plusieurs fichiers/dossiers ?

Réponse : Le ou les fichiers disparaissent jusqu'à ce que le volume soit démonté (umount), il ne semble rien leur arriver de malheureux. Lorsque le volume est démonté en cas d'écriture vers son point de montage, alors les données sont écrites sur le disque dur principal (système), ce qui peut être un problème pour certains usages (motion sur raspberry pi entre autre).

Si un serveur doit lire des données, va-t-il uniquement le lire localement où va-t-il utiliser les autres serveurs afin de compenser la latence des disques dur?

Réponse : les données sont envoyées/reçues vers les différents serveurs en même temps.

Que se passe-t-il si un des bricks/disques dur tombe en panne en cours avec un volume fonctionnement ?

Réponse : Si vous êtes en raid1, il n'y a aucune perte de données et le service continue de fonctionner mode osef. Si vous êtes en JBOD/raid0 non stripping, le point de montage est toujours accessible et seules les datas présentent sur le bricks planté ne sont plus accessible. Il va de soit que si le disque dur en panne était le seul ou le dernier représentant d'un volume, le volume tombe aussi.

Peut-on synchroniser des serveurs en local (malgré un loopback foireux (Hairpinning)

Impossible d'utiliser le nom de domaine depuis l'intérieur du réseau) pour ensuite les disséminer sur d'autres connexions sans changer la configuration ? (et sans utiliser Tor)

Réponse : Une solution est de configurer en utilisant un hostname, puis en modifiant le ficher /etc/hosts (infos) pour indiquer les IP locales des différents Nodes correspondant à chaque nom de domaine. Une fois que les machines quittent votre réseau local vous devez bien entendu allez supprimer les valeurs temporaires.

Quelques filtres d'affichages wireshark pour zieuter tout cela ?

Réponse : Entrez une des valeurs suivantes pour voir se qu'il se passe : glusterfs

Les communications sont-elles chiffrées ?

Réponse : Par défaut Non, mais vous pouvez activer le chiffrement par TLS (ex-ssl) en suivant ce tuto : GlusterFS Security.

Les données stockées sur le(s) serveur(s) sont-elles chiffrées ?

Réponse : Par défaut Non. Une feature/extension (Doc - Features/disk-encryption) est en fin de conception afin de rendre gluster compatible avec le chiffrement côté serveur (disk encryption).

Quels sont les ports utilisés par les serveurs gluster ?

Réponse : 111 (portmap/rpcbind), 24007 (GlusterFS Daemon), 24008 (GlusterFS Management) et un port par volume/répertoire à partir de 49152. Si vous utilisez NFS alors les ports 38465, 38466 et 38467 sont aussi requis.
Source : Get started with GlusterFS - considerations and installation

Si on a un volume répliqué sur deux Nodes/Serveurs ("replicate 2") et que l'un d'eux n'est pas présent au démarrage de l'autre, le volume fonctionne-t-il?

Réponse : Non (!!!) Monter le volume devient impossible même en local (127.0.0.1) !

Quelle est la différence entre le paramètre "replicate" et "geo-replication"?

Réponse : replicate applique les modifications en temps réelle sur tout les Serveurs d'un Volume et lit les données sur X Serveurs en même temps. Geo-replication par contre fait des mises à jours régulières des modifications du système de fichier depuis un serveur Maître vers des serveurs Esclaves et ne lit les données que depuis le serveur Maitre.

Que se passe-t-il si le point de montage tombe en panne en cours de fonctionnement ?

Réponse : Il est automatiquement remplacé par un autre en cas de mirroring.

Que se passe-t-il si on fait un raid local (sur la même machine) et que la carte réseau n'est pas connectée

Réponse : le raid/jbod ne sera pas accessible tant que la machine ne sera pas connectée au réseau et ce même si le raid/jbod est uniquement local.

_


_

Forum Linux.débutant Boot impossible sur Solus Linux avec un Lenovo ideapad 500S [resolu]

Posté par . Licence CC by-sa
0
25
jan.
2017

Bonjour à tous,

je viens demander votre aide plein de détresse, je viens de m'acheter un "Lenovo Ideapad 500S" sur le site de darty, malheureusement je n'ai pas réussi à booter sur ma clé usb avec l'iso de Solus, qui a pourtant réussi sur mon ancien pc.

Après quelques recherches google il semblerait que ça soit une histoire de la configuration du disque SSD qui est RAID plutot que AHCI… J'ai pas trouvé grande informations récentes et ça (...)

Forum Linux.général Configuration RAID optimale pour 3 disques ?

Posté par (page perso) . Licence CC by-sa
Tags :
0
28
juin
2016

Bonjour,

Nous avons 3 disques identique de 4 To pour un serveur de fichiers "sécurisé". Nous souhaitons un maximum de sécurité vis-à-vis des défaillances matérielles. Chaque disque à été acheté chez un fournisseur différent. Nous ne souhaitons de pouvoir profiter que de 4 To, de sorte à favoriser la sécurité.

Quel configuration RAID sera optimale ?

En RAID 1, nous pourrions soit impliquer directement les 3 disques, ou n'en impliquer que 2 et placer le 3ème comme réserve (“spare”).

Je pense (...)

Journal Monter un cluster mémoire avec un raspberry pi

Posté par . Licence CC by-sa
14
23
mai
2016

Avant-Propos :
Il est fortement conseillé d'utiliser un raspberry pi 2 au minimum (privilégiez le modèle 3). JBOD via mddfs n'est pas totalement stable, mais ZFS semble actuellement non utilisable sur Raspberry Pi. Si vous suivez ce tuto sur une machine dotée d'autre chose qu'un processeur ARM, privilégiez l'utilisation de ZFS.
Gluster vous permet en fonction du nombre de peers/nodes et du nombre de réplication de faire :

  • un JBOD réseau (addition de l'espace de toute vos machines Peer1 (...)

Forum général.général Perte partition RAID + LVM de backup !

Posté par . Licence CC by-sa
1
19
fév.
2015

Bonjour à tous,
Je poste ici mon premier message car j’essaie depuis des mois de récupérer mes données stockées sur mon ReadyNas DUO (2 disques).

Je souhaitais réinitialier mon NAS tout en conservant mes données.

J'ai monter une première fois le second disque dans mon PC (sur lequel mes données sont dans sda3)
mdadm --assemble --run /dev/md0 /dev/sda3
mount /dev/md0 /mnt/test

Toutes mes données sont là, je passe donc au formatage du disque 1 via la fonction FACTORY DEFAULT.

Et (...)

Sortie de ZFS On Linux (ZOL) 0.6.3

31
14
juin
2014
Linux

La version 0.6.3 de ZOL (ZFS On Linux) vient fraîchement d'être mise à disposition. Bien que n'ayant que peu communiqué (sur la liste de discussion en tout cas), depuis la dernière version sortie en août 2013, les développeurs du projet n'ont pas chômé puisqu'il y a eu près de 200 corrections de bugs et de nombreuses fonctionnalités ajoutées au projet avec notamment : la compatibilité pour les noyaux Linux <= 3.14, la comptabilité avec les ACL POSIX et un nouvel outil de supervision dédié le ZED daemon.

Forum Linux.général RAID1 en général et BTRFS en particulier

Posté par . Licence CC by-sa
Tags :
2
27
jan.
2014

Bonjour,

Je me lance dans l'expérimentation de BTRFS dans une configuration RAID 1 et je ne suis pas sûr d'avoir bien compris certaines choses sur le RAID 1 et sur BTRFS.

Contexte :
J'ai choisi RAID 1 pour que la machine continue de fonctionner même si un disque complet flanche complètement. Et j'ai choisi BTRFS pour l'intégrité des données.

Configuration matérielle: 2 disques durs (sda et sdb)

Configuration logicielle :
Debian Testing avec un partitionnement sda1 "/" (BTRFS), sda2 "/home" (...)

Forum Linux.debian/ubuntu mon HDD (Fake)RAID n'est plus reconnu après l'upgrade kubuntu 13.10

Posté par (page perso) . Licence CC by-sa
Tags :
0
20
oct.
2013

Bonjour,

Je viens de faire l'upgrade de Kubuntu 13.04 à 13.10, ce soir, au premier redémarrage (puis au second, troisième,…) mon disque dur de stockage en FakeRAID NTFS monté sur /media/BIGRAID ne veut plus se monter (alors qu'il se monte sur mon Win7 en dualboot).

Au démarrage, l'OS semble ne pas le voir. il me parle d'un "type raid45"…

J'ai configuré ce RAID5 sur 12.04 à l'installation alors que les 3 HDD étaient formatés puis je suis passé d'upgrade en (...)