SlideShare une entreprise Scribd logo
1  sur  38
Télécharger pour lire hors ligne
HULK/THOR
                  Mehdi Sebbar - Juin 2012
                     mehdi@minet.net
                          MiNET




lundi 4 juin 12
RAPPELS SUR L’INFRASTRUCTURE MINET




                             MAJ 26/05: Opportunity sur le prod

lundi 4 juin 12
POURQUOI UN NAS ?
                    On veut stocker les disques des VMs
                  On veut stocker des données importantes




lundi 4 juin 12
POURQUOI UN NAS ?
                    On veut stocker les disques des VMs
                  On veut stocker des données importantes

                         En local                              NAS
                                                          High Availability (HA)
                                                            Migration à chaud
                   Pertes en cas de panne                Fiabilité (raid5, raidZ...)
                  Migration a chaud difficile   Possibilité de sauvegarder régulièrement
                                                 (snapshots, sync sur un autre NAS...)
                                               Techniques d’optimisation (compression,
                                                             deduplication...)
                                                     Partage plus fin des données




lundi 4 juin 12
Les acteurs


lundi 4 juin 12
HULK




lundi 4 juin 12
HULK




lundi 4 juin 12
HULK ?
                             Processeur : Athlon II X6 1055T
                                     Mémoire : 8Gb
                              Carte réseau : 3 cartes gigabit
                         Disques stockage : 5 x 2 To (5400 tr/min)
                          Disque système : 80 giga (7200 tr/min)

                  Sous NexentaStor community edition, dérivé de Solaris




lundi 4 juin 12
Unix crée par Sun microsystems
                       Réputé stable et fiable
                  Compatible avec les binaires Linux



lundi 4 juin 12
FEATURES
            Gestion des disques
                   ~LVM
                Filesystem            ZFS
             RAID ~ mdadm
                                     Zones     Containers ~ openVZ

              Virtual interfaces     Dtrace          Monitoring
                                                         Log
              Virtual switches
                    QOS
                                    Crossbow    existe sur *BSD, OSX




lundi 4 juin 12
Leader en Open Storage
                         «As a general term, open storage refers to storage systems built with
                  an open architecture using industry-standard hardware and open-source software.»

                              Contribue à OpenStack
                       NexantaStor = Opensolaris + Ubuntu
                        Optimisé NAS, iSCSI, Fiber Channel
                       Hulk : Community Edition, max 18To



lundi 4 juin 12
lundi 4 juin 12
lundi 4 juin 12
FEATURES
                  Transactionnel: robuste
                    pas besoin de fsck
                     Pools (volumes)
                           raidZ
                      Deduplication
                      Compression
                        Encryption
                        Snapshots
                          clones
                       send/receive
                          Shares
                         Quotas
lundi 4 juin 12
FEATURES
                  Transactionnel: robuste
                    pas besoin de fsck
                     Pools (volumes)
                           raidZ
                      Deduplication
                      Compression
                        Encryption
                        Snapshots
                          clones
                       send/receive
                          Shares
                         Quotas
lundi 4 juin 12
POOLS

                    FS      FS       FS       ZFS        ZFS         ZFS

                  Volume Volume Volume                storage pool

                  Disk 1   Disk 2   Disk 3   Disk 1      Vdev        file




lundi 4 juin 12
les disques physiques sont donnés par la
                  commande format ou dans /dev/dsk

                  Pool basique entre de 2 disques:
                  zpool create tank c1t0d0 c1t1d0

                  Exemple:

                  mkfile 100m /A
                  mkfile 100m /B
                  mkfile 100m /C
                  zpool create -f data /A /B
                  zpool status
                  zpool list
                  cp -r /etc/ssh /data
                  On veut ajouter un disque
                  zpool add -f data /C

lundi 4 juin 12
Mirror (raid1)
                  zpool create -f data mirror /A /B
                  On supprime un des disques:
                  zpool export data
                  mv /A /A.old
                  zpool import -d /B data
                  zpool status
                  On change le disque:
                  zpool replace -f data /A /C
                  raid 1+0
                  zpool create -f data mirror /A /B mirror /C /D


lundi 4 juin 12
RAIDZ ?




                  Problème du «RAID 5 write-hole»
                        On utilise ça à MiNET


lundi 4 juin 12
Exemple:
                  zpool create -f data raidz /A /B /C
                  df -h
                  zpool export data
                  cat /dev/urandom > /A
                  zpool import -d /B data
                  zpool status
                  zpool replace -f data /A /D

                  A chaud, pas de délais de reconstruction, pas de
                  coupure !




lundi 4 juin 12
DEDUPLICATION




                  Les données (fichiers, blocs, ou suites d’octets) sont checksummed grâce à une
                  fonction de hash qui permet de détecter avec une haute probabilité les redondances
                  Si on utilise un algorithme de hash fiable comme le SHA256, la probabilité de
                  collision est ~ 10^-77
                  Utile pour des données redondées comme les disques de VM
                  ZFS fait de la dedup au niveau bloc, en temps réel : nécessite CPU/RAM !
lundi 4 juin 12
Exemple:
                  zfs set dedup=on data
                  cp -r .mozilla/ /data/mo
                  cp -r .mozilla/ /data/mo2
                  cp -r .mozilla/ /data/mo3
                  df -h
                  zpool list




