Logical Volume Manager LVM : 1/13 Introdução O sistema de partições montadas na hierarquia de directórios do Linux, revela uma rigidez excessiva: Obriga administradores a prever antecipadamente a dimensão de dados ocupada em cada partição, o que é impraticável nos directórios móveis (exemplo: /var, /home). A alteração do espaço de partições é tarefa administrativamente laboriosa: 1. Copiar para backup as partições a alterar. 2. Eliminar e criar as partições a alterar. 3. Restaurar do backup as partições alteradas. A solução reside na virtualização dos dados, baseadas no nó : LVM(Linux) ou LDM (Windows), no dispositivo de armazenamento: RAID, na rede. LVM : 2/13
Arquitectura (1) O LVM Linux Virtual Management gere volumes lógicos existentes por cima de volumes físicos (discos). Os sistemas de ficheiros e aplicações não necessitam de conhecer a organização dos volumes físicos. LVM : 3/13 Arquitectura (2) [Def] Um LVG-Logival Volume Group é um conjunto de dispositivos físicos (discos ou partições). O espaço dos volumes físicos é combinado no grupo, mas o grupo não é tratado como dispositivo. /boot / /home /var Espaço livre Volumes lógicos hda1 hda5 lvm/vg1 Grupo de volumes lógicos Partições hda hdb LVM : 4/13
Arquitectura (3) [Def] Um LV-Logical Volume é uma fracção do LVG, ao qual é alocado um mount-point. Nota: o /boot é o único que não pode ser alocado a um LV porque o boot loader não o lê. Um LVG pode facilmente ser alterado: Expandido, por inclusão de mais volumes físicos. Encolhido, por remoção de volumes físicos não ocupados. LVM : 5/13 Arquitectura (4) [Def] Um LE-Logical Extent, tipicamente de 4MB, é o tamanho mínimo de alocação no LVG. Um PE-Physical Extent, é o tamanho de blocos de dados no dispositivo físico (LE=PE). [Def] Um LV-Logical Group é uma fracção do LVG, constituída por múltiplos de LEs. Exemplo: Seja um LVG mapeada a partições de dois discos duros /dev/hda1 (396MB=99PEs) e /dev/hdb1 (992MB=248PEs). O LVG tem 99+248=347 LEs. LVM : 6/13
Arquitectura (5) Existem 3 estratégias de mapear os LEs aos PEs Linear VG1 PV1 Enfaixada ( Striped ) PV2 VG1 PV1 PV2 LVM : 7/13 Arquitectura (6) Espelhada ( Mirrored ) VG1 PV1 PV2 Log Detalhes de configuração, designados por metadata, são armazenado num ficheiro de texto. Existem 2 formatos: lvm1: criado no kernel 2.4, restringe número máximo de LEs e PEs a 255. lvm2 : criado no kernel 2.6 Cópia do ficheiro metada em /etc/lvm/archive LVM : 8/13
Gestão de LVMs (1) 1. Grupos (VG) Inicializar um grupo /usr/sbin/vgcreate {-s DIM} vgid [disp+] -s determina a dimensão do LE (potências de 2, mínimo 1KB, por omissão 4MB) Um grupo é armazenado no /dev/id e os volumes lógicos são criados seus subdirectórios. vgcreate vg1 /dev/hda1 /dev/hdb1 cria o /dev/vg1: os volumes lógicos lv1 e lv2 são armazenados em /dev/vg1/lv1 e /dev/vg1/lv2. Alterar parâmetros de um grupo /usr/sbin/vgchange param vgid vgchange l 128 vg1 numero máximo de LVs que o grupo pode contar passa a 128 LVM : 9/13 Gestão de LVMs (2) Listar os grupos existentes /usr/sbin/vgs [root@asterix rgc]# vgs VG #PV #LV #SN Attr VSize VFree VolGroup00 1 2 0 wz--n- 74.31G 32.00M Adicionar PVs ao grupo /usr/sbin/vgextend vgid [disp+] vgextend vg1 /dev/hda2 Remover PVs vazios ao grupo com comando /usr/sbin/vgreduce vgid [disp+] vgextend vg1 /dev/hda2 LVM : 10/13
Gestão de LVMs (3) Listar propriedades de grupos /usr/sbin/vgdisplay {grupos} [root@asterix rgc]# vgdisplay --- Volume group --- VG Name VolGroup00 System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 3 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 74.31 GB PE Size 32.00 MB Total PE 2378 Alloc PE / Size 2377 / 74.28 GB Free PE / Size 1 / 32.00 MB VG UUID drw7yj-rzwi-m4z0-ep8h-cq48-np0z-3f31x3 LVM : 11/13 Gestão de LVMs (4) 2. Volumes lógicos (LV) Criar volume lógico linear /usr/sbin/lvcreate L dim {-n ID} vgid -L determina a dimensão do volume lógico -n determina o identificador do volume lógico (por omissão lvol#) Listar os volumes lógicos existentes /usr/sbin/lvs [root@asterix rgc]# lvs LV VG Attr LSize Origin Snap% Move Log Copy% LogVol00 VolGroup00 -wi-ao 72.34G LogVol01 VolGroup00 -wi-ao 1.94G LVM : 12/13
Gestão de LVMs (5) 3. Volumes físicos (PV) Preparar as partições /usr/sbin/pvcreate [disp+] pvcreate /dev/hda1 Listar propriedades de PVs /usr/sbin/pvdisplay [disp+] [root@asterix Ficheiros]# pvdisplay /dev/sda2 --- Physical volume --- PV Name /dev/sda2 VG Name VolGroup00 PV Size 74.34 GB / not usable 24.49 MB Allocatable yes PE Size (KByte) 32768 Total PE 2378 Free PE 1 Allocated PE 2377 PV UUID 8iq8UU-jv03-xO6U-0He5-eMEy-jom1-NWfBeH LVM : 13/13