wiki:filesystem:lvm:rhcsa-lfcs
Table of Contents
Praticando LVM - RHCSA-LFCS
Infraestrutura KVM
main.tf
terraform {
required_providers {
libvirt = {
source = "dmacvicar/libvirt"
}
}
}
provider "libvirt" {
uri = "qemu:///system"
}
resource "libvirt_volume" "os_image" {
name = "lvm-lfcs.qcow2"
pool = "default"
source = "/home/gean/kvm/templates/ol8-amd64.qcow2"
format = "qcow2"
}
data "template_file" "user_data" {
template = file("${path.module}/cloud_init.yml")
}
resource "libvirt_cloudinit_disk" "cloudinit_resized" {
name = "cloudinit_resized.iso"
user_data = data.template_file.user_data.rendered
pool = "default"
}
resource "libvirt_domain" "lvm-lfcs" {
name = "lvm-lfcs"
memory = "2048"
vcpu = 2
cpu {
mode = "host-passthrough"
}
cloudinit = libvirt_cloudinit_disk.cloudinit_resized.id
network_interface {
network_name = "default"
wait_for_lease = true
}
console {
type = "pty"
target_port = "0"
target_type = "serial"
}
disk {
volume_id = libvirt_volume.os_image.id
}
graphics {
type = "spice"
listen_type = "none"
}
}
output "ip" {
value = libvirt_domain.lvm-lfcs.network_interface[0].addresses[0]
}
cloud_init.yml
#cloud-config
users:
- name: gean
gecos: "Gean Martins"
sudo: "ALL=(ALL) NOPASSWD:ALL"
shell: /bin/bash
lock_passwd: false
ssh-authorized-keys:
- ${file("~/.ssh/tfvms.pub")}
ssh_pwauth: true
chpasswd:
list: |
gean: $6$kp7ay8JwVMNBTlL1$xf/nfw3WWePI3PhzccOTaaNXiDVrhIBck6i4pKJ89897u3/xNbDXc5zf0LInnCN0HkP4A/jVbQVk3qTMt4hq/1
expire: false
runcmd:
- hostnamectl set-hostname lvm-lfcs
Criando a infraestrutura
terraform init
terraform fmt
terraform validate
terraform plan
terraform apply
Adicionando novos discos
virsh list Id Name State -------------------------- 1 lvm-lfcs running
virsh vol-create-as --pool default --name lvm-lfcs-vdb.img --capacity 10G --format raw virsh vol-create-as --pool default --name lvm-lfcs-vdc.img --capacity 10G --format raw virsh attach-disk lvm-lfcs /home/gean/kvm/images/lvm-lfcs-vdb.img vdb --targetbus virtio --persistent virsh attach-disk lvm-lfcs /home/gean/kvm/images/lvm-lfcs-vdc.img vdc --targetbus virtio --persistent
virsh domblklist lvm-lfcs Target Source ------------------------------------------------------- vda lvm-lfcs.qcow2 vdb /home/gean/kvm/images/lvm-lfcs-vdb.img vdc /home/gean/kvm/images/lvm-lfcs-vdc.img hdd /home/gean/kvm/images/cloudinit_resized.iso
Logical Volume Management (LVM)
Criando volume físico
ssh lvm-lfcs
lsblk | grep -E 'vdb|vdc' vdb 252:16 0 10G 0 disk vdc 252:32 0 10G 0 disk
sudo lvmdiskscan /dev/vda1 [ 1,00 GiB] /dev/vda2 [ <15,00 GiB] LVM physical volume /dev/vdb [ 10,00 GiB] /dev/vdc [ 10,00 GiB] 2 disks 1 partition 0 LVM physical volume whole disks 1 LVM physical volume
sudo pvcreate /dev/vdb sudo pvcreate /dev/vdc
sudo pvs PV VG Fmt Attr PSize PFree /dev/vda2 ol lvm2 a-- <15,00g 0 /dev/vdb lvm2 --- 10,00g 10,00g /dev/vdc lvm2 --- 10,00g 10,00g
sudo pvdisplay --- Physical volume --- PV Name /dev/vda2 VG Name ol PV Size <15,00 GiB / not usable 3,00 MiB Allocatable yes (but full) PE Size 4,00 MiB Total PE 3839 Free PE 0 Allocated PE 3839 PV UUID 9WR60T-6MiC-cHbu-yg18-I1rF-HweP-lua8SQ "/dev/vdb" is a new physical volume of "10,00 GiB" --- NEW Physical volume --- PV Name /dev/vdb VG Name PV Size 10,00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID mo1ytB-c2Ep-GPYv-FqhY-VbCe-4O04-iGv2Bm "/dev/vdc" is a new physical volume of "10,00 GiB" --- NEW Physical volume --- PV Name /dev/vdc VG Name PV Size 10,00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID Ll8vYO-aBVb-qCPf-aRsa-6gSa-cDmk-QYv30Q
Para remover:
sudo pvremove /dev/vdb
Volumes físicos para grupos de volume
sudo vgcreate dados /dev/vdb /dev/vdc
sudo vgdisplay dados --- Volume group --- VG Name dados System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 1 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 2 Act PV 2 VG Size 19,99 GiB PE Size 4,00 MiB Total PE 5118 Alloc PE / Size 0 / 0 Free PE / Size 5118 / 19,99 GiB VG UUID ZiJqqc-g5Nh-C59Q-aqfN-VpAn-dvgm-PoHVLv
sudo vgs VG #PV #LV #SN Attr VSize VFree dados 2 0 0 wz--n- 19,99g 19,99g ol 1 2 0 wz--n- <15,00g 0
sudo pvs PV VG Fmt Attr PSize PFree /dev/vda2 ol lvm2 a-- <15,00g 0 /dev/vdb dados lvm2 a-- <10,00g <10,00g /dev/vdc dados lvm2 a-- <10,00g <10,00g
Criando volume lógico
sudo lvcreate -L 4G -n db dados sudo lvcreate -L 512M -n web dados
sudo lvdisplay /dev/dados/db --- Logical volume --- LV Path /dev/dados/db LV Name db VG Name dados LV UUID 5GNlwp-Zi1t-dTrP-9zq0-Kpux-Ijj7-2z7Jlh LV Write Access read/write LV Creation host, time lvm-lfcs, 2024-10-27 12:14:19 -0300 LV Status available # open 0 LV Size 4,00 GiB Current LE 1024 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:2
sudo lvdisplay /dev/dados/web --- Logical volume --- LV Path /dev/dados/web LV Name web VG Name dados LV UUID 7Ovshw-61dm-8AuA-E2eV-ddgi-JmsA-IcdgJL LV Write Access read/write LV Creation host, time lvm-lfcs, 2024-10-27 12:14:54 -0300 LV Status available # open 0 LV Size 512,00 MiB Current LE 128 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:3
sudo vgdisplay dados --- Volume group --- VG Name dados System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 3 VG Access read/write VG Status resizable MAX LV 0 Cur LV 2 Open LV 0 Max PV 0 Cur PV 2 Act PV 2 VG Size 19,99 GiB PE Size 4,00 MiB Total PE 5118 Alloc PE / Size 1152 / 4,50 GiB Free PE / Size 3966 / 15,49 GiB VG UUID ZiJqqc-g5Nh-C59Q-aqfN-VpAn-dvgm-PoHVLv
sudo vgs -o +lv_size,lv_name VG #PV #LV #SN Attr VSize VFree LSize LV dados 2 2 0 wz--n- 19,99g 15,49g 4,00g db dados 2 2 0 wz--n- 19,99g 15,49g 512,00m web ol 1 2 0 wz--n- <15,00g 0 1,60g swap ol 1 2 0 wz--n- <15,00g 0 13,39g root
Deletar volume lógico
sudo lvremove /dev/dados/web Do you really want to remove active logical volume dados/web? [y/n]: y Logical volume "web" successfully removed.
sudo vgdisplay dados --- Volume group --- VG Name dados System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 4 VG Access read/write VG Status resizable MAX LV 0 Cur LV 1 Open LV 0 Max PV 0 Cur PV 2 Act PV 2 VG Size 19,99 GiB PE Size 4,00 MiB Total PE 5118 Alloc PE / Size 1024 / 4,00 GiB Free PE / Size 4094 / 15,99 GiB VG UUID ZiJqqc-g5Nh-C59Q-aqfN-VpAn-dvgm-PoHVLv
Os comandos utilizados para os testes com o LVM são:
- PV (Physical Volume)
- pvs - saída resumida
- pvscan - saída simples
- pvdisplay - saída detalhada
- VG (Volume Group)
- vgs - saída resumida
- vgscan - saída simples
- vgdisplay - saída detalhada
- LV (Logical Volume)
- lvs - saída resumida
- lvscan - saída simples
- lvdisplay - saída detalhada
Sequência para remover um VG
sudo lvchange -an /dev/dados/db sudo lvremove /dev/dados/db sudo vgchange -an dados sudo vgremove dados sudo pvremove /dev/vdb sudo pvremove /dev/vdc
wiki/filesystem/lvm/rhcsa-lfcs.txt · Last modified: by Wiki Administrator