lundi 4 juin 12
ZFS DATASET

              On peut en créer autant qu’on veut sur un pool
              Pas besoin d’allouer ou de formater
              On utilise la commande zfs pour les administrer
              On peut donner des propriétés distinctes à chaque datasets


                                ZFS      ZFS         ZFS

                                      storage pool



lundi 4 juin 12
zfs create data/test
                  le dataset est monté automatiquement
                  zfs list
                  zfs rename data/test data/test_old
                  zfs get all data/test_old
                  On voit que le dataset hérite des propriétés du pool parent
                  zfs set dedup=off data/test_old
                  zfs get -r dedup data
                  zfs set compression=on data/test_old
                  zfs set quota=50G data/test_old
                  On peut faire des quotas par users et groups
                  zfs set sharenfs=rw data/test_old
                  attention aux droits (cf chown dans les references)
                  zfs destroy data/test_old

lundi 4 juin 12
SNAPSHOT




                  zfs snasphot pool/dataset@nom_du_snapshot
                  zfs list -t all
                  zfs rollback pool/dataset@nom_du_snapshot
                  zfs destroy pool/dataset@nom_du_snapshot
lundi 4 juin 12
THOR




lundi 4 juin 12
THOR




lundi 4 juin 12
THOR
           En cas de panne critique de Hulk, on a plus les disques de VMS
                        Comment récupérer les données ?




lundi 4 juin 12
THOR
           En cas de panne critique de Hulk, on a plus les disques de VMS
                        Comment récupérer les données ?

                   En synchronisant Hulk et Thor régulièrement.
                       Hulk                           Thor




lundi 4 juin 12
ZFS SEND / ZFS RECEIVE
          On envoie que des snapshots
          zfs snapshot data/test@20120530

          On envoie le snapshot dans un fichier:
          zfs send data/test@20120530 > file

          On peut même compresser !
          zfs send data/test@20120530 | gzip > file.gz

          Encrypter !
          zfs send data/test@20120530 | gzip | openssl enc -aes-256-cbc -a -salt > file.gz.ssl

          Et récupérer biensûr !
          zfs receive data/backup < file
          openssl enc -d -aes-256-cbc -a -in file.gz.ssl | gunzip | zfs receive data/backup

          Mais surtout pour envoyer sur Thor on utilise ssh !
          zfs send data/test@20120530 | ssh 192.168.102.140 zfs receive data/test

          Le premier send envoie tout le snapshot, il est donc long, ensuite on envoie des incréments:
          zfs send -i data/test@20120530 data/test@20120531 | ssh 192.168.102.140 zfs receive data/test

          Attention, le snapshot de destination doit etre en lecture seule: zfs set readonly=on data/test
lundi 4 juin 12
Le script de backup
                                 Sur Hulk tout les jours (cron)
                                 /root/scriptSync.py <dataset>




                  On vérifie la connexion vers Thor
                  On récupère le dernier snapshot du dataset snapPrecedent présent sur Thor
                  On crée sur Hulk un snapshot snap
                  On envoie l’incrément entre snapPrecedent et snap sur Thor via zfs send et ssh
                  On vérifie que le snapshot snap est présent sur Thor
                  On supprime les précédents snapshots sur Hulk sauf snap



lundi 4 juin 12
Le script de backup
                                 Sur Hulk tout les jours (cron)
                                 /root/scriptSync.py <dataset>
                               Hulk                                           Thor




                  On vérifie la connexion vers Thor
                  On récupère le dernier snapshot du dataset snapPrecedent présent sur Thor
                  On crée sur Hulk un snapshot snap
                  On envoie l’incrément entre snapPrecedent et snap sur Thor via zfs send et ssh
                  On vérifie que le snapshot snap est présent sur Thor
                  On supprime les précédents snapshots sur Hulk sauf snap



lundi 4 juin 12
NAPP-IT




lundi 4 juin 12
ÇA TOMBE EN PANNE
                  Si Hulk tombe en panne:

                  disque en panne: vérifier avec zpool status l’état
                  du raid Z, remplacer le disque (possible à chaud
                  mais vaut mieux éteindre Hulk)

                  Sinon: éteindre Hulk, désactiver readonly sur le
                  snapshot de Thor, activer les partages NFS,
                  changer les ips.




lundi 4 juin 12
ON PEUT AMÉLIORER QUOI ?

        Script de suppression auto des plus vieux snaps sur Thor
        Faire un script pour automatiser la transition Hulk->Thor
           Activer les interfaces virtuelles (crossbow), activer les partages
           NFS
        link aggregation sur Thor
        jumbo frames partout




lundi 4 juin 12
CE QUE L’ON A PAS ABORDÉ+FUN

                                 crossbow
                     openVZ + crossbow + ZFS = Zones
                  ZFS + DTrace + Zones + KVM = SmartOS
                         Freebsd + ZFS =    freenas
                   le mieux c’est solaris ! Openindiana




