Lvm

De whats Wiki

Dreceres ràpides: navegació, cerca

Contingut

Aturar un lvm a una SAN, i tornar a activar

umount /storage/msa20box1
/sbin/vgchange -a n
rmmod dm_mod
rmmod qla2400
(ja es pot parar la SAN)
modprobe qla2400
modprobe dm_mod
lvm vgscan
lvm vgchange -ay
mount /storage/msa20box1

Creació d'un volume group

Creació d'un volum group anomenat VolGroup01 al dispositiu /dev/hdb1:

pvcreate -t /dev/hdb1
vgcreate -t VolGroup01 /dev/hdb1

Per a fer-ho de debò:

pvcreate /dev/hdb1
vgcreate VolGroup01 /dev/hdb1

Creació d'un volum lògic

Creació d'un volum lògic en el VolGroup00 anomenat testrs (quedarà /dev/mapper/VolGroup00-testrs) de 1500 MBytes

lvcreate -L1500 -ntestrs VolGroup00

El formatejem per exemple amb ext3:

mkfs.ext3 /dev/VolGroup00/testrs

El muntem

mount /dev/VolGroup00/testrs /mnt/tmp

Exemple pràctic:

root@xen1:/etc/xen#  lvcreate -L 5G -npregoner vserver
  Logical volume "pregoner" created
root@xen1:/etc/xen#  lvcreate -L 1G -nswap_pregoner vserver
  Logical volume "swap_pregoner" created
root@xen1:/etc/xen# mkfs.ext3 /dev/vserver/pr
pregoner  prisma2
root@xen1:/etc/xen# mkfs.ext3 /dev/vserver/pregoner
mke2fs 1.37 (21-Mar-2005)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
655360 inodes, 1310720 blocks
65536 blocks (5.00%) reserved for the super user
First data block=0
40 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736

Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 20 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
root@xen1:/etc/xen# mkswap /dev/vserver/swap_pregoner
Setting up swapspace version 1, size = 1073737 kB
no label, UUID=6579baec-6f29-4d91-97ea-93e1cc563550
root@xen1:/etc/xen# mount /dev/vserver/pregoner  /mnt/tmp/
root@xen1:/etc/xen# cd /mnt/tmp/
root@xen1:/mnt/tmp# l
total 24K
drwxr-xr-x  3 root root 4,0K 2005-12-02 12:29 .
drwxr-xr-x  3 root root 4,0K 2005-12-01 08:39 ..
drwx------  2 root root  16K 2005-12-02 12:29 lost+found
root@xen1:/mnt/tmp# df -h
S. fitxers          Tamany En ús Lliure %Ús Muntat en
/dev/hda2             9,2G  4,4G  4,4G  50% /
tmpfs                 122M     0  122M   0% /dev/shm
/dev/hda1             184M   32M  143M  19% /boot
/dev/hda3             1,8G  8,1M  1,7G   1% /tmp
/dev/hda5             3,7G  108M  3,4G   4% /var
tmpfs                  10M  2,6M  7,5M  26% /dev
/dev/mapper/vserver-pregoner
                      5,0G   33M  4,7G   1% /mnt/tmp
root@xen1:/mnt/tmp#

Resize d'un volum lògic

Ampliant capacitat amb ext3:

umount /mnt/tmp
lvextend -L +5G /dev/VolGroup00/testrs # Extenem +5GB
e2fsck -f /dev/VolGroup00/testrs
resize2fs /dev/VolGroup00/testrs

Ampliant capacitat amb reiserfs en fred:

umount /mnt/tmp
lvextend -L +5G /dev/VolGroup00/testrs # Extenem +5GB
resize_reiserfs /dev/VolGroup00/testrs

Ampliant capacitat amb reiserfs en calent:

resize_reiserfs -f /dev/VolGroup00/testrs

Reduint capacitat amb ext3

umount /mnt/tmp
e2fsck -f /dev/VolGroup00/testrs
resize2fs /dev/VolGroup00/ramon 5G # Fa un resize del sistema de fitxers a 5GB
lvreduce -L -4,9G /dev/VolGroup00/ramon # Reduim el volum lògim en 4,9G

Reduint capacitat amb reiserfs

umount /mnt/tmp
resize_reiserfs -s-1G /dev/VolGroup00/testrs
lvreduce -L-1G /dev/myvg/homevol

Eliminació d'un volum lògic

Per a fer-ho en mode test:

lvremove -t /dev/VolGroup00/testrs

Per a fer-ho de debò:

lvremove /dev/VolGroup00/testrs

