LVM2-2.03.28

Introduksjon til LVM2

LVM2 pakken er et sett med verktøy som administrerer logiske partisjoner. Det tillater spenning over filsystemer på tvers av flere fysiske disker og diskpartisjoner og sørger for dynamisk vekst eller krymping av logiske partisjoner, speiling og lavt lagringsfotavtrykk av øyeblikksbilder.

[Notat]

Notat

Utviklingsversjoner av BLFS kan ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden den siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://sourceware.org/ftp/lvm2/LVM2.2.03.28.tgz

  • Nedlasting MD5 sum: 35b0805126efee7239b353b70b46b4e7

  • Nedlastingsstørrelse: 2.7 MB

  • Estimert diskplass som kreves: 38 MB (legg til 20 MB for tester; midlertidige filer kan vokse opp til rundt 300 MB i /tmp mappen under tester)

  • Estimert byggetid: 0.4 SBU (legg til 9 til 48 SBU for tester, avhengig av diskhastighet og om ram-blokkeringsenhet er aktivert i kjernen)

LVM2 Avhengigheter

Påkrevd

libaio-0.3.113

Valgfri

mdadm-4.3, Valgrind-3.24.0, Which-2.21, xfsprogs-6.11.0 (alle fire kan brukes, men er ikke påkrevd, for tester), reiserfsprogs, thin-provisioning-tools, og vdo

Kjernekonfigurasjon

Aktiver følgende alternativer i kjernekonfigurasjonen og kompiler kjernen på nytt:

[Notat]

Notat

Det er flere andre Device Mapper alternativer i kjernen utover disse oppført nedenfor. For å få rimelige resultater hvis du kjører regresjonstester, må alle være aktivert enten internt eller som en modul. Testene vil alltid stoppe hvis Magic SysRq nøkkelen ikke er aktivert.

Device Drivers --->
  [*] Block devices --->                                               [BLK_DEV]
    <*/M> RAM block device support                                 [BLK_DEV_RAM]
  [*] Multiple devices driver support (RAID and LVM) --->                   [MD]
    <*/M> Device mapper support                                     [BLK_DEV_DM]
    <*/M>   Crypt target support                                      [DM_CRYPT]
    <*/M>   Snapshot target                                        [DM_SNAPSHOT]
    <*/M>   Thin provisioning target                      [DM_THIN_PROVISIONING]
    <*/M>   Cache target (EXPERIMENTAL)                               [DM_CACHE]
    <*/M>   Mirror target                                            [DM_MIRROR]
    <*/M>   Zero target                                                [DM_ZERO]
    <*/M>   I/O delaying target                                       [DM_DELAY]

Kernel hacking --->
  Generic Kernel Debugging Instruments --->
    [*] Magic SysRq key                                            [MAGIC_SYSRQ]

Installasjon av LVM2

Installer LVM2 ved å kjøre følgende kommandoer:

PATH+=:/usr/sbin                \
./configure --prefix=/usr       \
            --enable-cmdlib     \
            --enable-pkgconfig  \
            --enable-udev_sync  &&
make

Testene bruker udev for logisk volum synkronisering, så LVM udev reglene og noen verktøy trenger å installeres før testene kjøres. Hvis du installerer LVM2 for første gang, og ikke ønsker å installere hele pakken før du kjører testene, minimum sett med verktøy kan installeres ved å kjøre følgende instruksjoner som root bruker:

make -C tools install_tools_dynamic &&
make -C udev  install               &&
make -C libdm install

For å teste resultatene, kjør, som root bruker:

LC_ALL=en_US.UTF-8 make check_local

Noen tester kan henge. I dette tilfellet kan de hoppes over ved å legge til S=<testname> til make kommandoen. Andre mål er tilgjengelige og kan listes med make -C test help. Testtiden er veldig avhengig av hastigheten til disken(e), og på antall aktiverte kjernealternativer.