lundi 4 juin 12
LECTURE/RÉFÉRENCES
    Lecture:
    Le wiki
    The ZFS doc: http://docs.oracle.com/cd/E19082-01/817-2271/index.html
    Bonne doc: http://hub.opensolaris.org/bin/download/Community+Group+zfs/docs/zfslast.pdf
    ZFS send and receive: http://www.128bitstudios.com/2010/07/23/fun-with-zfs-send-and-receive/
    ZFS Deduplication: https://blogs.oracle.com/bonwick/entry/zfs_dedup
    http://www.zfsbuild.com/
    http://hub.opensolaris.org/bin/view/Project+crossbow/WebHome
    Probleme du write hole sur raid5: http://en.wikipedia.org/wiki/RAID_5_write_hole
    https://blogs.oracle.com/orasysat/entry/so_what_makes_zfs_so
    probleme de chown sur NFS: http://www.oracle.com/technetwork/database/clusterware/overview/
    thirdvoteonnfs-129371.pdf

    References:
    http://www.dataspan.com/uploads/images/de-duplication-sml.png
    http://cdn1.iconfinder.com/data/icons/database/PNG/128/Database_3.png
    http://www.picturesdepot.com/wallpapers/207155/davids+hulk.html
    http://ftp-admin.blogspot.co.uk/2011/11/raid-z.html



lundi 4 juin 12
lundi 4 juin 12

Contenu connexe

Tendances

Systèmes d'Exploitation - chp5-gestion fichiers
Systèmes d'Exploitation - chp5-gestion fichiersSystèmes d'Exploitation - chp5-gestion fichiers
Systèmes d'Exploitation - chp5-gestion fichiersLilia Sfaxi
 
Systèmes d'Exploitation - chp4-gestion disque
Systèmes d'Exploitation - chp4-gestion disqueSystèmes d'Exploitation - chp4-gestion disque
Systèmes d'Exploitation - chp4-gestion disqueLilia Sfaxi
 
Présentation unix linux
Présentation unix linuxPrésentation unix linux
Présentation unix linuxEmmanuel Florac
 
Annexe Big Data
Annexe Big DataAnnexe Big Data
Annexe Big DataAmal Abid
 
DEBUTER SOUS LINUX : GUIDE COMPLET
DEBUTER SOUS LINUX : GUIDE COMPLETDEBUTER SOUS LINUX : GUIDE COMPLET
DEBUTER SOUS LINUX : GUIDE COMPLETTaoufik AIT HSAIN
 
Cours Big Data Chap3
Cours Big Data Chap3Cours Big Data Chap3
Cours Big Data Chap3Amal Abid
 
TP1 Big Data - MapReduce
TP1 Big Data - MapReduceTP1 Big Data - MapReduce
TP1 Big Data - MapReduceAmal Abid
 
Installation hadoopv2.7.4-amal abid
Installation hadoopv2.7.4-amal abidInstallation hadoopv2.7.4-amal abid
Installation hadoopv2.7.4-amal abidAmal Abid
 
Mathias Herberts fait le retour d'expérience Hadoop au Crédit Mutuel Arkéa
Mathias Herberts fait le retour d'expérience Hadoop au Crédit Mutuel ArkéaMathias Herberts fait le retour d'expérience Hadoop au Crédit Mutuel Arkéa
Mathias Herberts fait le retour d'expérience Hadoop au Crédit Mutuel ArkéaModern Data Stack France
 
Cours linux complet
Cours linux completCours linux complet
Cours linux completaubin82
 
Linux et le temps réel - Meetup du 15 octobre 2015
Linux et le temps réel - Meetup du 15 octobre 2015Linux et le temps réel - Meetup du 15 octobre 2015
Linux et le temps réel - Meetup du 15 octobre 2015Christian Charreyre
 
HDFS HA : Stockage à haute disponibilité par Damien Hardy
HDFS HA : Stockage à haute disponibilité par Damien HardyHDFS HA : Stockage à haute disponibilité par Damien Hardy
HDFS HA : Stockage à haute disponibilité par Damien HardyOlivier DASINI
 
NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop pro...
NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop pro...NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop pro...
NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop pro...jihbed
 
Notes de cours et tp - Administation Systèmes
Notes de cours et tp  - Administation Systèmes Notes de cours et tp  - Administation Systèmes
Notes de cours et tp - Administation Systèmes Ikram Benabdelouahab
 
[Café Techno] Spectrum protect - Présentation des fonctionnalités
[Café Techno] Spectrum protect - Présentation des fonctionnalités[Café Techno] Spectrum protect - Présentation des fonctionnalités
[Café Techno] Spectrum protect - Présentation des fonctionnalitésGroupe D.FI
 

Tendances (20)

Systèmes d'Exploitation - chp5-gestion fichiers
Systèmes d'Exploitation - chp5-gestion fichiersSystèmes d'Exploitation - chp5-gestion fichiers
Systèmes d'Exploitation - chp5-gestion fichiers
 
Systèmes d'Exploitation - chp4-gestion disque
Systèmes d'Exploitation - chp4-gestion disqueSystèmes d'Exploitation - chp4-gestion disque
Systèmes d'Exploitation - chp4-gestion disque
 
Redis
RedisRedis
Redis
 
Spark
SparkSpark
Spark
 
Rar
RarRar
Rar
 
Présentation unix linux
Présentation unix linuxPrésentation unix linux
Présentation unix linux
 
