Un cours (4 h) et un TD (3 h) sur les systèmes de fichiers et ZFS : le support de cours, le sujet des travaux pratiques, et les machines virtuelles qui les accompagnent.
Supports
Les travaux pratiques se font dans une machine virtuelle FreeBSD, livrée en appliance VirtualBox (format OVA, deux disques : le système et le disque de manœuvre). La seconde image est la plus récente et suffit ; la première n'est gardée que pour les séances qui s'appuyaient dessus.
- Machine virtuelle (avril 2022) ZFS_Training_13.ova 1,3 Gio
- Machine virtuelle (novembre 2022) ZFS_Training_13_1.ova 1,4 Gio
Historique
| Année | Événement |
|---|---|
| 2001 | Début du projet par deux ingénieurs de Sun Microsystems |
| 2005 | Diffusion du code source dans OpenSolaris (license CDDL) |
| 2006 | Début du portage sous Linux via FUSE incompatibilité déclarée entre la licence CDDL et GPL |
| 2007 | Apple commence son portage sous Mac OS X |
| 2007 | NetApp attaque Sun pour violation de patente (WAFL) |
| 2008 | ZFS est intégré FreeBSD 7.0 |
| 2008 | Début d'un portage native sous Linux (ZFS-on-Linux) |
| 2009 | Rachat de Sun Microsystems par Oracle |
| 2009 | Apple arrête l'intégration de ZFS à OS X le projet MacZFS continue à développer le code |
| 2010 | OpenSolaris est arrêté par Oracle le développement de ZFS continue de façon fermée |
| 2010 | Illumos, un fork d'OpenSolaris est créé par la communauté le développement continue sous license CDDL les portages de ZFS se basent sur la version d'Illumos |
| 2012 | Introduction de feature-flags(fin des numéros de version) facilite l'évolution du format sur-disque |
| 2013 | Prototype de ZFS pour Mac OS X, basé sur ZFS-on-Linux MacZFS va progressivement céder la place |
| 2013 | Début du projet OpenZFS coordonne le développement et le partage du code entre Illumos et les ports sur les différentes plateformes |
| 2016 | Ubuntu 16.04 inclut par défault ZFS-on-Linux |
| 2019 | FreeBSD rebase son code ZFS de Illumos vers ZFS-on-Linux |
Exemples
Revenir à un checkpoint
# Import the pool read-only until the checkpoint zpool import -o readonly=on --rewind-to-checkpoint tank # Rewind the pool to the checkpoint, destroying data zpool import --rewind-to-checkpoint tank
Envoi incrémental et reprise après interruption
# Envoi un flux incremental de @yesterday a @today, incluant # les snapshots intermédiaires, sur la machine ’remote-host’ # En cas d’erreur de transmission les données sont conservées zfs send -I @yesterday tank/data@today | ssh remote-host zfs recv -s pool/backup # La connection réseau a été interompue, récupère # le jeton permettant de reprendre la transmission token=$(zfs get -Hp receive_resume_token pool/backup | cut -f3) # Poursuite de la transmission à partir des informations # contenues dans le jeton zfs send -t $token | ssh remote-host zfs recv -s pool/backup # Ou suppression des données partiellement transferees # si l’on ne souhaite pas poursuivre zfs recv -A pool/backup