Installation av nya diskar
Då själva syftet med LVM är att kunna hantera volymer och diskar på ett effektivt sätt, kollade jag runt lite i HowTo's och FAQs för LVM och RAID. Jag hittade denna intressanta artikeln om hur man tar bort en fysisk volym (PV) från ett filsystem som är i drift.
Enklaste lösningen för att råda bot på probleme med trsiga diskar i ett RAID system är givetvis att skaffa exakt lika stora diskar och byta ut dem en och en, med en resync emellan. Men jag vill passa på att sätta in större diskar, vilket ökar komplexiteten något.
Men först av allt måste jag installera de nya diskarna och partitionera dem med "fdisk". Partitionens ID sätts till RAID Autodetect (0xfd). Partitionerna dyker upp i systemet som /dev/sdb1 samt /dev/sdd1.
Nästa steg blir att bygga ihop den båda diskarna till en spegel (RAID1-array).
# mdadm --create --verbose /dev/md100 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdd1
mdadm: Note: this array has metadata at the start and
may not be suitable as a boot device. If you plan to
store '/boot' on this device please ensure that
your boot-loader understands md/v1.x metadata, or use
--metadata=0.90
mdadm: size set to 1953512400K
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md100 started.
#
# cat /proc/mdstat
Personalities : [raid1]
md100 : active raid1 sdd1[1] sdb1[0]
1953512400 blocks super 1.2 [2/2] [UU]
[>....................] resync = 0.0% (1148352/1953512400) finish=226.6min speed=143544K/sec
md126 : active raid1 sdg1[0]
976758841 blocks super 1.2 [2/1] [U_]
md127 : active raid1 sdf1[1] sde1[0]
976759672 blocks super 1.2 [2/2] [UU]
md0 : active raid1 sda2[0] sdc1[1]
485807996 blocks super 1.1 [2/2] [UU]
bitmap: 3/4 pages [12KB], 65536KB chunk
unused devices: <none>
Syncning startar i bakgrunden och det går bra att börja använda arrayen /dev/md100 på direkten.
Nästa steg blir att lägga till arrayen som en fysisk volym (PV) i införliva den i vår LVM volymgrupp (VG).
# pvcreate /dev/md100
Physical volume "/dev/md100" successfully created
#
# lvs
LV VG Attr LSize Origin Snap% Move Log Copy% Convert
lvm0 lvm-raid -wi-ao 1.82t
#
# vgextend lvm-raid /dev/md100
Volume group "lvm-raid" successfully extended
#
Vi ser nedan att den nya PVn har adderats till VGn, som nu är 3.64TB stor.
#
# vgdisplay
--- Volume group ---
VG Name lvm-raid
System ID
Format lvm2
Metadata Areas 3
Metadata Sequence No 9
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 3
Act PV 3
VG Size 3.64 TiB
PE Size 4.00 MiB
Total PE 953863
Alloc PE / Size 476932 / 1.82 TiB
Free PE / Size 476931 / 1.82 TiB
VG UUID UNdmuD-JNGp-YwgA-s5PQ-3mp6-u4En-5Ets3U
#
Nästa steg blöir att utnyttja VGns extrakapacitet till att rädda data från de trasiga diskarna.
# pvmove -v /dev/md126
Finding volume group "lvm-raid"
Archiving volume group "lvm-raid" metadata (seqno 9).
Creating logical volume pvmove0
Moving 238466 extents of logical volume lvm-raid/lvm0
Found volume group "lvm-raid"
activation/volume_list configuration setting not defined, checking only host tags for lvm-raid/lvm0
Updating volume group metadata
Found volume group "lvm-raid"
Found volume group "lvm-raid"
Suspending lvm--raid-lvm0 (253:0) with device flush
Found volume group "lvm-raid"
activation/volume_list configuration setting not defined, checking only host tags for lvm-raid/pvmove0
Creating lvm--raid-pvmove0
Loading lvm--raid-pvmove0 table (253:1)
Resuming lvm--raid-pvmove0 (253:1)
Found volume group "lvm-raid"
Loading lvm--raid-pvmove0 table (253:1)
Suppressed lvm--raid-pvmove0 identical table reload.
Loading lvm--raid-lvm0 table (253:0)
Resuming lvm--raid-lvm0 (253:0)
Creating volume group backup "/etc/lvm/backup/lvm-raid" (seqno 10).
Checking progress before waiting every 15 seconds
/dev/md126: Moved: 0.0%
/dev/md126: Moved: 0.1%
/dev/md126: Moved: 0.2%
.
.
.
Detta tar lång tid. Jag återkommer :-)
Kommentarer
Trackback