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
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
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
Kontrollene oppretter enhetsnoder i /tmp mappen. Tester vil
mislykkes hvis /tmp er montert med nodev alternativet.
Nå, som root
bruker:
make install
rm -fv /usr/lib/udev/rules.d/69-dm-lvm.rules
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.
rm
.../69-dm-lvm.rules: Under visse omstendigheter,
denne udev regelen kaller systemd-run, som ikke er
tilgjengelig på sysv. Den utfører handlinger som gjøres av en annen
oppstartsskript uansett, så det er ikke nødvendig.