{"id":11377,"date":"2025-06-09T17:36:05","date_gmt":"2025-06-09T15:36:05","guid":{"rendered":"https:\/\/www.dreamsworld.it\/emanuele\/?p=11377"},"modified":"2025-06-09T17:36:05","modified_gmt":"2025-06-09T15:36:05","slug":"migrare-istanze-incus-su-una-nuova-pool","status":"publish","type":"post","link":"https:\/\/www.dreamsworld.it\/emanuele\/2025-06-09\/migrare-istanze-incus-su-una-nuova-pool\/","title":{"rendered":"Migrare istanze Incus su una nuova pool"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Da quasi dieci anni sono un grande estimatore di TrueNAS e per anni ho mantenuto un NAS casalingo sul ramo Core (<em>su FreeBSD<\/em>). Il sistema offre stabilit\u00e0, prestazioni e un ecosistema di <em>jail<\/em> che mi ha permesso di ospitare decine di servizi in modo isolato e ordinato.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Purtroppo, come molti gi\u00e0 sapranno, <strong>iXsystems ha abbandonato ufficialmente lo sviluppo di TrueNAS Core<\/strong>, puntando tutto su <strong>TrueNAS SCALE<\/strong>, ora ribattezzato <em><a href=\"https:\/\/www.truenas.com\/truenas-community-edition\/\" target=\"_blank\" rel=\"noreferrer noopener\">Community Edition<\/a><\/em>, basato su Linux (<em>Debian<\/em>). Una decisione che, per quanto comprensibile dal punto di vista strategico, ha costretto molti utenti &#8211; me compreso &#8211; a fare i conti con una migrazione importante.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Da jail a LXC: Incus e TrueNAS 25.04<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Per circa un paio d&#8217;anni ho mantenuto la mia installazione su Core in quanto non ero un fan della virtualizzazione con kubernets e successivamente con docker (<em>non mi addentro nei dettagli ma ha a che fare con la gestione del network<\/em>). Con la versione 25.04 di TrueNAS SCALE \u00e8 finalmente arrivato il supporto nativo a <strong>Incus<\/strong>, un fork di LXD pensato per andare a colmare la differenza tra le jail e i sistemi di virtualizzazione offerti fin ora. Questo ha rappresentato per me il momento di cambiare &#8220;ramo&#8221;: ho migrato sistema e tutte le mie jail FreeBSD in container LXC gestiti da Incus.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Non \u00e8 stato un passaggio indolore, ma una volta capito il meccanismo, tutto ha preso forma.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">SSD is better: migrazione dei container da pool NAS (meccanico) a SSD<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">All&#8217;inizio avevo creato tutti i container sulla mia pool <code>NAS<\/code> (istanziata su dischi meccanici), ma dopo aver visto i benefici in termini di reattivit\u00e0 ho deciso di <strong>spostare i container su una nuova pool ZFS su dischi SSD<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In questa guida vedremo <strong>come migrare correttamente i container LXC da una pool all&#8217;altra<\/strong>, prendendo come esempio <code>Nextcloud<\/code>, ma gli stessi passaggi sono validi per tutte le altre istanze eventualmente installate.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. Creare snapshot del container esistente<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>sudo zfs snapshot NAS\/.ix-virt\/containers\/Nextcloud@migrazione<\/code><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. Creare una nuova istanza vuota sulla pool SSD<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>sudo incus init Nextcloud-new --empty --storage SSD<\/code><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. Esportare la configurazione corrente e modificarla<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>sudo incus config show Nextcloud &gt; nextcloud-config.yaml<br \/>sudo nano nextcloud-config.yaml<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Modificare la voce:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>devices:<br \/>root:<br \/>pool: SSD # \u2190 cambiare da \"default\" (NAS) a \"SSD\"<\/code><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4. Importare la configurazione modificata nella nuova istanza<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>sudo incus config edit Nextcloud-new &lt; nextcloud-config.yaml<\/code><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5. Copiare il dataset tramite ZFS send\/receive<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>sudo zfs send NAS\/.ix-virt\/containers\/Nextcloud@migrazione | sudo zfs receive -F SSD\/.ix-virt\/containers\/Nextcloud-new<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ripetere i passaggi precedenti per ciascuna istanza LXC.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">6. Verifica e pulizia<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In questo momento tutte le nuove istanze saranno nominate con <code>-new<\/code> finale. Verifica che tutte le istanze <code>*-new<\/code> si avviino correttamente:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>sudo incus start Nextcloud-new<br \/>sudo incus list<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Successivamente posso eliminare i vecchi container (<em>da web UI o CLI<\/em>):<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>sudo incus delete --force Nextcloud<br \/>sudo incus delete --force &lt;nome-istanza&gt;<\/code><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">7. Archiviazione del vecchio dataset<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Una volta che sei sicuro che tutto funzioni, puoi mettere in sola lettura il vecchio dataset e rinominarlo (<em>in futuro potrai decidere di eliminarlo definitivamente<\/em>):<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>sudo zfs set readonly=on NAS\/.ix-virt<br \/>sudo zfs rename NAS\/.ix-virt NAS\/.backup-ix-virt<\/code><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">8. Rinomina delle istanze <code>*-new<\/code> con i nomi originali<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>sudo incus rename Nextcloud-new Nextcloud<br \/>sudo incus rename <\/code><code>&lt;nome-istanza&gt;<\/code>-new <code>&lt;nome-istanza&gt;<\/code><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">9. Riavvio dei servizi<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Per sicurezza, riavvia incus e middlewared:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>sudo systemctl restart incus.service<br \/>sudo systemctl restart middlewared.service<\/code><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">10. Il DHCP!<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ultimo promemoria: Hai configurato il DHCP per assegnare alle macchine un IP statico? Attenzione ai MAC address!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Poich\u00e9 le nuove istanze avranno MAC address diversi, se utilizzi delle assegnazioni statiche di IP via DHCP, assicurati di <strong>aggiornare le reservation<\/strong> per evitare problemi di rete.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Con questa procedura sono riuscito a spostare tutto su SSD e ora il mio ambiente \u00e8 ancora pi\u00f9 scattante e reattivo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Hai anche tu un\u2019infrastruttura simile? <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Emanuele<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Da quasi dieci anni sono un grande estimatore di TrueNAS e per anni ho mantenuto un NAS casalingo sul ramo Core (su FreeBSD). Il sistema offre stabilit\u00e0, prestazioni e un ecosistema di jail che mi ha permesso di ospitare decine &hellip; <a href=\"https:\/\/www.dreamsworld.it\/emanuele\/2025-06-09\/migrare-istanze-incus-su-una-nuova-pool\/\">Leggi ancora &rarr;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"federated","footnotes":"","jetpack_post_was_ever_published":false},"categories":[3],"tags":[2782,653,640,2850,638,2851,2754,2849,373],"class_list":["post-11377","post","type-post","status-publish","format-standard","hentry","category-computer","tag-freebsd","tag-guide","tag-how-to","tag-incus","tag-linux","tag-lxc","tag-nas","tag-truenas","tag-virtual-machine"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.dreamsworld.it\/emanuele\/wp-json\/wp\/v2\/posts\/11377","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dreamsworld.it\/emanuele\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dreamsworld.it\/emanuele\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dreamsworld.it\/emanuele\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dreamsworld.it\/emanuele\/wp-json\/wp\/v2\/comments?post=11377"}],"version-history":[{"count":0,"href":"https:\/\/www.dreamsworld.it\/emanuele\/wp-json\/wp\/v2\/posts\/11377\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.dreamsworld.it\/emanuele\/wp-json\/wp\/v2\/media?parent=11377"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dreamsworld.it\/emanuele\/wp-json\/wp\/v2\/categories?post=11377"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dreamsworld.it\/emanuele\/wp-json\/wp\/v2\/tags?post=11377"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}