quarta-feira, 27 de janeiro de 2010

Instalando o HP OpenView Storage Data Protector no Ubuntu

Semana passada me deparei com a necessidade de instalar um cliente do HP OpenView Storage Data Protector em um servidor Ubuntu 64 bits.

Obviamente, como esperado, a HP só provê o software em formato .rpm, já que ela só homologa suas soluções para o Red Hat (e talvez também para o Suse, mas não estou certo disso). É até compreensível, já que o Debian é um projeto da comunidade e não existe uma empresa por trás do mesmo da qual a HP possa cobrar algo.

Enfim, depois de botar as mãos na ISO, iniciei o processo de instalação. Segue um pequeno howto (para Ubuntu 9.10, ou seja, versões mais antigas podem conter variações):
  • Logue no servidor e torne-se root: sudo su -
  • Instale os pacotes rpm e openbsd-inetd: apt-get install rpm openbsd-inetd
  • Copie todo o CD de instalação para algum diretório (vamos usar nesse howto o diretório /home/HPDP), pois você precisará alterar alguns scripts: cp -r /medir/cdrom0 /home/HPDP
  • Altere as permissões dos arquivos do diretório da cópia: chmod 777 -R /home/HPDP
  • Entre no diretório onde ficam os arquivos de instalação: cd /home/HPDP/LOCAL_INSTALL
  • Rode o comando de instalação: ./omnisetup.sh -server CellManagerSrv -install da
  • Depois de rodar o comando, após alguns instantes você irá se deparar com a seguinte mensagem de erro:
Data Protector version A.06.00 found



Packets going to be (re)installed: omnicf da

Unpacking selected packets from CD, please wait (5-10 minutes)...
Unpacking complete!

Installing Core (omnicf)...

64778 blocks
/
Data Protector Software package installation failed
Check the log file /tmp/Core.rpm-log
Setup cannot continue, Installation of Data Protector Core packet failed.

Se você visualizar o conteúdo de /tmp/Core.rpm-log, como sugerido, verá a seguinte mensagem:
rpm: please use alien to install rpm packages on Debian, if you are really sure use --force-debian switch. See README.Debian for more details.

Para resolver essa questão será necessário realizar algumas alterações no script /tmp/omni_tmp/omni_rinst.sh, que é o script que executa a instalação dos pacotes:
  • Abra o arquivo /tmp/omni_tmp/omni_rinst.sh e adicione a opção --force-debian em todos os comandos rpm que existirem no mesmo (ou se preferir, baixe o mesmo já alterado aqui e substitua-o no seu computador)
  • Bloqueie o arquivo para escrita/alteração: chattr +i /tmp/omni_tmp/omni_rinst.sh
  • Rode novamente o instalador e o programa será devidamente instalado: ./omnisetup.sh -server CellManagerSrv -install da
  • Responda Y quando for questionado se deve continuar a instalação não finalizada
Você irá receber uma mensagem similar a esta:

Data Protector Software package successfully installed
Importing client to CellManagerSrv...
[12:1602] Cannot access the Cell Manager system. (inet is not responding)
The Cell Manager host is not reachable or is not up and running
or has no Data Protector software installed and configured on it.
rm: cannot remove `/tmp/omni_tmp/omni_rinst.sh': Operation not permitted

A última linha informa que o arquivo não pode ser removido, o que era esperado já que o mesmo foi bloqueado. A mensagem anterior informa que o serviço não está rodando, mas isso pode ser confirmado com os seguintes procedimentos:

1) Verifique o arquivo /etc/services (tail /etc/services). As duas últimas linhas devem ter o seguinte conteúdo:
# Local services
omni 5555/tcp # DATA-PROTECTOR

2) Verifique se o arquivo inetd.conf foi devidamente alterado (grep omni /etc/inetd.conf). Você deve receber a seguinte saída:
omni stream tcp nowait root /opt/omni/lbin/inet inet -log /var/opt/omni//log/inet.log

3) Dê um telnet na porta 5555 do localhost (telnet localhost 5555). Se o software estiver ouvindo a conexão será atendida corretamente;

4) O passo final deve ser realizado no servidor que está rodando o CellManagerSrv. Conectado neste dê um telnet no IP onde foi instalado o cliente na porta 5555. Se a conexão for atendida, seu serviço foi instalado com sucesso.

Basta então garantir que o serviço inetd seja carregado na inicialização, para que seu cliente HP Data Protector esteja sempre ativo.

PS: ainda não testei a conexão do servidor ao cliente, pois só instalarei o mesmo no computador definitivo na próxima semana. Caso ocorram problemas, ou algo inesperado, e o cliente não funcione corretamente, esse post será atualizado com as novas informações.