• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[Gelöst] Frage zu Logical Volume Manager (lvm) und swap

HPF-84E

Member
Hi,
ich habe mich mit meiner Festplattenaufteilung mal Beschäftigt weil ich mit dem Gedanken spiele über einen LVM-Snapshot.
Daher habe ich mir ersteinmal angeschaut wie gerade meine Aufteilung ist:
Code:
# blkid
/dev/mapper/system-root: UUID="b86539df-f152-4876-b3d4-31e7ef9cb756" BLOCK_SIZE="4096" TYPE="ext4"
/dev/nvme0n1p2: UUID="1k6TNY-M17R-lObs-qfwf-Q1kl-Bz0M-jgUCMp" TYPE="LVM2_member" PARTUUID="ee6c9d98-a3b7-40c0-a42c-5442e6e45b11"
/dev/nvme0n1p1: UUID="4815-592E" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="cbace44e-585a-4077-9e86-2272629792d2"
/dev/mapper/system-swap0: UUID="189a9838-a447-4f70-816b-70523c5c3765" TYPE="swap"
/dev/sda1: UUID="550c6531-bbe2-4ca3-8326-1a16bc4a1049" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="000621ff-01"
/dev/sda2: UUID="e0c4bc65-01e1-4688-bd9c-c5921954d4e6" TYPE="swap" PARTUUID="000621ff-02"
/dev/mapper/system-swap: UUID="1e729af1-eb17-4b59-b42e-5832a2c72caf" TYPE="swap"

Code:
# less /etc/fstab   zeigt:
/dev/system/swap0  swap       swap  defaults  0  0
/dev/system/root   /          ext4  defaults  0  1
UUID=4815-592E     /boot/efi  vfat  utf8      0  2
/dev/sda1  /run/media/jag/550c6531-bbe2-4ca3-8326-1a16bc4a1049  ext4  defaults 0  1

Wie man unschwer erkennen kann sind sogar drei Swap-Partitionen vorhanden. Das hat mich dann zu weitern forschen animiert:
Code:
# vgscan
  Found volume group "system" using metadata type lvm2

# pvscan
  PV /dev/nvme0n1p2   VG system          lvm2 [238,18 GiB / 0    free]
  Total: 1 [238,18 GiB] / in use: 1 [238,18 GiB] / in no VG: 0 [0   ]

# lvscan
  ACTIVE            '/dev/system/swap' [7,61 GiB] inherit
  ACTIVE            '/dev/system/swap0' [7,61 GiB] inherit
  ACTIVE            '/dev/system/root' [222,96 GiB] inherit

Code:
:/dev/system> ls -la
insgesamt 0
drwxr-xr-x  2 root root  100  3. Apr 17:55 .
drwxr-xr-x 21 root root 4560  3. Apr 18:06 ..
lrwxrwxrwx  1 root root    7  3. Apr 17:55 root -> ../dm-0
lrwxrwxrwx  1 root root    7  3. Apr 17:55 swap -> ../dm-2
lrwxrwxrwx  1 root root    7  3. Apr 17:55 swap0 -> ../dm-1

Wie man sehen kann habe ich 2 Links auf Swap im LVM System auf meiner Nvme-platte. Die Swap auf /dev/sda kann ich ja erst einmal ignorieren. Wie die da hingekommen ist weiß ich auch nicht mehr. Einfach nicht mehr dran gedacht wahrscheinlich.

Warum 2 Swap im System?
Kann ich eine davon löschen z.B die nicht aktive swap? swap0 ist ja aktiv.
Zum Löschen würde sich ja

Code:
lvremove /dev/system/swap

anbieten.

Würde mich freuen wenn jemand da bei sich mal schauen kann und auch Erfahrung hat mit LVM zum vergleichen um mir Tipps zu geben.
Danke
 

gehrke

Administrator
Teammitglied
Üblicherweise hat man nur ein SWAP im System. Ist das so frisch partitioniert worden oder ein Ergebnis einer längeren Migrationshistorie?

Weitere Hinweise vor dem Löschen könnten weitere Ausgaben bringen. Beispiele (man achte auch auf die Attribute):
Code:
# lvs
  LV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  home system -wi-ao---- 199,47g                                                    
  os   system -wi-ao---- <30,00g                                                    
  swap system -wi-ao----   8,00g
Besonders 'lvdisplay' solltest Du für alle vergleichen:
Code:
# lvdisplay system/swap
  --- Logical volume ---
  LV Path                /dev/system/swap
  LV Name                swap
  VG Name                system
  LV UUID                QJHAKC-qEgd-jqN8-cqBg-l3Bk-FiBx-Qh159L
  LV Write Access        read/write
  LV Creation host, time localhost-live, 2018-08-23 17:59:05 +0200
  LV Status              available
  # open                 2
  LV Size                8,00 GiB
  Current LE             2048
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2
 
OP
H

HPF-84E

Member
Hi,
durch deine Abfragen kommen wir der Sache wohl näher.
Erstmal zeigen:
Code:
# lvs
  LV    VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root  system -wi-ao---- 222,96g                                                    
  swap  system -wi-a-----   7,61g                                                    
  swap0 system -wi-ao----   7,61g
Code:
# lvdisplay system/swap
  --- Logical volume ---
  LV Path                /dev/system/swap
  LV Name                swap
  VG Name                system
  LV UUID                lg9edH-sU1f-xvPD-tjWF-LIPq-l17r-VbVXzd
  LV Write Access        read/write
  LV Creation host, time install, 2021-03-13 18:26:24 +0100
  LV Status              available
  # open                 0
  LV Size                7,61 GiB
  Current LE             1948
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     1024
  Block device           254:2

Wegen den Attributen müsste ich mich auch erst einmal einlesen. Ich denke das „ao" für Aktiv und Online steht. Aber sieht schon anders aus.
Vor 1 Jahr hatte ich opensuse15.2 installiert das deckt sich mit der 2. Ausgabe. Dann hatte ich ein Upgrade gemacht auf 15.3. Das hat sich aber irgendwann abgeschossen und ich habe 15.3 neu installiert vor ungefähr einen halben Jahr.
Bei der Installation von 15.3 hatte ich Partitionen übernehmen aber System neu installieren mit LVM ausgewählt. Es kann sein das ich damals bei 15.2 eine extra formatierte Swap-Partition erstellt hatte. :???:
Jetzt denke ich mir das durch die Neuinstallation von 15.3 mit LVM automatisch noch eine SWAP erstellt worden ist durch den Installer und die alte halt noch mit integriert worden ist. Ob das jetzt ein Fehler vom Installer oder von mir ist?
 

gehrke

Administrator
Teammitglied
Das 'o' steht für 'open'.

https://man7.org/linux/man-pages/man8/lvs.8.html

Insofern würde ich ganz vorsichtig sagen, dass 'swap' nicht verwendet wird, sondern 'swap0'. Dementsprechend könnte es gelöscht werden und dem bestehenden LV zugeschlagen werden oder es bleibt als Reserve, beispielsweise für Snapshots.
 
OP
H

HPF-84E

Member
@ josef-wien

Ich denke mal das du daß sehen möchtest. :D

Code:
jag@localhost:~> cat /proc/swaps
Filename				Type		Size	Used	Priority
/dev/dm-1                               partition	7974908	0	-2
jag@localhost:~> cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-5.3.18-150300.59.60-default root=/dev/mapper/system-root splash=silent resume=/dev/system/swap0 quiet fsck.repair=preen mitigations=auto
jag@localhost:~> grep swap /etc/fstab
/dev/system/swap0  swap       swap  defaults  0  0
 
OP
H

HPF-84E

Member
So, ich habe mich das jetzt einfach mal getraut.
Als Root:
Code:
lvremove /dev/system/swap
danach
Code:
lvextend -L +1948 /dev/system/root

Das sind aber nur 1948 Mb da mehr nicht zur Verfügung stand. Auch nicht nach einen Reboot.
Jetzt:
Code:
localhost:/home/jag # pvscan
  PV /dev/nvme0n1p2   VG system          lvm2 [238,18 GiB / 5,71 GiB free]
  Total: 1 [238,18 GiB] / in use: 1 [238,18 GiB] / in no VG: 0 [0   ]
localhost:/home/jag # lvscan
  ACTIVE            '/dev/system/swap0' [7,61 GiB] inherit
  ACTIVE            '/dev/system/root' [224,86 GiB] inherit

Wie man sieht habe ich jetzt aber noch knapp 5,7 G zur Verfügung. Die Root Partition lässt sich nicht um diese Größe erweitern. :irre:
Noch einmal Reboot.
Dann habe ich es noch einmal Versucht:
Code:
localhost:/home/jag # lvextend -L +5,7g /dev/system/root
  Rounding size to boundary between physical extents: 5,70 GiB.
  Size of logical volume system/root changed from 224,86 GiB (57565 extents) to 230,57 GiB (59025 extents).
  Logical volume system/root successfully resized
Code:
localhost:/home/jag # pvscan
  PV /dev/nvme0n1p2   VG system          lvm2 [238,18 GiB / 4,00 MiB free]
  Total: 1 [238,18 GiB] / in use: 1 [238,18 GiB] / in no VG: 0 [0   ]
localhost:/home/jag # lvscan
  ACTIVE            '/dev/system/swap0' [7,61 GiB] inherit
  ACTIVE            '/dev/system/root' [230,57 GiB] inherit

Auf die MB pfeife ich. :D
Ich glaube der ganze Prozess braucht aber Rechenkraft da nach Remove das erste Resize nicht vollständig zur Verfügung stand und der Rechner auch ans Stocken kam.
Was ich sagen will ist; der Hintergrundprozess dauert halt ein wenig.
Gegenprobe:
Code:
localhost:/home/jag # ls -la /dev/system
insgesamt 0
drwxr-xr-x  2 root root   80  5. Apr 20:15 .
drwxr-xr-x 21 root root 4500  5. Apr 20:15 ..
lrwxrwxrwx  1 root root    7  5. Apr 20:27 root -> ../dm-0
lrwxrwxrwx  1 root root    7  5. Apr 20:15 swap0 -> ../dm-1

Ich glaube es stimmt jetzt.
 

gehrke

Administrator
Teammitglied
OK. Aber ich sehe nicht, dass und ob im Dateisystem jetzt der zusätzliche Speicher auch zur Verfügung steht. Was sagt:
Code:
df -h /
?
 
OP
H

HPF-84E

Member
gehrke schrieb:
OK. Aber ich sehe nicht, dass und ob im Dateisystem jetzt der zusätzliche Speicher auch zur Verfügung steht. Was sagt:
Code:
df -h /
?

Ich sehe da auch Diskrepanzen.
Code:
localhost:/home/jag # df -h /
Dateisystem             Größe Benutzt Verf. Verw% Eingehängt auf
/dev/mapper/system-root  219G     28G  181G   14% /

Zusätzlich noch:
Code:
localhost:/home/jag # parted -l
Modell: ATA TOSHIBA DT01ACA1 (scsi)
Festplatte  /dev/sda:  1000GB
Sektorgröße (logisch/physisch): 512B/4096B
Partitionstabelle: msdos
Disk-Flags: 

Nummer  Anfang  Ende    Größe   Typ      Dateisystem     Flags
 2      1049kB  4194MB  4193MB  primary  linux-swap(v1)  type=82
 1      4194MB  1000GB  996GB   primary  ext4            type=83


Modell: NVMe Device (nvme)
Festplatte  /dev/nvme0n1:  256GB
Sektorgröße (logisch/physisch): 512B/512B
Partitionstabelle: gpt
Disk-Flags: 

Nummer  Anfang  Ende   Größe  Dateisystem  Name  Flags
 1      2097kB  317MB  315MB  fat32              boot, esp
 2      317MB   256GB  256GB                     lvm
und
Code:
localhost:/home/jag # lvdisplay
  --- Logical volume ---
  LV Path                /dev/system/swap0
  LV Name                swap0
  VG Name                system
  LV UUID                vcfUBO-sBdO-kKnB-3wmA-iZmp-oBkj-0faR2P
  LV Write Access        read/write
  LV Creation host, time install, 2021-11-12 19:27:33 +0100
  LV Status              available
  # open                 2
  LV Size                7,61 GiB
  Current LE             1947
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     1024
  Block device           254:1
   
  --- Logical volume ---
  LV Path                /dev/system/root
  LV Name                root
  VG Name                system
  LV UUID                BSRQHg-dD0W-f0lW-c6ej-eA0k-ssjy-GBlJab
  LV Write Access        read/write
  LV Creation host, time install, 2021-11-12 19:27:33 +0100
  LV Status              available
  # open                 1
  LV Size                230,57 GiB
  Current LE             59025
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     1024
  Block device           254:0
   
localhost:/home/jag # pvdisplay
  --- Physical volume ---
  PV Name               /dev/nvme0n1p2
  VG Name               system
  PV Size               238,18 GiB / not usable 4,32 MiB
  Allocatable           yes 
  PE Size               4,00 MiB
  Total PE              60973
  Free PE               1
  Allocated PE          60972
  PV UUID               1k6TNY-M17R-lObs-qfwf-Q1kl-Bz0M-jgUCMp
   
localhost:/home/jag # vgdisplay
  --- Volume group ---
  VG Name               system
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  9
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               238,18 GiB
  PE Size               4,00 MiB
  Total PE              60973
  Alloc PE / Size       60972 / 238,17 GiB
  Free  PE / Size       1 / 4,00 MiB
  VG UUID               dvW07e-O62L-cOS7-jjF1-cUYU-grWS-2Sagl6
   
localhost:/home/jag #

Erst einmal Danke für das Bemühen mir zu helfen.
Lass uns aber Morgen weiter machen. Ich muss ja gleich wieder an die Schüppe (arbeiten) :/
 

gehrke

Administrator
Teammitglied
lvextend vergrößert nur das LV, also die Partition. Das Dateisystem darin muss in einem weiteren Schritt ebenfalls vergrößert werden (kann man als Parameter '--resizefs' aber auch in einem Schritt machen).

Vergrößerung Dateisystem mit: resize2fs

https://www.systutorials.com/extending-a-mounted-ext4-file-system-on-lvm-in-linux/
 
OP
H

HPF-84E

Member
Vorgesagt und dann nachgemacht. :D

Code:
localhost:/home/jag # resize2fs /dev/system/root
resize2fs 1.43.8 (1-Jan-2018)
Dateisystem bei /dev/system/root ist auf / eingehängt; Online-Größenänderung ist
erforderlich
old_desc_blocks = 28, new_desc_blocks = 29
Das Dateisystem auf /dev/system/root is nun 60441600 (4k) Blöcke lang.

localhost:/home/jag # df -h /
Dateisystem             Größe Benutzt Verf. Verw% Eingehängt auf
/dev/mapper/system-root  226G     28G  188G   13% /

Code:
localhost:/home/jag # vgdisplay
  --- Volume group ---
  VG Name               system
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  9
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               238,18 GiB
  PE Size               4,00 MiB
  Total PE              60973
  Alloc PE / Size       60972 / 238,17 GiB
  Free  PE / Size       1 / 4,00 MiB
  VG UUID               dvW07e-O62L-cOS7-jjF1-cUYU-grWS-2Sagl6
  localhost:/home/jag # lvdisplay
  --- Logical volume ---
  LV Path                /dev/system/swap0
  LV Name                swap0
  VG Name                system
  LV UUID                vcfUBO-sBdO-kKnB-3wmA-iZmp-oBkj-0faR2P
  LV Write Access        read/write
  LV Creation host, time install, 2021-11-12 19:27:33 +0100
  LV Status              available
  # open                 2
  LV Size                7,61 GiB
  Current LE             1947
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     1024
  Block device           254:1
   
  --- Logical volume ---
  LV Path                /dev/system/root
  LV Name                root
  VG Name                system
  LV UUID                BSRQHg-dD0W-f0lW-c6ej-eA0k-ssjy-GBlJab
  LV Write Access        read/write
  LV Creation host, time install, 2021-11-12 19:27:33 +0100
  LV Status              available
  # open                 1
  LV Size                230,57 GiB
  Current LE             59025
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     1024
  Block device           254:0

Ich bin mir zwar nicht sicher ob ich damit die volle Kapazität der Platte genutzt habe aber darum ginge es hier ja nun nicht.
Mein eigentliches Problem ist damit gelöst und ich könnte entsprechend den Betreff umstellen auf „Gelöst".
Aber ich warte mal noch auf evt. Meinungen.
 
Oben