Per activar un VL i crear les entrades a /dev

lvchange -ay nom_vg/nv_vl

Backups d'un volum lògic (maquina virtual xen)

Primer aturem la maquina virtual

xm shutdown prisma2

Muntem la partició lvm on es trobi el sistema de fitxers de la nostra maquina

mount /dev/backup/prisma2 /mnt/tmp

Fem el backup:

tar pzcvf /backups/prisma2.backup --numeric-owner /mnt/tmp/* 

Desmuntem el volum lògic

umount /mnt/tmp

Reiniciem la màquina virtual

xm create prisma2 


Snapshots

Crear un snapshot del dispositiu /dev/storage/www que l'anomenarem www_snapshot i que pot contenir fins a 500M de canvis

lvcreate -L500M -s -n www_snapshot /dev/storage/www 

Mirem com està d'ocupat el snapshot

lvdisplay
 --- Logical volume ---
 LV Name                /dev/storage/www_snapshot
 VG Name                storage
 LV UUID                6Dhemd-FuP9-V0Wo-V7H2-bw9r-sZOp-L0FHBU
 LV Write Access        read/write
 LV snapshot status     active destination for /dev/storage/www
 LV Status              available
 # open                 0
 LV Size                57.22 GB
 Current LE             14649
 COW-table size         500.00 MB
 COW-table LE           125
 Allocated to snapshot  7.05% 
 Snapshot chunk size    8.00 KB
 Segments               1
 Allocation             inherit
 Read ahead sectors     0
 Block device           254:6

O també

root@www:/mnt# lvs
 LV           VG      Attr   LSize   Origin Snap%  Move Log Copy% 
 backup       storage -wi-ao   7.00G                              
 data         storage -wi-ao   2.00G                              
 tmp          storage -wi-ao  10.00G                              
 www          storage owi-ao  57.22G                              
 www_snapshot storage swi-a- 500.00M www      7.05

Backups amb LVM Snapshot

Creem un snaphot del vserver (xen1):

lvcreate -l 500 -s -n ocellot_snapshot /dev/vserver/ocellot

El muntem en només lectura:

mount -o ro /dev/vserver/ocellot_snapshot /data/snapshots/ocellot

Configurem el dimoni rsync (afegim a /etc/rsyncd.conf):

[ocellot]
read only
path = /data/snapshots/ocellot
comment = Ocellot Vserver Snapshot
hosts allow = 192.168.0.210
max connection = 0
use chroot = true
timeout = 60

Ara a la màquina on es fan les còpies dels vservers (xen0):

Creem un vòlum lògic d'igual tamany al vserver original amb el mateix nom però al volum group anomenat backup.

lvcreate -L 5G -nocellot backup

El muntem:

mount /dev/backup/ocellot /data/vservers/ocellot

Ens situem al directori i fem la copia:

cd /data/vservers/ocellot
rsync -avu --delete rsync://192.168.0.211/ocellot .

Si es vol poder aixecar el vserver al xen0 (en cas de que no funcionés al xen1), caldria afegir un fitxer de configuració com aquest a /etc/xen/:

name ="ocellot"
kernel ="/boot/vmlinuz-2.4.30-xenU"
root ="/dev/hda1"
memory = 256
disk = ['phy:/dev/backup/ocellot,hda1,w']

# network
nics=1
dhcp ="off"
ip="192.168.0.31"
netmask="255.255.255.0"
gateway="192.168.0.1"
hostname="ocellot-devel.gnuine.loc"

extra="fastboot 3"

Un cop finalitzades les còpies es poden eliminar els snapshots si volem. Ojo!! no eliminar els bons.

Resize d'un fitxer ext3

Incrementar el tamany del fitxer a 2,5 G (fer un backup abans)

dd if=/dev/zero of=<image file> bs=1M conv=notrunc count=1 seek=2500
losetup /dev/loop0 <image file>
e2fsck -f /dev/loop0
resize2fs /dev/loop0
e2fsck -f /dev/loop0
losetup -d /dev/loop0

DETECTAR I CREAR ENLLAÇOS

lvm vgscan
lvm vgchange -ay

Aprofitar un snapshot per fer un fsck segur

  • dd if=/dev/zero of=pvdevice.noborrar bs=1M count=10240
  • losetup /dev/loop0 pvdevice.noborrar
  • pvcreate /dev/loop0
  • vgextend nomvg /dev/loop0
  • lvcreate -L10G -s -n cabina_snapshot /dev/storage/cabina
  • screen -S fsck
  • time fsck -y -C 0 dev_del_dispositiu_i_no_lsnapshot