KVM: Criando VM's e gerenciando com o ODACLI

Até “ontem” a utilização do KVM no ODA Bare metal não era simplificada, era necessário realizar alguns ajustes e até reboot de rede estava envolvido no antigo processo, mas digo a vocês que isso acabou. Desde a versão 19.8 a Oracle adicionou vários recursos para administração de máquinas virtuais, desde a criação de maquinas até gerenciamento da rede(vnetworks), tudo através do ODACLI. Neste post vamos abordar os seguintes comandos:
1 - odacli create-vmstorage
2 - odacli create-vcpupool
3 - odacli create-vnetwork
4 - odacli create-vdisk
5 - odacli create-vm
Todos estes procedimentos foram executados em um ODA X8M(Patch 19.9), portanto não se aplica diretamente ao ODA X8 HA, antes de executar este procedimento em um ODA HA, peço que consulte a documentação oficial.
Primeiro vamos preparar a área de armazenamentoobrigatoriamente temos que criar um local ondos discos de boot e os vdisk da maquinavirtuais serão armazenados:
[root@odax8godata ~]# odacli create-vmstorage -dg DATA -n VMSTORAGE1 -s 500G
df -h
/dev/asm/vmstorage1-78 500G 2G 497G 70% /u05/app/sharedrepo/vmstorage1
Pronto, vmstorage criado, vamos partir para o CPU POOL.
Pronto, vmstorage criado, vamos partir para o CPU POOL.
Podemos criar o CPU POOL de 2 formas, sendo elas do tipo vm ou bare metal, como o próprio nome diz, vamos criar do tipo vm, a do tipo bare metal é exclusivo para database, mas esse é assunto para outro post. Segue a documentação.
Attach the BM CPU pool to databases. Bare metal CPU pools can be assigned to multiple databases.
Attach VM CPU pool VM guest machines. VM CPU pools can be assigned to multiple VMs.
Agora vamos criar um cpu pool, lembrando que ele é criado em “cores”, abaixo vamos criar com 8 cores, podendo utilizar até 16 VCPU’s.
[root@odax8godata ~]# odacli create-cpupool -c 8 -n POOL8CORES -vm
Cpu pool concluído, agora vamos para a parte de rede. Na forma antiga de configurar o KVM era possível utilizar a placa btbond1 como brigde agora não é mais permitido, apenas como vlan:
[root@odax8godata ~]# odacli create-vnetwork --name VNET1 --bridge VNET1 --type bridged --interface btbond1 --ip 10.1.1.130 --gateway 10.1.1.1 --netmask 255.255.255.0
DCS-10045:Validation error encountered: Cannot create a bridged vNetwork using the public interface btbond1.
Porém você pode utilizar a segunda placa btbond2 para criar como bridge, que por sinal, será ela que utilizaremos em nossos testes. Um detalhe muito importante… Não utilize a mesma faixa/subnet do btbond1 para criar essa vnetwork, na máquina virtual pode utilizar qualquer faixa disponível, mas para criar a vnetwork escolha uma faixa/subnet diferente da btbond1. Outro detalhe, qualquer configuração que você tenha na BTBOND2 será ELIMINADA na criação da vnetwork.
[root@odax8godata ~]# odacli create-vnetwork --name VNET1 --bridge VNET1 --type bridged --interface btbond2 --ip 10.1.1.130 --gateway 10.1.1.1 --netmask 255.255.255.0
Estamos quase lá, agora só falta criar um vdisk que é opcional, reforçando que ele não é o disco de boot, é um disco secundário de 300GB que vamos anexar em nossa máquina.
[root@odax8godata ~]# odacli list-vmstorages
Name Disk group Volume name Volume device Size Mount Point Created Updated
-------------------- --------------- --------------- ------------------------------ ---------- ----------------------------------- ----------------------- -----------------------
VMSTORAGE1 DATA VMSTORAGE1 /dev/asm/vmstorage1-78 500.00 GB /u05/app/sharedrepo/vmstorage1 2021-02-02 01:00:59 BRT 2021-02-02 01:00:59 BRT
[root@odax8godata ~]# odacli create-vdisk -n VDISK1 -sh -s 300G -vms VMSTORAGE1
Job details
----------------------------------------------------------------
ID: 1b6a8361-3a80-4c66-ad7a-fe93f4f7c247
Description: VM disk VDISK1 creation
Status: Created
Created: February 2, 2021 4:54:34 AM BRT
Message:
Task Name Start Time End Time Status
---------------------------------------- ----------------------------------- ----------------------------------- ----------
Agora vamos revisar tudo antes de criar a máquina virtual.
VMSTORAGE:
[root@odax8godata ~]# odacli list-vmstorages
Name Disk group Volume name Volume device Size Mount Point Created Updated
-------------------- --------------- --------------- ------------------------------ ---------- ----------------------------------- ----------------------- -----------------------
VMSTORAGE1 DATA VMSTORAGE1 /dev/asm/vmstorage1-78 500.00 GB /u05/app/sharedrepo/vmstorage1 2021-02-02 01:00:59 BRT 2021-02-02 01:00:59 BRT
CPU POOL:
[root@odax8godata ~]# odacli list-cpupools
Name Type Configured on Cores Associated resources Created Updated
-------------------- ----- ------------------------- ----- ------------------------------ ----------------------- -----------------------
POOL8CORES VM odax8godata 8 NONE 2021-02-02 04:14:35 BRT 2021-02-02 04:14:35 BRT
VNETWORKS:
[root@odax8godata ~]# odacli list-vnetworks
Name Type Interface Bridge Uniform Created Updated
-------------------- --------------- --------------- -------------------- -------- ----------------------- -----------------------
VNET1 Bridged btbond2 VNET1 NO 2021-02-02 04:40:02 BRT 2021-02-02 04:40:02 BRT
VDISK:
[root@odax8godata ~]# odacli list-vdisks
Name VM storage Size Shared Sparse Created Updated
-------------------- -------------------- ---------- ---------- ---------- ----------------------- -----------------------
VDISK1 VMSTORAGE1 300.00 GB YES NO 2021-02-02 05:02:26 BRT 2021-02-02 05:02:26 BRT
Pronto, agora vamos para a criação da maquina virtual.
[root@odax8godata ~]# odacli create-vm -n VMTESTE1 -cp POOL8CORES -vc 8 -m 32G -vms VMSTORAGE1 -s 50G -vd VDISK1 -vn VNET1 -src /u01/V1003434-01.iso
Explicando o Comando:
-n VMTESTE1 ---> Nome da Maquina.
-cp POOL8CORES ---> Pool de CPU de 8 Cores que criamos anteriormente.
-vc 8 ---> Quantidade de VCPU's
-m 32G ---> Memoria destinada a maquina virtual.
-vms VMSTORAGE1 --> Area de storage que criamos anteriormente com 500GB, lembra ?
-s 50G ---> Tamanho do disco de boot.
-vd VDISK1 ---> disco de 300GB que criamos anteriormente, reforçando ... esse não é o disco de boot.
-vn VNET1 ---> vnetwork que as maquinas virtuais irão utilizar.
-src /u01/V1003434-01.iso ---> ISO de BOOT.
Job details
----------------------------------------------------------------
ID: d4c1efa1-8d15-48a7-92b3-0cd620c78968
Description: VM VMTESTE1 creation
Status: Created
Created: February 2, 2021 10:56:02 PM BRT
Message:
Task Name Start Time End Time Status
---------------------------------------- ----------------------------------- ----------------------------------- ----------
[root@odax8godata ~]# odacli describe-job -i d4c1efa1-8d15-48a7-92b3-0cd620c78968
Job details
----------------------------------------------------------------
ID: d4c1efa1-8d15-48a7-92b3-0cd620c78968
Description: VM VMTESTE1 creation
Status: Success
Created: February 2, 2021 10:56:02 PM BRT
Message:
Task Name Start Time End Time Status
---------------------------------------- ----------------------------------- ----------------------------------- ----------
Validate dependency resources February 2, 2021 10:56:02 PM BRT February 2, 2021 10:56:02 PM BRT Success
Validate resource allocations February 2, 2021 10:56:02 PM BRT February 2, 2021 10:56:02 PM BRT Success
Allocate resources February 2, 2021 10:56:02 PM BRT February 2, 2021 10:56:02 PM BRT Success
Provision new VM February 2, 2021 10:56:02 PM BRT February 2, 2021 10:56:06 PM BRT Success
Add VM to Clusterware February 2, 2021 10:56:06 PM BRT February 2, 2021 10:56:08 PM BRT Success
Save configuration in ACFS February 2, 2021 10:56:08 PM BRT February 2, 2021 10:56:08 PM BRT Success
Save live VM configuration in ACFS February 2, 2021 10:56:08 PM BRT February 2, 2021 10:56:08 PM BRT Success
Create VM metadata February 2, 2021 10:56:08 PM BRT February 2, 2021 10:56:08 PM BRT Success
Persist metadata February 2, 2021 10:56:08 PM BRT February 2, 2021 10:56:08 PM BRT Success
[root@odax8godata ~]# odacli describe-vm -n VMTESTE1
VM details
--------------------------------------------------------------------------------
ID: 6d6a6ed1-ef70-474e-9a92-d0d129e78a96
Name: VMTESTE1
Created: 2021-02-02 22:56:08 BRT
Updated: 2021-02-02 22:56:08 BRT
VM Storage: VMSTORAGE1
Description: NONE
VM size: 50.00 GB
Source: V1003434-01.iso
OS Type: NONE
OS Variant: NONE
Graphics settings: vnc,listen=0.0.0.0
Display Port: :0
Status
--------------------------
Current node: odax8godata
Current state: ONLINE
Target state: ONLINE
Parameters
--------------------------
Preferred node: NONE
Boot option: NONE
Auto start: YES
Fail over: NO
Config Live
------------------------- -------------------------
Memory: 32.00 GB 32.00 GB
Max Memory: 32.00 GB 32.00 GB
vCPU count: 8 8
Max vCPU count: 8 8
CPU Pool: POOL8CORES POOL8CORES
Effective CPU set: 0-7,32-39 0-7,32-39
vCPUs: 0:0-7,32-39 0:0-7,32-39
1:0-7,32-39 1:0-7,32-39
2:0-7,32-39 2:0-7,32-39
3:0-7,32-39 3:0-7,32-39
4:0-7,32-39 4:0-7,32-39
5:0-7,32-39 5:0-7,32-39
6:0-7,32-39 6:0-7,32-39
7:0-7,32-39 7:0-7,32-39
vDisks: VDISK1:vdb VDISK1:vdb
vNetworks: VNET1:52:54:00:ce:25:22 VNET1:52:54:00:ce:25:22
VM criada com sucesso, vamos ao acesso.
Quando executar o “describe” da máquina será listado algumas propriedades dentre elas o “display port”. O acesso a VM é feito via VNC, você pode usar qualquer ip para conectar na interface tanto do btbond1 ou do btbond2, em nosso caso a porta está em 0 então apenas com o ip de qualquer uma das interface conseguiremos acessar a VM.




Pronto senhores(a), daqui pra frente agora é com vocês rs.






