Dimensione: 3238
Commento:
|
Dimensione: 10571
Commento:
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 3: | Linea 3: |
<<Indice(depth=2)>> | <<Indice(depth=1)>> |
Linea 6: | Linea 6: |
{{{#!wiki warning Questa guida è in fase di realizzazione. Potrebbe essere incompleta, non testata, errata e potenzialmente pericolosa. '''Non attuare nessuna delle indicazione contenute in questa pagina sul proprio sistema'''.}}} |
|
Linea 8: | Linea 11: |
Questa guida illustra come installare '''Ubuntu''' in un array software RAID 0 in un sistema UEFI/GPT. A titolo di esempio, verrà preso in considerazione un sistema composto da due dischi non formattati, '''sda''' ed '''sdb''', con una partizione EFI e una partizione vuota su ciascuno di essi. Le due partizioni vuote saranno usate per creare un array software RAID 0 nel quale verrà creata un'unica partizione '''ext4''' in cui verrà installato '''Ubuntu'''. {{{#!wiki tip L'array RAID viene visto dal sistema come un disco a se stante che all'occorrenza può essere suddiviso in diverse partizioni. }}} Le partizioni EFI non possono far parte di un array RAID, ma si può copiare il contenuto della prima nella seconda e renderle entrambe avviabili, in modo da avere una ridondanza simile a quella di un array RAID 1. |
Questa guida illustra come creare e gestire array Linux Software [[https://it.wikipedia.org/wiki/RAID|RAID]] adatti all'installazione di '''Ubuntu''' in sistemi [[https://wiki.ubuntu-it.org/AmministrazioneSistema/Uefi|UEFI]]. Nel corso di questa guida il termine "array" si riferisce sempre ad array Linux Software [[https://it.wikipedia.org/wiki/RAID|RAID]]. A titolo di esempio, verrà spiegato come installare '''Ubuntu''' in un sistema composto da due dischi non formattati, '''sda''' ed '''sdb''', sui quali verrà creata una configurazione RAID così composta: * Un array RAID 1 per la partizione EFI. * Un array RAID 0 per la partizione di sistema. * Un array RAID 1 per la partizione home. |
Linea 19: | Linea 20: |
0. Avviare una sessione live. 0. Avviare '''GParted'''. |
0. Avviare una sessione live di '''Ubuntu''' in [[AmministrazioneSistema/Uefi#Avvio_della_Live|modalità UEFI]]. 0. [[AmbienteGrafico/AvviareProgrammi|Avviare]] '''GParted'''. |
Linea 25: | Linea 26: |
0. Fare clic sul menù '''''Dispositivi → Crea tabella delle partizioni'''''. | 0. Nel menù '''''Dispositivi''''' scegliere '''''Crea tabella delle partizioni'''''. |
Linea 29: | Linea 30: |
0. Creare una partizione '''FAT32''' di 300 MiB e applicare le modifiche. 0. Fare clic col tasto destro del mouse sulla partizione appena creata e scegliere '''''Gestione flag'''''. 0. Spuntare le voci '''esp''' e '''boot''' e fare clic su '''Chiudi'''. 0. Nel restante spazio libero creare una partizione con file system '''pulito''' e applicare le modifiche. 0. Selezionare il disco '''/dev/sdb''' nel menù in alto a destra e ripetere i punti da 4 a 9. = Creazione dell'array = 0. Installare il pacchetto '''mdadm'''. 0. Digitare il seguente comando nel terminale: {{{ sudo mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sda2 /dev/sdb2}}} 0. Avviare '''GParted'''. 0. Selezionare '''/dev/md0''' nel menù in alto a destra. 0. Fare clic sul menù '''''Dispositivi → Crea tabella delle partizioni'''''. |
0. Creare una partizione di 300 MiB con file system '''fat32''' e applicare le modifiche. {{{#!wiki note Se su uno dei due dischi è già presente una partizione EFI, basterà creare un'altra partizione '''fat32''' di pari dimensioni sull'altro disco. Quando le due partizioni verranno associate nell'array RAID 1 il contenuto della partizione preesistente verrà automaticamente replicato nell'altra partizione.}}} 0. Fare clic col tasto destro del mouse sulla partizione appena creata, scegliere '''''Gestione flag''''' e spuntare le voci '''esp''' e '''boot'''. 0. Creare una partizione con una dimensione pari alla metà dello spazio che si intende dedicare alla partizione di sistema con file system '''pulito''' e applicare le modifiche. {{{#!wiki note È consigliabile una dimensione minima di 15 GiB, in modo da ottenere poi un array RAID 0 di 30 GiB per la partizione di sistema.}}} 0. Creare una partizione con una dimensione pari allo spazio che si intende dedicare alla partizione home con file system '''pulito''' e applicare le modifiche. 0. Selezionare '''/dev/sdb''' nel menù in alto a destra e ripetere i punti da 4 a 9. 0. Chiudere '''GParted'''. Al termine di questa procedura saranno quindi presenti le seguenti partizioni: * '''/dev/sda1''' fat32 * '''/dev/sda2''' sconosciuto * '''/dev/sda3''' sconosciuto * '''/dev/sdb1''' fat32 * '''/dev/sdb2''' sconosciuto * '''/dev/sdb3''' sconosciuto = Creazione degli array = 0. Assicurarsi che il sistema sia connesso a Internet. 0. Installare il pacchetto ''[[apt://mdadm|mdadm]]''. 0. Creare l'array RAID 1 per la partizione EFI digitando il seguente comando nel [[AmministrazioneSistema/Terminale|terminale]]:{{{ sudo mdadm --create /dev/md0 --level=1 --metadata=1.0 --raid-devices=2 /dev/sda1 /dev/sdb1}}} {{{#!wiki note L'opzione `--metadata=1.0` consente di mantenere inalterato il file system delle due partizioni che compongono l'array, in modo che possano essere accessibili singolarmente quando l'array non è attivo. Ciò significa che le due partizioni EFI potranno essere lette dal firmware UEFI all'avvio del sistema e da eventuali altri sistemi operativi, come Windows, che non supportano gli array Linux software RAID. Inoltre gli array creati con questa opzione assumono automaticamente il file system delle partizioni di partenza. Per ulteriori informazioni su questa ed altre opzioni, consultare il [[http://manpages.ubuntu.com/manpages/focal/en/man8/mdadm.8.html|man di mdadm]].}}} 0. Creare l'array RAID 0 per la partizione di sistema digitando il seguente comando nel [[AmministrazioneSistema/Terminale|terminale]]:{{{ sudo mdadm --create /dev/md1 --level=0 --raid-devices=2 /dev/sda2 /dev/sdb2}}} 0. Creare l'array RAID 1 per la partizione home digitando il seguente comando nel [[AmministrazioneSistema/Terminale|terminale]]:{{{ sudo mdadm --create /dev/md2 --level=1 --raid-devices=2 /dev/sda3 /dev/sdb3}}} 0. Digitare '''y''' e premere '''Invio''' per dare conferma. 0. [[AmbienteGrafico/AvviareProgrammi|Avviare]] '''GParted'''. 0. Selezionare '''/dev/md1''' nel menù in alto a destra. 0. Nel menù '''''Dispositivi''''' scegliere '''''Crea tabella delle partizioni'''''. |
Linea 56: | Linea 87: |
0. Creare le partizioni necessarie all'installazione di '''Ubuntu'''. In questo esempio verrà utilizzata un'unica partizione '''ext4''' denominata '''md0p1'''. | 0. Creare una partizione che occupi tutto lo spazio disponibile con file system '''ext4''' e applicare le modifiche. 0. Selezionare '''/dev/md2''' nel menù in alto a destra e ripetere i punti da 9 a 11. 0. Chiudere '''GParted'''. Al termine di questa procedura saranno quindi presenti le seguenti partizioni: * '''/dev/md0''' fat32 * '''/dev/md1p1''' ext4 * '''/dev/md2p1''' ext4 * '''/dev/sda1''' linux-raid (montata in '''/dev/md0''') * '''/dev/sda2''' linux-raid (montata in '''/dev/md1''') * '''/dev/sda2''' linux-raid (montata in '''/dev/md2''') * '''/dev/sdb1''' linux-raid (montata in '''/dev/md0''') * '''/dev/sdb2''' linux-raid (montata in '''/dev/md1''') * '''/dev/sdb2''' linux-raid (montata in '''/dev/md2''') |
Linea 60: | Linea 115: |
0. Digitare il seguente comando nel terminale: {{{ |
0. Avviare l'[[Installazione/InstallareUbuntu#Scelta_della_lingua|installazione di Ubuntu]] digitando il seguente comando nel [[AmministrazioneSistema/Terminale|terminale]]:{{{ |
Linea 63: | Linea 117: |
0. Nella schermata '''Tipo d'installazione''' scegliere '''Altro'''. 0. Selezionare la partizione '''/dev/md0p1''' e fare clic su '''Modifica'''. 0. Nel campo '''Usare come''' selezionare '''File system ext4 con journaling'''. 0. Spuntare la casella '''Formattare la partizione'''. 0. Selezionare il punto di mount '''/'''. 0. Fare clic su '''OK'''. 0. Selezionare la partizione '''/dev/sda1''' e fare clic su '''Modifica'''. 0. Nel campo '''Usare come''' selezionare '''Partizione EFI'''. 0. Fare clic su '''OK'''. 0. Ripetere i punti da 8 a 10 per la partizione '''/dev/sdb1'''. 0. Procedere con l'installazione. 0. Al termine dell'installazione fare clic su '''Continua a provare'''. = Installazione del bootloader = |
{{{#!wiki note L'opzione `-b` specifica che il boot loader non verrà installato automaticamente durante l'installazione di '''Ubuntu'''. Nel [[#boot_loader|paragrafo successivo]] verrà spigato come installarlo manualmente.}}} 0. Nella schermata '''[[Installazione/InstallareUbuntu#Tipo_di_installazione|Tipo d'installazione]]''' scegliere '''[[Installazione/InstallareUbuntu#manu|Altro]]'''. 0. Impostare le partizioni come segue: '''/dev/md0''' * Usare come: '''Partizione EFI''' <<BR>> '''/dev/md1p1''' * Usare come: '''File System ext4 con journaling''' * ✔️ Formattare la partizione * Punto di mount: '''/''' <<BR>> '''/dev/md2p1''' * Usare come: '''File System ext4 con journaling''' * Punto di mount: '''/home''' <<BR>> '''/dev/sda1''' * Usare come: '''Partizione EFI''' <<BR>> '''/dev/sdb1''' * Usare come: '''Partizione EFI''' <<BR>> 0. Procedere con l'[[Installazione/InstallareUbuntu#Localit.2BAOA-|installazione di Ubuntu]]. 0. Al termine fare clic su '''Continua a provare'''. <<Anchor(boot_loader)>> = Installazione del boot loader = 0. Montare il sistema appena installato digitando i seguenti comandi nel [[AmministrazioneSistema/Terminale|terminale]]:{{{ sudo mount /dev/md1p1 /mnt sudo mount /dev/md0 /mnt/boot/efi for i in dev dev/pts proc sys etc/resolv.conf; do sudo mount --bind /$i /mnt/$i; done}}} 0. Eseguire il chroot digitando il seguente comando:{{{ sudo chroot /mnt}}} 0. Installare il pacchetto ''grub-efi-amd64'' digitando il seguente comando:{{{ apt install -y grub-efi-amd64}}} 0. Se Secure Boot è attivo, installare il pacchetto ''shim-signed'' digitando il seguente comando:{{{ apt install -y shim-signed}}} 0. Installare il pacchetto ''mdadm'' digitando il seguente comando:{{{ apt install -y mdadm}}} 0. Aggiornare la configurazione di '''Grub''' e installarlo nell'array della partizione EFI digitando i seguenti comandi:{{{ update-grub grub-install}}} {{{#!wiki note Verrà restituito un errore dovuto al fatto che '''grub-install''' non può inserire nel firmware UEFI una voce di avvio che punta all'array, perché il firmware UEFI ha bisogno che si faccia riferimento a una partizione standard. Questo errore non compromette la buona riuscita dell'installazione di '''Grub''' nell'array. Di seguito viene spiegato come creare due voci di avvio che fanno riferimento alle due partizioni che compongono l'array.}}} 0. Creare una voce di avvio per ciascuna delle due partizioni che formano l'array: * Se Secure Boot non è attivo digitare i seguenti comandi:{{{ efibootmgr -c -g -d /dev/sda -p 1 -L 'ubuntu (sda)' -l '\EFI\ubuntu\grubx64.efi' efibootmgr -c -g -d /dev/sdb -p 1 -L 'ubuntu (sdb)' -l '\EFI\ubuntu\grubx64.efi'}}} * Se Secure Boot è attivo digitare i seguenti comandi:{{{ efibootmgr -c -g -d /dev/sda -p 1 -L 'ubuntu (sda)' -l '\EFI\ubuntu\shimx64.efi' efibootmgr -c -g -d /dev/sdb -p 1 -L 'ubuntu (sdb)' -l '\EFI\ubuntu\shimx64.efi'}}} 0. Uscire dal '''chroot''' digitando il seguente comando:{{{ exit}}} 0. Riavviare il sistema. = Risoluzione dei problemi = == Gli array non sono visibili da altri altri sistemi operativi == La gestione degli array Linux software RAID dipende dal programma '''mdadm'''. Questa utility è disponibile solo per sistemi Linux, pertanto sistemi operativi differenti non possono accedervi, se non mediante software di recupero dati o altri tool di terze parti. Per rendere visibili gli array ad un sistema Linux (anche in live) attenersi alla seguente procedura: 0. Avviare il sistema da cui si vuole accedere agli array. 0. Installare il pacchetto ''[[apt://mdadm|mdadm]]''. 0. Abilitare gli array software digitando il seguente comando nel [[AmministrazioneSistema/Terminale|terminale]]:{{{ sudo mdadm --assemble --scan}}} == Nel menù di avvio di Grub non compare Windows == Per rilevare altri sistemi operativi il comando `update-grub` si serve di '''os-prober''', il quale fa una ricerca nelle altre partizioni del sistema. Il boot loader di Windows risiede nella partizione EFI, ma se questa fa parte di un array Linux software RAID (come spiegato in questa guida) non è possibile accedervi mentre l'array è attivo. Inoltre '''os-prober''' non cerca il boot loader di Windows all'interno di array Linux software RAID ma solo di partizioni EFI standard. Per risolvere questo problema è necessario smontare e disattivare l'array prima che `update-grub` invochi '''os-prober'''. In seguito è necessario riattivare l'array e rimontarlo. L'operazione può essere automatizzata apportando una modifica al file `/etc/grub.d/30_os-prober`, come spiegato di seguito: |
Guida verificata con Ubuntu: 20.04
Questa guida è in fase di realizzazione. Potrebbe essere incompleta, non testata, errata e potenzialmente pericolosa. Non attuare nessuna delle indicazione contenute in questa pagina sul proprio sistema.
Introduzione
Questa guida illustra come creare e gestire array Linux Software RAID adatti all'installazione di Ubuntu in sistemi UEFI. Nel corso di questa guida il termine "array" si riferisce sempre ad array Linux Software RAID.
A titolo di esempio, verrà spiegato come installare Ubuntu in un sistema composto da due dischi non formattati, sda ed sdb, sui quali verrà creata una configurazione RAID così composta:
- Un array RAID 1 per la partizione EFI.
- Un array RAID 0 per la partizione di sistema.
- Un array RAID 1 per la partizione home.
Preparazione dei dischi
Avviare una sessione live di Ubuntu in modalità UEFI.
Avviare GParted.
Selezionare /dev/sda nel menù in alto a destra.
Nel menù Dispositivi scegliere Crea tabella delle partizioni.
Selezionare il tipo di tabella gpt e fare clic su Applica.
Creare una partizione di 300 MiB con file system fat32 e applicare le modifiche.
Se su uno dei due dischi è già presente una partizione EFI, basterà creare un'altra partizione fat32 di pari dimensioni sull'altro disco. Quando le due partizioni verranno associate nell'array RAID 1 il contenuto della partizione preesistente verrà automaticamente replicato nell'altra partizione.
Fare clic col tasto destro del mouse sulla partizione appena creata, scegliere Gestione flag e spuntare le voci esp e boot.
Creare una partizione con una dimensione pari alla metà dello spazio che si intende dedicare alla partizione di sistema con file system pulito e applicare le modifiche.
È consigliabile una dimensione minima di 15 GiB, in modo da ottenere poi un array RAID 0 di 30 GiB per la partizione di sistema.
Creare una partizione con una dimensione pari allo spazio che si intende dedicare alla partizione home con file system pulito e applicare le modifiche.
Selezionare /dev/sdb nel menù in alto a destra e ripetere i punti da 4 a 9.
Chiudere GParted.
Al termine di questa procedura saranno quindi presenti le seguenti partizioni:
/dev/sda1 fat32
/dev/sda2 sconosciuto
/dev/sda3 sconosciuto
/dev/sdb1 fat32
/dev/sdb2 sconosciuto
/dev/sdb3 sconosciuto
Creazione degli array
- Assicurarsi che il sistema sia connesso a Internet.
Installare il pacchetto mdadm.
Creare l'array RAID 1 per la partizione EFI digitando il seguente comando nel terminale:
sudo mdadm --create /dev/md0 --level=1 --metadata=1.0 --raid-devices=2 /dev/sda1 /dev/sdb1
L'opzione --metadata=1.0 consente di mantenere inalterato il file system delle due partizioni che compongono l'array, in modo che possano essere accessibili singolarmente quando l'array non è attivo. Ciò significa che le due partizioni EFI potranno essere lette dal firmware UEFI all'avvio del sistema e da eventuali altri sistemi operativi, come Windows, che non supportano gli array Linux software RAID. Inoltre gli array creati con questa opzione assumono automaticamente il file system delle partizioni di partenza. Per ulteriori informazioni su questa ed altre opzioni, consultare il man di mdadm.
Creare l'array RAID 0 per la partizione di sistema digitando il seguente comando nel terminale:
sudo mdadm --create /dev/md1 --level=0 --raid-devices=2 /dev/sda2 /dev/sdb2
Creare l'array RAID 1 per la partizione home digitando il seguente comando nel terminale:
sudo mdadm --create /dev/md2 --level=1 --raid-devices=2 /dev/sda3 /dev/sdb3
Digitare y e premere Invio per dare conferma.
Avviare GParted.
Selezionare /dev/md1 nel menù in alto a destra.
Nel menù Dispositivi scegliere Crea tabella delle partizioni.
Selezionare il tipo di tabella gpt e fare clic su Applica.
Creare una partizione che occupi tutto lo spazio disponibile con file system ext4 e applicare le modifiche.
Selezionare /dev/md2 nel menù in alto a destra e ripetere i punti da 9 a 11.
Chiudere GParted.
Al termine di questa procedura saranno quindi presenti le seguenti partizioni:
/dev/md0 fat32
/dev/md1p1 ext4
/dev/md2p1 ext4
/dev/sda1 linux-raid (montata in /dev/md0)
/dev/sda2 linux-raid (montata in /dev/md1)
/dev/sda2 linux-raid (montata in /dev/md2)
/dev/sdb1 linux-raid (montata in /dev/md0)
/dev/sdb2 linux-raid (montata in /dev/md1)
/dev/sdb2 linux-raid (montata in /dev/md2)
Installazione di Ubuntu
Avviare l'installazione di Ubuntu digitando il seguente comando nel terminale:
sudo ubiquiy -b
L'opzione -b specifica che il boot loader non verrà installato automaticamente durante l'installazione di Ubuntu. Nel paragrafo successivo verrà spigato come installarlo manualmente.
Nella schermata Tipo d'installazione scegliere Altro.
- Impostare le partizioni come segue:
/dev/md0
Usare come: Partizione EFI
/dev/md1p1Usare come: File System ext4 con journaling
- ✔️ Formattare la partizione
Punto di mount: /
/dev/md2p1Usare come: File System ext4 con journaling
Punto di mount: /home
/dev/sda1Usare come: Partizione EFI
/dev/sdb1Usare come: Partizione EFI
Procedere con l'installazione di Ubuntu.
Al termine fare clic su Continua a provare.
Installazione del boot loader
Montare il sistema appena installato digitando i seguenti comandi nel terminale:
sudo mount /dev/md1p1 /mnt sudo mount /dev/md0 /mnt/boot/efi for i in dev dev/pts proc sys etc/resolv.conf; do sudo mount --bind /$i /mnt/$i; done
Eseguire il chroot digitando il seguente comando:
sudo chroot /mnt
Installare il pacchetto grub-efi-amd64 digitando il seguente comando:
apt install -y grub-efi-amd64
Se Secure Boot è attivo, installare il pacchetto shim-signed digitando il seguente comando:
apt install -y shim-signed
Installare il pacchetto mdadm digitando il seguente comando:
apt install -y mdadm
Aggiornare la configurazione di Grub e installarlo nell'array della partizione EFI digitando i seguenti comandi:
update-grub grub-install
Verrà restituito un errore dovuto al fatto che grub-install non può inserire nel firmware UEFI una voce di avvio che punta all'array, perché il firmware UEFI ha bisogno che si faccia riferimento a una partizione standard. Questo errore non compromette la buona riuscita dell'installazione di Grub nell'array. Di seguito viene spiegato come creare due voci di avvio che fanno riferimento alle due partizioni che compongono l'array.
- Creare una voce di avvio per ciascuna delle due partizioni che formano l'array:
Se Secure Boot non è attivo digitare i seguenti comandi:
efibootmgr -c -g -d /dev/sda -p 1 -L 'ubuntu (sda)' -l '\EFI\ubuntu\grubx64.efi' efibootmgr -c -g -d /dev/sdb -p 1 -L 'ubuntu (sdb)' -l '\EFI\ubuntu\grubx64.efi'
Se Secure Boot è attivo digitare i seguenti comandi:
efibootmgr -c -g -d /dev/sda -p 1 -L 'ubuntu (sda)' -l '\EFI\ubuntu\shimx64.efi' efibootmgr -c -g -d /dev/sdb -p 1 -L 'ubuntu (sdb)' -l '\EFI\ubuntu\shimx64.efi'
Uscire dal chroot digitando il seguente comando:
exit
- Riavviare il sistema.
Risoluzione dei problemi
Gli array non sono visibili da altri altri sistemi operativi
La gestione degli array Linux software RAID dipende dal programma mdadm. Questa utility è disponibile solo per sistemi Linux, pertanto sistemi operativi differenti non possono accedervi, se non mediante software di recupero dati o altri tool di terze parti.
Per rendere visibili gli array ad un sistema Linux (anche in live) attenersi alla seguente procedura:
- Avviare il sistema da cui si vuole accedere agli array.
Installare il pacchetto mdadm.
Abilitare gli array software digitando il seguente comando nel terminale:
sudo mdadm --assemble --scan
Nel menù di avvio di Grub non compare Windows
Per rilevare altri sistemi operativi il comando update-grub si serve di os-prober, il quale fa una ricerca nelle altre partizioni del sistema.
Il boot loader di Windows risiede nella partizione EFI, ma se questa fa parte di un array Linux software RAID (come spiegato in questa guida) non è possibile accedervi mentre l'array è attivo. Inoltre os-prober non cerca il boot loader di Windows all'interno di array Linux software RAID ma solo di partizioni EFI standard.
Per risolvere questo problema è necessario smontare e disattivare l'array prima che update-grub invochi os-prober. In seguito è necessario riattivare l'array e rimontarlo.
L'operazione può essere automatizzata apportando una modifica al file /etc/grub.d/30_os-prober, come spiegato di seguito: