Sinds een paar maanden beheer ik mijn harde schijven met LVM. Dat is vlekkeloos verlopen, tot nu. Het resizen (vergroten) van een bepaalde logische partitie wil maar niet lukken...
De software
LVM2, stable versie uit Arch Linux:
Stable kernel 2.6.32-7, Arch-version:
De situatie
1 volume group, "data"
4 logische partities:
3 fysieke partities:
De probleem-partitie in kwestie:
Het probleem
Omdat mijn video-partitie vol staat, wil ik die resizen. Ik kies ervoor om 250GB toe te voegen, verspreid over /dev/sda1 en /dev/sdb1.
Dat faalt quasi-onmiddelijk, en lvresize geeft mij de controle terug over de terminal.
Als ik dan een lvdisplay probeer, loopt die helemaal vast en reageert op geen enkele interrupt, zelf geen kill -9 (wat mij doet vermoeden dat er 1 of andere kernel lock vast zit). Na de mislukte lvresize vind ik wat info terug in dmesg:
Ik weet niet in welke eenheid die getallen uitgedrukt staan, maar mijn partitietabel van /dev/sda ziet er alleszins correct uit:
Bij "/dev/sdb" en "/dev/sdc" (de andere twee fysieke componenten van de "data" vg) neemt de LVM partitie de hele schijf in, maar dat zou niks mogen uitmaken.
De enige manier om uit deze lock-up te geraken is een halt en harde kernel reboot. Als ik daarna opstart "lijkt" de partitie vergroot:
Maar de partitie is suspended en ik kan ze niet online krijgen. Mounten lukt natuurlijk niet omdat "/dev/data/video" niet blijkt te bestaan als de partitie suspended is. De rest van de VG functioneert wel.
Om mijn partitie opnieuw werkbaar te maken, moet ik de resize gewoon terugdraaien:
Waarna het volume weer online is en ik opnieuw kan mounten.
Iemand een idee wat er hier aan de hand is? Ik heb deze cyclus nu al twee keer doorlopen, telkens zonder dataverlies, maar toch ben ik een beetje terughoudend qua spelen met mijn partities
Vandaar deze post, ik zou niet graag mijn data verliezen bij het zoeken naar een oplossing. Thanks!
De software
LVM2, stable versie uit Arch Linux:
code:
1
2
3
| [tim@galactica ~]$ pacman -Qs lvm local/lvm2 2.02.60-2 (base) Logical Volume Manager 2 utilities |
Stable kernel 2.6.32-7, Arch-version:
code:
1
2
3
4
5
| [tim@galactica ~]$ uname -a Linux galactica 2.6.32-ARCH #1 SMP PREEMPT Fri Jan 29 09:10:49 CET 2010 x86_64 Intel(R) Core(TM)2 Quad CPU Q9550 @ 2.83GHz GenuineIntel GNU/Linux [tim@galactica ~]$ pacman -Qs kernel26 local/kernel26 2.6.32.7-1 (base) The Linux Kernel and modules |
De situatie
1 volume group, "data"
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| [tim@galactica Desktop]$ sudo vgdisplay /dev/data --- Volume group --- VG Name data System ID Format lvm2 Metadata Areas 3 Metadata Sequence No 37 VG Access read/write VG Status resizable MAX LV 0 Cur LV 4 Open LV 4 Max PV 0 Cur PV 3 Act PV 3 VG Size 2,86 TiB PE Size 4,00 MiB Total PE 748784 Alloc PE / Size 678400 / 2,59 TiB Free PE / Size 70384 / 274,94 GiB VG UUID 7ejRqW-ekql-76IP-n8o4-CupX-H65l-G9HyGZ |
4 logische partities:
code:
1
2
3
4
5
| [tim@galactica Desktop]$ sudo lvscan ACTIVE '/dev/data/video' [1,46 TiB] inherit ACTIVE '/dev/data/software' [500,00 GiB] inherit ACTIVE '/dev/data/muziek' [500,00 GiB] inherit ACTIVE '/dev/data/home' [150,00 GiB] inherit |
3 fysieke partities:
code:
1
2
3
4
5
| [tim@galactica Desktop]$ sudo pvscan PV /dev/sdc1 VG data lvm2 [1,36 TiB / 0 free] PV /dev/sda1 VG data lvm2 [931,51 GiB / 178,77 GiB free] PV /dev/sdb1 VG data lvm2 [596,17 GiB / 96,17 GiB free] Total: 3 [2,86 TiB] / in use: 3 [2,86 TiB] / in no VG: 0 [0 ] |
De probleem-partitie in kwestie:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| [tim@galactica Desktop]$ sudo lvdisplay /dev/data/video --- Logical volume --- LV Name /dev/data/video VG Name data LV UUID RJamdk-p2ui-xz9a-lbLr-ly1V-YCXP-FF1LCz LV Write Access read/write LV Status available # open 1 LV Size 1,46 TiB Current LE 384000 Segments 2 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 254:0 |
Het probleem
Omdat mijn video-partitie vol staat, wil ik die resizen. Ik kies ervoor om 250GB toe te voegen, verspreid over /dev/sda1 en /dev/sdb1.
code:
1
2
3
4
5
| [tim@galactica Desktop]$ sudo lvresize --debug -L +250GB /dev/data/video Extending logical volume video to 1,71 TiB device-mapper: resume ioctl failed: Ongeldig argument Unable to resume data-video (254:0) Problem reactivating video |
Dat faalt quasi-onmiddelijk, en lvresize geeft mij de controle terug over de terminal.
Als ik dan een lvdisplay probeer, loopt die helemaal vast en reageert op geen enkele interrupt, zelf geen kill -9 (wat mij doet vermoeden dat er 1 of andere kernel lock vast zit). Na de mislukte lvresize vind ik wat info terug in dmesg:
code:
1
2
3
| [tim@galactica Desktop]$ dmesg | tail [snip] device-mapper: table: 254:0: sda1 too small for target: start=1578606976, len=374906880, dev_size=1677844481 |
Ik weet niet in welke eenheid die getallen uitgedrukt staan, maar mijn partitietabel van /dev/sda ziet er alleszins correct uit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| [tim@galactica ~]$ sudo fdisk -l /dev/sda Schijf /dev/sda: 1000.2 GB, 1000204886016 bytes 255 koppen, 63 sectoren/spoor, 121601 cilinders Eenheid = cilinders van 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes Schijf-ID: 0x00037bfd Apparaat Opstart Begin Einde Blokken ID Systeem /dev/sda1 1 104441 838922240+ 8e Linux LVM /dev/sda2 * 104441 104502 489982+ 83 Linux /dev/sda3 104502 104624 979965 82 Linux wisselgeheugen /dev/sda4 104624 107056 19535040 83 Linux |
Bij "/dev/sdb" en "/dev/sdc" (de andere twee fysieke componenten van de "data" vg) neemt de LVM partitie de hele schijf in, maar dat zou niks mogen uitmaken.
De enige manier om uit deze lock-up te geraken is een halt en harde kernel reboot. Als ik daarna opstart "lijkt" de partitie vergroot:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| [tim@galactica Desktop]$ sudo lvdisplay /dev/data/video --- Logical volume --- LV Name /dev/data/video VG Name data LV UUID RJamdk-p2ui-xz9a-lbLr-ly1V-YCXP-FF1LCz LV Write Access read/write LV Status suspended # open 0 LV Size 1,71 TiB Current LE 448000 Segments 4 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 254:0 |
Maar de partitie is suspended en ik kan ze niet online krijgen. Mounten lukt natuurlijk niet omdat "/dev/data/video" niet blijkt te bestaan als de partitie suspended is. De rest van de VG functioneert wel.
Om mijn partitie opnieuw werkbaar te maken, moet ik de resize gewoon terugdraaien:
code:
1
2
3
4
5
6
| [tim@galactica Desktop]$ sudo lvresize --debug -L -250GB /dev/data/video WARNING: Reducing active logical volume to 1,46 TiB THIS MAY DESTROY YOUR DATA (filesystem etc.) Do you really want to reduce video? [y/n]: y Reducing logical volume video to 1,46 TiB Logical volume video successfully resized |
Waarna het volume weer online is en ik opnieuw kan mounten.
Iemand een idee wat er hier aan de hand is? Ik heb deze cyclus nu al twee keer doorlopen, telkens zonder dataverlies, maar toch ben ik een beetje terughoudend qua spelen met mijn partities