Bonjour à tous, aujourd'hui, nous allons configurer Ubuntu sur un fichier racine ZFS natif qui est un système de fichiers avancé et un gestionnaire de volumes logiques conçu pour surmonter bon nombre des problèmes majeurs rencontrés dans les conceptions précédentes conçues par Sun Microsystems. Les principales caractéristiques de ZFS incluent ses performances avec l'intégrité des données qui inclut la somme de contrôle des données pour fournir une protection contre la corruption. ZFS tente automatiquement de corriger les erreurs lorsque la redondance des données est disponible. ZFS prend en charge des capacités de stockage élevées et une compression efficace des données avec des périphériques de stockage de pool physique qui sont ajoutés à un pool, et l'espace de stockage est alloué à partir de ce pool partagé.
Prérequis système de base
Dans cette configuration, nous utiliserons ZFS sur un environnement Ubuntu 14.04 64 bits installé comme base avec les spécifications et versions suivantes.
- Système d'exploitation :Ubuntu 14.04.1 LTS x86_64
- installation grub (GRUB) 2.02~beta2-9ubuntu1.3
- spl-dkms 0.6.4-2~utopique
- zfs-dkms 0.6.4-3~utopique
- zfs-initramfs 0.6.4-3~utopique
- Taille de disque/partition libre 10 Go
- Mémoire utilisée recommandée :4 Go
- Nombre de cœurs utilisés 2 GHz
Configuration de l'installation de ZFS
Nous allons commencer la configuration de l'installation de ZFS sur un système d'exploitation Ubuntu 14.04 déjà installé avec 10 Go d'espace libre dessus. Nous devons nous connecter avec l'utilisateur root pour effectuer toutes ces étapes.
Ajout d'un référentiel ZFS
Avant de pouvoir commencer à utiliser ZFS, nous devons l'installer. Ajoutez simplement le référentiel à apt-get avec la commande suivante :
root@ubuntu-14:~# apt-add-repository --yes ppa:zfs-native/stable
Mise à jour du système avec installation ZFS
Ici, nous devons mettre à jour le système d'exploitation avec un nouveau référentiel, puis nous commencerons son installation avec apt-get.
root@ubuntu-14:~#apt-get update
root@ubuntu-14:~#apt-get install debootstrap ubuntu-zfs
L'installation des packages prendra un certain temps lors de la compilation des modules du noyau.
zfs-initramfs est nécessaire pour placer les utilitaires ZFS de gestion des systèmes de fichiers ZFS dans les images de démarrage initramfs.
root@ubuntu-14:~#apt-get install zfs-initramfs
Vérification des modules ZFS
En utilisant les commandes suivantes, nous allons d'abord charger les modules zfs, puis vérifier s'ils existent ou non.
Partitionnement de disque pour ZFS
Notre table de partitions sera la suivante pour une disposition de pool vdev unique, où sda2 sera utilisé pour la racine zfs.
Création d'un pool racine
Nous allons maintenant créer le pool racine en utilisant /dev/sda*. Comme alternative, vous pouvez également le créer en utilisant les liens /dev/disk/by-id pour créer le pool.
root@ubuntu-14:~# mke2fs -m 0 -L /boot/grub -j /dev/sda2
root@ubuntu-14:~# zpool create -o ashift=9 rpool /dev/sda2
Nous avons créé le rpool que nous pouvons vérifier via la commande zpool list.
Création de l'ensemble de données racine et de l'installation du système de base
Ici, nous créons le jeu de données racine, puis l'exportons et l'importons à nouveau en utilisant -d /dev/sda2
root@ubuntu-14:~# zfs create rpool/ROOT
root@ubuntu-14:~# zfs create rpool/ROOT/ubuntu-1
root@ubuntu-14:~# zfs umount -a
root@ubuntu-14:~# zfs set mountpoint=/ rpool/ROOT/ubuntu-1
root@ubuntu-14:~# zpool export rpool
root@ubuntu-14:~# zpool import -d /dev/sda2 -R /mnt rpool
Montez maintenant le système de fichiers de démarrage pour GRUB que nous avions créé à l'étape précédente.
root@ubuntu-14:~# mkdir -p /mnt/boot/grub
root@ubuntu-14:~# mount /dev/sda2 /mnt/boot/grub
root@ubuntu-14:~# debootstrap trusty /mnt
La commande debootstrap laisse le nouveau système dans un état non configuré que nous ferons avec ses configurations minimales dans la prochaine.
Après l'achèvement réussi du debootstrap, nous recevons le message d'installation réussie du système de base, maintenant après avoir exécuté les commandes suivantes, nous mettrons à jour le système après avoir généré les paramètres régionaux comme suit.
root@ubuntu-14:~# cp /etc/hostname /mnt/etc/
root@ubuntu-14:~# cp /etc/hosts /mnt/etc/
root@ubuntu-14:~# mount --bind /dev /mnt/dev
root@ubuntu-14:~# mount --bind /proc /mnt/proc
root@ubuntu-14:~# mount --bind /sys /mnt/sys
root@ubuntu-14:~# chroot /mnt /bin/bash --login
root@ubuntu-14:/# locale-gen en_US.UTF-8
Nous avons donc créé des systèmes de fichiers virtuels dans l'environnement visible par le nouveau système et installé le support PPA dans l'environnement chroot avec la commande chroot.
Installation d'Ubuntu et des packages natifs
Le package ubuntu-minimal est requis pour utiliser ZFS sur Linux tel qu'il est fourni dans le PPA. Installons ZFS dans l'environnement chroot pour le nouveau système en exécutant les commandes suivantes.
root@ubuntu-14:/# apt-get install ubuntu-minimal software-properties-common
root@ubuntu-14:/# apt-add-repository --yes ppa:zfs-native/stable
root@ubuntu-14:/# apt-add-repository --yes ppa:zfs-native/grub < - See below note on this command
root@ubuntu-14:/# apt-get update
root@ubuntu-14:/# apt-get install --no-install-recommends linux-image-generic linux-headers-generic
root@ubuntu-14:/# apt-get dist-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Génération d'une nouvelle configuration grub
root@ubuntu-14:/# grub-probe /
zfs
root@ubuntu-14:~# ls /boot/grub/i386-pc/zfs*
/boot/grub/i386-pc/zfs.mod /boot/grub/i386-pc/zfscrypt.mod /boot/grub/i386-pc/zfsinfo.mod
root@ubuntu-14:~#
root@ubuntu-14:~# update-initramfs -c -k all
update-initramfs: Generating /boot/initrd.img-3.13.0-24-generic
Vérification de l'entrée racine correcte
root@ubuntu-14:~# grep "boot=zfs" /boot/grub/grub.cfg
linux /ROOT/ubuntu-1@/boot/vmlinuz-3.13.0-24-generic root=ZFS=rpool/ROOT/ubuntu-1 ro boot=zfs
linux /ROOT/ubuntu-1@/boot/vmlinuz-3.13.0-24-generic root=ZFS=rpool/ROOT/ubuntu-1 ro boot=zfs
root@ubuntu-14:~# grep zfs /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="boot=zfs"
Mettre à jour Grub
Mettez à jour grub pour autoriser le menu de démarrage zfs généré automatiquement avec la commande update-grub.
root@ubuntu-14:~# update-grub
Generating grub configuration file ...
Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported.
Found linux image: /boot/vmlinuz-3.13.0-24-generic
Found initrd image: /boot/initrd.img-3.13.0-24-generic
done
Installez le chargeur de démarrage sur le MBR avec la commande ci-dessous et assurez-vous que vous obtenez le message d'installation terminée. Le lien de lecture est requis car les versions récentes de GRUB ne suppriment pas les liens symboliques.
root@ubuntu-14:~# grub-install $(readlink -f /dev/sda)
Installing for i386-pc platform.
Installation finished. No error reported.
Maintenant, quittez l'environnement chroot pour revenir à l'environnement de base et démontez de tous les systèmes de fichiers s'ils sont connectés.
Confirmation ZFS
Nous avions terminé avec toute sa configuration maintenant, vérifiez avec la commande df pour la confirmation de rpool.
Quelques problèmes connus
Au cours de cette configuration, vous pourriez rencontrer des problèmes avec le démarrage ZFS que vous pouvez éviter en utilisant les procédures suivantes.
Créer un instantané
Vous devez créer un instantané ZFS pouvant être utilisé comme environnement de secours après son premier démarrage. Vous pouvez utiliser la commande suivante pour prendre un instantané ZFS en tant que.
root@ubuntu-14:~# apt-get clean
root@ubuntu-14:~# zfs snapshot rpool/ROOT/ubuntu1
Problème Grub
Parfois, Grub n'affiche pas le menu de démarrage ou affiche l'erreur "système de fichiers inconnu". Cela peut être dû au fait que grub ne peut pas lire le pool zfs ou que sa cause possible est que vous avez précédemment déconnecté certains vdev. Pour récupérer de cela, nous devons faire deux choses.
- Supprimer/déconnecter les disques hors ligne
- En utilisant la méthode Live CD, vous pouvez démarrer à partir de votre installation ext4
- Ou faites en ligne les disques, ou supprimez le disque hors ligne et ajoutez-les à nouveau
Conclusion
ZFS change la façon dont les données sont gérées en offrant la sécurité et l'intégrité des données, une évolutivité pratiquement illimitée, ainsi qu'une gestion simple et automatisée. Nous pouvons donc conclure que ZFS est une fonctionnalité du système d'exploitation qui semble être un choix très populaire pour certains administrateurs qui connaissent ses fonctionnalités riches en fonctionnalités.