Skip to content

Installation de ZFS pour LXC sur une machine Debian Jessie 64-bits

Notifications You must be signed in to change notification settings

ClubCedille/zfs-vagrant

Repository files navigation

ZFS installation sur debian jessie avec Ansible

Configuration

le script ansible est supposé de créer un pool zfs raidz sur les trois disques dur générés par vagrant. Les pool devraient être compressé et dedupliqué Ensuite, le script doit changer le dossier pour stocker les containeurs lxc vers le pool zfs. Pour tester, le script va créer 2 conteneurs de Débian pour voir si la compression et la déduplication fonctionnent

Prévu de fonctionner sur Debian jessie amd64

Prérequis sur la machine hôte

  • vagrant
  • ansible 2.2

Pour démarer le setup

Dans le dossier du projet, exécuter vagrant up

Réseau

Réseau NAT

Variables

Les variables se trouvent dans ./group_vars/all et dans ./roles/pool-creation/vars/main.yml

Vagrant

Voici comment les disques dur sont générés (les disques dur sont stockés dans ./hd)

  config.vm.provider "virtualbox" do |vb|

    sdb = './hd/sdb.vdi'  
    sdc = './hd/sdc.vdi'  
    sdd = './hd/sdd.vdi'  

    hdDirectory = 'hd'
    hdSize = 10

    #creation du dossier si il nexiste pas

    if not Dir.exists?(hdDirectory)
      Dir.mkdir(hdDirectory)
    end

    if not File.exists?(sdb)  
        #le lien pour la documentation 
        #https://www.virtualbox.org/manual/ch08.html#vboxmanage-createvdi
        vb.customize ['createhd', '--filename', sdb, '--variant', 'Standard', '--size', hdSize*1024]
    end  


    if not File.exists?(sdc)  
        vb.customize ['createhd', '--filename', sdc, '--variant', 'Standard', '--size', hdSize*1024]
    end  

    if not File.exists?(sdd)  
        vb.customize ['createhd', '--filename', sdd, '--variant', 'Standard', '--size', hdSize*1024]

        

        # Attaching the disks using the default SATA controller via the filepath
        # https://www.virtualbox.org/manual/ch08.html#vboxmanage-storageattach
        vb.customize ['storageattach', :id,  '--storagectl', 'SATA Controller', '--port', 1, '--device', 0, '--type', 'hdd', '--medium', sdb]
        vb.customize ['storageattach', :id,  '--storagectl', 'SATA Controller', '--port', 2, '--device', 0, '--type', 'hdd', '--medium', sdc]
        vb.customize ['storageattach', :id,  '--storagectl', 'SATA Controller', '--port', 3, '--device', 0, '--type', 'hdd', '--medium', sdd]
    end  
  end

Configuration après installation

ZFS

root@jessie:~# zfs list
NAME           USED  AVAIL  REFER  MOUNTPOINT
zfs-pool      99.9K  19.2G  24.0K  /zfs-pool
zfs-pool/lxd  24.0K  19.2G  24.0K  /zfs-pool/lxd
------------------------------------------------
root@jessie:~# zpool list
NAME       SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
zfs-pool  29.8G   198K  29.7G         -     0%     0%  1.00x  ONLINE  -
------------------------------------------------
root@jessie:~# zfs get compression 
NAME          PROPERTY     VALUE     SOURCE
zfs-pool      compression  off       default
zfs-pool/lxd  compression  on        local
------------------------------------------------
root@jessie:~# zfs get dedup
NAME          PROPERTY  VALUE          SOURCE
zfs-pool      dedup     on             local
zfs-pool/lxd  dedup     on             local

Possibilité d'avoir plusieur dataset dans le pool zfs, non affichés ici.

LXC Après installation

root@jessie:~# zpool list
NAME       SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
zfs-pool  29.8G   260M  29.5G         -     0%     0%  2.03x  ONLINE  -
root@jessie:~# zfs list
NAME           USED  AVAIL  REFER  MOUNTPOINT
zfs-pool       341M  19.0G  24.0K  /zfs-pool
zfs-pool/lxc   336M  19.0G   336M  /zfs-pool/lxc
root@jessie:~# zfs get compressratio 
NAME          PROPERTY       VALUE  SOURCE
zfs-pool      compressratio  1.75x  -
zfs-pool/lxc  compressratio  1.75x  -

Ici, on peut voir que les fichiers des conteneurs sont compressés et qu'ils sont dédupliqués. Possibilité d'avoir plusieur dataset dans le pool zfs, non affichés ici.

About

Installation de ZFS pour LXC sur une machine Debian Jessie 64-bits

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published