LVM Guide · 6 min read · Oct 09, 2025
Guida per principianti a LVM - Pagina 8
8 Sostituzione dei dischi rigidi con quelli più grandi
Attualmente stiamo utilizzando quattro dischi rigidi di dimensioni 25GB ciascuno (almeno ci comportiamo come se fosse così). Ora supponiamo che questo non sia più sufficiente e che abbiamo bisogno di più spazio nella nostra configurazione RAID. Pertanto, sostituiremo i nostri dischi rigidi da 25GB con dischi rigidi da 80GB (in effetti continueremo a utilizzare i dischi rigidi attuali, ma utilizzeremo ora la loro piena capacità - nella vita reale sostituiresti i tuoi vecchi dischi rigidi piccoli con nuovi dischi più grandi).
La procedura è la seguente: prima rimuoviamo /dev/sdb e /dev/sdd dagli array RAID, li sostituiamo con dischi rigidi più grandi, li rimettiamo negli array RAID e poi facciamo lo stesso di nuovo con /dev/sdc e /dev/sde.
Prima di tutto, segniamo /dev/sdb1 come guasto:
mdadm --manage /dev/md0 --fail /dev/sdb1server1:~# mdadm --manage /dev/md0 --fail /dev/sdb1
mdadm: set /dev/sdb1 faulty in /dev/md0L’output di
cat /proc/mdstatora appare così:
server1:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]
md0 : active raid1 sdc1[0] sdb1[2](F)
24418688 blocks [2/1] [U_]
md1 : active raid1 sde1[0] sdd1[1]
24418688 blocks [2/2] [UU]
unused devices: Poi rimuoviamo /dev/sdb1 dall’array RAID /dev/md0:
mdadm --manage /dev/md0 --remove /dev/sdb1server1:~# mdadm --manage /dev/md0 --remove /dev/sdb1
mdadm: hot removed /dev/sdb1cat /proc/mdstatserver1:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]
md0 : active raid1 sdc1[0]
24418688 blocks [2/1] [U_]
md1 : active raid1 sde1[0] sdd1[1]
24418688 blocks [2/2] [UU]
unused devices: Ora facciamo lo stesso con /dev/sdd1:
mdadm --manage /dev/md1 --fail /dev/sdd1server1:~# mdadm --manage /dev/md1 --fail /dev/sdd1
mdadm: set /dev/sdd1 faulty in /dev/md1cat /proc/mdstatserver1:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]
md0 : active raid1 sdc1[0]
24418688 blocks [2/1] [U_]
md1 : active raid1 sde1[0] sdd1[2](F)
24418688 blocks [2/1] [U_]
unused devices: mdadm --manage /dev/md1 --remove /dev/sdd1server1:~# mdadm --manage /dev/md1 --remove /dev/sdd1
mdadm: hot removed /dev/sdd1cat /proc/mdstatserver1:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]
md0 : active raid1 sdc1[0]
24418688 blocks [2/1] [U_]
md1 : active raid1 sde1[0]
24418688 blocks [2/1] [U_]
unused devices: In un sistema reale ora lo spegneresti, estrarresti i dischi da 25GB /dev/sdb e /dev/sdd e li sostituiresti con quelli da 80GB. Come ho detto prima, non dobbiamo farlo perché tutti i dischi rigidi hanno già una capacità di 80GB.
Successivamente dobbiamo formattare /dev/sdb e /dev/sdd. Dobbiamo creare una partizione /dev/sdb1 resp. /dev/sdd1, tipo fd (Linux RAID autodetect), dimensione 25GB (le stesse impostazioni dei vecchi dischi rigidi), e una partizione /dev/sdb2 resp. /dev/sdd2, tipo fd, che copra il resto dei dischi rigidi. Poiché /dev/sdb1 e /dev/sdd1 sono ancora presenti sui nostri dischi rigidi, dobbiamo solo creare /dev/sdb2 e /dev/sdd2 in questo esempio speciale.
fdisk /dev/sdbserver1:~# fdisk /dev/sdb
Il numero di cilindri per questo disco è impostato su 10443.
Non c’è nulla di sbagliato in questo, ma è più grande di 1024,
e potrebbe in alcune configurazioni causare problemi con:
- software che gira all’avvio (ad es., vecchie versioni di LILO)
- avvio e software di partizionamento da altri OS
(ad es., DOS FDISK, OS/2 FDISK)
Comando (m per aiuto): <– p
Disco /dev/sdb: 85.8 GB, 85899345920 bytes
255 heads, 63 sectors/track, 10443 cilindri
Unità = cilindri di 16065 * 512 = 8225280 bytes
Dispositivo Boot Inizio Fine Blocchi Id Sistema
/dev/sdb1 1 3040 24418768+ fd Linux raid autodetect
Comando (m per aiuto): <– n
Azione del comando
e esteso
p partizione primaria (1-4)
<– p
Numero della partizione (1-4): <– 2
Primo cilindro (3041-10443, valore predefinito 3041): <–
Utilizzando il valore predefinito 3041
Ultimo cilindro o +dimensione o +dimensioneM o +dimensioneK (3041-10443, valore predefinito 10443): <–
Utilizzando il valore predefinito 10443
Comando (m per aiuto): <– t
Numero della partizione (1-4): <– 2
Codice esadecimale (tipo L per elencare i codici): <– fd
Cambiato il tipo di sistema della partizione 2 in fd (Linux raid autodetect)
Comando (m per aiuto): <– w
La tabella delle partizioni è stata modificata!
Chiamando ioctl() per rileggere la tabella delle partizioni.
Sincronizzazione dei dischi.
Fai lo stesso per /dev/sdd:
fdisk /dev/sddL’output di
fdisk -lora appare così:
server1:~# fdisk -l
Disco /dev/sda: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cilindri
Unità = cilindri di 16065 * 512 = 8225280 bytes
Dispositivo Boot Inizio Fine Blocchi Id Sistema
/dev/sda1 * 1 18 144553+ 83 Linux
/dev/sda2 19 2450 19535040 83 Linux
/dev/sda4 2451 2610 1285200 82 Linux swap / Solaris
Disco /dev/sdb: 85.8 GB, 85899345920 bytes
255 heads, 63 sectors/track, 10443 cilindri
Unità = cilindri di 16065 * 512 = 8225280 bytes
Dispositivo Boot Inizio Fine Blocchi Id Sistema
/dev/sdb1 1 3040 24418768+ fd Linux raid autodetect
/dev/sdb2 3041 10443 59464597+ fd Linux raid autodetect
Disco /dev/sdc: 85.8 GB, 85899345920 bytes
255 heads, 63 sectors/track, 10443 cilindri
Unità = cilindri di 16065 * 512 = 8225280 bytes
Dispositivo Boot Inizio Fine Blocchi Id Sistema
/dev/sdc1 1 3040 24418768+ fd Linux raid autodetect
Disco /dev/sdd: 85.8 GB, 85899345920 bytes
255 heads, 63 sectors/track, 10443 cilindri
Unità = cilindri di 16065 * 512 = 8225280 bytes
Dispositivo Boot Inizio Fine Blocchi Id Sistema
/dev/sdd1 1 3040 24418768+ fd Linux raid autodetect
/dev/sdd2 3041 10443 59464597+ fd Linux raid autodetect
Disco /dev/sde: 85.8 GB, 85899345920 bytes
255 heads, 63 sectors/track, 10443 cilindri
Unità = cilindri di 16065 * 512 = 8225280 bytes
Dispositivo Boot Inizio Fine Blocchi Id Sistema
/dev/sde1 1 3040 24418768+ fd Linux raid autodetect
Disco /dev/sdf: 85.8 GB, 85899345920 bytes
255 heads, 63 sectors/track, 10443 cilindri
Unità = cilindri di 16065 * 512 = 8225280 bytes
Dispositivo Boot Inizio Fine Blocchi Id Sistema
/dev/sdf1 1 3040 24418768+ 8e Linux LVM
Disco /dev/md1: 25.0 GB, 25004736512 bytes
2 heads, 4 sectors/track, 6104672 cilindri
Unità = cilindri di 8 * 512 = 4096 bytes
Disco /dev/md1 non contiene una tabella delle partizioni valida
Disco /dev/md0: 25.0 GB, 25004736512 bytes
2 heads, 4 sectors/track, 6104672 cilindri
Unità = cilindri di 8 * 512 = 4096 bytes
Disco /dev/md0 non contiene una tabella delle partizioni validaOra aggiungiamo di nuovo /dev/sdb1 a /dev/md0 e /dev/sdd1 a /dev/md1:
mdadm --manage /dev/md0 --add /dev/sdb1server1:~# mdadm --manage /dev/md0 --add /dev/sdb1
mdadm: re-added /dev/sdb1mdadm --manage /dev/md1 --add /dev/sdd1server1:~# mdadm --manage /dev/md1 --add /dev/sdd1
mdadm: re-added /dev/sdd1Ora il contenuto di entrambi gli array RAID sarà sincronizzato. Dobbiamo aspettare fino a quando questo non è finito prima di poter procedere. Possiamo controllare lo stato della sincronizzazione con
cat /proc/mdstatL’output appare così durante la sincronizzazione:
server1:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]
md0 : active raid1 sdb1[1] sdc1[0]
24418688 blocks [2/1] [U_]
[=>...................] recovery = 9.9% (2423168/24418688) finish=2.8min speed=127535K/sec
md1 : active raid1 sdd1[1] sde1[0]
24418688 blocks [2/1] [U_]
[=>...................] recovery = 6.4% (1572096/24418688) finish=1.9min speed=196512K/sec
unused devices: e così quando è finito:
server1:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]
md0 : active raid1 sdb1[1] sdc1[0]
24418688 blocks [2/2] [UU]
md1 : active raid1 sdd1[1] sde1[0]
24418688 blocks [2/2] [UU]
unused devices: Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.