
Montare una partizione LVM può sembrare tosto, ma non lo è. In realtà, nonostante la lunghezza di questa guida, dovrai solo eseguire una manciata di comandi, e la maggior parte di essi giusto per ottenere delle informazioni. Non disperare, la farò meno dolorosa possibile. Tutti questi comandi dovranno essere eseguiti come root all’interno di un terminale (l’accesso root si ottiene col comando su). Mi raccomando, dai un’occhio ai nomi dei volumi, che potrebbero differire da questa guida.
# pvs
dovrebbe mostrare qualcosa di simile a:
calogeroelvira codelinsoft # pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 VolGroup00 lvm2 a- 7.88G 32.00M
Guardando da vicino possiamo capire che esiste un disco in posizione /dev/sda2 che ha LVM e che è grande 7.88GB. In questo caso è di certo quello che vogliamo, anche perché è l’unico. Notare che in questo caso il nome è VolGroup00, ma potrebbe (dovrebbe!) essere diverso nella vostra installazione.
Bene, ora vediamo cosa contiene questo LVM
# lvdisplay /dev/VolGroup00
calogeroelvira codelinsoft # lvdisplay /dev/VolGroup00
--- Logical volume ---
LV Name /dev/VolGroup00/LogVol00
VG Name VolGroup00
LV UUID SWp2V0-1xPU-0tOP-UnPs-snxF-THUl-pZMKb2
LV Write Access read/write
LV Status available
# open 0
LV Size 6.88 GB
Current LE 220
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 251:0
--- Logical volume ---
LV Name /dev/VolGroup00/LogVol01
VG Name VolGroup00
LV UUID MGBeJP-ohrX-KLju-5V78-iJOi-pP3w-huaOmC
LV Write Access read/write
LV Status available
# open 0
LV Size 992.00 MB
Current LE 31
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 251:1
Ci servono due cose di questa lista: LV name e LV Size. Abbiamo una partizione di 6.88GB ed una di 992MB. Possiamo assumere con una certa tranquillità che la più piccola delle due sia il nostro swap, quindi la più grande è il filesystem che ci interessa. Il suo nome è /dev/VolGroup00/LogVol00, ma potrebbe essere diverso nella vostra installazione.
OK, sappiamo tutto quello che ci serve. Ora dobbiamo creare una cartella che faccia da punto di montaggio per il nostro volume e montarcelo sopra.
Ci servono due cose di questa lista: LV name e LV Size. Abbiamo una partizione di 6.88GB ed una di 992MB. Possiamo assumere con una certa tranquillità che la più piccola delle due sia il nostro swap, quindi la più grande è il filesystem che ci interessa. Il suo nome è /dev/VolGroup00/LogVol00, ma potrebbe essere diverso nella vostra installazione.
OK, sappiamo tutto quello che ci serve. Ora dobbiamo creare una cartella che faccia da punto di montaggio per il nostro volume e montarcelo sopra.
# cd /mnt
# mkdir lvm
# vgscan --mknodes
# lvchange -ay /dev/VolGroup00/LogVol00
# mount /dev/VolGroup00/LogVol00 /mnt/lvm
Ovviamente sostituite /dev/VolGroup00/LogVol00 con la stringa propria della vostra installazione, che vi sarete segnati seguendo la parte precedente della guida.
Procedura automatica mediante uno script
Il seguente script farà tutto il lavoro sporco per voi, in un modo appena differente. Devi solo copiare e incollare il testo sotto in un file di testo sul tuo sistema. Una volta copiato e incollato, salva il file ed eseguirlo come root. Se scarichi dai forum, non dimenticare di rinominare il file lvm-mount.sh. In qualunque modo tu lo faccia, dopo che il file è pronto, come root esegui i seguenti comandi:
# chmod a+x lvm-mount.sh
# sh lvm-mount.sh
Ora lo script verrà eseguito e ti farà sapere dove ha montato i tuoi LVM per te. Ti stamperà anche alcune istruzioni su schermo, come ad esempio quelle per aprire un chroot nel tuo LVM, nel caso ne avessi bisogno.
File: lvm-mount.sh
#! /bin/bash
## This script is released under the GPL version 2
## copyright (2009) James Cook
## Thanks goes to Klaus Knopper who reminded me of something
## very simple that I had forgotten at the time, thanks bud.
## the author may be contacted at:
## azerthoth (at) gmail.com
## Check for user is root
## Thanks to micia for the suggestion
if [ $UID -ne 0 ]; then
echo "You need to be root to run this script!"
exit 1
fi
## get them all into /dev/mapper
modprobe dm-mod 2> /dev/null || :
vgscan --ignorelockingfailure --mknodes || :
vgchange -aly --ignorelockingfailure || return 2
clear
mkdir /LVM
cd /dev/mapper
## Create directories and mount
for FILE in *; do
test -b "$FILE" && mkdir /LVM/$FILE && mount /dev/mapper/$FILE /LVM/$FILE 2>/dev/null
done
## List good partitions
echo "Cleaning up LVMs that were swap partitions or with unsupported"
echo "File Systems from the list. This will not effect those partitions"
echo "There is just no need to list or parse them"
rmdir /LVM/Vol* 2>/dev/null"
echo " "
echo "The following LVM(s) were mounted for you and are ready to use"
echo " "
ls /LVM
echo " "
echo "You can find them in /LVM"
echo " "
## chroot instructions
echo "If you are rescuing/fixing a previous installation please issue"
echo "the following commands"
echo "cp -L /etc/resolv.conf /LVM//etc/resolv.conf"
echo "mount -t proc none /LVM//proc"
echo "mount -o bind /dev /LVM//dev"
echo "chroot /LVM/ /bin/bash"
echo "env-update"
echo "source /etc/profile"
## this process may also be interactively automated in the future
## more coffee and ambition is needed