Annexe Big Data
Annexe Big DataAnnexe Big Data
Annexe Big Data
 
DEBUTER SOUS LINUX : GUIDE COMPLET
DEBUTER SOUS LINUX : GUIDE COMPLETDEBUTER SOUS LINUX : GUIDE COMPLET
DEBUTER SOUS LINUX : GUIDE COMPLET
 
Cours Big Data Chap3
Cours Big Data Chap3Cours Big Data Chap3
Cours Big Data Chap3
 
TP1 Big Data - MapReduce
TP1 Big Data - MapReduceTP1 Big Data - MapReduce
TP1 Big Data - MapReduce
 
Initiation Linux
Initiation LinuxInitiation Linux
Initiation Linux
 
Installation hadoopv2.7.4-amal abid
Installation hadoopv2.7.4-amal abidInstallation hadoopv2.7.4-amal abid
Installation hadoopv2.7.4-amal abid
 
Mathias Herberts fait le retour d'expérience Hadoop au Crédit Mutuel Arkéa
Mathias Herberts fait le retour d'expérience Hadoop au Crédit Mutuel ArkéaMathias Herberts fait le retour d'expérience Hadoop au Crédit Mutuel Arkéa
Mathias Herberts fait le retour d'expérience Hadoop au Crédit Mutuel Arkéa
 
Cours linux complet
Cours linux completCours linux complet
Cours linux complet
 
Linux et le temps réel - Meetup du 15 octobre 2015
Linux et le temps réel - Meetup du 15 octobre 2015Linux et le temps réel - Meetup du 15 octobre 2015
Linux et le temps réel - Meetup du 15 octobre 2015
 
HDFS HA : Stockage à haute disponibilité par Damien Hardy
HDFS HA : Stockage à haute disponibilité par Damien HardyHDFS HA : Stockage à haute disponibilité par Damien Hardy
HDFS HA : Stockage à haute disponibilité par Damien Hardy
 
NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop pro...
NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop pro...NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop pro...
NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop pro...
 
Chapitre 2 hadoop
Chapitre 2 hadoopChapitre 2 hadoop
Chapitre 2 hadoop
 
Notes de cours et tp - Administation Systèmes
Notes de cours et tp  - Administation Systèmes Notes de cours et tp  - Administation Systèmes
Notes de cours et tp - Administation Systèmes
 
[Café Techno] Spectrum protect - Présentation des fonctionnalités
[Café Techno] Spectrum protect - Présentation des fonctionnalités[Café Techno] Spectrum protect - Présentation des fonctionnalités
[Café Techno] Spectrum protect - Présentation des fonctionnalités
 

En vedette

Erfolg Ausgabe Nr. 6 2015
Erfolg Ausgabe Nr. 6 2015Erfolg Ausgabe Nr. 6 2015
Erfolg Ausgabe Nr. 6 2015Roland Rupp
 
Tome 2 : Santé et social
Tome 2 : Santé et socialTome 2 : Santé et social
Tome 2 : Santé et socialparoles d'élus
 
3G Service für Zeitungs-Rotationsanlagen
3G Service für Zeitungs-Rotationsanlagen3G Service für Zeitungs-Rotationsanlagen
3G Service für Zeitungs-Rotationsanlagenchristiandunkel
 
UNIDAD DIDÁCTICA: EL HÁBITAT COMO DERECHO HUMANO
UNIDAD DIDÁCTICA: EL HÁBITAT COMO DERECHO HUMANOUNIDAD DIDÁCTICA: EL HÁBITAT COMO DERECHO HUMANO
UNIDAD DIDÁCTICA: EL HÁBITAT COMO DERECHO HUMANOMCarorivero
 
Recherche d'information en science politique
Recherche d'information en science politiqueRecherche d'information en science politique
Recherche d'information en science politiqueBiblioteky
 
Apresentação casa jardim 2 correta
Apresentação casa jardim 2 corretaApresentação casa jardim 2 correta
Apresentação casa jardim 2 corretaMad Mary
 
eTourisme : Lancez vous !
eTourisme : Lancez vous !eTourisme : Lancez vous !
eTourisme : Lancez vous !themagency
 
Evolution de la prise en charge des PPC dans les apnées du sommeil
Evolution de la prise en charge des PPC dans les apnées du sommeilEvolution de la prise en charge des PPC dans les apnées du sommeil
Evolution de la prise en charge des PPC dans les apnées du sommeilRESEAU MORPHEE
 
Wie man Negative scannt
Wie man Negative scanntWie man Negative scannt
Wie man Negative scanntScanCorner
 
Tome 1 : Tourisme culture
Tome 1 : Tourisme cultureTome 1 : Tourisme culture
Tome 1 : Tourisme cultureparoles d'élus
 
Ma ville .meknes
Ma ville   .meknesMa ville   .meknes
Ma ville .meknesmerico2
 
Evaluation CA 1 IPSS SPF Secu
Evaluation CA 1 IPSS SPF SecuEvaluation CA 1 IPSS SPF Secu
Evaluation CA 1 IPSS SPF SecuAmaury Legrain
 
