GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come configurare Ubuntu 14.04 su un filesystem radice ZFS nativo

Ciao a tutti, oggi configureremo Ubuntu su un file radice ZFS nativo che è un file system avanzato e un gestore di volumi logici progettato per superare molti dei principali problemi riscontrati nei progetti precedenti progettati da Sun Microsystems. Le caratteristiche principali di ZFS includono le sue prestazioni con l'integrità dei dati che include il checksum dei dati per fornire protezione contro la corruzione. ZFS tenta automaticamente di correggere gli errori quando è disponibile la ridondanza dei dati. ZFS fornisce supporto per capacità di archiviazione elevate e compressione dei dati efficiente con i dispositivi di archiviazione del pool fisico che vengono aggiunti a un pool e lo spazio di archiviazione viene allocato da quel pool condiviso.

Prerequisiti del sistema di base

In questa configurazione utilizzeremo ZFS su un ambiente Ubuntu 14.04 a 64 bit installato come base con le seguenti specifiche e versioni.

  • Sistema operativo:Ubuntu 14.04.1 LTS x86_64
  • Installazione grub (GRUB) 2.02~beta2-9ubuntu1.3
  • spl-dkms 0.6.4-2~utopico
  • zfs-dkms 0.6.4-3~utopico
  • zfs-initramfs 0.6.4-3~utopico
  • Disco libero/dimensione partizione 10 GB
  • Memoria consigliata utilizzata 4 GB
  • Numero di core utilizzati 2 GHz

Configurazione installazione ZFS

Inizieremo la configurazione dell'installazione di ZFS su un sistema operativo Ubuntu 14.04 già installato con 10 GB di spazio libero su di esso. È necessario accedere con l'utente root per eseguire tutti questi passaggi.

Aggiunta del repository ZFS

Prima di poter iniziare a utilizzare ZFS, dobbiamo installarlo. Aggiungi semplicemente il repository a apt-get con il seguente comando:

root@ubuntu-14:~# apt-add-repository --yes ppa:zfs-native/stable

Aggiornamento del sistema con installazione ZFS

Qui dobbiamo aggiornare il sistema operativo con un nuovo repository e quindi inizieremo la sua installazione con apt-get.

root@ubuntu-14:~#apt-get update
root@ubuntu-14:~#apt-get install debootstrap ubuntu-zfs

L'installazione dei pacchetti richiederà del tempo durante la compilazione dei moduli del kernel.

zfs-initramfs è necessario per inserire le utilità ZFS per la gestione dei file system ZFS nelle immagini di avvio di initramfs.

root@ubuntu-14:~#apt-get install zfs-initramfs

Controllo moduli ZFS

Usando i seguenti comandi prima caricheremo i moduli zfs e poi verificheremo se esistono o meno.

Partizionamento del disco per ZFS

La nostra tabella delle partizioni sarà la seguente per il layout del pool vdev singolo, dove sda2 verrà utilizzato per zfs root.

Creazione del pool di root

Ora creeremo il pool di root usando /dev/sda*, in alternativa, puoi anche crearlo usando i link /dev/disk/by-id per creare il pool.

root@ubuntu-14:~# mke2fs -m 0 -L /boot/grub -j /dev/sda2
root@ubuntu-14:~# zpool create -o ashift=9 rpool /dev/sda2

Abbiamo creato il rpool che possiamo controllare tramite il comando zpool list.

Creazione del set di dati radice e installazione del sistema di base

Qui creiamo il set di dati di root, quindi lo esportiamo e lo importiamo di nuovo usando -d /dev/sda2

root@ubuntu-14:~# zfs create rpool/ROOT
root@ubuntu-14:~# zfs create rpool/ROOT/ubuntu-1
root@ubuntu-14:~# zfs umount -a
root@ubuntu-14:~# zfs set mountpoint=/ rpool/ROOT/ubuntu-1
root@ubuntu-14:~# zpool export rpool
root@ubuntu-14:~# zpool import -d /dev/sda2 -R /mnt rpool

Ora monta il filesystem di avvio per GRUB che abbiamo creato nel passaggio precedente.

root@ubuntu-14:~# mkdir -p /mnt/boot/grub
root@ubuntu-14:~# mount /dev/sda2 /mnt/boot/grub
root@ubuntu-14:~# debootstrap trusty /mnt

Il comando debootstrap lascia il nuovo sistema in uno stato non configurato che faremo con le sue configurazioni minime in seguito.

Dopo aver completato con successo debootstrap, riceviamo il messaggio sulla corretta installazione del sistema Base, ora dopo aver eseguito i seguenti comandi aggiorneremo il sistema dopo aver generato le localizzazioni come segue.

root@ubuntu-14:~# cp /etc/hostname /mnt/etc/
root@ubuntu-14:~# cp /etc/hosts /mnt/etc/
root@ubuntu-14:~# mount --bind /dev /mnt/dev
root@ubuntu-14:~# mount --bind /proc /mnt/proc
root@ubuntu-14:~# mount --bind /sys /mnt/sys
root@ubuntu-14:~# chroot /mnt /bin/bash --login
root@ubuntu-14:/# locale-gen en_US.UTF-8

