quinta-feira, 29 de maio de 2008

Estendendo partições com LVM

Montando ambiente para testes
Criando devices
Vamos usar dois arquivos como dispositivos. Primeiro criamos os arquivos de 100MB cada:

# dd if=/dev/zero of=disk1 bs=1k count=102400
# dd if=/dev/zero of=disk2 bs=1k count=102400

Associamos um dispositivo de loop para cada um deles:
# losetup /dev/loop1 disk1
# losetup /dev/loop2 disk2


Usando LVM
Agora já temos dois dispositivos (/dev/loop1 e /dev/loop2) que podem ser usados nos testes.

Criando PV (physical volume)
Vamos criar a partição LVM usando fdisk.

# fdisk /dev/loop1


Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x351233c7.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Command (m for help): ''p''

Disk /dev/loop6: 104 MB, 104857600 bytes
255 heads, 63 sectors/track, 12 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x351233c7

Device Boot Start End Blocks Id System

Command (m for help): ''n''
Command action
e extended
p primary partition (1-4)
''p''
Partition number (1-4): 1
First cylinder (1-12, default 1):
Using default value ''1''
Last cylinder or +size or +sizeM or +sizeK (1-12, default 12):
Using default value 12

Command (m for help): ''t''
Selected partition 1
Hex code (type L to list codes): ''8e''
Changed system type of partition 1 to 8e (Linux LVM)

Command (m for help): ''w''
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 22: Invalid argument.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.

O comando fdisk deve ser executado para cada um dos dispositivos

Agora as partições devem ser associadas aos PVs:

# pvcreate /dev/loop1
# pvcreate /dev/loop2

Criando o VG (volume group)
Para o teste, criamos um vg inicial com apenas um dos pvs definidos. O nome do vg será vg01:

# vgcreate vg01 /dev/loop1

Criando LV (logical volume)

Para criar um lv utilizando todo os espaço disponível no vg01, usamos (onde lv_part1 é o nome do lv a ser criado):

# lvcreate -l +100%FREE -nlv_part1 vg01

Para visualizar o lv criado:

# lvdisplay


Sistema de arquivos
Para criar o sistema de arquivos é só rodar:

# mkfs.ext3 /dev/vg01/lv_part1

Estendendo sistema de arquivos

Para estender o espaço da lv_part1 vamos usar o outro dispositivo configurado no ambiente de testes.

Para incluir o pv criado no vg01:

# vgextend vg01 /dev/loop2

Para estender o tamanho do lv_part1:

# lvresize -l +100%FREE /dev/vg01/lv_part1

Para estender o tamanho da partição utilizada, no caso ext3:

# resize2fs -p /dev/vg01/lv_part1

era isso.

Notícias Selecionadas