Cafe Croissant Collaboratif Innovation et créativité
Cafe Croissant Collaboratif Innovation et créativitéCafe Croissant Collaboratif Innovation et créativité
Cafe Croissant Collaboratif Innovation et créativitéHélène Desliens
 
Album photo 304
Album photo 304Album photo 304
Album photo 304lio77
 
Purpose of Missionary Work FRENCH
Purpose of Missionary Work FRENCHPurpose of Missionary Work FRENCH
Purpose of Missionary Work FRENCHdearl1
 
Plénière de clôture des Rencontres Brive 2011 - On refait le match
Plénière de clôture des Rencontres Brive 2011 - On refait le matchPlénière de clôture des Rencontres Brive 2011 - On refait le match
Plénière de clôture des Rencontres Brive 2011 - On refait le matchR-Evolutions Touristiques de Brive
 
W4@md day2011
W4@md day2011W4@md day2011
W4@md day2011MDDAY11
 

En vedette (20)

Erfolg Ausgabe Nr. 6 2015
Erfolg Ausgabe Nr. 6 2015Erfolg Ausgabe Nr. 6 2015
Erfolg Ausgabe Nr. 6 2015
 
Tome 2 : Santé et social
Tome 2 : Santé et socialTome 2 : Santé et social
Tome 2 : Santé et social
 
3G Service für Zeitungs-Rotationsanlagen
3G Service für Zeitungs-Rotationsanlagen3G Service für Zeitungs-Rotationsanlagen
3G Service für Zeitungs-Rotationsanlagen
 
UNIDAD DIDÁCTICA: EL HÁBITAT COMO DERECHO HUMANO
UNIDAD DIDÁCTICA: EL HÁBITAT COMO DERECHO HUMANOUNIDAD DIDÁCTICA: EL HÁBITAT COMO DERECHO HUMANO
UNIDAD DIDÁCTICA: EL HÁBITAT COMO DERECHO HUMANO
 
Tome 3 : Éducation
Tome 3 : ÉducationTome 3 : Éducation
Tome 3 : Éducation
 
Recherche d'information en science politique
Recherche d'information en science politiqueRecherche d'information en science politique
Recherche d'information en science politique
 
Apresentação casa jardim 2 correta
Apresentação casa jardim 2 corretaApresentação casa jardim 2 correta
Apresentação casa jardim 2 correta
 
eTourisme : Lancez vous !
eTourisme : Lancez vous !eTourisme : Lancez vous !
eTourisme : Lancez vous !
 
Evolution de la prise en charge des PPC dans les apnées du sommeil
Evolution de la prise en charge des PPC dans les apnées du sommeilEvolution de la prise en charge des PPC dans les apnées du sommeil
Evolution de la prise en charge des PPC dans les apnées du sommeil
 
Wie man Negative scannt
Wie man Negative scanntWie man Negative scannt
Wie man Negative scannt
 
Tome 1 : Tourisme culture
Tome 1 : Tourisme cultureTome 1 : Tourisme culture
Tome 1 : Tourisme culture
 
Ma ville .meknes
Ma ville   .meknesMa ville   .meknes
Ma ville .meknes
 
Evaluation CA 1 IPSS SPF Secu
Evaluation CA 1 IPSS SPF SecuEvaluation CA 1 IPSS SPF Secu
Evaluation CA 1 IPSS SPF Secu
 
Cafe Croissant Collaboratif Innovation et créativité
Cafe Croissant Collaboratif Innovation et créativitéCafe Croissant Collaboratif Innovation et créativité
Cafe Croissant Collaboratif Innovation et créativité
 
Catalog Parchet Laminat HDM Elesgo Germania
Catalog Parchet Laminat HDM Elesgo GermaniaCatalog Parchet Laminat HDM Elesgo Germania
Catalog Parchet Laminat HDM Elesgo Germania
 
Album photo 304
Album photo 304Album photo 304
Album photo 304
 
2011 05 12 09-45 top_soft
2011 05 12 09-45 top_soft2011 05 12 09-45 top_soft
2011 05 12 09-45 top_soft
 
Purpose of Missionary Work FRENCH
Purpose of Missionary Work FRENCHPurpose of Missionary Work FRENCH
Purpose of Missionary Work FRENCH
 
Plénière de clôture des Rencontres Brive 2011 - On refait le match
Plénière de clôture des Rencontres Brive 2011 - On refait le matchPlénière de clôture des Rencontres Brive 2011 - On refait le match
Plénière de clôture des Rencontres Brive 2011 - On refait le match
 
W4@md day2011
W4@md day2011W4@md day2011
W4@md day2011
 

Similaire à Présentation NAS - MiNET

NOTES DE BIG DATA L 3 INFO DUS 2024.pptx
NOTES DE BIG DATA L 3 INFO DUS 2024.pptxNOTES DE BIG DATA L 3 INFO DUS 2024.pptx
NOTES DE BIG DATA L 3 INFO DUS 2024.pptxEddySHANGA
 
stokage des donnes sur resuax stokage des donnes sur resuax
stokage des donnes sur resuax stokage des donnes sur resuaxstokage des donnes sur resuax stokage des donnes sur resuax
stokage des donnes sur resuax stokage des donnes sur resuaxdahbi2abdo
 
