Caso não tenha espaço livre no vg e precise adicionar um novo disco, neste cenário, contemplamos um servidor
Linux virtual em ambiente vmware e adicionamos um novo disco.
Esta dica se aplica para Red Hat e CentOS.
Antes de adicionar um novo disco, verifique quantos discos o S.O. possui:
# fdisk -l 2>/dev/null | egrep '^Disk' | egrep -v 'dm-' | wc -l
Verificado o passo anterior, adicione o novo disco e force o scan nas interfaces para que o S.O. identifique os discos sem precisar reiniciar.
Liste os hosts:
# ls /sys/class/scsi_host/
No meu caso: "host0","host1" e "host2".
Identificado os hosts, execute o scan nas interfaces:
# echo "- - -" > /sys/class/scsi_host/host0/scan
# echo "- - -" > /sys/class/scsi_host/host1/scan
# echo "- - -" > /sys/class/scsi_host/host2/scan
Liste novamente quantos discos o S.O. possui e verá que aumentou:
# fdisk -l 2>/dev/null | egrep '^Disk' | egrep -v 'dm-' | wc -l
Identifique o disco:
# fdisk -l
Vamos formatar o disco (no exemplo abaixo, o novo disco
/dev/sdb):
# fdisk /dev/sdb
Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
Command (m for help): n
Command action
e extended
p primary partition (1-4)
Partition number (1-4): 1
First cylinder (1-2610, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-2610, default 2610):
Using default value 2610
Atribuindo um sistema de arquivos no novo disco:
# mkfs.ext3 /dev/sdb
Para ver o tamanho da partição:
# fdisk -l /dev/sdb
Criando um novo "logical volume manager":
# pvcreate /dev/sdb
Listando os vg groups existentes:
# vgdisplay
Com o comando
vgdisplay e apresentado o resultado abaixo, identificamos que o nome do vg e "vg_root":
--- Volume group ---
VG Name vg_root
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 34
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 12
Open LV 11
Max PV 0
Cur PV 2
Act PV 2
VG Size 131.97 GiB
PE Size 32.00 MiB
Total PE 4223
Alloc PE / Size 3123 / 97.59 GiB
Free PE / Size 255 / 1020.00 MiB
Adicionando o lv criado ao
vg group que deseja realizar o
extend (no meu caso, vou estender o
vg_root):
# vgextend vg_root /dev/sdb
Após adicionar o "lv" no "vg", verá que
free pe / size aumentará, para isso execute o comando
vgdisplay:
# vgdisplay
--- Volume group ---
VG Name vg_root
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 34
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 12
Open LV 11
Max PV 0
Cur PV 2
Act PV 2
VG Size 131.97 GiB
PE Size 32.00 MiB
Total PE 4223
Alloc PE / Size 3123 / 97.59 GiB
Free PE / Size 1100 / 34.38 GiB
Expandindo um volume, neste ponto utilize o comando
df -h para ver o volume a ser expandido. No exemplo, vou expandir 6g no volume
/vg_root-lv_var_dbfw:
# lvextend -L+6G /dev/mapper/vg_root-lv_var_dbfw
Após o
extend, realize o
resize do volume expandido:
# resize2fs /dev/mapper/vg_root-lv_var_dbfw