Testene implementerer ikke «expected fail» mulighet, og et lite antall testfeil forventes oppstrøms. Flere feil kan skje fordi noen kjernealternativer mangler. For eksempel mangelen på dm-delay enhets kartleggermålet forklarer noen feil. Noen tester kan mislykkes hvis det ikke er nok ledig plass i partisjonen med /tmp mappen. Minst én test mislykkes hvis 16 TB ikke er tilgjengelig. Noen tester er flagget «warned» hvis thin-provisioning-tools ikke er installert. En løsning er å legge til følgende flagg i configure:

     --with-thin-check=    \
     --with-thin-dump=     \
     --with-thin-repair=   \
     --with-thin-restore=  \
     --with-cache-check=   \
     --with-cache-dump=    \
     --with-cache-repair=  \
     --with-cache-restore= \

Noen tester kan henge. De kan fjernes om nødvendig, for eksempel: rm test/shell/lvconvert-raid-reshape.sh. Testene generere mange kjernemeldinger, som kan rote til terminalen din. Du kan deaktivere dem ved å utstede dmesg -D før du kjører testene (ikke glem å utstede dmesg -E når testene er ferdig).

[Notat]

Notat

Kontrollene oppretter enhetsnoder i /tmp mappen. Tester vil mislykkes hvis /tmp er montert med nodev alternativet.

Nå, som root bruker:

make install
make install_systemd_units

Parameterforklaringer

PATH+=:/usr/sbin: Stien må inneholde /usr/sbin for riktig systemverktøy påvisning av configure skriptet. Denne instruksen sikrer at PATH er riktig satt selv om du bygger som en uprivilegert bruker.

--enable-cmdlib: Denne bryteren aktiverer bygging av det delte kommandobiblioteket. Det kreves når du bygger hendelsesnissen.

--enable-pkgconfig: Denne bryteren aktiverer installasjon av pkg-config støttefiler.

--enable-udev_sync: Denne bryteren aktiverer synkronisering med Udev prosessering.

--enable-dmeventd: Denne bryteren aktiverer bygging av Device Mapper hendelsesnisse.

make install_systemd_units: Dette er nødvendig for å installere en enhet som aktiverer logiske volumer ved oppstart. Den er ikke installert som standard.

Konfigurer LVM2

Konfigurasjonsfil

/etc/lvm/lvm.conf

Konfigurasjonsinformasjon

Standardkonfigurasjonen refererer fortsatt til den foreldede /var/lock mappen. Dette skaper en vranglås ved oppstart. Endre dette (som root bruker):

sed -e '/locking_dir =/{s/#//;s/var/run/}' \
    -i /etc/lvm/lvm.conf

Innhold

Installerte Programmer: blkdeactivate, dmeventd (valgfri), dmsetup, fsadm, lvm, lvmdump, og lvm_import_vdo. Det er også mange symbolske lenker til lvm som implementerer spesifikke funksjoner
Installerte Biblioteker: libdevmapper.so og liblvm2cmd.so; valgfri: libdevmapper-event.so, libdevmapper-event-lvm2.so, libdevmapper-event-lvm2mirror.so, libdevmapper-event-lvm2raid.so, libdevmapper-event-lvm2snapshot.so, libdevmapper-event-lvm2thin.so, og libdevmapper-event-lvm2vdo.so
Installerte Mapper: /etc/lvm og /usr/lib/device-mapper (valgfri)

Korte Beskrivelser

blkdeactivate

er et verktøy for å deaktivere blokkenheter

dmeventd

(valgfri) er Device Mapper hendelsesnissen

dmsetup

er et logisk volum styringsverktøy på lavt nivå

fsadm

er et verktøy som brukes til å endre størrelse på eller sjekke filsystemet på en enhet

lvm

gir kommandolinjeverktøy for LVM2. Kommandoer implementeres via symbolske lenker til dette programmet for å administrere fysiske enheter (pv*), volumgrupper (vg*) og logiske volumer (lv*)

lvmdump

er et verktøy som brukes til å dumpe diverse informasjon om LVM2

vgimportclone

brukes til å importere en duplisert VG (f.eks. maskinvare øyeblikksbilde)

libdevmapper.so

inneholder Device Mapper API funksjoner