Big Data : SQL, NoSQL ? Pourquoi faire un choix ?
Big Data : SQL, NoSQL ? Pourquoi faire un choix ?Big Data : SQL, NoSQL ? Pourquoi faire un choix ?
Big Data : SQL, NoSQL ? Pourquoi faire un choix ?Microsoft Décideurs IT
 
PerfUG - Hadoop Performances
PerfUG - Hadoop PerformancesPerfUG - Hadoop Performances
PerfUG - Hadoop PerformancesSofian Djamaa
 
Install arch ultrabook full luks ssd
Install arch ultrabook full luks ssdInstall arch ultrabook full luks ssd
Install arch ultrabook full luks ssdAnthony Le Goff
 
Cours Big Data Chap2
Cours Big Data Chap2Cours Big Data Chap2
Cours Big Data Chap2Amal Abid
 
SQL Server et infrastructure
SQL Server et infrastructureSQL Server et infrastructure
SQL Server et infrastructureDavid Barbarin
 
Accès concurrents et scalabilité
Accès concurrents et scalabilitéAccès concurrents et scalabilité
Accès concurrents et scalabilitéJérôme Vieilledent
 
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...Jérôme Petazzoni
 
ICT Journal - Dossier déduplication
ICT Journal - Dossier déduplicationICT Journal - Dossier déduplication
ICT Journal - Dossier déduplicationschene
 
Docker en Production (Docker Paris)
Docker en Production (Docker Paris)Docker en Production (Docker Paris)
Docker en Production (Docker Paris)Jérôme Petazzoni
 
380768495-admin-linux-Sauvegarde-et-restauration-cours-4-1-ppt.ppt
380768495-admin-linux-Sauvegarde-et-restauration-cours-4-1-ppt.ppt380768495-admin-linux-Sauvegarde-et-restauration-cours-4-1-ppt.ppt
380768495-admin-linux-Sauvegarde-et-restauration-cours-4-1-ppt.ppthidaeli2001
 
Hadoop Introduction in Paris
Hadoop Introduction in ParisHadoop Introduction in Paris
Hadoop Introduction in ParisTed Drake
 
11h35 in2 p3_dominique_boutigny
11h35 in2 p3_dominique_boutigny11h35 in2 p3_dominique_boutigny
11h35 in2 p3_dominique_boutignystephanfrancois
 

Similaire à Présentation NAS - MiNET (20)

Exchange Stockage : Mythes et Réalités
Exchange Stockage : Mythes et RéalitésExchange Stockage : Mythes et Réalités
Exchange Stockage : Mythes et Réalités
 
Raid tuto
Raid tutoRaid tuto
Raid tuto
 
NOTES DE BIG DATA L 3 INFO DUS 2024.pptx
NOTES DE BIG DATA L 3 INFO DUS 2024.pptxNOTES DE BIG DATA L 3 INFO DUS 2024.pptx
NOTES DE BIG DATA L 3 INFO DUS 2024.pptx
 
Présentation1.pptx
Présentation1.pptxPrésentation1.pptx
Présentation1.pptx
 
stokage des donnes sur resuax stokage des donnes sur resuax
stokage des donnes sur resuax stokage des donnes sur resuaxstokage des donnes sur resuax stokage des donnes sur resuax
stokage des donnes sur resuax stokage des donnes sur resuax
 
Big Data : SQL, NoSQL ? Pourquoi faire un choix ?
Big Data : SQL, NoSQL ? Pourquoi faire un choix ?Big Data : SQL, NoSQL ? Pourquoi faire un choix ?
Big Data : SQL, NoSQL ? Pourquoi faire un choix ?
 
PerfUG - Hadoop Performances
PerfUG - Hadoop PerformancesPerfUG - Hadoop Performances
PerfUG - Hadoop Performances
 
Install arch ultrabook full luks ssd
Install arch ultrabook full luks ssdInstall arch ultrabook full luks ssd
Install arch ultrabook full luks ssd
 
Cours Big Data Chap2
Cours Big Data Chap2Cours Big Data Chap2
Cours Big Data Chap2
 
SQL Server et infrastructure
SQL Server et infrastructureSQL Server et infrastructure
SQL Server et infrastructure
 
Accès concurrents et scalabilité
Accès concurrents et scalabilitéAccès concurrents et scalabilité
Accès concurrents et scalabilité
 
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
 
Presentation Ceph
Presentation CephPresentation Ceph
Presentation Ceph
 
Présentation Ceph
Présentation CephPrésentation Ceph
Présentation Ceph
 
ICT Journal - Dossier déduplication
ICT Journal - Dossier déduplicationICT Journal - Dossier déduplication
ICT Journal - Dossier déduplication
 
Docker en Production (Docker Paris)
Docker en Production (Docker Paris)Docker en Production (Docker Paris)
Docker en Production (Docker Paris)
 
Exchange 2013 Bonnes pratiques
Exchange 2013 Bonnes pratiques Exchange 2013 Bonnes pratiques
Exchange 2013 Bonnes pratiques
 
380768495-admin-linux-Sauvegarde-et-restauration-cours-4-1-ppt.ppt
380768495-admin-linux-Sauvegarde-et-restauration-cours-4-1-ppt.ppt380768495-admin-linux-Sauvegarde-et-restauration-cours-4-1-ppt.ppt
380768495-admin-linux-Sauvegarde-et-restauration-cours-4-1-ppt.ppt
 
