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.