<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>ZFS on Zwindler's Reflection</title><link>https://blog.zwindler.fr/tags/zfs/</link><description>Recent content in ZFS on Zwindler's Reflection</description><generator>Hugo -- gohugo.io</generator><language>fr</language><copyright>Licensed under CC BY-SA 4.0</copyright><lastBuildDate>Thu, 04 Jul 2024 12:00:00 +0200</lastBuildDate><atom:link href="https://blog.zwindler.fr/tags/zfs/index.xml" rel="self" type="application/rss+xml"/><item><title>Mon NAS en 2024 - Jonsbo N2 × Intel N100 - stress tests et conclusion</title><link>https://blog.zwindler.fr/2024/07/04/mon-nas-en-2024-jonsbo-n100-part3/</link><pubDate>Thu, 04 Jul 2024 12:00:00 +0200</pubDate><guid>https://blog.zwindler.fr/2024/07/04/mon-nas-en-2024-jonsbo-n100-part3/</guid><description>&lt;img src="https://blog.zwindler.fr/2024/07/cpu-stress-2.webp" alt="Featured image of post Mon NAS en 2024 - Jonsbo N2 × Intel N100 - stress tests et conclusion" /&gt;&lt;p&gt;Cet article fait partie d’une série dans laquelle je parle de mon nouveau NAS que j’ai construit moi-même :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.zwindler.fr/2024/05/03/mon-nas-en-2024-jonsbo-n100-part1/" &gt;Mon NAS en 2024 - Jonsbo N2 × Intel N100 - hardware&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.zwindler.fr/2024/05/19/mon-nas-en-2024-jonsbo-n100-part2/" &gt;Mon NAS en 2024 - Jonsbo N2 × Intel N100 - software&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.zwindler.fr/2024/07/04/mon-nas-en-2024-jonsbo-n100-part3/" &gt;Mon NAS en 2024 - Jonsbo N2 × Intel N100 - stress tests et conclusion&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.zwindler.fr/2024/05/10/installer-plex-sur-truenas-scale/" &gt;Bonus - Installer plex sur TrueNAS (SCALE)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="on-le-teste-ce-nas-"&gt;On le teste, ce NAS ?
&lt;/h2&gt;&lt;p&gt;Après 1 mois et demi de confs et aussi de préparation de ma fin d&amp;rsquo;emploi (lien mort, je ne suis plus sur Twitter), je reprends ma plume numérique pour finir le dernier article de cette série, que certain⋅es attendent avec impatience (à minima, un australien :-P)&lt;/p&gt;
&lt;p&gt;On s&amp;rsquo;était arrêté dans l&amp;rsquo;article précédent à l&amp;rsquo;installation de notre NAS sous TrueNAS SCALE (la version Linux) et nous nous étions juste logué sur l&amp;rsquo;interface d&amp;rsquo;administration.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2024/05/truenas_installed.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;La première opération que vous voudrez faire, c&amp;rsquo;est très certainement de créer un pool de disques et un volume.&lt;/p&gt;
&lt;p&gt;Dans mon cas, après avoir testé un premier pool avec 4 disques que j&amp;rsquo;avais en spare, ZFS m&amp;rsquo;a très rapidement prévenu que quelque chose n&amp;rsquo;allait pas avec mes disques. Après un SMART approfondi, je me suis retrouvé avec 2 disques HS&amp;hellip; J&amp;rsquo;en ai acheté un de plus et créé un pool avec &amp;ldquo;seulement&amp;rdquo; 3 disques (au lieu des 4 prévus initialement).&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2024/07/rpool.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Une fois le pool créé, on peut commencer à créer des volumes et à ajouter différents types de partages. J&amp;rsquo;ai créé un share NFS à part, car il me servira pour la virtualisation et mon homelab, et un share CIFS pour tout ce qui est partage de fichiers.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2024/07/tank.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;h2 id="température"&gt;Température
&lt;/h2&gt;&lt;p&gt;Le premier test que j&amp;rsquo;ai voulu faire, avant de commencer quoique ce soit, c&amp;rsquo;était un test de température.&lt;/p&gt;
&lt;p&gt;Un des problèmes que j&amp;rsquo;avais avec les NAS maison, c&amp;rsquo;est que les CPUs grand public (hors Atom) sont souvent surdimensionnés pour les besoins d&amp;rsquo;un NAS. On se retrouve avec un CPU soit bruyant, soit un ventirad volumineux. Ou alors dans le cas de l&amp;rsquo;Atom, un CPU totalement bridé par le throttling et les perfs déjà pas terribles, comme mon tout premier NAS maison de 2011 (voir &lt;a class="link" href="https://blog.zwindler.fr/2011/06/29/nasmediacenter-do-it-yourself-or-not/" &gt;NAS/MediaCenter : Do It (the hardware part) Yourself!&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Ce qui m&amp;rsquo;a fait craquer pour le Intel N100 c&amp;rsquo;est que, sur le papier, il a la consommation et la dissipation thermique d&amp;rsquo;un Atom mais les fonctionnalités d&amp;rsquo;un CPU classique, tout en gardant des perfs acceptables. Et on a le support de la virtualisation, 4 cores, etc.&lt;/p&gt;
&lt;p&gt;Un des points noirs d&amp;rsquo;une des cartes mères &amp;ldquo;siglée NAS&amp;rdquo; sur Aliexpress, significativement moins chère que celle que j&amp;rsquo;ai achetée, mais dont les retours étaient unanimes pour dire que le ventilateur était clairement audible (et très aigu). Le NAS étant à côté de mon bureau (où je télétravaille) c&amp;rsquo;était évidemment hors de question.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2024/07/bruit.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Pour rappel, j&amp;rsquo;avais opté pour un ventirad jonsbo low profile, qui s&amp;rsquo;avère à l&amp;rsquo;usage plutôt silencieux, d&amp;rsquo;autant que je lui ai rajouté un réducteur de vitesse (en gros un fil avec une résistance) que j&amp;rsquo;avais en stock d&amp;rsquo;un build précédent.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2024/05/montage-fini.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;h2 id="vm-de-stress-test-pour-faire-chauffer-tout-ça"&gt;VM de stress test pour faire chauffer tout ça
&lt;/h2&gt;&lt;p&gt;La philosophie de TrueNAS c&amp;rsquo;est de t&amp;rsquo;empêcher de faire des trucs dans ton coin histoire de limiter les erreurs de débutant. Donc même s&amp;rsquo;il existe un shell pour aller faire des trucs en lignes de commandes, il est très limité et on n&amp;rsquo;a pas de gestionnaire de paquets pour installer des choses.&lt;/p&gt;
&lt;p&gt;Pour faire mes tests, ça va être pénible. J&amp;rsquo;ai donc commencé par créer une VM (puisque je peux le faire, autant en profiter). Première boulette, créer une VM Ubuntu avec 512 Mo de RAM (la valeur par défaut dans ). Avec un environnement graphique, ça plante dès l&amp;rsquo;installation&amp;hellip; Mais ça se corrige vite.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2024/07/vm1.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Deuxième coup d&amp;rsquo;arrêt, les droits&amp;hellip; libvirt n&amp;rsquo;a pas le droit d&amp;rsquo;accéder à l&amp;rsquo;ISO. C&amp;rsquo;est dommage&amp;hellip;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2024/07/share1.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Toute la gestion des partages et notamment des droits sur les fichiers et assez peu &amp;ldquo;user friendly&amp;rdquo; sur TrueNAS. C&amp;rsquo;est vraiment une déception personnelle de ce côté là, j&amp;rsquo;ai dû bidouiller pas mal pour que les utilisateurs &lt;strong&gt;ET&lt;/strong&gt; les apps puissent accéder correctement à mon stockage. J&amp;rsquo;ai même dû corriger quelques permissions à la main à coup de &lt;code&gt;chmod&lt;/code&gt;. Bref.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2024/07/share2.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Une fois installée, j&amp;rsquo;installe &lt;code&gt;stress-ng&lt;/code&gt; et je lui demandé de me saturer les 4 CPUs histoire de faire monter la température.&lt;/p&gt;
&lt;p&gt;Pour que les tests soient les plus représentatifs possibles, j&amp;rsquo;ai laissé tourner 45 minutes le temps que ça se stabilise :&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2024/07/cpu-stress-1.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Ici, on voit que ça se stabilise autour de 46°C avec un air ambiant à 23°C, ce qui me parait parfait (les conditions de stress tests avec tous les CPUs à 100% pendant plusieurs dizaines de minutes sont déjà peu réalistes).&lt;/p&gt;
&lt;p&gt;Côté disques, même sur des longues phases d&amp;rsquo;écritures pendant plusieurs heures, on est sous les 50°C (40 en idle)&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2024/07/disk-temp1.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;On est bon pour la température.&lt;/p&gt;
&lt;h2 id="bonus-fanless"&gt;Bonus fanless
&lt;/h2&gt;&lt;p&gt;Note : il est possible d&amp;rsquo;acheter des minis PC format NUC totalement fanless avec des N100 (avec des performances parfois erratiques).&lt;/p&gt;
&lt;p&gt;On m&amp;rsquo;a donc mis au défi (sur Twitter) de tester sans ventilateur pour le CPU. Après tout pourquoi pas, j&amp;rsquo;avais bien mon premier NAS vendu avec une carte mère avec un Atom et une carte graphique NVidia fanless (mais les perfs étaient catastrophiques).&lt;/p&gt;
&lt;p&gt;Après quelques tests, oui, &lt;em&gt;ça fonctionne&lt;/em&gt;, mais c&amp;rsquo;est pas dingue. On tape les 90° et très probablement un throttling assez intense (pas vérifié).&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2024/07/cpu-stress-2.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est pas complètement un échec, puisque ça marcherait surement mieux avec un radiateur plus gros et que ce test n&amp;rsquo;est pas représentatif d&amp;rsquo;une charge réellement.&lt;/p&gt;
&lt;p&gt;Mais retirer le ventilateur du CPU ne rend pas le NAS beaucoup plus silencieux (il reste les disques et le ventilateur des disques). J&amp;rsquo;ai donc remis le ventilateur et c&amp;rsquo;est très bien comme ça :-P.&lt;/p&gt;
&lt;h2 id="consommation-électrique"&gt;Consommation électrique
&lt;/h2&gt;&lt;p&gt;Deuxième point important quand on choisit un NAS, la consommation électrique. C&amp;rsquo;est un point que vous êtes nombreux⋅ses à attendre aussi ;-).&lt;/p&gt;
&lt;p&gt;Clairement, il est impossible de faire aussi bien que mon QNAP avec du matériel généraliste de particulier. La carte mère et le CPU sont certainement gourmands, l&amp;rsquo;alimentation n&amp;rsquo;est que &amp;ldquo;bronze plus&amp;rdquo; (et donc induit des pertes). Le but de jeu, ça va être de voir à quel point je vais moins bien.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai donc pris des mesures sans disques, avec 3 disques idle et avec 3 disques en charges &lt;a class="link" href="https://blog.zwindler.fr/2018/01/23/stockage-pour-un-admin-geek-qnap-ts431p2-ou-synology-ds418j/" &gt;sur mon NAS QNAP&lt;/a&gt; que je remplace, puis je fais les mêmes mesures sur mon NAS.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Modèle&lt;/th&gt;
&lt;th&gt;Sans disques&lt;/th&gt;
&lt;th&gt;3 disques idle&lt;/th&gt;
&lt;th&gt;3 disques en charge&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;QNAP&lt;/td&gt;
&lt;td&gt;9w*&lt;/td&gt;
&lt;td&gt;23w&lt;/td&gt;
&lt;td&gt;36w&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Jonsbo × N100&lt;/td&gt;
&lt;td&gt;19w&lt;/td&gt;
&lt;td&gt;33w&lt;/td&gt;
&lt;td&gt;42w&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;* sans disques, le QNAP est inutilisable car on doit installer l&amp;rsquo;OS sur les HDD !&lt;/p&gt;
&lt;p&gt;Grosso modo, je me prends entre 6 et 10w de plus dans la vue. 10w, surtout sur une machine qui reste allumée toute l&amp;rsquo;année, c&amp;rsquo;est significatif. Mensuellement, ça représente 7,31 kWh (~ 1,17 €) de consommation en plus par rapport à l&amp;rsquo;ancien modèle.&lt;/p&gt;
&lt;p&gt;Je sais déjà qu&amp;rsquo;une partie de la Twittosphère techs / bidouilleurs barbus va me tomber dessus (c&amp;rsquo;est déjà fait). Mais si on y réfléchit un peu, ce n&amp;rsquo;est pas très étonnant, car les deux machines ne sont pas du tout comparables. &lt;strong&gt;Je ne peux pas faire les mêmes choses avec le QNAP qu&amp;rsquo;avec ce build&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Ce &amp;ldquo;Jonsbo × N100&amp;rdquo; me donne la possibilité d&amp;rsquo;avoir jusqu&amp;rsquo;à 6 disques (5 hotswap) là où j&amp;rsquo;étais limité à 4 avec le QNAP, avec l&amp;rsquo;OS et la data séparée proprement. J&amp;rsquo;ai la possibilité de faire des machines virtuelles si je le souhaite (pas le cas avec le QNAP) et j&amp;rsquo;ai le support de Chart helm pour installer des applications containerisées (là où QNAP ne supporte que Docker et plus LXC, &lt;a class="link" href="https://blog.zwindler.fr/2022/06/13/qnap-debranche-lxc-workaround/" &gt;cf l&amp;rsquo;article pour contourner le problème&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Et j&amp;rsquo;ai surtout bien plus de puissance, entre les débits et le réseau en 2.5 Gbps (on y reviendra sur les tests de transferts). Donc je ne me mets pas martel en tête et je vais continuer à cordialement ignorer les commentaires négatifs que j&amp;rsquo;ai pu avoir sur ce choix.&lt;/p&gt;
&lt;h2 id="tests-de-réseau"&gt;Tests de réseau
&lt;/h2&gt;&lt;p&gt;L&amp;rsquo;achat de ce NAS a été l&amp;rsquo;occasion pour moi de passer sur du 2.5 Gbps sur mon réseau éthernet (achat d&amp;rsquo;un switch 2.5 et d&amp;rsquo;une carte pcie pour mon PC).&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai donc fait des tests avec &lt;a class="link" href="https://iperf.fr/" target="_blank" rel="noopener"
&gt;iperf3&lt;/a&gt; (et aussi &lt;a class="link" href="https://www.speedtest.net/apps/cli" target="_blank" rel="noopener"
&gt;speedtest cli&lt;/a&gt;)&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;admin@truenas[~]$ iperf3 -c 192.168.aaa.pc
Connecting to host 192.168.aaa.pc, port 5201
[ 5] local 192.168.aaa.nas port 57256 connected to 192.168.aaa.pc port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 284 MBytes 2.38 Gbits/sec 0 814 KBytes
[ 5] 1.00-2.00 sec 280 MBytes 2.35 Gbits/sec 0 814 KBytes
[ 5] 2.00-3.00 sec 281 MBytes 2.36 Gbits/sec 0 854 KBytes
[ 5] 3.00-4.00 sec 280 MBytes 2.35 Gbits/sec 0 854 KBytes
[ 5] 4.00-5.00 sec 281 MBytes 2.36 Gbits/sec 0 854 KBytes
[ 5] 5.00-6.00 sec 280 MBytes 2.35 Gbits/sec 0 854 KBytes
[ 5] 6.00-7.00 sec 280 MBytes 2.35 Gbits/sec 0 854 KBytes
[ 5] 7.00-8.00 sec 281 MBytes 2.36 Gbits/sec 0 854 KBytes
[ 5] 8.00-9.00 sec 280 MBytes 2.35 Gbits/sec 0 854 KBytes
[ 5] 9.00-10.00 sec 281 MBytes 2.36 Gbits/sec 0 854 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 2.74 GBytes 2.36 Gbits/sec 0 sender
[ 5] 0.00-10.04 sec 2.74 GBytes 2.34 Gbits/sec receiver
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Fun fact : c&amp;rsquo;est aussi la première fois que j&amp;rsquo;ai pu tester la vitesse de ma fibre free 5 gbps au delà du gigabit (mais je peux toujours pas aller jusqu&amp;rsquo;aux 5 gbps théoriques de la ligne).&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2024/07/iperf1.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2024/07/speedtest-cli.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Là aussi, tout est OK. Côté réseau, la promesse du NAS maison est tenue !&lt;/p&gt;
&lt;h2 id="test-des-disques"&gt;Test des disques
&lt;/h2&gt;&lt;p&gt;Le test le plus trivial à faire quand on veut tester un stockage, c&amp;rsquo;est d&amp;rsquo;écrire dessus et de voir ce que ça donne. C&amp;rsquo;est pas toujours très représentatif mais ça donne une base de départ.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;root@truenas[/mnt/rpool]# dd if=/dev/urandom of=test1g bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 3.07779 s, 349 MB/s
root@truenas[/mnt/rpool]# dd if=/dev/urandom of=test10g bs=1M count=10240
10240+0 records in
10240+0 records out
10737418240 bytes (11 GB, 10 GiB) copied, 41.9781 s, 256 MB/s
root@truenas[/mnt/rpool]# dd if=/dev/urandom of=test40g bs=1M count=40960
40960+0 records in
40960+0 records out
42949672960 bytes (43 GB, 40 GiB) copied, 204.116 s, 210 MB/s
root@truenas[/mnt/rpool]# dd if=/dev/zero of=test10gzero bs=1M count=10240
10240+0 records in
10240+0 records out
10737418240 bytes (11 GB, 10 GiB) copied, 3.37509 s, 3.2 GB/s
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Ici, j&amp;rsquo;ai essayé de copier des données aléatoires sur le pool avec mes 3 disques. Tant qu&amp;rsquo;on est sur des fichiers de 1 Go, il reste le risque que tout soit mis en cache RAM (rappel : sauf indication contraire, ZFS utilise par défaut la moitié de votre RAM). Au-delà de 10 Go, on voit une dégradation de perfs. Quoiqu&amp;rsquo;on fasse, on ne fera pas mieux que cette base-là (baseline).&lt;/p&gt;
&lt;p&gt;Des copies de fichiers en local (depuis le disque NVMe du système vers le pool ZFS) donnent des résultats similaires.&lt;/p&gt;
&lt;p&gt;Note : on voit aussi que je dépasse très largement la vitesse physique de mes disques sur la copie de /dev/zero. 3.2 Go/s est évidemment impossible avec 3 HDDs. Ce sont les optimisations de ZFS (cache + compression) qui permettent ça et ça sera utile pour les fichiers contenant beaucoup de zéro (comme certains disques de machines virtuelles, par exemple).&lt;/p&gt;
&lt;h2 id="tests-de-transferts-nfscifs"&gt;Tests de transferts NFS/CIFS
&lt;/h2&gt;&lt;p&gt;Pour ces tests là, je ne suis pas hyper satisfait. Quand j&amp;rsquo;utilise les outils du marché permettant de désactiver les caches, les performances sont très en deça (&amp;lt; 50 Mo/s) des performances en utilisation réelle.&lt;/p&gt;
&lt;p&gt;voici une petite liste des outils que j&amp;rsquo;ai testés :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://fio.readthedocs.io/en/latest/fio_doc.html" target="_blank" rel="noopener"
&gt;fio&lt;/a&gt; (depuis un client linux sur CIFS)&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/microsoft/diskspd" target="_blank" rel="noopener"
&gt;diskpd&lt;/a&gt; (depuis un client Windows sur CIFS)&lt;/li&gt;
&lt;li&gt;Copie de fichiers depuis un client Linux en NFS en ligne de commande&lt;/li&gt;
&lt;li&gt;Copie de fichiers depuis un client Ubuntu dans Nautilus en CIFS [via gvfsd (Gnome virtual file system)]&lt;/li&gt;
&lt;li&gt;Copie de fichiers depuis un client Windows en CIFS&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ce qu&amp;rsquo;il est ressort, c&amp;rsquo;est que le NAS est suffisamment puissant pour saturer un port Ethernet gigabit mais galère un peu plus pour le 2.5Gbps (les fluctuations sont dues au cache qui se vide pas assez vite sur les disques). Sous windows, on peut tirer au moins 150 Mo/s en écriture sur de gros fichiers sans problèmes avec des pics à 280 Mo/s.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2024/07/copiecifs.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;La copie NFS et CIFS sous Ubuntu affichait des chiffres étonnants (70 Mo/s en lecture mais 120 en écriture !?). Il faudra que je fasse des tests depuis une autre machine Linux.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2024/07/gvfs.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Les performances sans caches avec &lt;code&gt;fio&lt;/code&gt; sont très en deça (40-50 Mo/s) mais comme je l&amp;rsquo;ai expliqué juste avant, ces tests ne sont pas représentatifs des performances que j&amp;rsquo;obtiens en conditions réelles (plutôt autour du gigabit), même sur des copies très longues (&amp;gt;3 To).&lt;/p&gt;
&lt;p&gt;Sous Windows, les performances trouvées avec &lt;code&gt;diskspd&lt;/code&gt; sont plus proches de la réalité, avec 80 Mo/s en écriture (mais il écrit d&amp;rsquo;abord des données aléatoires beaucoup plus rapidement sur le NAS et lit dedans) et 280 Mo/s en lecture.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2024/07/diskspd-lecture.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2024/07/diskspd-ecriture.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2024/07/network.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Je n&amp;rsquo;ai pas encore fait de tests en iSCSI.&lt;/p&gt;
&lt;h2 id="conclusion"&gt;Conclusion
&lt;/h2&gt;&lt;p&gt;Le but était d&amp;rsquo;avoir un NAS silencieux et qui ne consomme pas trop, plus puissant que mon NAS précédent (QNAP), avec un support du 2.5 Gbps, du ZFS, des containers, des apps et des machines virtuelles.&lt;/p&gt;
&lt;p&gt;Avec cette suite d&amp;rsquo;articles, je pense avoir coché toutes les cases. Je suis donc content de mon investissement. Pour rappel, j&amp;rsquo;en ai eu pour environ 500€, upgrade de la maison en 2.5 Gbps inclu.&lt;/p&gt;
&lt;p&gt;En termes de boitiers, le Jonsbo N2 est vraiment LE boitier qui me fallait. Il est bien conçu, bien fini, pratique.&lt;/p&gt;
&lt;p&gt;Côté carte mère, on sent que le N100 est suffisant mais est quand même aux limites de ce que je lui demande. Une partie des &amp;ldquo;bottlenecks&amp;rdquo; que j&amp;rsquo;ai rencontré viennent très probablement du CPU, les autres venant du pool de 3 vieux disques &amp;ldquo;red&amp;rdquo; peu performants.&lt;/p&gt;
&lt;p&gt;Côté consommation et chauffe, c&amp;rsquo;est un peu moins bien que ce que j&amp;rsquo;avais avant mais rien de catastrophique. C&amp;rsquo;est en tout cas largement mieux que ce que j&amp;rsquo;aurais pu faire avec un CPU grand public.&lt;/p&gt;
&lt;p&gt;Le plus gros point noir serait peut-être TrueNAS, un peu trop rigide sans pour autant être user friendly. Fonctionnellement, tout y est, c&amp;rsquo;est juste &amp;ldquo;pas super agréable&amp;rdquo; à utiliser.&lt;/p&gt;
&lt;p&gt;Pour l&amp;rsquo;usage que j&amp;rsquo;en fais et les objectifs que j&amp;rsquo;avais, c&amp;rsquo;est un réel succès, si on met de côté l&amp;rsquo;OS. Je n&amp;rsquo;ai pas forcément envie de retourner sur un OS Linux nu avec lequel je fais tout moi-même&amp;hellip;&lt;/p&gt;
&lt;p&gt;Il faudra peut-être explorer des alternatives à TrueNAS, ou m&amp;rsquo;en contenter ?&lt;/p&gt;
&lt;h2 id="bonus--quelques-commandes-utilisées-pour-mes-tests"&gt;Bonus : quelques commandes utilisées pour mes tests
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;diskspd&lt;/code&gt;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# Tests en lecture / écriture sur des blocs de 4 Ko
.\DiskSpd\amd64\diskspd.exe -c10G -d30 -b4k -h -o32 -t4 -r -w0 \\192.168.aaa.nas\tank\test
.\DiskSpd\amd64\diskspd.exe -c10G -d30 -b4k -h -o32 -t4 -r -w100 \\192.168.aaa.nas\tank\test
# Tests en lecture / écriture sur des blocs de 4 Mo
.\DiskSpd\amd64\diskspd.exe -c10G -d30 -b4M -h -o32 -t4 -r -w0 \\192.168.aaa.nas\tank\test
.\DiskSpd\amd64\diskspd.exe -c10G -d30 -b4M -h -o32 -t4 -r -w100 \\192.168.aaa.nas\tank\test
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;code&gt;fio&lt;/code&gt;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;cat &amp;gt; seq_rw_test.fio &amp;lt;&amp;lt;EOF
[global]
ioengine=libaio
direct=1
sync=1
size=10G
[sequential_read]
filename=/mnt/rpool/nfs/seqreadwrite
rw=read
bs=4M
[sequential_write]
filename=/mnt/rpool/nfs/seqreadwrite
rw=write
bs=4M
EOF
fio seq_rw_test.fio
&lt;/code&gt;&lt;/pre&gt;</description></item><item><title>Mon NAS en 2024 - Jonsbo N2 × Intel N100 - software</title><link>https://blog.zwindler.fr/2024/05/19/mon-nas-en-2024-jonsbo-n100-part2/</link><pubDate>Sun, 19 May 2024 12:00:00 +0200</pubDate><guid>https://blog.zwindler.fr/2024/05/19/mon-nas-en-2024-jonsbo-n100-part2/</guid><description>&lt;img src="https://blog.zwindler.fr/2024/05/truenas_installed.webp" alt="Featured image of post Mon NAS en 2024 - Jonsbo N2 × Intel N100 - software" /&gt;&lt;p&gt;Cet article fait partie d’une série dans laquelle je parle de mon nouveau NAS que j’ai construit moi-même :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.zwindler.fr/2024/05/03/mon-nas-en-2024-jonsbo-n100-part1/" &gt;Mon NAS en 2024 - Jonsbo N2 × Intel N100 - hardware&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.zwindler.fr/2024/05/19/mon-nas-en-2024-jonsbo-n100-part2/" &gt;Mon NAS en 2024 - Jonsbo N2 × Intel N100 - software&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.zwindler.fr/2024/07/04/mon-nas-en-2024-jonsbo-n100-part3/" &gt;Mon NAS en 2024 - Jonsbo N2 × Intel N100 - stress tests et conclusion&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.zwindler.fr/2024/05/10/installer-plex-sur-truenas-scale/" &gt;Bonus - Installer plex sur TrueNAS (SCALE)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="les-critères-software"&gt;Les critères software
&lt;/h2&gt;&lt;p&gt;Dans la partie précédente, j&amp;rsquo;avais listé mes critères hardware (et un à mi-chemin hard/soft, le fait de pouvoir faire des VMs). Ici, passons donc aux critères software :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Mon critère principal est de pouvoir utiliser ZFS. Je suis fan inconditionnel de ce système de stockage qui sait tout faire. Je ferai peut-être un article rien que pour en parler d&amp;rsquo;ailleurs (et j&amp;rsquo;ai déjà plusieurs articles dont c&amp;rsquo;est le sujet secondaire).&lt;/li&gt;
&lt;li&gt;Le second critère est la possibilité d&amp;rsquo;avoir une interface pour gérer facilement les fonctions principales du NAS. J&amp;rsquo;ai géré mon NAS avec un OS linux et tout géré &amp;ldquo;à la main&amp;rdquo; pendant des années&lt;/li&gt;
&lt;li&gt;Dans les must have, il y a évidemment la possibilité de faire tout ce qu&amp;rsquo;on fait habituellement avec un NAS, à savoir la possibilité de faire du NFS, du Samba, du iSCSI, un serveur rsync, gérer des droits d&amp;rsquo;accès, monter des tunnels VPN…, Mais est-ce vraiment un critère ? N&amp;rsquo;importe quel OS linux peut le faire. Je note quand même 😉.&lt;/li&gt;
&lt;li&gt;La possibilité de lancer des apps, pour étendre les fonctions de base, de façon simple (comme un serveur Plex par exemple)&lt;/li&gt;
&lt;li&gt;La possibilité de lancer des containers ET des machines virtuelles&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="aparté-sur-zfs-et-les-prérequis-en-termes-de-ram"&gt;Aparté sur ZFS et les prérequis en termes de RAM
&lt;/h2&gt;&lt;p&gt;J&amp;rsquo;en ai ma claque de lire sur le net ou sur Twitter que ZFS n&amp;rsquo;est pas adapté pour les petits besoins / petites machines.&lt;/p&gt;
&lt;p&gt;Je lisais encore hier un article qui disait qu&amp;rsquo;il ne fallait pas choisir un OS qui ne gère que ZFS car ZFS serait hyper gourmand , en particulier en RAM, et que cela empêcherait de l&amp;rsquo;utiliser sur des machines avec moins de 32 Go de RAM, et ECC en plus ! 😒&lt;/p&gt;
&lt;p&gt;Il y a une extrêmement mauvaise compréhension des fonctionnalités de ZFS.&lt;/p&gt;
&lt;p&gt;Oui, ZFS nécessite effectivement 1 Go de RAM (et vous avez réellement intérêt à ce que ce soit de l&amp;rsquo;ECC) par To d&amp;rsquo;espace disque&amp;hellip; &lt;strong&gt;SEULEMENT SI VOUS ACTIVEZ LA DÉDUPLICATION !&lt;/strong&gt;. Et autant dire que ce n&amp;rsquo;est recommandé que si vous savez ce que vous faites et les risques que cela implique. Je ne rentre pas dans les détails ici, on en reparlera dans l&amp;rsquo;article sur ZFS.&lt;/p&gt;
&lt;p&gt;Et deuxième erreur, effectivement aussi, par défaut, ZFS réserve pour son cache la moitié de la RAM. Sauf que ce paramètre est&amp;hellip; un paramètre ! S&amp;rsquo;il est déconseillé de le mettre à 0, ça fonctionne extrêmement bien, même si vous le réduisez fortement.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#Limiter la taille du cache RAM de ZFS à 4 Go&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="m"&gt;4294967296&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt;sudo tee -a /sys/module/zfs/parameters/zfs_arc_max
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cat /proc/spl/kstat/zfs/arcstats&lt;span class="p"&gt;|&lt;/span&gt;grep -e &lt;span class="s2"&gt;&amp;#34;^size&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;size &lt;span class="m"&gt;4&lt;/span&gt; &lt;span class="m"&gt;4119613272&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Je l&amp;rsquo;ai mis à 512 Mo sur des serveurs Proxmox VE qui n&amp;rsquo;ont que 4 Go de RAM, par exemple, et je sais qu&amp;rsquo;on peut encore descendre.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The minimum amount of memory needed to install a Solaris system is 768 MB. However, for good ZFS performance, use at least one GB or more of memory.
&lt;a class="link" href="https://docs.oracle.com/cd/E18752_01/html/819-5461/gbgxg.html" target="_blank" rel="noopener"
&gt;ZFS Hardware and Software Requirements and Recommendations&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;La philosophie derrière ce choix et que de la RAM inutilisée est de la RAM gâchée, et en tant qu&amp;rsquo;ingénieur, je recherche l&amp;rsquo;efficience. L&amp;rsquo;apparente gourmandise de ZFS pour la RAM n&amp;rsquo;est pas un bug, c&amp;rsquo;est une feature.&lt;/p&gt;
&lt;h2 id="choisir-los"&gt;Choisir l&amp;rsquo;OS
&lt;/h2&gt;&lt;p&gt;Avec de rapides recherches, on trouve les usual suspects des NAS maison :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://www.openmediavault.org/" target="_blank" rel="noopener"
&gt;OpenMediaVault&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.truenas.com/" target="_blank" rel="noopener"
&gt;TrueNAS&lt;/a&gt; (anciennement FreeNAS), historiquement basé sur FreeBSD (Core), mais qui dispose maintenant d&amp;rsquo;une version Linux (SCALE)&lt;/li&gt;
&lt;li&gt;Depuis quelques années, on parle aussi pas mal de UnRAID, un OS orienté NAS sous Linux. Le produit est payant.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;En plus confidentiel, il y a aussi :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://xigmanas.com/xnaswp/" target="_blank" rel="noopener"
&gt;XigmaNAS&lt;/a&gt; (ex NAS4Free, un fork de FreeNAS)&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://rockstor.com/" target="_blank" rel="noopener"
&gt;RockStor&lt;/a&gt; (base CentOS + btrfs)&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://xpenology.org/" target="_blank" rel="noopener"
&gt;Xpenology&lt;/a&gt;, un projet qui récupère le DSM de Synology, dont j&amp;rsquo;ai un gros doute sur la légalité&lt;/li&gt;
&lt;li&gt;ou même, l&amp;rsquo;OS QNAP qu&amp;rsquo;on peut installer sur n&amp;rsquo;importe quel matériel moyennant un coût mensuel&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="la-tribu-réunifiée-a-décidé-de-vous-éliminer"&gt;La tribu réunifiée a décidé de vous éliminer
&lt;/h2&gt;&lt;p&gt;Mes critères éliminent directement Windows (ce n&amp;rsquo;est pas vraiment comme si ça avait été un candidat sérieux 🤣). Quoique, j&amp;rsquo;avais fait brièvement du Windows Media Server à l&amp;rsquo;époque où ça existait encore, et aujourd&amp;rsquo;hui avec &lt;a class="link" href="https://learn.microsoft.com/fr-fr/windows-server/storage/refs/refs-overview" target="_blank" rel="noopener"
&gt;ReFS&lt;/a&gt;, on aurait presque (presque ?) un candidat pour un NAS de hobbyist.&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;élimine aussi Xpenology, projet que je connais depuis très longtemps, et dans lequel je n&amp;rsquo;ai strictement aucune confiance. Et je pars de l&amp;rsquo;écosystème QNAP en partie à cause de son OS, donc ce n&amp;rsquo;est pas pour y retourner 😅&lt;/p&gt;
&lt;p&gt;RockStor est trop confidentiel à mon goût, et je suis pas fan de btrfs qui a été trop instable pendant de nombreuses années.&lt;/p&gt;
&lt;p&gt;XigmaNAS (ex NAS4Free) a sûrement des arguments, mais c&amp;rsquo;est TrueNAS qui a tiré son épingle du jeu et raffle le gros de la communauté.&lt;/p&gt;
&lt;p&gt;UnRAID m&amp;rsquo;intéresse, mais le côté payant du projet est un problème. La version d&amp;rsquo;essai est très courte, et je n&amp;rsquo;avais pas spécialement le temps pour le tester de fond en comble au point de pouvoir décider si j&amp;rsquo;étais prêt à lâcher 49$ par an (tout de même !).&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2024/05/unraid.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;h2 id="le-choix-final"&gt;Le choix final
&lt;/h2&gt;&lt;p&gt;OpenMediaVault et TrueNAS (Core et SCALE) sont les alternatives les plus crédibles par rapport à mes critères.&lt;/p&gt;
&lt;p&gt;TrueNAS Core (sous FreeBSD) était mon premier choix, pour son support naturel du ZFS et aussi le fait que je voulais apprendre à utiliser l&amp;rsquo;univers BSD que je n&amp;rsquo;ai jamais exploré.&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;était d&amp;rsquo;ailleurs FreeNAS que j&amp;rsquo;avais voulu choisir à l&amp;rsquo;époque (pour les mêmes raisons) de mon NAS de 2011, mais j&amp;rsquo;avais finalement choisi Ubuntu, car cette machine me servait aussi de mediacenter. TrueNAS dispose bien d&amp;rsquo;une interface web, de containers et de VMs (pour les deux versions).&lt;/p&gt;
&lt;p&gt;Cependant, plusieurs personnes m&amp;rsquo;ont alerté sur la possibilité que la version TrueNAS Core disparaisse à terme au profit de la version Linux (SCALE). Et le critère &amp;ldquo;gestion facile d&amp;rsquo;apps&amp;rdquo; n&amp;rsquo;est pas disponible sur Core (ce sont des charts helm, et Core n&amp;rsquo;a pas la fonction Kubernetes qu&amp;rsquo;à SCALE)&lt;/p&gt;
&lt;p&gt;Restait donc TrueNAS SCALE et OpenMediaVault, qui sont très similaires en termes de fonctionnalités et qui cochent toutes les cases. Et même si OpenMediaVault supporte ZFS, le fait que ce ne soit pas l&amp;rsquo;option par défaut &lt;strong&gt;m&amp;rsquo;a fait opter TrueNAS SCALE&lt;/strong&gt; (mais ça aurait très bien pu être OMV).&lt;/p&gt;
&lt;h2 id="installation"&gt;Installation
&lt;/h2&gt;&lt;p&gt;Rien d&amp;rsquo;incroyable ici, il suffit d&amp;rsquo;installer l&amp;rsquo;OS comme n&amp;rsquo;importe quel autre linux.&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://www.truenas.com/docs/scale/gettingstarted/install/installingscale/" target="_blank" rel="noopener"
&gt;On suit la doc&lt;/a&gt; : on récupère l&amp;rsquo;ISO sur le site, on l&amp;rsquo;écrit sur une clé USB bootable et on suit ensuite le processus d&amp;rsquo;installation.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2024/05/SCALEInstallMainScreen.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;TrueNAS SCALE demande 8 Go de RAM ou mieux. A mon avis, c&amp;rsquo;est surestimé (pour être large) et on doit pouvoir lancer SCALE dans de bonnes conditions avec moins, mais je suis content d&amp;rsquo;avoir pris 16 Go.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;TrueNAS SCALE is very flexible and can run on any x86_64 compatible (Intel or AMD) processor. SCALE requires at least 8GB of RAM (more is better) and a 20GB Boot Device.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;ldquo;Bêtement&amp;rdquo;, j&amp;rsquo;ai acheté un NVMe avec pas mal de patate de 512 Go, sauf que TrueNAS utilise tout l&amp;rsquo;espace par défaut. J&amp;rsquo;ai donc un NVMe quasiment inutile&amp;hellip; Un peu rageant.&lt;/p&gt;
&lt;p&gt;Une fois installé, on redémarre la machine et on peut se connecter sur l&amp;rsquo;UI :&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2024/05/truenas_installed.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Le dashboard principal est customisable : on peut modifier les tuiles qu&amp;rsquo;on veut afficher. Sur la gauche, les menus avec toutes les opérations courantes à réaliser sur le NAS apparaissent.&lt;/p&gt;
&lt;h2 id="conclusion"&gt;Conclusion
&lt;/h2&gt;&lt;p&gt;Je m&amp;rsquo;arrête là-dessus, on créera notre pool et les premiers partages lors des tests de performance dans le prochain article.&lt;/p&gt;
&lt;p&gt;D&amp;rsquo;ici là, have fun !&lt;/p&gt;</description></item><item><title>Proxmox - Tips and tricks</title><link>https://blog.zwindler.fr/2022/10/22/proxmox-tips-tricks/</link><pubDate>Mon, 22 Aug 2022 06:30:00 +0200</pubDate><guid>https://blog.zwindler.fr/2022/10/22/proxmox-tips-tricks/</guid><description>&lt;img src="https://blog.zwindler.fr/2019/10/proxmox.webp" alt="Featured image of post Proxmox - Tips and tricks" /&gt;&lt;h2 id="ok-je-reparle-de-proxmox--"&gt;OK je reparle de Proxmox ;-)
&lt;/h2&gt;&lt;p&gt;Certains trolls velus (😘) m&amp;rsquo;ont reproché de trop parler de XenServer / XCP-ng / Xen Orchestra, ces derniers temps.&lt;/p&gt;
&lt;p&gt;Pour leur faire plaisir (car que je suis quelqu&amp;rsquo;un de sympa, en vrai), voici donc un article qui parle de tous les petits trucs que je trouve cool dans Proxmox VE et qui ne sont (je pense) pas forcément connus des débutants.&lt;/p&gt;
&lt;p&gt;Je ne parlerais donc pas des trucs de base comme le fait qu&amp;rsquo;on puisse piloter les upgrades depuis l&amp;rsquo;UI, que les backups sont intégrées (même s&amp;rsquo;il y a un backup server plus poussé aussi) ou le firewall depuis l&amp;rsquo;UI (que je n&amp;rsquo;ai pas utilisé en vrai), ou bien encore &lt;a class="link" href="https://blog.zwindler.fr/2018/05/29/signez-la-console-proxmox-ve-avec-lets-encrypt-cest-encore-plus-trivial/" target="_blank" rel="noopener"
&gt;la gestion des certificats Let&amp;rsquo;s Encrypt pour l&amp;rsquo;UI&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2022/08/backups.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;est parti !&lt;/p&gt;
&lt;h2 id="avoir-un-cluster-de-virtualisation-open-source"&gt;Avoir un cluster de virtualisation open source
&lt;/h2&gt;&lt;p&gt;Un truc très fort avec Proxmox VE est quand même que vous disposez d&amp;rsquo;un OS open source, clé en main, disposant en plus d&amp;rsquo;un mécanisme de clustering &amp;ldquo;prod ready&amp;rdquo;. Grand luxe !&lt;/p&gt;
&lt;p&gt;Tout est géré par un cluster &lt;code&gt;corosync&lt;/code&gt;. L&amp;rsquo;ajout des nodes se fait via l&amp;rsquo;interface graphique en quelques clics (ou via ligne de commande si vous êtes un foufou comme moi).&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2019/08/proxmox_ve_6_create_cluster.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Normalement, cette fonctionnalité est quand même réservée à un usage dans un LAN dédié. Mais j&amp;rsquo;ai quand même abondamment tordu la fonctionnalité pour la faire marcher, au fil des ans, chez des hébergeurs grand public, voire au travers d&amp;rsquo;Internet, dans des réseaux NATé, etc&amp;hellip;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.zwindler.fr/2019/08/20/cluster-proxmox-ve-v6-cette-fois-ci/" target="_blank" rel="noopener"
&gt;Cluster Proxmox VE, v6 cette fois ci !&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.zwindler.fr/2019/07/22/proxmox-en-5-min-ansible-tinc/" target="_blank" rel="noopener"
&gt;Un cluster Proxmox VE en 5 minutes avec Ansible&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.zwindler.fr/2019/10/11/un-cluster-proxmox-ve-avec-seulement-2-machines/" target="_blank" rel="noopener"
&gt;Un cluster Proxmox VE avec seulement 2 machines !&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="et-avec-un-pra-"&gt;Et avec un PRA !
&lt;/h2&gt;&lt;p&gt;Avec mon cluster Proxmox, j&amp;rsquo;ai aussi un plan de reprise d&amp;rsquo;activité (PRA). Les développeurs de Proxmox VE ont astucieusement tiré parti de la fonctionnalité de réplication asynchrone de ZFS pour périodiquement (par défaut toutes les 15 minutes) synchroniser des disques entre des machines distantes.&lt;/p&gt;
&lt;p&gt;Note: &lt;a class="link" href="https://blog.zwindler.fr/recherche/?keyword=ZFS" target="_blank" rel="noopener"
&gt;ZFS, j&amp;rsquo;en ai aussi beaucoup parlé&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Tout est prévu dans l&amp;rsquo;interface graphique, il n&amp;rsquo;y a rien à faire à part avoir un cluster Proxmox VE et du stockage ZFS, ça &amp;ldquo;juste marche&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2022/08/zfs-replication.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;h2 id="les-containers-lxc"&gt;Les containers LXC
&lt;/h2&gt;&lt;p&gt;C&amp;rsquo;est littéralement LE TRUC que j&amp;rsquo;utilise le plus dans Proxmox VE. Je fais très peu de machines virtuelles KVM car je loue des machines très peu puissantes (et pas chères), pas capables de faire de la virtualisation (pas d&amp;rsquo;instructions VT-x sur les &lt;a class="link" href="https://ark.intel.com/content/www/fr/fr/ark/products/77977/intel-atom-processor-c2350-1m-cache-1-70-ghz.html" target="_blank" rel="noopener"
&gt;Atom C2350&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Même si j&amp;rsquo;utilise tous les jours des containers de type &amp;ldquo;Docker&amp;rdquo; au travail, ce n&amp;rsquo;est pas ce que je cherche quand je monte des petites machines sur mon infra perso.&lt;/p&gt;
&lt;p&gt;LXC est un bon compromis : j&amp;rsquo;ai le sentiment d&amp;rsquo;avoir une machine virtuelle (j&amp;rsquo;installe des OS, des packages, dépose mon application où je veux, &amp;hellip;) sans la lourdeur de la VM.&lt;/p&gt;
&lt;p&gt;Les temps de boot sont quasiment instantanés, l&amp;rsquo;overhead CPU, surtout sur mes machines faiblardes, est très léger. Mais le plus important reste l&amp;rsquo;empreinte mémoire ridicule. J&amp;rsquo;ai plusieurs containers hébergeant des serveurs webs qui tournent avec moins de 128 Mo de RAM. Impossible avec une machine virtuelle KVM.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2022/08/reverse.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Exemple avec un reverse proxy nginx en frontal de plusieurs petits sites. Le container consomme quelques Mo.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;En revanche, l&amp;rsquo;isolation est moins bonne (on partage un kernel donc forcément&amp;hellip;). En termes de sécurité c&amp;rsquo;est moins bien, et on arrive parfois à des petits soucis comme j&amp;rsquo;ai pu en parler dans l&amp;rsquo;article &lt;a class="link" href="https://blog.zwindler.fr/2021/10/04/jeedom-dans-un-container-lxc/" target="_blank" rel="noopener"
&gt;Jeedom dans un container LXC&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Je ferai (un jour) un article dédié aux containers LXC tellement je trouve ça cool.&lt;/p&gt;
&lt;h2 id="tuning-zfs"&gt;Tuning ZFS
&lt;/h2&gt;&lt;p&gt;La croyance populaire veut que ZFS nécessite beaucoup de RAM pour fonctionner. C&amp;rsquo;est faux (sauf si vous activez la déduplication).&lt;/p&gt;
&lt;p&gt;Dans la documentation officielle de Solaris (les inventeurs de ZFS), on parle de 1 Go de RAM (dont 768 Mo pour le système).&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The minimum amount of memory needed to install a Solaris system is 768 MB. However, for good ZFS performance, use at least one GB or more of memory.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://docs.oracle.com/cd/E18752_01/html/819-5461/gbgxg.html" target="_blank" rel="noopener"
&gt;https://docs.oracle.com/cd/E18752_01/html/819-5461/gbgxg.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;Sauf que des fois, ZFS est un peu trop gourmand, par défaut. C&amp;rsquo;est typiquement le cas sur mes Atom qui n&amp;rsquo;ont que 4 Go de RAM, sur lesquels ZFS croque 50% de la RAM pour son cache ARC.&lt;/p&gt;
&lt;p&gt;On tune ça avec une simple commande :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#Restrict to 512MB&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="m"&gt;536870912&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt;sudo tee -a /sys/module/zfs/parameters/zfs_arc_max
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#Restrict to 4GB&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="m"&gt;4294967296&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt;sudo tee -a /sys/module/zfs/parameters/zfs_arc_max
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Plus de tips sur le tuning de ZFS sont disponibles sur ce post de &lt;a class="link" href="https://www.admin-magazine.com/mobile/HPC/Articles/Tuning-ZFS-for-Speed-on-Linux" target="_blank" rel="noopener"
&gt;admin magazine&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="monter-des-disques-lxcqemu-avec-zfs"&gt;Monter des disques LXC/QEMU avec ZFS
&lt;/h2&gt;&lt;p&gt;Un truc un peu déstabilisant quand on passe sur ZFS comme gestionnaire de stockage pour son cluster Proxmox VE est qu&amp;rsquo;on ne voit plus les disques comme des fichiers (.qcow2) comme avant.&lt;/p&gt;
&lt;p&gt;Rappelez-vous, ZFS est aussi un gestionnaire de stockage, pas juste un filesystem.&lt;/p&gt;
&lt;p&gt;Pour accéder à vos disques de machines virtuelles, il faut aller chercher dans les fichiers spéciaux dans /dev. Par exemple pour la VM avec l&amp;rsquo;ID 100 :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ls -l /dev/zvol/rpool/vm-100*
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;lrwxrwxrwx &lt;span class="m"&gt;1&lt;/span&gt; root root &lt;span class="m"&gt;10&lt;/span&gt; Jul &lt;span class="m"&gt;23&lt;/span&gt; 02:00 /dev/zvol/rpool/vm-100-disk-0 -&amp;gt; ../../zd16
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;lrwxrwxrwx &lt;span class="m"&gt;1&lt;/span&gt; root root &lt;span class="m"&gt;12&lt;/span&gt; Jul &lt;span class="m"&gt;23&lt;/span&gt; 02:00 /dev/zvol/rpool/vm-100-disk-0-part1 -&amp;gt; ../../zd16p1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;lrwxrwxrwx &lt;span class="m"&gt;1&lt;/span&gt; root root &lt;span class="m"&gt;12&lt;/span&gt; Jul &lt;span class="m"&gt;23&lt;/span&gt; 02:00 /dev/zvol/rpool/vm-100-disk-0-part2 -&amp;gt; ../../zd16p2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;lrwxrwxrwx &lt;span class="m"&gt;1&lt;/span&gt; root root &lt;span class="m"&gt;12&lt;/span&gt; Jul &lt;span class="m"&gt;23&lt;/span&gt; 02:00 /dev/zvol/rpool/vm-100-disk-0-part5 -&amp;gt; ../../zd16p5
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Note: on peut d&amp;rsquo;ailleurs directement monter les partitions dans notre hyperviseur avec un bête &lt;code&gt;mount&lt;/code&gt;. Avouez que c&amp;rsquo;est plus pratique à monter qu&amp;rsquo;un disque qcow2 nan ?&lt;/p&gt;
&lt;p&gt;Pour accéder à vos disques de containers LXC, c&amp;rsquo;est encore plus simple, ils sont à la racine de votre pool ZFS. Par exemple pour le container LXC avec l&amp;rsquo;ID 201 :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ls /rpool/subvol-201-disk-0/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;bin dev home lib64 media opt root sbin srv tmp var
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;boot etc lib lost+found mnt proc run selinux sys usr
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="télécharger-les-isos-directement-depuis-lui"&gt;Télécharger les ISOs directement depuis l&amp;rsquo;UI
&lt;/h2&gt;&lt;p&gt;Là, c&amp;rsquo;est vraiment du &amp;ldquo;nice to have&amp;rdquo; mais j&amp;rsquo;aime bien ce genre de fonctionnalités pour aider l&amp;rsquo;admin: vous pouvez directement télécharger vos images ISO pour installer vos machines virtuelles directement depuis la console Web.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2022/08/download-iso.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Et de la même manière, vous pouvez aussi télécharger les images de containers LXC depuis une URL ou depuis la base d&amp;rsquo;images déjà accessibles depuis Proxmox VE (la section &amp;ldquo;système&amp;rdquo; me semble être &lt;a class="link" href="http://uk.lxd.images.canonical.com//meta/1.0/index-system" target="_blank" rel="noopener"
&gt;une sous-sélection des images officielles disponibles sur le site de LXD&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2022/08/ct-download.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;h2 id="optimisation-de-perf-pour-les-vms"&gt;Optimisation de perf pour les VMs
&lt;/h2&gt;&lt;p&gt;J&amp;rsquo;avais fait un article pour parler des optimisations que j&amp;rsquo;avais pu faire pour les machines virtuelles sous Proxmox VE. Le titre de l&amp;rsquo;article cite pfsense mais c&amp;rsquo;est applicable à tous les OS en réalité.&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://blog.zwindler.fr/2020/07/06/optimisation-de-pfsense-dans-proxmox-ve/" target="_blank" rel="noopener"
&gt;Optimisation de PFsense dans Proxmox VE&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;optim consistant à décocher &amp;ldquo;Use tablet for pointer&amp;rdquo; est vraiment hyper utile et marche très souvent si vous remarquez un usage CPU idle anormal sur vos VMs.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2020/05/ubuntu_cpu_tablet.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;h2 id="automatisation"&gt;Automatisation
&lt;/h2&gt;&lt;p&gt;Si vous êtes fans d&amp;rsquo;infrastructure as code (as you should), sachez qu&amp;rsquo;il existe :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://docs.ansible.com/ansible/latest/collections/community/general/proxmox_module.html" target="_blank" rel="noopener"
&gt;un module Ansible (community) pour gérer vos instances et créer des VMs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://registry.terraform.io/providers/Telmate/proxmox/latest/docs" target="_blank" rel="noopener"
&gt;des providers terraform pour gérer les VMs et les containers LXC&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;J&amp;rsquo;utilise en prod les modules Ansible, ce qui me permet de générer à la fois une VM puis d&amp;rsquo;installer des choses dedans avec mes playbooks. Hyper utile.&lt;/p&gt;
&lt;p&gt;Je ferai probablement un article pour le provider terraform car il me fait de l&amp;rsquo;oeil (mais du coup, dur de chaîner l&amp;rsquo;install des logiciels dans la VM après instanciation).&lt;/p&gt;
&lt;h2 id="monitoring"&gt;Monitoring
&lt;/h2&gt;&lt;p&gt;Enfin, si vous avez déjà une infra Prometheus, sachez qu&amp;rsquo;il existe plusieurs exporters pour avoir de jolis graphes de vos Proxmox. Je les avais testés à l&amp;rsquo;occasion de cet article - &lt;a class="link" href="https://blog.zwindler.fr/2020/01/06/proxmox-ve-prometheus/" target="_blank" rel="noopener"
&gt;Proxmox VE + Prometheus = &amp;lt;3&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Sachez que vous pouvez aussi directement brancher depuis la console votre cluster sur des TSDB de type InfluxDB ou Graphite (pas encore testé mais pourquoi pas :D).&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2022/08/influx.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;h2 id="fin-de-cet-article"&gt;Fin de cet article
&lt;/h2&gt;&lt;p&gt;A plus de 9000 signes, je pense qu&amp;rsquo;il faut que j&amp;rsquo;arrête là pour ce premier article sur les trucs que je trouve cool et les astuces que j&amp;rsquo;utilise souvent sur Proxmox VE.&lt;/p&gt;
&lt;p&gt;Cependant, je ne m&amp;rsquo;interdis pas d&amp;rsquo;en écrire un autre plus tard, si jamais je retrouve assez de choses à dire.&lt;/p&gt;
&lt;p&gt;En connaissez-vous d&amp;rsquo;autres que vous voudriez partager ? Est-ce que vous avez envie que je creuse un point en particulier ?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;InfluxDB comme metrics server ?&lt;/li&gt;
&lt;li&gt;Le provider Terraform ?&lt;/li&gt;
&lt;li&gt;LXC ?&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Sortie de Proxmox VE 5.2.1, les nouveautés</title><link>https://blog.zwindler.fr/2018/05/22/sortie-de-proxmox-ve-5-2-1-les-nouveautes/</link><pubDate>Tue, 22 May 2018 14:45:57 +0000</pubDate><guid>https://blog.zwindler.fr/2018/05/22/sortie-de-proxmox-ve-5-2-1-les-nouveautes/</guid><description>&lt;img src="https://blog.zwindler.fr/2017/08/proxmox_logo.webp" alt="Featured image of post Sortie de Proxmox VE 5.2.1, les nouveautés" /&gt;&lt;h2 id="proxmox-ve-521"&gt;Proxmox VE 5.2.1
&lt;/h2&gt;&lt;p&gt;La semaine dernière, &lt;em&gt;Proxmox Server Solutions GmbH&lt;/em&gt;, l’équipe derrière &lt;strong&gt;Proxmox VE&lt;/strong&gt; a sortie la version 5.2 de son hyperviseur libre &amp;amp; clé en main.&lt;/p&gt;
&lt;p&gt;J’ai déjà écris &lt;a class="link" href="https://blog.zwindler.fr/recherche/?keyword=proxmox" &gt;de nombreux articles sur cette distribution&lt;/a&gt; car c’est un très beau projet, à mon sens une des seuls distributions clés en main pour faire de la virtualisation aussi bien pour des besoins perso que des besoins pros. Pour ceux qui ne connaissent pas, je vous conseille de commencer par les tutos de M4vr0x sur Proxmox VE 5.x &lt;a class="link" href="https://blog.zwindler.fr/2017/07/11/deploiment-de-proxmox-ve-5-sur-un-serveur-dedie-part-1/" &gt;(part1)&lt;/a&gt; &lt;a class="link" href="https://blog.zwindler.fr/2017/07/18/deploiement-de-proxmox-ve-5-sur-un-serveur-dedie-part-2/" &gt;(part2)&lt;/a&gt; &lt;a class="link" href="https://blog.zwindler.fr/2017/07/25/deploiement-de-proxmox-ve-5-sur-un-serveur-dedie-part-3/" &gt;(part3)&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="dans-le-rétroviseur-proxmox-ve-50-et-proxmox-ve-51"&gt;Dans le rétroviseur, Proxmox VE 5.0 et Proxmox VE 5.1
&lt;/h2&gt;&lt;p&gt;Sortie l’été dernier, le changement de la branche 4 vers la branche 5 de Proxmox VE a surtout marqué une évolution de l’OS à la base de Proxmox VE (Debian 8 vers Debian 9), même si quelques features sympa avaient quand même été ajoutées.&lt;/p&gt;
&lt;p&gt;Dans les points marquants, il y avait tout de même eu :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;le renforcement de l’intégration avec Ceph, via l’intégration de la version Luminous (Ceph 12.1, preview) et des améliorations dans le Dashboard Ceph dans l’UI (apparue en 4.4)&lt;/li&gt;
&lt;li&gt;l’introduction de la fonctionnalité de &lt;a class="link" href="https://pve.proxmox.com/wiki/Storage_Replication" title="Storage Replication"
target="_blank" rel="noopener"
&gt;Storage Replication&lt;/a&gt;, basée sur des mécanismes built-in de ZFS&lt;/li&gt;
&lt;li&gt;la migration à chaud de VMs, même s’il s’agit de stockages locaux&lt;/li&gt;
&lt;li&gt;un effort particulier pour &lt;a class="link" href="https://pve.proxmox.com/wiki/Qemu/KVM_Virtual_Machines#_importing_virtual_machines_from_foreign_hypervisors" title="Qemu/KVM Virtual Machines"
target="_blank" rel="noopener"
&gt;importer des VMs provenant d’autres hyperviseurs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Clairement, l’équipe de Proxmox a fait un focus sur le stockage, dans le but de rattraper les « grands » hyperviseurs sur ces aspects (&lt;em&gt;i.e. des alternatives à VSAN, vSphere Replication et storage vMotion&lt;/em&gt;). Voir ce genre de features dans un hyperviseur (qui peut être) gratuit et sans pour autant être une usine à gaz comme RHEV/oVirt est très appréciable.&lt;/p&gt;
&lt;p&gt;Sortie fin Octobre, la version 5.1 était passée relativement inaperçue (au moins de moi) puisqu’elle apporte surtout un passage à l’état « production ready » du stockage Ceph (v12.2) dans PVE ainsi qu’une mise à jour de ZFS apportant des gains de performance (en plus des mises à jour de kernel/packages habituelles).&lt;/p&gt;
&lt;h2 id="et-proxmox-ve-52-alors-"&gt;Et Proxmox VE 5.2 alors ?
&lt;/h2&gt;&lt;p&gt;Là, en revanche, ya du lourd !&lt;/p&gt;
&lt;p&gt;Déjà, on est passé sur une Debian 9.4, avec un kernel 4.15.17 (assez récent puisqu’on est en est au 4.16). LXC passe de la 2.0.0 à la 3.0.0, la LTS sortie en mars du &lt;strong&gt;container runtime&lt;/strong&gt; disponible dans PVE. Ceph passe en Luminous LTS stable, ce qui rassurera les plus frileux qui attendaient avant de tester Ceph sous Proxmox VE.&lt;/p&gt;
&lt;p&gt;Voilà pour les mises à jour de packages. Maintenant, les features que j’ai hâte de tester =&amp;gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Support de Cloudinit dans la GUI. Pour ceux qui ne connaissent pas, c’est un mécanisme universel sous Linux permettant de configurer votre VM dès son instanciation (&lt;a class="link" href="https://cloud-init.io/" target="_blank" rel="noopener"
&gt;voir doc officielle&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;La possibilité de gérer les nœuds des clusters Proxmox VE&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gestion des certificats Let’s encrypt directement depuis la GUI&lt;/strong&gt;; ce point va faire l’objet d’un petit article très vite ;-)&lt;/li&gt;
&lt;li&gt;Ajout des partages SMB/CIFS comme support de stockage officiel (backups, images, templates, iso et containers)&lt;/li&gt;
&lt;li&gt;Affichage de l’adresse IP de la VM dans l’UI (première intégration de l’agent &lt;strong&gt;qemu-guest-agent&lt;/strong&gt;, on peut espérer plus de fonctionnalités à l’avenir)&lt;/li&gt;
&lt;li&gt;Possibilité de limiter la bande passante lors des opérations de restauration des backups&lt;/li&gt;
&lt;li&gt;Intégration de xterm.js comme console en plus de noVNC et SPICE&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Il y en a d’autre mais qui m’intéressent moins. Vous pouvez néanmoins consulter la liste complète sur le &lt;a class="link" href="https://pve.proxmox.com/wiki/Downloads#Proxmox_Virtual_Environment_5.2_.28ISO_Image.29" target="_blank" rel="noopener"
&gt;changelog de la version&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="concrètement-ça-donne-quoi-"&gt;Concrètement ça donne quoi ?
&lt;/h2&gt;&lt;p&gt;Je suis assez enthousiaste quant à cette nouvelle version, qui apporte plein de bonnes choses. Je ne souhaite pas en dire plus pour le moment, car je vais (en cours d’écriture) publier des articles dans les jours qui viennent sur ces nouvelles fonctionnalités. Un petit teasing tout de même :&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2018/05/proxmox_cloud_init.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;cloud-init dans l’UI de PVE&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2018/05/proxmox_letsencrypt_tease.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Génération d’un certificat Let’s Encrypt pour un nœud PVE&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2018/05/prxmox_xterm.js.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;L’ajout de xterm.js dans l’UI&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2018/05/proxmox_cluster.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;La gestion des clusters dans l’UI de PVE&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2018/05/proxmox_io_limit_bandwidth.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Limites en MiB/s lors d’une restauration&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>Migration CentOS + KVM vers Proxmox VE</title><link>https://blog.zwindler.fr/2015/11/21/migration-centos-kvm-vers-proxmox/</link><pubDate>Sat, 21 Nov 2015 11:30:53 +0000</pubDate><guid>https://blog.zwindler.fr/2015/11/21/migration-centos-kvm-vers-proxmox/</guid><description>&lt;img src="https://blog.zwindler.fr/2015/10/Logo-ProxmoxVE.webp" alt="Featured image of post Migration CentOS + KVM vers Proxmox VE" /&gt;&lt;p&gt;Juste après avoir sorti un article qui traite de la migration de KVM/Ubuntu vers KVM/RHEL, voilà que je migre ENCORE pour ProxMox !?! Mais c’est parce qu’en fait j’avais juste beaucoup de retard sur ces précédents articles ;-).&lt;/p&gt;
&lt;h2 id="présentation-de-la-solution"&gt;Présentation de la solution
&lt;/h2&gt;&lt;p&gt;Cette fois ci, il s’agit donc de vous donner les clés pour migrer sans stress votre serveur sous KVM (Ubuntu, Debian, RHEL, Whatever &amp;hellip;) vers Proxmox VE.&lt;/p&gt;
&lt;p&gt;Pour ceux qui ne connaissent pas Proxmox VE, il s’agit d’une distribution Debian adaptée pour faire de la virtualisation full (qemu/KVM) et par conteneur (anciennement via openVZ, maintenant via LXC). LE gros plus de la solution, c’est l’interface graphique et l’installation clé en main d’un hyperviseur disposant de fonctionnalités qu’on retrouve chez les grands du marché.&lt;/p&gt;
&lt;p&gt;Pour être honnête, j’étais très content de mon KVM pour ce qui est des performances et de la consommation de ressources (point faible d’un ESXi à la maison), mais pas du tout satisfait des manières que j’avais pour l’administrer. J’ai testé plusieurs interfaces graphiques (web ou pas) sans jamais en trouver une à ma convenance (même les usines à gaz comme oVirt, la base de RedHat Entreprise Virtualisation).&lt;/p&gt;
&lt;h2 id="installation"&gt;Installation
&lt;/h2&gt;&lt;p&gt;Comme beaucoup d’hyperviseur clés en main, l’étape d’installation est particulièrement soignée pour être simple et rapide. On récupère un ISO, &lt;a class="link" href="https://pve.proxmox.com/wiki/Install_from_USB_Stick" target="_blank" rel="noopener"
&gt;on le copie sur une clé USB&lt;/a&gt;, on boot dessus. Quelques écrans et moins de 5 minutes plus tard le serveur reboot et on nous invite à nous connecter à la console web.&lt;/p&gt;
&lt;p&gt;Ah ! Ça fait du bien !&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2015/10/02_proxmox_kvm.avif"
loading="lazy"
alt="L’interface Web, bien qu’un peu austère, est relativement intuitive. On ne trouve pas tous les menus du premiers coup, mais on s’habitue vite"
&gt;&lt;/p&gt;
&lt;p&gt;La première chose à faire est de créer des pools de stockages (un &lt;em&gt;local&lt;/em&gt; est créé par défaut). On peut choisir s’il s’agit d’un pool dédié aux VMs, à la sauvegarde, aux fichiers ISOs. C’est assez pratique.&lt;/p&gt;
&lt;h2 id="raid-logiciel-mdadm"&gt;RAID logiciel MDADM
&lt;/h2&gt;&lt;p&gt;Sous ProxMox, le RAID logiciel via MDADM Linux &lt;strong&gt;n’est pas supporté&lt;/strong&gt; (voir &lt;a class="link" href="https://pve.proxmox.com/wiki/Software_RAID" target="_blank" rel="noopener"
&gt;wiki officiel&lt;/a&gt;). Seuls les RAID Hardware sont supportés.&lt;/p&gt;
&lt;p&gt;Dans l’interface, vous ne pourrez donc pas le configurer (ni même pendant la phase d’installation). Depuis la version 3.4, vous pouvez cependant installer ProxMox sur un espace ZFS, avec notamment tous les niveaux de RAID/RAIDZ que vous souhaitez. Mais mon petit doigt me dit qu’il s’agit probablement de &lt;a class="link" href="https://blog.zwindler.fr/recherche/?keyword=zfsonlinux" &gt;ZFSonLinux&lt;/a&gt; et j’ai déjà donné ;-).&lt;/p&gt;
&lt;p&gt;Cette absence de RAID logiciel est une des raisons pour lesquels j’étais initialement réfractaire à ProxMox par rapport à un linux classique avec qemu. Cependant, ce n’est pas parce ce n’est pas supporté que vous ne pouvez pas le faire ! Après tout, il s’agit d’une Debian customisée donc il n’y a rien qui vous retient.&lt;/p&gt;
&lt;p&gt;Voici deux articles que j’ai sélectionnés qui vous guideront pas à pas pour le faire (à vos risques et périls, comme d’habitude).&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="http://www.mbardot.com/installation-de-proxmox-ve-en-raid1-logiciel/" target="_blank" rel="noopener"
&gt;www.mbardot.com/installation-de-proxmox-ve-en-raid1-logiciel/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://kbdone.com/proxmox-ve-3-2-software-raid/" target="_blank" rel="noopener"
&gt;kbdone.com/proxmox-ve-3-2-software-raid/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;[Edit]&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Attention&lt;/strong&gt; : la partie amorçage ne fonctionnera pas si vous avez un boot EFI (Proxmox 4+). Il faudra trouver une autre technique. Vous pouvez lire cet article qui explique comment  faire en général sur Debian :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://www.debian-fr.org/t/raid-logiciel-linux-et-amorcage-en-uefi/64655" target="_blank" rel="noopener"
&gt;www.debian-fr.org/t/raid-logiciel-linux-et-amorcage-en-uefi/64655&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;La partie du tutoriel traitant de lvm pour ProxMox (3ème partition) contenant le / et les données importantes peut par contre bien être suivie. C’est vraiment uniquement le boot EFI qui va nous enquiquiner.&lt;/p&gt;
&lt;p&gt;[/Edit]&lt;/p&gt;
&lt;h2 id="migrer-ses-vm-existantes"&gt;Migrer ses VM existantes
&lt;/h2&gt;&lt;p&gt;Nous voici maintenant dans le vif du sujet. Selon la &lt;a class="link" href="https://pve.proxmox.com/wiki/Migration_of_servers_to_Proxmox_VE#KVM_to_Proxmox_VE_.28KVM.29" target="_blank" rel="noopener"
&gt;documentation officielle&lt;/a&gt;, voici ce qu’on doit faire pour migrer une machine KVM dans ProxMox.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2015/10/01_proxmox_kvm.avif"
loading="lazy"
alt="Ouais, d’accord… mais un peu plus de détails ? Non ?"
&gt;&lt;/p&gt;
&lt;p&gt;D’abord, on nous dit de créer une nouvelle machine virtuelle. Jusque là tout va bien. On lui affecte les options par défaut et pas de CD-ROM dans le lecteur.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2015/10/03_proxmox_kvm.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2015/10/04_proxmox_kvm.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Ensuite ça se gâte. En effet, on veut supprimer le disque dur par défaut puis ajouter notre disque importé de l’ancien système KVM. On va donc dans les propriétés de la machine virtuelle nouvellement créée.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2015/10/06_proxmox_kvm.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2015/10/07_proxmox_kvm.avif"
loading="lazy"
alt="Mais… Mais… Il est où le bouton « Parcourir »?"
&gt;&lt;/p&gt;
&lt;p&gt;Et là, blague&amp;hellip; Pas de bouton « Parcourir » pour aller chercher notre disque virtuel à importer !&lt;/p&gt;
&lt;p&gt;On peut trouver la solution assez vite sur les forums, mais c’est quand même assez frustrant, surtout quand on voit la malheureuse ligne donnée dans le wiki en guise de procédure&amp;hellip;&lt;/p&gt;
&lt;p&gt;Dans &lt;a class="link" href="http://forum.proxmox.com/threads/4227-How-to-add-existing-disk" target="_blank" rel="noopener"
&gt;ce thread&lt;/a&gt; et &lt;a class="link" href="http://serverfault.com/questions/441310/proxmox-uploading-disk-image" target="_blank" rel="noopener"
&gt;ce thread&lt;/a&gt;, on apprend que pour chaque banque de données, chaque VM dispose d’un dossier dans lequel il faut déposer le disque. Dans &lt;strong&gt;le bon&lt;/strong&gt; dossier ! Par exemple :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;pour le stockage local, la VM avec l’id &lt;em&gt;100&lt;/em&gt; a un dossier &lt;strong&gt;/var/lib/vz/images/100/&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;pour le stockage NFS nommé de manière originale &lt;strong&gt;NFS_VM&lt;/strong&gt;, il y a un dossier &lt;strong&gt;/mnt/pve/NFS_VM/images&lt;/strong&gt; avec des sous dossiers pour chaque VM qui dispose d’un disque sur ce partage NFS.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A partir de là, on copie donc nos fichiers dans les bons dossiers en fonction de ce qu’on veut faire. Dans le cas présent je copie les fichiers sur le stockage local, dans un premier temps.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;cp MaVM.qcow2 /var/lib/vz/images/100/
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Une fois que c’est fait, les disques apparaissent dans la page spécifique de la banque de données.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2015/10/08_proxmox_kvm.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Mais le disque virtuel n’apparaît toujours pas dans la machine virtuelle. Il faut aller éditer à la main le fichier de configuration de la VM, situé dans &lt;strong&gt;/etc/pve/nodes/xxx/qemu-server/[VMID].conf&lt;/strong&gt;.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;vi /etc/pve/nodes/xxx/qemu-server/100.conf
bootdisk: ide0;
cores: 2
ide2: none,media=cdrom
memory: 1024
name: bck-xxx-xxx
net0: e1000=7A:FA:D6:DC:06:70,bridge=vmbr0
numa: 0
ostype: l26
smbios1: uuid=ae5d66d6-724f-46cd-a85b-24eda7b9ecec
sockets: 1
ide0: local:100/xxx-xxx-flat.vmdk
ide1: local:100/xxx-xxx_1-flat.vmdk
unused0: local:100/vm-100-disk-1.vmdk
unused1: local:100/vm-100-disk-2.qcow2,size=32G
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;A partir de là, les disques apparaissent dans la VM au niveau de ide0 et ide1 dans mon cas. On progresse.&lt;/p&gt;
&lt;h3 id="cas-des-disques-qcow2"&gt;Cas des disques QCOW2
&lt;/h3&gt;&lt;p&gt;Dans le cas des disques QCOW2 (et les QCOW2 uniquement, pas les RAW), il sera nécessaire d’ajouter également un argument « taille » du disque, sans quoi la VM peut ne pas démarrer. Il faudra rajouter &lt;strong&gt;en fin de ligne&lt;/strong&gt; la taille du disque (&lt;strong&gt;xxx,size=yyG&lt;/strong&gt;).&lt;/p&gt;
&lt;p&gt;Astuce : si vous ne la connaissez pas, supprimez le disque de la VM (qui passera en inutilisé), puis éditer le (edit) pour l’ajouter à nouveau. Le fichier de configuration devrait se recréer avec les bonnes options automatiquement.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2015/10/09_proxmox_kvm.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;h3 id="cas-des-disques-raw"&gt;Cas des disques RAW
&lt;/h3&gt;&lt;p&gt;A l’inverse, la taille du disque en argument dans la configuration d’une VM pour une image RAW ne semble pas nécessaire.&lt;/p&gt;
&lt;p&gt;Par contre, pour les disques raw, il faut savoir qu’il faut ABSOLUMENT les nommer en « .raw » pour qu’ils soient visibles dans la liste des disques (mes disques provenant de KVM étaient nommés par défaut en « .img »).&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2015/10/local.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Si vous ne les renommez pas, les disques seront présents dans la VM, mais elle refusera de démarrer avec l’erreur suivante :&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;unable to parse volume filename&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Il faudra prendre soin de tous les renommer, puis de modifier la configuration de la machine virtuelle en tenant compte de cette modification.&lt;/p&gt;</description></item><item><title>Erreur lors du remplacement d’un disque avec ZFSonLinux : devices have different sector alignment</title><link>https://blog.zwindler.fr/2014/08/28/erreur-lors-du-remplacement-dun-disque-avec-zfsonlinux-devices-have-different-sector-alignment/</link><pubDate>Thu, 28 Aug 2014 10:08:49 +0000</pubDate><guid>https://blog.zwindler.fr/2014/08/28/erreur-lors-du-remplacement-dun-disque-avec-zfsonlinux-devices-have-different-sector-alignment/</guid><description>&lt;img src="https://blog.zwindler.fr/2014/08/zfs-linux.webp" alt="Featured image of post Erreur lors du remplacement d’un disque avec ZFSonLinux : devices have different sector alignment" /&gt;&lt;p&gt;Ceux qui me lisent savent que j’adore ZFS.&lt;/p&gt;
&lt;p&gt;ZFS, c’est juste génial.&lt;/p&gt;
&lt;p&gt;Les types qui ont inventé ce FS ont pris toutes les fonctionnalités intéressantes qu’on peut trouver dans un FS moderne, et les ont intégrés. Pour rappel, quelques unes qui me tiennent à cœur :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;b-tree FS&lt;/li&gt;
&lt;li&gt;transactions en mode copy-on-write&lt;/li&gt;
&lt;li&gt;abstraction du stockage, création de FS simplifiée&lt;/li&gt;
&lt;li&gt;gestion des snapshots&lt;/li&gt;
&lt;li&gt;partages NFS/CIFS natifs&lt;/li&gt;
&lt;li&gt;compression/déduplication native&lt;/li&gt;
&lt;li&gt;gestion de caches SSD native&lt;/li&gt;
&lt;li&gt;&amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Mais ils ont aussi eu le malheur de le développer pour Solaris &amp;hellip; et lui coller la malédiction d’un OS en perdition avec une licence le rendant difficilement compatible à un portable sur le kernel Linux&amp;hellip; C’est la vie ;-)&lt;/p&gt;
&lt;p&gt;Toujours est-il que ça n’a pas arrêté certaines personnes pour le porter, avec le projet ZFSonLinux, et permettre au ZFS fanboy que je suis d’avoir du ZFS sur mon NAS sous Linux, sans passer par la méthode ZFS/fuse en userland.&lt;/p&gt;
&lt;p&gt;Cependant, ce projet relativement confidentiel n’est pas sans ses petits accros. C’est notamment ce que j’ai pu constater amèrement l’an dernier, quand ma grappe Z-RAID s’est dégradée suite à la perte d’un disque&amp;hellip;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;zpool status tank
pool: tank
state: DEGRADED
status: One or more devices could not be used because the label is missing or
invalid. Sufficient replicas exist for the pool to continue
functioning in a degraded state.
action: Replace the device using &amp;#39;zpool replace&amp;#39;.
see: http://zfsonlinux.org/msg/ZFS-8000-4J
scan: resilvered 31,5K in 0h0m with 0 errors on Sun Mar 24 12:44:41 2013
config:
&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;NAME STATE READ WRITE CKSUM
tank DEGRADED 0 0 0
raidz1-0 DEGRADED 0 0 0
ata-WDC_WD20EARX-00PASB0_WD-WCAZAH899460 ONLINE 0 0 0
scsi-SATA_SAMSUNG_HD204UIS2HGJ90B632655 ONLINE 0 0 0
ata-ST2000DL003-9VT166_5YD769R0-part3 UNAVAIL 0 0 1
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;OK. J’ai un disque HS. J’en achète un autre, et je le remplace. Finger in ze noz !&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;zpool replace tank ata-ST2000DL003-9VT166_5YD769R0-part3 ata-ST2000DL003-9VT166_5YD769R0
cannot replace ata-ST2000DL003-9VT166_5YD769R0-part3 with ata-ST2000DL003-9VT166_5YD769R0: devices have different sector alignment
zpool get ashift tank
NAME PROPERTY VALUE SOURCE
tank ashift 0 default
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Malheureusement, à la création du pool, j’avais des vieux disques ne supportant pas les blocs de 4K (Advanced format), qui a donc été créé par défaut en mode legacy, à savoir 512 octets. Jusque là, rien de critique : le disque récent en 4k devra fonctionner sur des blocs de 512, ce qui restreindra ses performances brutes mais je ne suis pas à ça près, je veux juste remplacer mon fichu disque&amp;hellip; Bien sur, j’ai testé &amp;hellip;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;zpool set ashift=12 tank
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&amp;hellip; et ça ne fonctionne pas. Faut pas croire au père noël, ce paramètre est malheureusement inscrit en dur lors de la création du pool, et ne peux pas être modifié à postériori.&lt;/p&gt;
&lt;p&gt;Cependant, ça n’explique pas pourquoi je ne pouvais pas ajouter mon disque 4k dans un pool en 512.&lt;/p&gt;
&lt;p&gt;Et là, c’est le drame&amp;hellip;en fait il s’agit d’un bug qui avait été introduit dans ZFSonLinux qui empêche le remplacement d’un disque de format différent de celui du pool :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/zfsonlinux/zfs/issues/1328" target="_blank" rel="noopener"
&gt;github.com/zfsonlinux/zfs/issues/1328&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://groups.google.com/a/zfsonlinux.org/forum/?fromgroups=#!topic/zfs-discuss/igoAmmKXz5E" target="_blank" rel="noopener"
&gt;groups.google.com/a/zfsonlinux.org/forum/?fromgroups=#!topic/zfs-discuss/igoAmmKXz5E&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Plutôt gênant&amp;hellip; Heureusement, je suis tombé sur des gens suffisamment calé en code pour comprendre le problème, et proposer une solution. Voici ce que j’ai du faire pour remplacer la version ZFSonLinux officielle d’Ubuntu par une version patchée qui elle acceptait le remplacement.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;apt-get install git uuid-dev alien
git clone https://github.com/murrayju/zfs
cd zfs
./autogen.sh
./configure
apt-get install uuid-dev
./configure
make deb
dpkg -l | grep zfs
apt-get remove zfsutils zfs-fuse zfs-dkms ubuntu-zfs libzfs1
dpkg -i *.deb
dpkg -l | grep zfs
init 6 #dans le doute
zpool status
zpool replace tank ata-ST2000DL003-9VT166_5YD769R0-part3 ata-ST2000DL003-9VT166_5YD769R0
zpool status
pool: tank
state: DEGRADED
status: One or more devices is currently being resilvered. The pool will
continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
scan: resilver in progress since Sun Mar 24 14:00:28 2013
20,8M scanned out of 2,59T at 2,98M/s, 253h10m to go
6,25M resilvered, 0,00% done
config:
NAME STATE READ WRITE CKSUM
tank DEGRADED 0 0 0
raidz1-0 DEGRADED 0 0 0
ata-WDC_WD20EARX-00PASB0_WD-WCAZAH899460 ONLINE 0 0 0
scsi-SATA_SAMSUNG_HD204UIS2HGJ90B632655 ONLINE 0 0 0
replacing-2 UNAVAIL 0 0 0
ata-ST2000DL003-9VT166_5YD769R0-part3 UNAVAIL 0 0 0
ata-ST2000DL003-9VT166_5YD769R0 ONLINE 0 0 0 (resilvering)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Je ne vous raconte pas le soupir de soulagement que j’ai poussé lorsque j’ai vu ceci à l’écran&lt;/p&gt;</description></item><item><title>Du ZFS à la maison avec ZFSonLinux et un coup de main pour comprendre grâce à Aaron Toponce</title><link>https://blog.zwindler.fr/2013/01/07/du-zfs-a-la-maison-avec-zfsonlinux-et-un-coup-de-main-pour-comprendre-grace-a-aaron-toponce/</link><pubDate>Mon, 07 Jan 2013 17:59:37 +0000</pubDate><guid>https://blog.zwindler.fr/2013/01/07/du-zfs-a-la-maison-avec-zfsonlinux-et-un-coup-de-main-pour-comprendre-grace-a-aaron-toponce/</guid><description>&lt;img src="https://blog.zwindler.fr/2014/08/zfs-linux.webp" alt="Featured image of post Du ZFS à la maison avec ZFSonLinux et un coup de main pour comprendre grâce à Aaron Toponce" /&gt;&lt;p&gt;Je l’ai déjà dis, je suis un sysadmin/technophile. Et comme je ne peux rien faire comme tout le monde, quand j’ai décidé de me monter mon NAS/MediaCenter perso, j’ai voulu le faire aussi bien au niveau hardware que software. Ceci m’a permis, à coût égal, de faire au moins aussi bien qu’un NAS tout prêt, et même beaucoup mieux dans certains domaines&amp;hellip; au prix de multiples passes/améliorations/prises de tête ;-).&lt;/p&gt;
&lt;p&gt;Pour toutes ces raisons, je ne pouvais PAS passer à côté de ZFSonLinux, une implémentation du FS introduit par Sun dans Solaris, car ZFS et à mon sens un des filesystems les plus aboutis en terme de fonctionnalités et surtout de sécurité des données :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;b-tree file system&lt;/li&gt;
&lt;li&gt;checksuming de tous les blocks à 256 bits (eux même checksumés) et équivalent du fsck à chaud&lt;/li&gt;
&lt;li&gt;équivalent de parité/RAID en natif&lt;/li&gt;
&lt;li&gt;gestion de FS simplifiée avec des propriétés qui peuvent être héritées ou modifiées&lt;/li&gt;
&lt;li&gt;compression et même déduplication (!!!) en natif&lt;/li&gt;
&lt;li&gt;protocoles de présentations sur le réseau en natif&lt;/li&gt;
&lt;li&gt;snapshots quasiment illimités&lt;/li&gt;
&lt;li&gt;&amp;hellip; (j’en oublie sûrement beaucoup =&amp;gt; go site officiel/wikipédia)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Sans aller plus loin, je vous propose juste d’aller voir un travail assez complet sur ZFSonLinux, qui regroupe l’équivalent de plusieurs documentations ZFS expliquées et appliquées au cas qu’est ZFSonLinux :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Rappel des concepts de ZFS&lt;/li&gt;
&lt;li&gt;Mise en place étape par étape&lt;/li&gt;
&lt;li&gt;Best Practices et ressenti de l’auteur sur la techno et la stabilité des fonctionnalités délivrées par cet implémentation&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Je ne ferais pas mieux que lui pour expliquer, c’est un must-read pour tout ceux qui voudraient en savoir plus sans savoir où commencer&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://web.archive.org/web/20230904234829/https://pthree.org/2012/04/17/install-zfs-on-debian-gnulinux/" target="_blank" rel="noopener"
&gt;Install ZFS on Debian (lien mort, j&amp;rsquo;utilise Internet Archive)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;En bonus track, je vous linke aussi la documentation officielle Oracle pour aller plus loin dans l’utilisation de la CLI et un bon vieux troll de 2007 ;-)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="http://docs.oracle.com/cd/E19253-01/819-5461/index.html" target="_blank" rel="noopener"
&gt;Docs Oracle&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://web.archive.org/web/20130909121359/https://blogs.oracle.com/bonwick/entry/rampant_layering_violation" target="_blank" rel="noopener"
&gt;blogs.oracle.com/bonwick/entry/rampant_layering_violation (lien mort, j&amp;rsquo;utilise Internet Archive)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>NAS/MediaCenter : Do It (the software part) Yourself!</title><link>https://blog.zwindler.fr/2011/08/04/nasmediacenter-do-it-the-software-part-yourself/</link><pubDate>Thu, 04 Aug 2011 21:02:24 +0000</pubDate><guid>https://blog.zwindler.fr/2011/08/04/nasmediacenter-do-it-the-software-part-yourself/</guid><description>&lt;img src="https://blog.zwindler.fr/2011/06/dscn1178.webp" alt="Featured image of post NAS/MediaCenter : Do It (the software part) Yourself!" /&gt;&lt;h2 id="nas--mediacenter--vous-voulez-toujours-le-faire-vous-même-"&gt;NAS + Mediacenter : Vous voulez toujours le faire vous même ?
&lt;/h2&gt;&lt;p&gt;[EDIT]Depuis que j’ai écris cet article, de l’eau a coulé sous les ponts (plus pour la partie NAS que Mediacenter). Maintenant à l’aide de ZFSonLinux il est possible de faire du ZFS sous Linux sans passer par le portage en userland qu’est ZFS Fuse, alors qu’il manque toujours d’importants composants dans Btrfs.[/EDIT]&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://blog.zwindler.fr/2011/06/29/nasmediacenter-do-it-yourself-or-not/" &gt;Si vous avez lu le dernier article&lt;/a&gt;, vous aurez remarqué que j’avais découpé mon article en deux parties : le hardware vs le software. Voici donc la partie software tant attendue (ou pas vu la fréquence à laquelle j’écris&amp;hellip; On n’a qu’à dire que c’est pour faire mûrir la réflexion!)&lt;/p&gt;
&lt;p&gt;Ça y est! Tout est monté! Le premier choix crucial est évidemment celui de l’OS, mais celui ci est dicté par les fonctionnalités qu’on attend de l’OS en question&amp;hellip;&lt;/p&gt;
&lt;p&gt;Car aujourd’hui, si tout le monde essaye de copier les fonctionnalités des autres pour prouver à quel point tel OS fait tourner le plus de choses, tout le monde fait aussi de son mieux pour se démarquer avec telle ou telle FEATURE INEDITE&amp;hellip;&lt;/p&gt;
&lt;p&gt;Ce que j’attendais de la bécane était relativement simple, mais les implications ont rendues le choix plutôt compliqué&amp;hellip;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Un espace de stockage, avec des données redondées, si possible pas tout car je n’ai que deux disques et ne voudrait pas gaspiller de l’espace&lt;/li&gt;
&lt;li&gt;Un mediacenter connecté à ma télé, si possible qui puisse être contrôlé depuis mon canapé&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="le-media-center"&gt;Le Media Center
&lt;/h3&gt;&lt;p&gt;S’il avait juste s’agit de choisir un MediaCenter, le choix était tout trouvé : Ubuntu avec XBMC est l’un des MediaCenter les plus plébicités, avec une foultitude de fonctionnalités et une large communauté. Il propose par exemple :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;une interface fluide, totalement customisable à l’aide de nombreux thèmes/scripts&lt;/li&gt;
&lt;li&gt;une gestion de périphériques comme la &lt;strong&gt;wiimote&lt;/strong&gt; ou les &lt;strong&gt;smartphone&lt;/strong&gt; pour faire office de télécommande dans son canapé&lt;/li&gt;
&lt;li&gt;la lecture de la plupart des formats images/audio/vidéo (avec sous titres)&lt;/li&gt;
&lt;li&gt;la gestion de fichiers médias déportés sur le réseau (partage SMB, UPnP et truc de MACeux aussi si j’ai bien lu)&lt;/li&gt;
&lt;li&gt;une « distrib » toute faite basée sur un Ubuntu, pour ceux qui n’auraient même pas envie de s&amp;rsquo;embêter à installer un linux puis installer un paquet tout fait&amp;hellip; Dur la vie!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ce Media Center s’est même imposé comme la condition &lt;em&gt;sine qua non&lt;/em&gt; dans le choix de l’OS et donc du FS.&lt;/p&gt;
&lt;h3 id="le-stockage"&gt;Le STOCKAGE
&lt;/h3&gt;&lt;p&gt;S’il avait juste s’agit de faire du stockage, un boitier plus grand m’aurait permis de faire du RAID5 logiciel, et ainsi disposer de perfs correctes sans utiliser trop d’espace disque pour la tolérance aux pannes. Ce n’est pas le cas, je n’avais la place que pour 3 disques si jamais je souhaitais conserver l&amp;rsquo;emplacement DVD, bien utile pour tout ce qui est installation de distrib et lecture de films&amp;hellip;&lt;/p&gt;
&lt;p&gt;Quand j’ai commencé à faire mes recherches par rapport au stockage à la maison, je suis tombé sur plusieurs articles alarmistes qui m’ont dissuadé d’utiliser du RAID5, qui souffrirait, couplé à des FS actuels à des risques de &lt;strong&gt;corruption silencieuse&lt;/strong&gt; pouvant entraîner la perte de toute les données malgré la présence d’un disque de parité (google « silent corruption » ou des articles comme &lt;a class="link" href="http://www.zdnet.com/blog/storage/50-ways-to-lose-your-data/168%29" target="_blank" rel="noopener"
&gt;http://www.zdnet.com/blog/storage/50-ways-to-lose-your-data/168)&lt;/a&gt;. Même si il faut faire la part des choses avec ce que disent ces &lt;strong&gt;Cassandres du stockage&lt;/strong&gt; et la réalité, je me suis donc tourné vers des solutions réputées plus sures.&lt;/p&gt;
&lt;p&gt;Aujourd’hui, la plupart des filesystems utilisent des journaux des opérations et des checksum permettant de vérifier que les données n’ont pas été corrompues par les ondes électromagnétiques générées par le battement d’ailes d’un papillon ou que sais-je encore! Malheureusement, cela ne suffit pas toujours et il est possible qu’un hardware défaillant pourrisse l’intégralité de vos données sans que personne ne s’en aperçoive.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Heureusement, des filesystems NextGen nous promettent monts et merveilles!!!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id="le-filesystem"&gt;Le FILESYSTEM
&lt;/h3&gt;&lt;p&gt;A l’époque, BTRFS n’était pas encore vraiment « standard » (encore moins qu’aujourd’hui en fait&amp;hellip;). La seule « solution » fonctionnelle  à ma connaissance était ZFS.&lt;/p&gt;
&lt;p&gt;J’ai probablement autant été convaincu par le nombre de FEATURE INÉDITES de ce filesystem que par la description un peu loufoque de ses limites :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ZFS est un système de fichiers 128 bits, ce qui signifie qu’il peut fournir 16 milliards de milliard de fois ce que fournissent les systèmes de fichiers 64 bits actuels.&lt;/li&gt;
&lt;li&gt;Les limitations de ZFS sont tellement inaccessibles qu’il n’y aura jamais d’opérations pratiques qui puissent les atteindre. Selon Bonwick&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Remplir un système de fichiers 128 bits dépasserait les limites quantiques de stockage de données. Vous ne pourriez pas remplir un espace de données 128 bits sans faire bouillir les océans.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Voilà qui laisse rêveur&amp;hellip; Pour le calcul ayant permis de parvenir à cette conclusion je vous laisse aller feuilleter la page de wikipedia dédiée.&lt;/p&gt;
&lt;p&gt;Ce qui est vraiment intéressant à savoir c’est que ZFS propose actuellement :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Du « copy on write ». Les données ne sont réellement modifiées qu’une fois que tout a bien été écrit sur le disque. Pas de risque de se retrouver avec des blocs corrompus suite à un reboot intempestif.&lt;/li&gt;
&lt;li&gt;Un FS où chaque bloc possède un checksum 256bits, et ou les checksums possèdent eux mêmes des checksums (et ainsi de suite), au cas où les données ET les checksums seraient corrompus.&lt;/li&gt;
&lt;li&gt;Un FS qui se répare de lui même en vérifiant les blocs lus avec les checksums de toute la chaîne.&lt;/li&gt;
&lt;li&gt;Gestion de « snapshots » permettant des retours arrière de façon quasi instantanée.&lt;/li&gt;
&lt;li&gt;Compression, déduplication, partages NFS/CIFS/iSCSI, quotas activables en une commande&lt;/li&gt;
&lt;li&gt;Une gestion facilité des volumes pour l’administrateur système&lt;/li&gt;
&lt;li&gt;RAIDZ, un RAID logiciel particulièrement optimisé pour être à la fois plus efficace et plus sûr qu’un RAID classique&lt;/li&gt;
&lt;li&gt;Une capacité risible comme on l’a vu plus haut&lt;/li&gt;
&lt;li&gt;&amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;(Ceux qui auront suivi BTRFS auront remarqué des promesses similaires, même si tout n’est pas encore terminé, côté développement)&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Mes données en sont tombées amoureuses :-)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id="los"&gt;l’OS
&lt;/h3&gt;&lt;p&gt;J’ai donc du trouver une solution pour pouvoir &lt;strong&gt;concilier ZFS et XBMC&lt;/strong&gt;. Et ça n’a pas été &lt;strong&gt;guimauve&lt;/strong&gt;&amp;hellip;&lt;/p&gt;
&lt;p&gt;Pour des raisons de guéguerre de licence (ZFS est en CDDL), ZFS ne peut pas être intégré au noyau Linux. ZFS a été porté sur :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Solaris 10 et OpenSolaris&lt;/li&gt;
&lt;li&gt;Les BSD (notamment FreeBSD)&lt;/li&gt;
&lt;li&gt;Les MAC&lt;/li&gt;
&lt;li&gt;En &lt;strong&gt;userspace&lt;/strong&gt; sous Linux avec zfs-on-fuse (hors du kernel et donc dégradé niveau performances)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Après quelques tentatives échouées d’installer FreeBSD (désolé, mais on est loin des installs Debian/Redhat&amp;hellip; Je ne demande pas un Ubuntu, mais y a des limites quand même!) correctement, je me suis résolu à utiliser zfs-on-fuse, pour voir. Bon ok, j’ai aussi fais quelques boulettes&amp;hellip;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Quand le port de gnome ne marche pas, n’essayez de le compiler vous même, surtout sur un Atom dual core. J’ai du abandonner au bout du 3ème jour de compilation&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Je me suis donc rabattu sur un bon vieux Ubuntu : Linux je connais mieux, je fais moins de conneries. La bonne nouvelle, c’est que ZFS-on-fuse, ça fonctionne très bien! Les fonctionnalités sont pour la plupart au rendez vous, et c’est très agréables à utiliser. Pour les données, j’ai créé deux partitions sur chacun de mes deux disques dédiés aux données, de manière à créer&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;un zpool « safe » en miroir (2*300 Go = 300 Go)&lt;/li&gt;
&lt;li&gt;un zpool « normal » non redondé (2*700 Go = 1400 Go)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Je ne « perd » l’espace du miroir que sur une partie de mon espace total de stockage.&lt;/p&gt;
&lt;p&gt;La déception est arrivée après quelques benchs&amp;hellip; Loin des résultats catastrophiques que j’avais pu trouver sur le net qui commençaient à dater (des vitesses de 3-4 Mo/secondes!), je n’ai pas pu faire beaucoup mieux que 16-17 Mo/s, aussi bien sur le pool mirroré que sur le pool simple. J’aurai attendu un peu mieux de mes disques, surtout la partie mirrorée en lecture.&lt;/p&gt;
&lt;h3 id="conclusion"&gt;Conclusion
&lt;/h3&gt;&lt;p&gt;Si vous souhaitez faire un NAS également capable de supporter un MediaCenter, le hardware et le software que j’ai choisi sont tout à fait à même de remplir la tâche.&lt;/p&gt;
&lt;p&gt;Sans ventilation, j’arrive à lire des films 720/1080p, et l’interface de XBMC est magique&amp;hellip; et avoir une télécommande pour son mediacenter, c’est juste indispensable&amp;hellip;&lt;/p&gt;
&lt;p&gt;Mes données sont bien plus à l’abris de la corruption silencieuse qu’avec un FS classique en ext3 voire même en ext4, et même si les performances ne sont pas mirobolantes, c’est tout à fait raisonnable pour toute personne qui souhaite disposer d’un NAS à la maison.&lt;/p&gt;
&lt;p&gt;Cependant, si c’était à refaire, je ne sais pas si je resterai sur l’architecture MediaCenter/Nas combiné, et si je devais rester sur cette idée, j’essayerai peut être de voir comment se comporte Btrfs, maintenant intégré à tous les Linux.&lt;/p&gt;</description></item></channel></rss>