Hadoop Introduction in Paris
Hadoop Introduction in ParisHadoop Introduction in Paris
Hadoop Introduction in Paris
 
11h35 in2 p3_dominique_boutigny
11h35 in2 p3_dominique_boutigny11h35 in2 p3_dominique_boutigny
11h35 in2 p3_dominique_boutigny
 

Présentation NAS - MiNET

  • 1. HULK/THOR Mehdi Sebbar - Juin 2012 mehdi@minet.net MiNET lundi 4 juin 12
  • 2. RAPPELS SUR L’INFRASTRUCTURE MINET MAJ 26/05: Opportunity sur le prod lundi 4 juin 12
  • 3. POURQUOI UN NAS ? On veut stocker les disques des VMs On veut stocker des données importantes lundi 4 juin 12
  • 4. POURQUOI UN NAS ? On veut stocker les disques des VMs On veut stocker des données importantes En local NAS High Availability (HA) Migration à chaud Pertes en cas de panne Fiabilité (raid5, raidZ...) Migration a chaud difficile Possibilité de sauvegarder régulièrement (snapshots, sync sur un autre NAS...) Techniques d’optimisation (compression, deduplication...) Partage plus fin des données lundi 4 juin 12
  • 8. HULK ? Processeur : Athlon II X6 1055T Mémoire : 8Gb Carte réseau : 3 cartes gigabit Disques stockage : 5 x 2 To (5400 tr/min) Disque système : 80 giga (7200 tr/min) Sous NexentaStor community edition, dérivé de Solaris lundi 4 juin 12
  • 9. Unix crée par Sun microsystems Réputé stable et fiable Compatible avec les binaires Linux lundi 4 juin 12
  • 10. FEATURES Gestion des disques ~LVM Filesystem ZFS RAID ~ mdadm Zones Containers ~ openVZ Virtual interfaces Dtrace Monitoring Log Virtual switches QOS Crossbow existe sur *BSD, OSX lundi 4 juin 12
  • 11. Leader en Open Storage «As a general term, open storage refers to storage systems built with an open architecture using industry-standard hardware and open-source software.» Contribue à OpenStack NexantaStor = Opensolaris + Ubuntu Optimisé NAS, iSCSI, Fiber Channel Hulk : Community Edition, max 18To lundi 4 juin 12
  • 14. FEATURES Transactionnel: robuste pas besoin de fsck Pools (volumes) raidZ Deduplication Compression Encryption Snapshots clones send/receive Shares Quotas lundi 4 juin 12
  • 15. FEATURES Transactionnel: robuste pas besoin de fsck Pools (volumes) raidZ Deduplication Compression Encryption Snapshots clones send/receive Shares Quotas lundi 4 juin 12
  • 16. POOLS FS FS FS ZFS ZFS ZFS Volume Volume Volume storage pool Disk 1 Disk 2 Disk 3 Disk 1 Vdev file lundi 4 juin 12
  • 17. les disques physiques sont donnés par la commande format ou dans /dev/dsk Pool basique entre de 2 disques: zpool create tank c1t0d0 c1t1d0 Exemple: mkfile 100m /A mkfile 100m /B mkfile 100m /C zpool create -f data /A /B zpool status zpool list cp -r /etc/ssh /data On veut ajouter un disque zpool add -f data /C lundi 4 juin 12
  • 18. Mirror (raid1) zpool create -f data mirror /A /B On supprime un des disques: zpool export data mv /A /A.old zpool import -d /B data zpool status On change le disque: zpool replace -f data /A /C raid 1+0 zpool create -f data mirror /A /B mirror /C /D lundi 4 juin 12
  • 19. RAIDZ ? Problème du «RAID 5 write-hole» On utilise ça à MiNET lundi 4 juin 12
  • 20. Exemple: zpool create -f data raidz /A /B /C df -h zpool export data cat /dev/urandom > /A zpool import -d /B data zpool status zpool replace -f data /A /D A chaud, pas de délais de reconstruction, pas de coupure ! lundi 4 juin 12
  • 21. DEDUPLICATION Les données (fichiers, blocs, ou suites d’octets) sont checksummed grâce à une fonction de hash qui permet de détecter avec une haute probabilité les redondances Si on utilise un algorithme de hash fiable comme le SHA256, la probabilité de collision est ~ 10^-77 Utile pour des données redondées comme les disques de VM ZFS fait de la dedup au niveau bloc, en temps réel : nécessite CPU/RAM ! lundi 4 juin 12
  • 22. Exemple: zfs set dedup=on data cp -r .mozilla/ /data/mo cp -r .mozilla/ /data/mo2 cp -r .mozilla/ /data/mo3 df -h zpool list lundi 4 juin 12
  • 23. ZFS DATASET On peut en créer autant qu’on veut sur un pool Pas besoin d’allouer ou de formater On utilise la commande zfs pour les administrer On peut donner des propriétés distinctes à chaque datasets ZFS ZFS ZFS storage pool lundi 4 juin 12
  • 24. zfs create data/test le dataset est monté automatiquement zfs list zfs rename data/test data/test_old zfs get all data/test_old On voit que le dataset hérite des propriétés du pool parent zfs set dedup=off data/test_old zfs get -r dedup data zfs set compression=on data/test_old zfs set quota=50G data/test_old On peut faire des quotas par users et groups zfs set sharenfs=rw data/test_old attention aux droits (cf chown dans les references) zfs destroy data/test_old lundi 4 juin 12
  • 25. SNAPSHOT zfs snasphot pool/dataset@nom_du_snapshot zfs list -t all zfs rollback pool/dataset@nom_du_snapshot zfs destroy pool/dataset@nom_du_snapshot lundi 4 juin 12
  • 28. THOR En cas de panne critique de Hulk, on a plus les disques de VMS Comment récupérer les données ? lundi 4 juin 12
  • 29. THOR En cas de panne critique de Hulk, on a plus les disques de VMS Comment récupérer les données ? En synchronisant Hulk et Thor régulièrement. Hulk Thor lundi 4 juin 12
  • 30. ZFS SEND / ZFS RECEIVE On envoie que des snapshots zfs snapshot data/test@20120530 On envoie le snapshot dans un fichier: zfs send data/test@20120530 > file On peut même compresser ! zfs send data/test@20120530 | gzip > file.gz Encrypter ! zfs send data/test@20120530 | gzip | openssl enc -aes-256-cbc -a -salt > file.gz.ssl Et récupérer biensûr ! zfs receive data/backup < file openssl enc -d -aes-256-cbc -a -in file.gz.ssl | gunzip | zfs receive data/backup Mais surtout pour envoyer sur Thor on utilise ssh ! zfs send data/test@20120530 | ssh 192.168.102.140 zfs receive data/test Le premier send envoie tout le snapshot, il est donc long, ensuite on envoie des incréments: zfs send -i data/test@20120530 data/test@20120531 | ssh 192.168.102.140 zfs receive data/test Attention, le snapshot de destination doit etre en lecture seule: zfs set readonly=on data/test lundi 4 juin 12
  • 31. Le script de backup Sur Hulk tout les jours (cron) /root/scriptSync.py <dataset> On vérifie la connexion vers Thor On récupère le dernier snapshot du dataset snapPrecedent présent sur Thor On crée sur Hulk un snapshot snap On envoie l’incrément entre snapPrecedent et snap sur Thor via zfs send et ssh On vérifie que le snapshot snap est présent sur Thor On supprime les précédents snapshots sur Hulk sauf snap lundi 4 juin 12
  • 32. Le script de backup Sur Hulk tout les jours (cron) /root/scriptSync.py <dataset> Hulk Thor On vérifie la connexion vers Thor On récupère le dernier snapshot du dataset snapPrecedent présent sur Thor On crée sur Hulk un snapshot snap On envoie l’incrément entre snapPrecedent et snap sur Thor via zfs send et ssh On vérifie que le snapshot snap est présent sur Thor On supprime les précédents snapshots sur Hulk sauf snap lundi 4 juin 12
  • 34. ÇA TOMBE EN PANNE Si Hulk tombe en panne: disque en panne: vérifier avec zpool status l’état du raid Z, remplacer le disque (possible à chaud mais vaut mieux éteindre Hulk) Sinon: éteindre Hulk, désactiver readonly sur le snapshot de Thor, activer les partages NFS, changer les ips. lundi 4 juin 12
  • 35. ON PEUT AMÉLIORER QUOI ? Script de suppression auto des plus vieux snaps sur Thor Faire un script pour automatiser la transition Hulk->Thor Activer les interfaces virtuelles (crossbow), activer les partages NFS link aggregation sur Thor jumbo frames partout lundi 4 juin 12
  • 36. CE QUE L’ON A PAS ABORDÉ+FUN crossbow openVZ + crossbow + ZFS = Zones ZFS + DTrace + Zones + KVM = SmartOS Freebsd + ZFS = freenas le mieux c’est solaris ! Openindiana lundi 4 juin 12
  • 37. LECTURE/RÉFÉRENCES Lecture: Le wiki The ZFS doc: http://docs.oracle.com/cd/E19082-01/817-2271/index.html Bonne doc: http://hub.opensolaris.org/bin/download/Community+Group+zfs/docs/zfslast.pdf ZFS send and receive: http://www.128bitstudios.com/2010/07/23/fun-with-zfs-send-and-receive/ ZFS Deduplication: https://blogs.oracle.com/bonwick/entry/zfs_dedup http://www.zfsbuild.com/ http://hub.opensolaris.org/bin/view/Project+crossbow/WebHome Probleme du write hole sur raid5: http://en.wikipedia.org/wiki/RAID_5_write_hole https://blogs.oracle.com/orasysat/entry/so_what_makes_zfs_so probleme de chown sur NFS: http://www.oracle.com/technetwork/database/clusterware/overview/ thirdvoteonnfs-129371.pdf References: http://www.dataspan.com/uploads/images/de-duplication-sml.png http://cdn1.iconfinder.com/data/icons/database/PNG/128/Database_3.png http://www.picturesdepot.com/wallpapers/207155/davids+hulk.html http://ftp-admin.blogspot.co.uk/2011/11/raid-z.html lundi 4 juin 12