Quindi, abbiamo creato filesystem virtuali nell'ambiente visibile al nuovo sistema e installato il supporto PPA nell'ambiente chroot con il comando chroot.

Installazione di Ubuntu e pacchetti nativi

Il pacchetto ubuntu-minimal è necessario per utilizzare ZFS su Linux come pacchetto nel PPA. Installiamo ZFS nell'ambiente chroot per il nuovo sistema eseguendo i seguenti comandi.

root@ubuntu-14:/# apt-get install ubuntu-minimal software-properties-common
root@ubuntu-14:/# apt-add-repository --yes ppa:zfs-native/stable
root@ubuntu-14:/# apt-add-repository --yes ppa:zfs-native/grub < - See below note on this command
root@ubuntu-14:/# apt-get update
root@ubuntu-14:/# apt-get install --no-install-recommends linux-image-generic linux-headers-generic
root@ubuntu-14:/# apt-get dist-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Generazione nuova configurazione di grub

root@ubuntu-14:/# grub-probe /
zfs
root@ubuntu-14:~# ls /boot/grub/i386-pc/zfs*
/boot/grub/i386-pc/zfs.mod /boot/grub/i386-pc/zfscrypt.mod /boot/grub/i386-pc/zfsinfo.mod
root@ubuntu-14:~#
root@ubuntu-14:~# update-initramfs -c -k all
update-initramfs: Generating /boot/initrd.img-3.13.0-24-generic

Verifica dell'immissione di root corretta

root@ubuntu-14:~# grep "boot=zfs" /boot/grub/grub.cfg
linux /ROOT/ubuntu-1@/boot/vmlinuz-3.13.0-24-generic root=ZFS=rpool/ROOT/ubuntu-1 ro boot=zfs
linux /ROOT/ubuntu-1@/boot/vmlinuz-3.13.0-24-generic root=ZFS=rpool/ROOT/ubuntu-1 ro boot=zfs
root@ubuntu-14:~# grep zfs /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="boot=zfs"

Aggiorna Grub

Aggiorna grub per consentire il menu di avvio di zfs generato automaticamente con il comando update-grub.

root@ubuntu-14:~# update-grub
Generating grub configuration file ...
Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported.
Found linux image: /boot/vmlinuz-3.13.0-24-generic
Found initrd image: /boot/initrd.img-3.13.0-24-generic
done

Installa il caricatore di avvio sull'MBR con il comando seguente e assicurati di ricevere il messaggio di installazione completata. Il readlink è richiesto perché le recenti versioni di GRUB non de referenziano i collegamenti simbolici.

root@ubuntu-14:~# grub-install $(readlink -f /dev/sda)
Installing for i386-pc platform.
Installation finished. No error reported.

Ora esci dall'ambiente chroot di nuovo all'ambiente di base e smonta da tutti i filesystem se collegati.

Conferma ZFS

Avevamo finito con tutta la sua configurazione ora controlla con il comando df per la conferma di rpool.

Alcuni problemi noti

Durante questa configurazione potresti riscontrare alcuni problemi con l'avvio di ZFS che puoi evitare utilizzando le seguenti procedure.

Crea istantanea

È necessario creare uno snapshot ZFS che possa essere utilizzato come ambiente di ripristino dopo il primo avvio. È possibile utilizzare il seguente comando per acquisire ZFS Snapshot come.

root@ubuntu-14:~# apt-get clean
root@ubuntu-14:~# zfs snapshot rpool/ROOT/ubuntu1

Problema Grub

A volte Grub non visualizza il menu di avvio o mostra l'errore "filesystem sconosciuto". Ciò potrebbe essere dovuto al fatto che grub non è in grado di leggere il pool zfs o la sua possibile causa è che in precedenza hai offline alcuni vdev. Per riprenderci da questo dobbiamo fare le seguenti due cose.

  • Rimuovi/disconnetti i dischi offline
  • Utilizzando il metodo Live CD puoi avviare dalla tua installazione ext4
  • Oppure esegui online i dischi o rimuovi il disco offline e aggiungili di nuovo

Conclusione

ZFS cambia il modo in cui i dati vengono gestiti offrendo sicurezza e integrità dei dati, scalabilità praticamente illimitata e gestibilità semplice e automatizzata. Quindi possiamo concludere che ZFS è una funzionalità del sistema operativo che sembra essere una scelta molto popolare per alcuni amministratori che conoscono le sue funzionalità ricche di funzionalità.


Ubuntu
  1. Installa pgAdmin 4 su Ubuntu 16.04

  2. OpenStack Kilo su Ubuntu 14.04.2 – Configura Neutron #1

  3. OpenStack Kilo su Ubuntu 14.04.2 – Configura Nova

  4. OpenStack Kilo su Ubuntu 14.04.2 – Configura Sguardo

  5. Ubuntu 19.04:Configura vim

Installa e configura Git su Ubuntu 16.04

Come configurare la tastiera su Ubuntu 18.04

Installa e configura Fail2ban su Ubuntu 20.04

Come configurare ZFS su Ubuntu 20.04

Guida introduttiva al filesystem ZFS su Ubuntu 19.10

File system Ubuntu 12.04.02?