Importando um arquivo .ISO para o repositório do Oracle VM

Olá pessoal, aqui neste post vamos ver como importar o arquivo .iso que possui a imagem do Oracle Linux 7.5 num dos repositórios previamente criados na infraestrutura do Oracle VM.

Os repositórios da infraestrutura do Oracle VM aqui da Lore Data ficam no servidor jarvis.loredata.com.br que é o Oracle VM Server, portanto é lá que os arquivos ficarão armazenados.

Eu fiz o download do Oracle Enterprise Linux 7.5 no servidor vision.loredata.com.br que é o servidor do Oracle VM Manager.

Conheço 2 métodos de como disponibilizar esses arquivos no repositório para que sejam usados na criação de uma VM posteriormente.

Método 1: Copiando o .iso via SCP para o repositório

Copiar o arquivo para o diretório do repositório no servidor jarvis.loredata.com.br. Para isso basta um scp de um servidor para outro:

[root@vision ~]# cd Downloads/
[root@vision Downloads]# pwd
/root/Downloads
[root@vision Downloads]# ls -lh
total 4.2G
-rw-r--r--. 1 oracle dba 4.2G Oct 29 20:07 OEL7.5.iso
[root@vision Downloads]# scp OEL7.5.iso root@jarvis:/OVS/Repositories/0004fb0000030000b215dd5e2104fd03/ISOs/
root@jarvis's password:
OEL7.5.iso                                                                                              100% 4235MB 104.5MB/s   00:40
[root@vision Downloads]#

Veja que logo em seguida depois de efetuar um refresh no repositório o arquivo .iso aparece:

Screen Shot 2018-11-01 at 18.40.08

Método 2: Importando o .iso para o repositório via console do Oracle VM Manager

Deixei este como segunda opção, pois é mais chato de fazer. Neste método o arquivo precisa estar disponível via HTTP, HTTPS ou FTP na origem para que possamos importá-lo. O Oracle VM Manager só aceita importar arquivos através de um destes 3 protocolos.

Na minha opinião a maneira mais fácil de fazer isso é iniciar instantaneamente um servidor HTTP através de um módulo do Python. Para isso no diretório onde está o arquivo execute o seguinte módulo do Python:

[root@vision Downloads]# pwd
/root/Downloads
[root@vision Downloads]# python -m SimpleHTTPServer 8020
Serving HTTP on 0.0.0.0 port 8020 ...

Caso você esteja com o Firewall ativo, momentaneamente abra a porta 8020, ou a que estiver usando:

[root@vision ~]# iptables -I INPUT -p tcp -m tcp --dport 8020 -j ACCEPT

Agora na console do Oracle VM Manager na aba “Repositories”, escolha o repositório e clique em “Import ISO”:

Screen Shot 2018-11-01 at 18.56.12

Insira a URL de onde o arquivo está armazenado e clique em “OK”:

Screen Shot 2018-11-01 at 19.10.55

Import realizado com sucesso. Clique em “Details” no job de import:

Screen Shot 2018-11-01 at 19.12.12

Veja os detalhes do processo de importação:

Screen Shot 2018-11-01 at 19.12.41

Para parar o módulo do Python de servidor HTTP apenas tecle control+c:

[root@vision Downloads]# python -m SimpleHTTPServer 8020
Serving HTTP on 0.0.0.0 port 8020 ...
192.168.118.101 - - [01/Nov/2018 19:10:25] "GET /OracleLinux7.5.iso HTTP/1.1" 200 -
^CTraceback (most recent call last):
  File "/usr/lib64/python2.7/runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib64/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/usr/lib64/python2.7/SimpleHTTPServer.py", line 220, in <module>
    test()
  File "/usr/lib64/python2.7/SimpleHTTPServer.py", line 216, in test
    BaseHTTPServer.test(HandlerClass, ServerClass)
  File "/usr/lib64/python2.7/BaseHTTPServer.py", line 599, in test
    httpd.serve_forever()
  File "/usr/lib64/python2.7/SocketServer.py", line 236, in serve_forever
    poll_interval)
  File "/usr/lib64/python2.7/SocketServer.py", line 155, in _eintr_retry
    return func(*args)
KeyboardInterrupt
[root@vision Downloads]#

É isso que eu tinha para mostrar hoje. Lembre-se de voltar as configurações do Firewall para o padrão anterior à mudança.

Espero que tenham gostado. Abraços e até mais.

Franky