IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Unix Discussion :

infrastructure zfs zpool vPool


Sujet :

Unix

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2007
    Messages : 93
    Par défaut infrastructure zfs zpool vPool
    Bonjour à tous,
    Je suis actuellement en train de me familiariser avec le zfs (c'est un usage personnel pour l'instant pour m’accommoder aux commandes etc. des fois que j'aurai à le mettre en place en entreprise plus tard )
    Voici ce que j'ai :
    - 1 serveur maison
    - 3 disques 3To
    - 1 disque 40 Go

    Je souhaite une VM Debian qui gèrera les partages (samba) et une VM Debian qui gèrera mon serveur Web

    J'ai installé une Debian-Server sur mon disque de 40Go (sda)
    Celui-ci gère le zfs et kvm.

    J'ai créé un zpool avec mes 3 disques de 3To:
    # zpool create poolRaidZ raidz sdb sdc sdd

    J'ai segmenté ce pool en 2 disques virtuels :
    # zfs create -V 100G poolRaidZ/vPoolKVM
    //Monté sur mon Debian-Server, mes VMs seront stockés ici
    # zfs create -V 4000G poolRaidZ/vPoolShare
    //Monté sur mon Debian-Samba-Server ici sera placé le partage

    J'obtiens donc :
    /dev/zvol/poolRaidZ/vPoolKVM
    /dev/zvol/poolRaidZ/vPoolShare

    Si je veux mettre des données sur ces disques virtuels, impossible, normal, ce sont des peripheriques de type block. Il faut donc les monter :

    (Je fais un test de montage à travers ma Debian-Server. Si ça marche, je la ferai à travers ma VM Debian-Samba)

    # mount /dev/zvol/poolRaidZ/vPoolShare /mnt/vPoolShare/
    mount: you must specify the filesystem type

    # mount -t zfs /dev/zvol/poolRaidZ/vPoolShare vPoolShare/
    filesystem '/dev/zd16' cannot be mounted, unable to open the dataset

    Du coup j'essai de mettre un zfs filesystem sur mon vPoolShare avec :
    # mkfs.zfs -q /dev/zvol/poolRaidZ/vPoolShare
    bash: mkfs.zfs : commande introuvable

    Qu'est-ce que je loupe? Qu'ai-je mal compris ?

    Merci d'avance pour vos futures réponses...

  2. #2
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Par défaut
    Tu as crée deux volumes (zvol), l'un de 100 Go et l'autre de 4 To. Ces volumes sont ne contiennent rien, ce sont juste l'équivalent de partitions vides donc non montables.

    Je n'ai pas trop d'expérience avec KVM alors je n'ai pas bien compris pourquoi tu souhaite monter ces volumes dans le système hôte. Puisqu'ils sont dédiés aux VMs, j'aurais installé les OS des VMs en leur donnant les volumes ZFS comme disques et laissé le soin aux OS cible de créer les systèmes de fichiers qu'ils veulent.

    Si tu souhaites vraiment créer un système de fichier ZFS dans tes volumes, il faut commencer par créer un nouveau pool ZFS dans chacun des volumes.

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2007
    Messages : 93
    Par défaut
    Bonjour à toi jlliagre,
    Merci pour cette clarification (et désolé pour ce temps de réponse, semaine assez chargée...)
    Je pense avoir cerné le truc
    J'ai donc actuellement lancé un :
    # zpool create partage /dev/zvol/poolRaidZ/vPoolShare
    Assez long apparemment car cela fait 15min 2/3heures qu'il tourne sans me rendre la main... Je crois qu'il a planté ou je n'sais quoi...

    Autre question :
    Pour rappel, j'ai besoin d'une partition de 100G pour mes VMs et le reste me servira pour mon partage
    C'est pourquoi j'ai réalisé un #zfs create -V 4000
    Ne peut-on pas directement créer une partition de type block comme je l'ai fait mais, au lieu de préciser la taille (ici 4000), dire qu'on prend tout le reste du pool pour faire le disque ?

    J'ai cru comprendre qu'il ne fallait jamais remplir un pool à 100% (est-ce vrai?)
    Peut-être est-ce pour cela qu'on est obligé de spécifier une taille ?

  4. #4
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Par défaut
    Citation Envoyé par T3rm1nat0r Voir le message
    J'ai donc actuellement lancé un :
    # zpool create partage /dev/zvol/poolRaidZ/vPoolShare
    Assez long apparemment car cela fait 15min 2/3heures qu'il tourne sans me rendre la main... Je crois qu'il a planté ou je n'sais quoi...
    Créer un pool, ça prend au maximum quelques secondes, créer un pool dans un zvol, c'est un peu tordu mais c'est supporté par ZFS. Là, tu es sûrement tombé sur ce bug de l'implémentation de ZFS sous Linux.

    De toute façon, la manière logique d'opérer serait, comme je l'ai déjà écrit, de déléguer à l'OS guest la gestion de système de fichier si l'objectif est de donner ces 100 Go à un autre OS. Si par contre, c'est un système de fichier de 100 Go dont tu as besoin pour y mettre des images disques, ne crée pas un zvol mais un système de fichier avec réservation et quota de 100 Go.
    Autre question :
    Pour rappel, j'ai besoin d'une partition de 100G pour mes VMs et le reste me servira pour mon partage
    C'est pourquoi j'ai réalisé un #zfs create -V 4000
    Ne peut-on pas directement créer une partition de type block comme je l'ai fait mais, au lieu de préciser la taille (ici 4000), dire qu'on prend tout le reste du pool pour faire le disque ?
    La taille d'un volume doit forcément être définie. Il n'est pas recommandé de s'approcher de la taille maximum restant disponible car tu ne pourra plus faire de snapshots et les perfs deviendront très mauvaises lorsque tu auras écrit tous les blocs de ton volume.
    J'ai cru comprendre qu'il ne fallait jamais remplir un pool à 100% (est-ce vrai?)
    C'est assez vrai. On recommande de laisser entre 10 et 20 % de libre pour permettre une optimisation de la localisation des données sur disque.
    Peut-être est-ce pour cela qu'on est obligé de spécifier une taille ?
    Non, on est obligé de spécifier une taille car sinon, le pool ne serait pas utilisable (comme un volume) par le système d'exploitation. Exactement comme une partition qui n'aurait pas de taille connue ne pourrait pas contenir de système de fichier.

    Celà dit, peut-être que tu n'as pas non plus besoin d'un volume de 4 To pour ton partage, mais simplement d'un système de fichier partagé en NFS ou CIFS ou via KVM ... Dans ce cas, il n'y a pas besoin de préciser la taille et le système de fichier dispose de toute la taille restante.

    Comment comptes-tu utiliser ces 4 To ?

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2007
    Messages : 93
    Par défaut
    Alors, si tu veux avant j'avais Nas4Free qui faisait serveur de fichier, web et partage... J'ai fait une connerie en installant mon serveur web en supprimant un fichier de conf php. Réinstallation complète nécessaire. Comme je voulais également tester la virtu avec de l'open source, j'ai voulu séparer les services sur différents OS, c'est pour ca que j'ai choisi KVM (exactement comme VirtualBox mais on peut gérer les machines en CLI). J'ai également voulu un OS de base sous linux (Debian) pour mon onduleur qui peut envoyer des arrêts automatique sur perte secteur (marche pas avec un ESXi). Voilà pour le pourquoi.
    Pour le comment :
    Un RaidZ de tous mes disques, diviser ce poolRaidZ en 2, une partie pour mettre mes VMs (là je suis d'accord, créer une partition n'est pas vraiment nécessaire, jvai mettre reserv et quota à 100Go, comme ça je pourrai l'agrandir si besoin plus tard)
    Un zvol de 4000 Go pour mon partage. Pour tout t'avouer, c'est plus pour essayer et comprendre pourquoi ca marche pas que j'essai de mettre un pool sur mon zvol...
    Au final je pense faire comme ceci :
    poolRaidZ -> poolKVM avec quota+reservation (100Go) -> Mes VMs
    -----------> zvol vPoolShare (4000Go voir 5000) -> sera monté dans ma VM en tant que disque dur type block

    Ensuite, dans la VM, j'aurai donc un premier disque où sera installé l'OS + un disque de 4000 Go celui-ci soit je le formate en ext3 directement pour le partager sur le reseau (je vais voir si je fais ca avec samba ou autres, tous les clients accédant à ce partage devraient être sous windows)
    soit, dans ma VM, je fais un raid 0, j'ajoute le disque de 4000Go à ce raid 0 et je met le partage sur le raid 0
    En effet, il y a de fortes chances que le besoin de place pour le partage augmente, du coup j'ajouterai un disque de 3To à mon poolRaidZ, que je transformerai en zvol, et que j'intégrerai dans ma VM. Grace au Raid 0 je pense que je pourrai alors ajouter le disque de 3To à mes 4To actuels et ainsi augmenter la taille du partage. Ce ne serap as du Raid zfs car consommant trop, mais mdadm ou autres...
    Je n'ai pas encore fait mes recherches sur samba. Si il ne peut être ajouté que sur un disque je ferai du raid 0, si on peut spécifier plusieurs disques (plusieurs points de montage) alors je ne ferai pas de raid 0...


    Vois-tu l'idée?

    EDIT : Question subsidiaire qui n'a rien avoir avec mon infra : Un Root pool ca sert à quoi et dans quel cas l'utiliser?

  6. #6
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Par défaut
    Citation Envoyé par T3rm1nat0r Voir le message
    Comme je voulais également tester la virtu avec de l'open source, j'ai voulu séparer les services sur différents OS, c'est pour ca que j'ai choisi KVM (exactement comme VirtualBox mais on peut gérer les machines en CLI).
    Je n'ai rien contre KVM mais VirtualBox est aussi open source et on peut tout gérer en CLI.
    Pour tout t'avouer, c'est plus pour essayer et comprendre pourquoi ca marche pas que j'essai de mettre un pool sur mon zvol...
    Qu'est-ce qui ne marche pas, en dehors justement de mettre un zpool dans zvol (sur Linux) ?
    soit, dans ma VM, je fais un raid 0, j'ajoute le disque de 4000Go à ce raid 0 et je met le partage sur le raid 0
    En effet, il y a de fortes chances que le besoin de place pour le partage augmente, du coup j'ajouterai un disque de 3To à mon poolRaidZ, que je transformerai en zvol, et que j'intégrerai dans ma VM. Grace au Raid 0 je pense que je pourrai alors ajouter le disque de 3To à mes 4To actuels et ainsi augmenter la taille du partage. Ce ne serap as du Raid zfs car consommant trop, mais mdadm ou autres...
    Ce serait une configuration tordue.
    • Soit tu souhaites de la redondance et la sécurité des données qui va avec et tu ajoute un deuxième RAIDZ à ton premier (+3 disques) ou tu remplace les trois disques par des disques plus grands
    • Soit tu veux une config économique et tu fais directement de la concaténation dès le début (pool avec 4 disques puis ajout d'un nouveau disque). Si seulement une partie des données est critique, tu peux toujours les mettre dans un système de fichier avec "copies=2"

    Ca n'a pas de sens d'ajouter un disque simple en raid0 à une config en raidz.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. ZFS sous Mac ? Oui ou Non ?
    Par viviboss dans le forum Apple
    Réponses: 4
    Dernier message: 15/06/2007, 19h07
  2. Vos meilleures solutions wifi (mode infrastructure) ?
    Par hélios44 dans le forum Hardware
    Réponses: 7
    Dernier message: 16/02/2007, 09h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo