Criando LPARs via linha de comando (HMC/IVM)

 

Recapitulando: realizamos o boot via console serial e instalamos o VIO, configuramos a rede e o virtual media library. Agora vamos criar os perfis de 3 LPARs através da linha de comandos.

Normalmente criamos as LPARs através da GUI do HMC/IVM. Mas caso seja necessário criar uma quantidade maior de LPARs isto será bem demorado ! Para acelerar este processo, construi uma planilha em Excel para montar as linhas de comando do VIO. Nesta planilha, definimos o mapeamento dos recursos: processador, memória, rede, disco, etc. No exemplo abaixo, a planilha está gerando 10 linhas de comando para criar 10 LPARs. Mas irei criar apenas 3.

Caso deseje utilizar esta planilha, segue o link para Download. Deixei ela o mais crua quanto possível. Faça as alterações conforme sua necessidade.

Abaixo as linhas de comando geradas:

$ cat create_lpar.txt
mksyscfg -r lpar -m 9117-570-SN104218D -i "name=namenode01, profile_name=default, lpar_env=aixlinux, min_mem=2048, desired_mem=8192, max_mem=8192, sharing_mode=share_idle_procs, proc_mode=ded, min_procs=1, desired_procs=1, max_procs=1, boot_mode=norm, max_virtual_slots=10, \"virtual_eth_adapters=5/0/1//0/0\", \"virtual_scsi_adapters=2/client/1/vio001/11/1\" "
mksyscfg -r lpar -m 9117-570-SN104218D -i "name=datanode01, profile_name=default, lpar_env=aixlinux, min_mem=2048, desired_mem=8192, max_mem=8192, sharing_mode=share_idle_procs, proc_mode=ded, min_procs=1, desired_procs=1, max_procs=1, boot_mode=norm, max_virtual_slots=10, \"virtual_eth_adapters=5/0/1//0/0\", \"virtual_scsi_adapters=2/client/1/vio001/13/1\" "
mksyscfg -r lpar -m 9117-570-SN104218D -i "name=datanode02, profile_name=default, lpar_env=aixlinux, min_mem=2048, desired_mem=8192, max_mem=8192, sharing_mode=share_idle_procs, proc_mode=ded, min_procs=1, desired_procs=1, max_procs=1, boot_mode=norm, max_virtual_slots=10, \"virtual_eth_adapters=5/0/1//0/0\", \"virtual_scsi_adapters=2/client/1/vio001/15/1\" "
$

Criaremos o client_rootvg para criar os discos virtuais das 3 LPARs

$ oem_setup_env
# mkvg -y client_rootvg -f hdisk1
0516-1254 mkvg: Changing the PVID in the ODM. 
client_rootvg
#

Para instalar o SO nas 3 LPARs que iremos criar, criaremos 3 discos virtuais usando 3 LVs criados no client_rootvg do VIO. Primeiro, obtemos o tamanho do PP do client_rootvg para calcular o numero de PPs para cada um dos LVs.

# lsvg client_rootvg
VOLUME GROUP:       client_rootvg      VG IDENTIFIER:  00c4218d00004c000000015ff4011443
VG STATE:           active             PP SIZE:        256 megabyte(s)
VG PERMISSION:      read/write TOTAL   PPs: 546        (139776 megabytes)
MAX LVs:            256                FREE PPs:       546 (139776 megabytes)
LVs:                0                  USED PPs:       0 (0 megabytes)
OPEN LVs:           0                  QUORUM:         2 (Enabled)
TOTAL PVs:          1                  VG DESCRIPTORS: 2
STALE PVs:          0                  STALE PPs:      0
ACTIVE PVs:         1                  AUTO ON:        yes
MAX PPs per VG:     32512 
MAX PPs per PV:     1016               MAX PVs:        32
LTG size (Dynamic): 256 kilobyte(s)    AUTO SYNC:      no
HOT SPARE:          no                 BB POLICY:      relocatable 
PV RESTRICTION:     none               INFINITE RETRY: no
DISK BLOCK SIZE:    512                CRITICAL VG:    no
#

Como o PP Size do client_rootvg é 256M, vamos criar 3 LV’s com 182 PPs (46G cada lv)

# mklv -y namenode01_hd0 client_rootvg 182
namenode01_hd0
# mklv -y datanode01_hd0 client_rootvg 182
datanode01_hd0
# mklv -y datanode02_hd0 client_rootvg 182 
datanode02_hd0

LVs criados no client_rootvg

# lsvg -l client_rootvg
client_rootvg:
LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT
namenode01_hd0 jfs 182 182 1 closed/syncd N/A
datanode01_hd0 jfs 182 182 1 closed/syncd N/A
datanode02_hd0 jfs 182 182 1 closed/syncd N/A
#

Abaixo, associamos os LVs aos vhosts das LPARs

# exit
$ lsmap -all
SVSA            Physloc                                      Client Partition ID
--------------- -------------------------------------------- ------------------
vhost0          U9117.570.104218D-V1-C11                     0x00000000

VTD             NO VIRTUAL TARGET DEVICE FOUND
SVSA            Physloc                                      Client Partition ID
--------------- -------------------------------------------- ------------------
vhost1          U9117.570.104218D-V1-C13                     0x00000000

VTD             NO VIRTUAL TARGET DEVICE FOUND
SVSA            Physloc                                      Client Partition ID
--------------- -------------------------------------------- ------------------
vhost2          U9117.570.104218D-V1-C15                     0x00000000

VTD             NO VIRTUAL TARGET DEVICE FOUND

$ mkvdev -vdev namenode01_hd0 -vadapter vhost0 -dev namenode01_0
namenode01 Available
$ mkvdev -vdev datanode01_hd0 -vadapter vhost1 -dev datanode01_0
datanode01 Available
$ mkvdev -vdev datanode02_hd0 -vadapter vhost2 -dev datanode02_0
datanode02 Available
$ mkvdev -vdev hdisk2 -vadapter vhost0 -dev namenode01_1
namenode01_1 Available
$ mkvdev -vdev hdisk4 -vadapter vhost1 -dev datanode01_1
datanode01_1 Available
$ mkvdev -vdev hdisk5 -vadapter vhost2 -dev datanode02_1
datanode02_1 Available
$

Agora vamos associar os vhosts das LPARs, com o o virtual optical device vtopt para alocar a mídia de instalação.

$ lsrep
Size(mb) Free(mb) Parent Pool Parent Size Parent Free
   10198     9496 rootvg           279552      218624

Name                                     File Size Optical   Access 
ubuntu.16.04                                   702 None      ro 
$ mkvdev -fbo -vadapter vhost0
vtopt0 Available
$ mkvdev -fbo -vadapter vhost1
vtopt1 Available
$ mkvdev -fbo -vadapter vhost2
vtopt2 Available
$

Com o comando loadopt é possível “inserir” o cd de instalação na LPAR conforme abaixo:

$ loadopt -vtd vtopt0 -disk ubuntu.16.04
$ loadopt -vtd vtopt1 -disk ubuntu.16.04
$ loadopt -vtd vtopt2 -disk ubuntu.16.04

Agora precisamos iniciar as LPARs em modo SMS e escolher o boot via CD Virtual. Até o próximo post.

Douglas Ribas de Mattos
E-mail: douglasmattos0@gmail.comdouglasmattos0@gmail.com
Github: https://github.com/douglasmattos0
LinkedIn: https://www.linkedin.com/in/douglasmattos0/

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *