{"id":1598,"date":"2024-03-04T15:35:19","date_gmt":"2024-03-04T14:35:19","guid":{"rendered":"https:\/\/www.fabriziogiancola.eu\/?p=1598"},"modified":"2024-03-04T23:13:26","modified_gmt":"2024-03-04T22:13:26","slug":"gestire-raid-ubuntu-22-04","status":"publish","type":"post","link":"https:\/\/www.fabriziogiancola.eu\/index.php\/2024\/03\/04\/gestire-raid-ubuntu-22-04\/","title":{"rendered":"Come gestire array RAID"},"content":{"rendered":"\n<p class=\"has-medium-font-size\"><strong>Come gestire gli array RAID con mdadm su Ubuntu 22.04<\/strong><\/p>\n\n\n\n<p class=\"has-dark-gray-color has-very-light-gray-to-cyan-bluish-gray-gradient-background has-text-color has-background has-link-color has-medium-font-size wp-elements-eeebf44035a3d2d6c71e4f9c6e3b8938\"><strong>Introduzione<\/strong><\/p>\n\n\n\n<p>Gli array RAID forniscono prestazioni e ridondanza migliorate combinando singoli dischi in dispositivi di archiviazione virtuali in configurazioni specifiche. In Linux, l&#8217;utility <code>mdadm<\/code>crea e gestisce array RAID software.<\/p>\n\n\n\n<p>In questa guida eseguirai diverse configurazioni RAID che possono essere configurate utilizzando un server Ubuntu 22.04.<\/p>\n\n\n\n<p class=\"has-dark-gray-color has-very-light-gray-to-cyan-bluish-gray-gradient-background has-text-color has-background has-link-color has-medium-font-size wp-elements-eccdbc163a08d85a044b1d91cb9a153c\"><strong>Prerequisiti<\/strong><\/p>\n\n\n\n<p>Per seguire questa guida, avrai bisogno dell&#8217;accesso a un utente non-<strong>root<\/strong> <code>sudo<\/code>.<\/p>\n\n\n\n<p>Come accennato, questa guida riguarder\u00e0 la gestione dell&#8217;array RAID. Segui la guida su <a href=\"https:\/\/www.fabriziogiancola.eu\/index.php\/2024\/02\/29\/creare-raid-ubuntu-22-04\/\" data-type=\"post\" data-id=\"1429\" target=\"_blank\" rel=\"noreferrer noopener\">come creare array RAID con <code>mdadm<\/code>su Ubuntu 22.04<\/a> per creare uno o pi\u00f9 array prima di continuare a leggere. Questa guida presuppone che tu abbia uno o pi\u00f9 array su cui operare.<\/p>\n\n\n\n<p class=\"has-dark-gray-color has-very-light-gray-to-cyan-bluish-gray-gradient-background has-text-color has-background has-link-color has-medium-font-size wp-elements-332ddcf600ef115b76a24f394fc88d76\"><strong>Richiesta di informazione sui dispositivi RAID<\/strong><\/p>\n\n\n\n<p>Uno dei requisiti pi\u00f9 essenziali per una corretta gestione \u00e8 la capacit\u00e0 di reperire informazioni sulla struttura, sui dispositivi che lo compongono e sullo stato attuale dell&#8217;array.<\/p>\n\n\n\n<p>Per informazioni dettagliate su un dispositivo RAID, passare il dispositivo RAID con l&#8217;opzione <code>-D<\/code>o <code>--detail<\/code>a <code>mdadm<\/code>:<\/p>\n\n\n\n<p><code>sudo mdadm -D \/dev\/md0<\/code><\/p>\n\n\n\n<p>Verranno visualizzate informazioni importanti sull&#8217;array:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Output\/dev\/md0:\n           Version : 1.2\n     Creation Time : Thu Sep 29 17:07:10 2022\n        Raid Level : raid10\n        Array Size : 209582080 (199.87 GiB 214.61 GB)\n     Used Dev Size : 104791040 (99.94 GiB 107.31 GB)\n      Raid Devices : 4\n     Total Devices : 4\n       Persistence : Superblock is persistent\n\n       Update Time : Thu Sep 29 17:08:24 2022\n             State : clean, resyncing\n    Active Devices : 4\n   Working Devices : 4\n    Failed Devices : 0\n     Spare Devices : 0\n\n            Layout : near=2\n        Chunk Size : 512K\n\nConsistency Policy : resync\n\n              Name : raid2:0  (local to host raid2)\n              UUID : 8069bcc7:72e7b49f:fba1c780:560a85e0\n            Events : 35\n\n    Number   Major   Minor   RaidDevice State\n       0       8        0        0      active sync set-A   \/dev\/sda\n       1       8       16        1      active sync set-B   \/dev\/sdb\n       2       8       32        2      active sync set-A   \/dev\/sdc\n       3       8       48        3      active sync set-B   \/dev\/sdd<\/code><\/pre>\n\n\n\n<p>L&#8217;output rivela il livello RAID, la dimensione dell&#8217;array, lo stato dei singoli pezzi, il file <code>UUID<\/code>dell&#8217;array, i dispositivi componenti e i loro ruoli.<\/p>\n\n\n\n<p>Per i dettagli abbreviati di un array, adatti per l&#8217;aggiunta al file <code>\/dev\/mdadm\/mdadm.conf<\/code>, puoi passare il flag <code>--brief<\/code>O <code>-b<\/code>con la vista dettagliata:<\/p>\n\n\n\n<p><code>sudo mdadm -Db \/dev\/md0<\/code><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Output\n\/dev\/md0: 199.88GiB raid10 4 devices, 0 spares. Use mdadm --detail for more detail.<\/code><\/pre>\n\n\n\n<p>Questo pu\u00f2 essere utilizzato per trovare a colpo d&#8217;occhio le informazioni chiave su un dispositivo RAID.<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Ottenere informazioni sui dispositivi componenti<\/strong><\/p>\n\n\n\n<p>Puoi anche usare <code>mdadm<\/code>per interrogare i singoli dispositivi componenti.<\/p>\n\n\n\n<p>L&#8217;opzione <code>-Q<\/code>, se utilizzata con un dispositivo componente, ti dir\u00e0 l&#8217;array di cui fa parte e il suo ruolo:<\/p>\n\n\n\n<p><code>sudo mdadm -Q \/dev\/sdc<\/code><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Output\n\/dev\/sdc: is not an md array\n\/dev\/sdc: device 2 in 4 device active raid10 \/dev\/md0.  Use mdadm --examine for more detail.<\/code><\/pre>\n\n\n\n<p>\u00c8 possibile ottenere informazioni pi\u00f9 dettagliate utilizzando le opzioni <code>-E<\/code>o <code>--examine<\/code>:<\/p>\n\n\n\n<p><code>sudo mdadm -E \/dev\/sdc<\/code><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Output\n\/dev\/sdc:\n          Magic : a92b4efc\n        Version : 1.2\n    Feature Map : 0x0\n     Array UUID : 8069bcc7:72e7b49f:fba1c780:560a85e0\n           Name : RAID2204:0  (local to host RAID2204)\n  Creation Time : Wed Oct  5 15:56:03 2022\n     Raid Level : raid10\n   Raid Devices : 4\n\n Avail Dev Size : 209582080 sectors (99.94 GiB 107.31 GB)\n     Array Size : 209582080 KiB (199.87 GiB 214.61 GB)\n    Data Offset : 133120 sectors\n   Super Offset : 8 sectors\n   Unused Space : before=132968 sectors, after=0 sectors\n          State : clean\n    Device UUID : 027f74c5:6d488509:64844c7a:add75d88\n\n    Update Time : Wed Oct  5 16:13:57 2022\n  Bad Block Log : 512 entries available at offset 136 sectors\n       Checksum : 98edf3ae - correct\n         Events : 35\n\n         Layout : near=2\n     Chunk Size : 512K\n\n   Device Role : Active device 2\n   Array State : AAAA ('A' == active, '.' == missing, 'R' == replacing)<\/code><\/pre>\n\n\n\n<p>Queste informazioni sono simili a quelle visualizzate quando si utilizza l&#8217;opzione <code>-D<\/code>con il dispositivo dell&#8217;array, ma focalizzata sulla relazione del dispositivo componente con l&#8217;array.<\/p>\n\n\n\n<p>Leggere le informazioni su <code>\/proc\/mdstat<\/code><\/p>\n\n\n\n<p>Per informazioni dettagliate su ciascuno degli array assemblati sul tuo server, controlla il file <code>\/proc\/mdstat<\/code>. Questo \u00e8 spesso il modo migliore per trovare lo stato corrente degli array attivi sul tuo sistema:<\/p>\n\n\n\n<p><code>cat \/proc\/mdstat<\/code><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Output\nPersonalities : &#91;linear] &#91;multipath] &#91;raid0] &#91;raid1] &#91;raid6] &#91;raid5] &#91;raid4] &#91;raid10] \nmd0 : active raid10 sdd&#91;3] sdc&#91;2] sdb&#91;1] sda&#91;0]\n      209584128 blocks super 1.2 512K chunks 2 near-copies &#91;4\/4] &#91;UUUU]\n      \nunused devices: &lt;none><\/code><\/pre>\n\n\n\n<p>L&#8217;output qui \u00e8 piuttosto denso e fornisce molte informazioni in una piccola quantit\u00e0 di spazio:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Personalities : &#91;linear] &#91;multipath] &#91;raid0] &#91;raid1] &#91;raid6] &#91;raid5] &#91;raid4] &#91;raid10] \n. . .<\/code><\/pre>\n\n\n\n<p>La riga <code>Personalities<\/code>descrive i diversi livelli RAID e le configurazioni attualmente supportate dal kernel.<\/p>\n\n\n\n<p>La riga che inizia con <code>md0<\/code>descrive l&#8217;inizio della descrizione di un dispositivo RAID. Le righe rientrate che seguono descrivono anche questo dispositivo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>. . .\nmd0 : active raid10 sdd&#91;3] sdc&#91;2] sdb&#91;1] sda&#91;0]\n. . .<\/code><\/pre>\n\n\n\n<p>La prima riga indica che l&#8217;array \u00e8 attivo, non difettoso e configurato come RAID 10. Successivamente vengono elencati i dispositivi componenti utilizzati per costruire l&#8217;array. I numeri tra parentesi descrivono il ruolo attuale del dispositivo nell&#8217;array. Ci\u00f2 influisce su quali copie dei dati vengono fornite al dispositivo.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>. . .\n      209584128 blocks super 1.2 512K chunks 2 near-copies &#91;4\/4] &#91;UUUU]\n. . .<\/code><\/pre>\n\n\n\n<p>La seconda riga visualizzata in questo esempio fornisce il numero di blocchi forniti dai dispositivi virtuali, la versione dei metadati (1.2 in questo esempio) e la dimensione del blocco dell&#8217;array. Poich\u00e9 si tratta di un array RAID 10, include anche informazioni sul layout dell&#8217;array. In questo esempio, \u00e8 stato configurato per memorizzare due copie di ogni blocco di dati nel <strong>layout near<\/strong>.<\/p>\n\n\n\n<p>Gli ultimi elementi tra parentesi quadre rappresentano entrambi i dispositivi attualmente disponibili di un set integro. Il primo numero tra parentesi numeriche indica la dimensione di un array integro mentre il secondo numero rappresenta il numero di dispositivi attualmente disponibili. Le altre parentesi sono un&#8217;indicazione visiva dello stato dell&#8217;array, con <code>U<\/code>che rappresentano dispositivi sani e <code>_<\/code>che rappresentano dispositivi difettosi.<\/p>\n\n\n\n<p>Se il tuo array \u00e8 attualmente in fase di assemblaggio o ripristino, potresti avere un&#8217;altra riga che mostra l&#8217;avanzamento:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>. . .\n      &#91;&gt;....................]  resync =  0.9% (2032768\/209584128) finish=15.3min speed=225863K\/sec\n. . .<\/code><\/pre>\n\n\n\n<p>Descrive l&#8217;operazione applicata e lo stato di avanzamento attuale in diversi modi. Fornisce inoltre la velocit\u00e0 attuale e un tempo stimato fino al completamento.<\/p>\n\n\n\n<p>Una volta che ti sei fatto un&#8217;idea di quali array sono attualmente in esecuzione sul tuo sistema, puoi intraprendere una serie di azioni.<\/p>\n\n\n\n<p class=\"has-dark-gray-color has-very-light-gray-to-cyan-bluish-gray-gradient-background has-text-color has-background has-link-color has-medium-font-size wp-elements-50687b7cd4272d8add96110b46dce282\"><strong>Arresto di un array<\/strong><\/p>\n\n\n\n<p>Per arrestare un array, il primo passo \u00e8 smontarlo.<\/p>\n\n\n\n<p>Esci dalla directory montata con il comando <code>cd ~<\/code>:<\/p>\n\n\n\n<p><code>cd ~<\/code><\/p>\n\n\n\n<p>Quindi smonta il dispositivo:<\/p>\n\n\n\n<p><code>sudo umount \/mnt\/md0<\/code><\/p>\n\n\n\n<p>Puoi interrompere tutti gli array attivi eseguendo:<\/p>\n\n\n\n<p><code>sudo mdadm --stop --scan<\/code><\/p>\n\n\n\n<p>Se vuoi fermare un array specifico, passalo al comando <code>mdadm --stop<\/code>:<\/p>\n\n\n\n<p><code>sudo mdadm --stop \/dev\/md0<\/code><\/p>\n\n\n\n<p>Questo fermer\u00e0 l&#8217;array. Dovrai riassemblare l&#8217;array per accedervi nuovamente.<\/p>\n\n\n\n<p class=\"has-dark-gray-color has-very-light-gray-to-cyan-bluish-gray-gradient-background has-text-color has-background has-link-color has-medium-font-size wp-elements-823648ed76be9775756eb0b1ef846907\"><strong>Avvio di un array<\/strong><\/p>\n\n\n\n<p>Per avviare tutti gli array definiti nei file di configurazione o <code>\/proc\/mdstat<\/code>, esegui quanto segue:<\/p>\n\n\n\n<p><code>sudo mdadm --assemble --scan<\/code><\/p>\n\n\n\n<p>Per avviare un array specifico, puoi passarlo come argomento a <code>mdadm --assemble<\/code>:<\/p>\n\n\n\n<p><code>sudo mdadm --assemble \/dev\/md0<\/code><\/p>\n\n\n\n<p>Funziona se l&#8217;array \u00e8 definito nel file di configurazione.<\/p>\n\n\n\n<p>Se nel file di configurazione manca la definizione corretta dell&#8217;array, l&#8217;array pu\u00f2 comunque essere avviato passando i dispositivi componenti:<\/p>\n\n\n\n<p><code>sudo mdadm --assemble \/dev\/md0 \/dev\/sda \/dev\/sdb \/dev\/sdc \/dev\/sdd<\/code><\/p>\n\n\n\n<p>Una volta assemblato l&#8217;array, \u00e8 possibile montarlo come al solito:<\/p>\n\n\n\n<p><code>sudo mount \/dev\/md0 \/mnt\/md0<\/code><\/p>\n\n\n\n<p class=\"has-dark-gray-color has-very-light-gray-to-cyan-bluish-gray-gradient-background has-text-color has-background has-link-color has-medium-font-size wp-elements-a6fe6173b67a42037ca58ac56dbc10d7\"><strong>Aggiunta di un dispositivo di riserva a un array<\/strong><\/p>\n\n\n\n<p>\u00c8 possibile aggiungere dispositivi di riserva a qualsiasi array che offra ridondanza, come RAID 1, 5, 6 o 10. I dispositivi di riserva non verranno utilizzati attivamente dall&#8217;array a meno che un dispositivo attivo non si guasti. Quando ci\u00f2 accade, l&#8217;array risincronizzer\u00e0 i dati sull&#8217;unit\u00e0 di riserva per ripristinare l&#8217;integrit\u00e0 dell&#8217;array. Non \u00e8 possibile aggiungere ricambi agli array non ridondanti (RAID 0) poich\u00e9 l&#8217;array non sopravvivr\u00e0 al guasto di un&#8217;unit\u00e0.<\/p>\n\n\n\n<p>Per aggiungere un dispositivo di riserva, passare l&#8217;array e il nuovo dispositivo al comando <code>mdadm --add<\/code>:<\/p>\n\n\n\n<p><code>sudo mdadm \/dev\/md0 --add \/dev\/sde<\/code><\/p>\n\n\n\n<p>Se l&#8217;array non \u00e8 in uno stato degradato, il nuovo dispositivo verr\u00e0 aggiunto come riserva. Se il dispositivo \u00e8 attualmente danneggiato, inizier\u00e0 immediatamente l&#8217;operazione di risincronizzazione utilizzando l&#8217;unit\u00e0 di riserva per sostituire l&#8217;unit\u00e0 difettosa.<\/p>\n\n\n\n<p>Dopo aver aggiunto un ricambio, aggiorna il file di configurazione per riflettere il nuovo orientamento del dispositivo:<\/p>\n\n\n\n<p><code>sudo nano \/etc\/mdadm\/mdadm.conf<\/code><\/p>\n\n\n\n<p>Rimuovi o commenta la riga corrente che corrisponde alla definizione dell&#8217;array:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>. . .\n<mark>#<\/mark> ARRAY \/dev\/md0 metadata=1.2 name=mdadmwrite:0 UUID=d81c843b:4d96d9fc:5f3f499c:6ee99294<\/code><\/pre>\n\n\n\n<p>Successivamente, aggiungi la configurazione corrente:<\/p>\n\n\n\n<p><code>sudo mdadm --detail --brief \/dev\/md0 | sudo tee -a \/etc\/mdadm\/mdadm.conf<\/code><\/p>\n\n\n\n<p>Le nuove informazioni verranno utilizzate dall&#8217;utility <code>mdadm<\/code>per assemblare l&#8217;array.<\/p>\n\n\n\n<p class=\"has-dark-gray-color has-very-light-gray-to-cyan-bluish-gray-gradient-background has-text-color has-background has-link-color has-medium-font-size wp-elements-360ecfda893a2ff36b232d0c1b1d523d\"><strong>Aumento del numero di dispositivi attivi in un array<\/strong><\/p>\n\n\n\n<p>\u00c8 possibile espandere un array aumentando il numero di dispositivi attivi all&#8217;interno dell&#8217;assieme. La procedura esatta dipende leggermente dal livello RAID che stai utilizzando.<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Con RAID 1 o 10<\/strong><\/p>\n\n\n\n<p>Inizia aggiungendo il nuovo dispositivo come riserva, come dimostrato nell&#8217;ultima sezione:<\/p>\n\n\n\n<p><code>sudo mdadm \/dev\/md0 --add \/dev\/sde<\/code><\/p>\n\n\n\n<p>Scopri il numero attuale di dispositivi RAID nell&#8217;array:<\/p>\n\n\n\n<p><code>sudo mdadm --detail \/dev\/md0<\/code><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Output\n\/dev\/md0:\n        Version : 1.2\n  Creation Time : Wed Aug 10 15:29:26 2016\n     Raid Level : raid1\n     Array Size : 104792064 (99.94 GiB 107.31 GB)\n  Used Dev Size : 104792064 (99.94 GiB 107.31 GB)\n   <mark>Raid Devices : 2<\/mark>\n  <mark>Total Devices : 3<\/mark>\n    Persistence : Superblock is persistent\n\n    . . .<\/code><\/pre>\n\n\n\n<p>In questo esempio, l&#8217;array \u00e8 configurato per utilizzare attivamente due dispositivi. Rivela, tuttavia, che il numero totale di dispositivi disponibili nell&#8217;array \u00e8 tre a causa della riserva.<\/p>\n\n\n\n<p>Ora riconfigura l&#8217;array per avere un dispositivo attivo aggiuntivo. La riserva verr\u00e0 utilizzata per soddisfare i requisiti di drive extra. Ricorda di sostituire il numero di destinazione dei dispositivi RAID in questo comando. Qui stiamo aumentando il RAID 1 con 2 dispositivi a 3. Se sei nel RAID 10 con 4 dispositivi e hai l&#8217;unit\u00e0 aggiuntiva, aumentala a 5:<\/p>\n\n\n\n<p><code>sudo mdadm --grow --raid-devices=3 \/dev\/md0<\/code><\/p>\n\n\n\n<p>L&#8217;array inizier\u00e0 a riconfigurarsi con un disco attivo aggiuntivo. Per visualizzare l&#8217;avanzamento della sincronizzazione dei dati, eseguire quanto segue:<\/p>\n\n\n\n<p><code>cat \/proc\/mdstat<\/code><\/p>\n\n\n\n<p>Puoi continuare a utilizzare il dispositivo una volta completato il processo.<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Con RAID 5 o 6<\/strong><\/p>\n\n\n\n<p>Inizia aggiungendo il nuovo dispositivo come ricambio come dimostrato nell&#8217;ultima sezione:<\/p>\n\n\n\n<p><code>sudo mdadm \/dev\/md0 --add \/dev\/sde<\/code><\/p>\n\n\n\n<p>Scopri il numero attuale di dispositivi RAID nell&#8217;array:<\/p>\n\n\n\n<p><code>sudo mdadm --detail \/dev\/md0<\/code><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Output\n\/dev\/md0:\n        Version : 1.2\n  Creation Time : Wed Oct 5 18:38:51 2022\n     Raid Level : raid5\n     Array Size : 209584128 (199.88 GiB 214.61 GB)\n  Used Dev Size : 104792064 (99.94 GiB 107.31 GB)\n   <mark>Raid Devices : 3<\/mark>\n  <mark>Total Devices : 4<\/mark>\n    Persistence : Superblock is persistent\n\n    . . .<\/code><\/pre>\n\n\n\n<p>In questo esempio, l&#8217;array \u00e8 configurato per utilizzare attivamente tre dispositivi e il numero totale di dispositivi disponibili nell&#8217;array \u00e8 quattro a causa del dispositivo di riserva aggiunto.<\/p>\n\n\n\n<p>Ora riconfigura l&#8217;array per avere un dispositivo attivo aggiuntivo. La riserva verr\u00e0 utilizzata per soddisfare i requisiti di drive extra. Quando si espande un array RAID 5 o RAID 6, \u00e8 importante includere un&#8217;opzione aggiuntiva denominata <code>--backup-file<\/code>. Ci\u00f2 indicher\u00e0 una posizione fuori dall&#8217;array in cui verr\u00e0 archiviato un file di backup contenente informazioni critiche:<\/p>\n\n\n\n<p class=\"has-dark-gray-color has-light-blue-background-color has-text-color has-background has-link-color wp-elements-2adffb30f4c0fe291ec31c35d4fd4803\"><strong>Nota:<\/strong> durante questo processo il file di backup viene utilizzato solo per un periodo molto breve ma critico, dopodich\u00e9 verr\u00e0 eliminato automaticamente. Poich\u00e9 il tempo in cui ci\u00f2 \u00e8 necessario \u00e8 breve, probabilmente non vedrai mai il file sul disco, ma nel caso in cui qualcosa vada storto, pu\u00f2 essere utilizzato per ricostruire l&#8217;array. <a href=\"http:\/\/www.spinics.net\/lists\/raid\/msg47479.html\" target=\"_blank\" rel=\"noreferrer noopener\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-blue-color\">Questo post<\/mark><\/a> contiene alcune informazioni aggiuntive se desideri saperne di pi\u00f9.<\/p>\n\n\n\n<p><code>sudo mdadm --grow --raid-devices=4 --backup-file=\/root\/md0_grow.bak \/dev\/md0<\/code><\/p>\n\n\n\n<p>Il seguente output indica che verr\u00e0 eseguito il backup della sezione critica:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Output\nmdadm: Need to backup 3072K of critical section..<\/code><\/pre>\n\n\n\n<p>L&#8217;array inizier\u00e0 a riconfigurarsi con un disco attivo aggiuntivo. Per visualizzare l&#8217;avanzamento della sincronizzazione dei dati, eseguire:<\/p>\n\n\n\n<p><code>cat \/proc\/mdstat<\/code><\/p>\n\n\n\n<p>Puoi continuare a utilizzare il dispositivo una volta completato questo processo.<\/p>\n\n\n\n<p>Una volta completata la rimodellazione, dovrai espandere il filesystem sull&#8217;array per utilizzare lo spazio aggiuntivo:<\/p>\n\n\n\n<p><code>sudo resize2fs \/dev\/md0<\/code><\/p>\n\n\n\n<p>Il tuo array avr\u00e0 ora un filesystem che corrisponde alla sua capacit\u00e0.<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Con RAID 0<\/strong><\/p>\n\n\n\n<p>Gli array RAID 0 non possono avere unit\u00e0 di riserva perch\u00e9 non esiste alcuna possibilit\u00e0 per una riserva di ricostruire un array RAID 0 danneggiato. \u00c8 necessario aggiungere il nuovo dispositivo contemporaneamente all&#8217;espansione dell&#8217;array.<\/p>\n\n\n\n<p>Innanzitutto, scopri il numero corrente di dispositivi RAID nell&#8217;array:<\/p>\n\n\n\n<p><code>sudo mdadm --detail \/dev\/md0<\/code><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Output\n\/dev\/md0:\n        Version : 1.2\n  Creation Time : Wed Aug 10 19:17:14 2020\n     Raid Level : raid0\n     Array Size : 209584128 (199.88 GiB 214.61 GB)\n   <mark>Raid Devices : 2<\/mark>\n  <mark>Total Devices : 2<\/mark>\n    Persistence : Superblock is persistent\n\n    . . .<\/code><\/pre>\n\n\n\n<p>Ora puoi incrementare il numero di dispositivi RAID nella stessa operazione di aggiunta della nuova unit\u00e0:<\/p>\n\n\n\n<p><code>sudo mdadm --grow \/dev\/md0 --raid-devices=3 --add \/dev\/sdc<\/code><\/p>\n\n\n\n<p>Riceverai un output che indica che l&#8217;array \u00e8 stato modificato in RAID 4:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Output\nmdadm: level of \/dev\/md0 changed to raid4\nmdadm: added \/dev\/sdc<\/code><\/pre>\n\n\n\n<p>Questo \u00e8 normale e previsto. L&#8217;array torner\u00e0 al RAID 0 quando i dati saranno stati ridistribuiti su tutti i dischi esistenti.<\/p>\n\n\n\n<p>Puoi controllare lo stato di avanzamento dell&#8217;azione:<\/p>\n\n\n\n<p><code>cat \/proc\/mdstat<\/code><\/p>\n\n\n\n<p>Una volta completata la sincronizzazione, ridimensiona il filesystem per utilizzare lo spazio aggiuntivo:<\/p>\n\n\n\n<p><code>sudo resize2fs \/dev\/md0<\/code><\/p>\n\n\n\n<p>Il tuo array avr\u00e0 ora un filesystem che corrisponde alla sua capacit\u00e0.<\/p>\n\n\n\n<p class=\"has-dark-gray-color has-very-light-gray-to-cyan-bluish-gray-gradient-background has-text-color has-background has-link-color has-medium-font-size wp-elements-b827cfa303b4a074b4fdc0c285cd0bcd\"><strong>Rimozione di un dispositivo da un array<\/strong><\/p>\n\n\n\n<p>Talvolta \u00e8 necessario rimuovere un&#8217;unit\u00e0 da un array RAID in caso di guasto o se \u00e8 necessario sostituire il disco.<\/p>\n\n\n\n<p>Per poter rimuovere un dispositivo, \u00e8 necessario prima contrassegnarlo come &#8220;<em>guasto<\/em>&#8221; all&#8217;interno dell&#8217;array. Puoi verificare se \u00e8 presente un dispositivo guasto utilizzando <code>mdadm --detail<\/code>:<\/p>\n\n\n\n<p><code>sudo mdadm --detail \/dev\/md0<\/code><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Output\n\/dev\/md0:\n        Version : 1.2\n  Creation Time : Wed Aug 10 21:42:12 2020\n     Raid Level : raid5\n     Array Size : 209584128 (199.88 GiB 214.61 GB)\n  Used Dev Size : 104792064 (99.94 GiB 107.31 GB)\n   Raid Devices : 3\n  Total Devices : 3\n    Persistence : Superblock is persistent\n\n    Update Time : Thu Aug 11 14:10:43 2020\n          <mark>State : clean, degraded <\/mark>\n Active Devices : 2\nWorking Devices : 2\n <mark>Failed Devices : 1<\/mark>\n  Spare Devices : 0\n\n         Layout : left-symmetric\n     Chunk Size : 64K\n\n           Name : mdadmwrite:0  (local to host mdadmwrite)\n           UUID : bf7a711b:b3aa9440:40d2c12e:79824706\n         Events : 144\n\n    Number   Major   Minor   RaidDevice State\n       0       0        0        0      removed\n       1       8        0        1      active sync   \/dev\/sda\n       2       8       16        2      active sync   \/dev\/sdb\n       <mark>0       8       32        -      faulty   \/dev\/sdc<\/mark>\n<\/code><\/pre>\n\n\n\n<p>Tutte le linee evidenziate indicano che un&#8217;unit\u00e0 non funziona pi\u00f9. Come esempio, <code>\/dev\/sdc<\/code>in questo output rivela che l&#8217;unit\u00e0 \u00e8 difettosa.<\/p>\n\n\n\n<p>Se \u00e8 necessario rimuovere un&#8217;unit\u00e0 che non presenta problemi, \u00e8 possibile contrassegnarla manualmente come guasta con l&#8217;opzione<code>--fail<\/code>:<\/p>\n\n\n\n<p><code>sudo mdadm \/dev\/md0 --fail \/dev\/sdc<\/code><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Output\nmdadm: set \/dev\/sdc faulty in \/dev\/md0<\/code><\/pre>\n\n\n\n<p>\u00c8 quindi possibile sostituirlo con una nuova unit\u00e0, utilizzando lo stesso comando <code>mdadm --add<\/code>che usi per aggiungere un ricambio:<\/p>\n\n\n\n<p><code>sudo mdadm \/dev\/md0 --add \/dev\/sdd<\/code><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Output\nmdadm: added \/dev\/sdd<\/code><\/pre>\n\n\n\n<p>L&#8217;array inizier\u00e0 il ripristino copiando i dati sulla nuova unit\u00e0.<\/p>\n\n\n\n<p class=\"has-dark-gray-color has-very-light-gray-to-cyan-bluish-gray-gradient-background has-text-color has-background has-link-color has-medium-font-size wp-elements-539bfa2a53521611dd49c4b79ce48086\"><strong>Eliminazione di un array<\/strong><\/p>\n\n\n\n<p>Per distruggere un array, compresi tutti i dati in esso contenuti, iniziare seguendo il processo utilizzato per arrestare un array.<\/p>\n\n\n\n<p>Esci dalla directory montata con il seguente comando:<\/p>\n\n\n\n<p><code>cd ~<\/code><\/p>\n\n\n\n<p>Quindi smonta il filesystem:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo umount <mark>\/mnt\/md0<\/mark><\/code><\/pre>\n\n\n\n<p>Quindi, interrompi l&#8217;array:<\/p>\n\n\n\n<p><code>sudo mdadm --stop \/dev\/md0<\/code><\/p>\n\n\n\n<p>Successivamente, elimina l&#8217;array stesso con il comando <code>--remove<\/code>destinato al dispositivo RAID:<\/p>\n\n\n\n<p><code>sudo mdadm --remove \/dev\/md0<\/code><\/p>\n\n\n\n<p>Una volta rimosso l&#8217;array stesso, utilizzare <code>mdadm --zero-superblock<\/code>su ciascuno dei dispositivi componenti. Questo canceller\u00e0 il superblocco <code>md<\/code>, un&#8217;intestazione utilizzata da <code>mdadm<\/code>per assemblare e gestire i dispositivi componenti come parte di un array. Se \u00e8 ancora presente, potrebbe causare problemi quando si tenta di riutilizzare il disco per altri scopi.<\/p>\n\n\n\n<p>Controlla la colonna <code>FSTYPE<\/code> nell&#8217;output <code>lsblk --fs<\/code>per confermare che il superblocco \u00e8 presente nell&#8217;array:<\/p>\n\n\n\n<p><code>lsblk --fs<\/code><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Output\nNAME    FSTYPE            LABEL        UUID                                 MOUNTPOINT\n\u2026\nsda     <mark>linux_raid_member<\/mark> mdadmwrite:0 bf7a711b-b3aa-9440-40d2-c12e79824706 \nsdb     <mark>linux_raid_member<\/mark> mdadmwrite:0 bf7a711b-b3aa-9440-40d2-c12e79824706 \nsdc     <mark>linux_raid_member<\/mark> mdadmwrite:0 bf7a711b-b3aa-9440-40d2-c12e79824706 \nsdd                                                                         \nvda                                                                         \n\u251c\u2500vda1  ext4              DOROOT       4f8b85db-8c11-422b-83c4-c74195f67b91 \/\n\u2514\u2500vda15<\/code><\/pre>\n\n\n\n<p>In questo esempio, <code>\/dev\/sda<\/code>, <code>\/dev\/sdb<\/code> e <code>\/dev\/sdc<\/code>facevano tutti parte dell&#8217;array e sono ancora etichettati come tali.<\/p>\n\n\n\n<p>Rimuovere le etichette con il seguente comando:<\/p>\n\n\n\n<p><code>sudo mdadm --zero-superblock \/dev\/sda \/dev\/sdb \/dev\/sdc<\/code><\/p>\n\n\n\n<p>Successivamente, assicurati di rimuovere o commentare qualsiasi riferimento all&#8217;array nel file <code>\/etc\/fstab<\/code>. Puoi farlo aggiungendo il simbolo dell&#8217;hashtag <code>#<\/code>all&#8217;inizio:<\/p>\n\n\n\n<p><code>sudo nano \/etc\/fstab<\/code><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>. . .\n<mark>#<\/mark> \/dev\/md0 \/mnt\/md0 ext4 defaults,nofail,discard 0 0<\/code><\/pre>\n\n\n\n<p>Salva e chiudi il file quando hai finito.<\/p>\n\n\n\n<p>Rimuovere o commentare eventuali riferimenti all&#8217;array anche dal file <code>\/etc\/mdadm\/mdadm.conf<\/code>:<\/p>\n\n\n\n<p><code>nano \/etc\/mdadm\/mdadm.conf<\/code><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><mark>#<\/mark> ARRAY \/dev\/md0 metadata=1.2 name=mdadmwrite:0 UUID=bf7a711b:b3aa9440:40d2c12e:79824706<\/code><\/pre>\n\n\n\n<p>Salva e chiudi il file quando hai finito.<\/p>\n\n\n\n<p>Quindi aggiorna l&#8217;initramfs:<\/p>\n\n\n\n<p><code>sudo update-initramfs -u<\/code><\/p>\n\n\n\n<p>Ci\u00f2 rimuover\u00e0 il dispositivo dall&#8217;ambiente di avvio iniziale.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Come gestire gli array RAID con mdadm su Ubuntu 22.04 Introduzione Gli array RAID forniscono prestazioni e ridondanza migliorate combinando singoli dischi in dispositivi di archiviazione virtuali in configurazioni specifiche. In Linux, l&#8217;utility mdadmcrea e gestisce array RAID software. In questa guida eseguirai diverse configurazioni RAID che possono essere configurate utilizzando un server Ubuntu 22.04. &hellip; <a href=\"https:\/\/www.fabriziogiancola.eu\/index.php\/2024\/03\/04\/gestire-raid-ubuntu-22-04\/\" class=\"more-link\">Leggi tutto<span class=\"screen-reader-text\"> &#8220;Come gestire array RAID&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":13,"footnotes":""},"categories":[19],"tags":[],"class_list":["post-1598","post","type-post","status-publish","format-standard","hentry","category-sistemi-operativi"],"_links":{"self":[{"href":"https:\/\/www.fabriziogiancola.eu\/index.php\/wp-json\/wp\/v2\/posts\/1598","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fabriziogiancola.eu\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fabriziogiancola.eu\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fabriziogiancola.eu\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fabriziogiancola.eu\/index.php\/wp-json\/wp\/v2\/comments?post=1598"}],"version-history":[{"count":30,"href":"https:\/\/www.fabriziogiancola.eu\/index.php\/wp-json\/wp\/v2\/posts\/1598\/revisions"}],"predecessor-version":[{"id":1636,"href":"https:\/\/www.fabriziogiancola.eu\/index.php\/wp-json\/wp\/v2\/posts\/1598\/revisions\/1636"}],"wp:attachment":[{"href":"https:\/\/www.fabriziogiancola.eu\/index.php\/wp-json\/wp\/v2\/media?parent=1598"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fabriziogiancola.eu\/index.php\/wp-json\/wp\/v2\/categories?post=1598"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fabriziogiancola.eu\/index.php\/wp-json\/wp\/v2\/tags?post=1598"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}