This post is also available in:
Série: Oracle RAC 12.2 — Instalação Completa no VMware Workstation
📌 Sobre esta série: Este guia cobre Oracle RAC 12c, que está fora de suporte. O objetivo é documentar aprendizado e revisar conceitos — não recomendar a versão para produção. Entenda o contexto completo na introdução da série →
📋 Esta série — Oracle RAC 12.2 no VMware Workstation:
⚙️ Pré-requisito: VMware Workstation instalado no host Linux. Um servidor Linux acessível na rede local (vpslab) para hospedar o iSCSI target.
Por que targetcli e não Openfiler?
O Openfiler foi amplamente usado em labs Oracle RAC por anos, mas está descontinuado desde 2011 e o site oficial está fora do ar. O targetcli é baseado no Linux-IO Target (LIO), backend iSCSI padrão do Oracle Linux, RHEL e CentOS desde a versão 7. É documentado oficialmente pela Oracle em docs.oracle.com e não requer nenhuma VM adicional — roda diretamente no servidor Linux.
Topologia do Ambiente
vpslab (192.168.15.3)
└── targetcli — servidor iSCSI
└── /srv/lab/storage/rac-storage/
labnote → vmnet0 (Bridged → enp0s20f0u2)
├── orclrac1 eth0: 192.168.15.170 (pública)
│ orclrac1 eth2: 192.168.15.130 (iSCSI) ← mesmo vmnet0
└── orclrac2 eth0: 192.168.15.171 (pública)
orclrac2 eth2: 192.168.15.131 (iSCSI) ← mesmo vmnet0💡 Por que eth0 e eth2 usam o mesmo vmnet? O VMware não permite duas vmnet Bridged na mesma NIC física. Como
enp0s20f0u2já está em uso pelo vmnet0, não é possível criar um vmnet2 separado. A separação lógica é feita pelos IPs — o tráfego iSCSI alcança o vpslab (192.168.15.3) pela mesma rede física.
Configurar Redes no VMware
Abra o Virtual Network Editor:
VMware Workstation → Edit → Virtual Network Editor → Change SettingsVMnet0 — Rede Pública e iSCSI (Bridged)
- Tipo: Bridged
- Bridged to: NIC ativa do host na rede
192.168.15.x
VMnet1 — Interconnect RAC (Host-only)
- Tipo: Host-only
- DHCP: Desabilitado ← obrigatório
- Subnet:
10.10.10.0 / 255.255.255.0
⚠️ O DHCP desabilitado no interconnect é obrigatório. Se habilitado, o Clusterware pode falhar ao tentar usar essa rede.
Resultado final:
| VMnet | Tipo | DHCP | Subnet | Uso |
|---|---|---|---|---|
| vmnet0 | Bridged | — | 192.168.15.0/24 | Rede pública e iSCSI |
| vmnet1 | Host-only | Desabilitado | 10.10.10.0/24 | Interconnect RAC |
Configurar iSCSI Target no vpslab
Execute esta seção no vpslab (
192.168.15.3) como root.
Instalar targetcli
apt install -y targetcli-fb
systemctl enable rtslib-fb-targetctl
systemctl start rtslib-fb-targetctl
systemctl status rtslib-fb-targetctlNo Ubuntu o pacote se chama
targetcli-fbe o serviço értslib-fb-targetctl. No Oracle Linux/RHEL o pacote étargetclie o serviço étarget.
Criar Estrutura de Diretórios
mkdir -p /srv/lab/storage/rac-storageCriar os Arquivos de LUN
⚠️ Use
ddem vez detruncate. Otruncatecria arquivos sparse — o tamanho declarado não corresponde ao espaço real alocado e o targetcli não reporta o tamanho corretamente para os initiators.
cd /srv/lab/storage/rac-storage
dd if=/dev/zero of=lun-ocr-vote1.img bs=1M count=10240 status=progress
dd if=/dev/zero of=lun-ocr-vote2.img bs=1M count=10240 status=progress
dd if=/dev/zero of=lun-ocr-vote3.img bs=1M count=10240 status=progress
dd if=/dev/zero of=lun-gimr.img bs=1M count=40960 status=progress
dd if=/dev/zero of=lun-data1.img bs=1M count=61440 status=progress
dd if=/dev/zero of=lun-fra1.img bs=1M count=40960 status=progress
du -sh /srv/lab/storage/rac-storage/*.imgMapeamento dos LUNs:
| LUN | Arquivo | Tamanho | Dispositivo | Disk Group Oracle |
|---|---|---|---|---|
| lun-0 | lun-ocr-vote1.img | 10 GB | /dev/sdc | +OCR (voting) |
| lun-1 | lun-ocr-vote2.img | 10 GB | /dev/sdh | +OCR (voting) |
| lun-2 | lun-ocr-vote3.img | 10 GB | /dev/sdg | +OCR (voting) |
| lun-3 | lun-gimr.img | 40 GB | /dev/sdf | +MGMT (GIMR) |
| lun-4 | lun-data1.img | 60 GB | /dev/sde | +DATA |
| lun-5 | lun-fra1.img | 40 GB | /dev/sdd | +FRA |
Configurar o Target iSCSI via targetcli
sudo targetcliDentro do shell interativo:
/backstores/fileio create lun-ocr-vote1 /srv/lab/storage/rac-storage/lun-ocr-vote1.img 10G write_back=false
/backstores/fileio create lun-ocr-vote2 /srv/lab/storage/rac-storage/lun-ocr-vote2.img 10G write_back=false
/backstores/fileio create lun-ocr-vote3 /srv/lab/storage/rac-storage/lun-ocr-vote3.img 10G write_back=false
/backstores/fileio create lun-gimr /srv/lab/storage/rac-storage/lun-gimr.img 40G write_back=false
/backstores/fileio create lun-data1 /srv/lab/storage/rac-storage/lun-data1.img 60G write_back=false
/backstores/fileio create lun-fra1 /srv/lab/storage/rac-storage/lun-fra1.img 40G write_back=false
/iscsi create iqn.2024-01.com.vpslab:rac-storage
cd /iscsi/iqn.2024-01.com.vpslab:rac-storage/tpg1
set attribute authentication=0
set attribute demo_mode_write_protect=0
set attribute generate_node_acls=1O portal
0.0.0.0:3260é criado automaticamente ao criar o target IQN. Não executeportals/ create.
luns/ create /backstores/fileio/lun-ocr-vote1
luns/ create /backstores/fileio/lun-ocr-vote2
luns/ create /backstores/fileio/lun-ocr-vote3
luns/ create /backstores/fileio/lun-gimr
luns/ create /backstores/fileio/lun-data1
luns/ create /backstores/fileio/lun-fra1
lsSaída esperada:
o- tpg1 ............................... [gen-acls, no-auth]
o- luns ............................. [LUNs: 6]
| o- lun0 ........................... [fileio/lun-ocr-vote1]
| o- lun1 ........................... [fileio/lun-ocr-vote2]
| o- lun2 ........................... [fileio/lun-ocr-vote3]
| o- lun3 ........................... [fileio/lun-gimr]
| o- lun4 ........................... [fileio/lun-data1]
| o- lun5 ........................... [fileio/lun-fra1]
o- portals .......................... [Portals: 1]
o- 0.0.0.0:3260 ................... [OK]cd /
saveconfig
exitLiberar Firewall
ufw allow 3260/tcp
ufw reload
ufw status | grep 3260Verificar Serviço
ss -tlnp | grep 3260
targetcli lsTestar Discovery
Do labnote ou qualquer máquina na LAN:
iscsiadm -m discovery -t sendtargets -p 192.168.15.3Próxima Parte
No Post 2 vamos instalar o Oracle Linux, configurar o orclrac1, clonar para o orclrac2 e conectar o iSCSI Initiator ao target criado aqui.
