Migração do SUSE Linux para o Oracle Linux implantada na Dell

Por Jon Senger, Aik Zu Shyong y Suzanne Zorn
Publicado en mayo 2013

Planejamento e implantação da migração na Dell: problemas críticos da conversão e descrição geral do processo de transição

Dell y Oracle

Trocar o sistema operacional em um único servidor não é algo menor. A resolução de problemas de conversão e compatibilidade associados também não é menor. Vamos imaginar, então, o que significa trocar o sistema operacional de milhares de servidores de uma empresa distribuídos pelo mundo inteiro, como no caso da Dell.

Se você deseja fazer download de software, participar de fóruns e ter acesso a outras recomendações técnicas, além de conteúdos como este, junte-se a OTN. Você não vai receber e-mails não desejados.

Em junho de 2010, a Dell decidiu migrar 1700 sistemas do SUSE Linux para o Oracle Linux, sem alterar as camadas de hardware e de aplicações. O fato de todas as plataformas Linux serem padronizadas permitiu a realização da conversão de larga escala. Foi possível efetuar backups da maior parte da configuração do sistema operacional e das aplicações específicas de cada localização, para depois restaurá-la diretamente no novo sistema operacional. As alterações de configuração foram mínimas e foi possível automatizar a maioria delas, facilitando as tarefas de gerenciamento requeridas e permitindo um processo de transição confiável e coerente.

Ambiente de implantação na Dell

Quando o processo de migração aqui apresentado começou, a Dell tinha aproximadamente 1700 sistemas físicos que executavam o SUSE Linux. Esses sistemas, espalhados geograficamente pelo mundo, usavam uma combinação de hardware Dell de oitava geração (servidores Dell PowerEdge 2850 e 2950) e posterior. O esquema de armazenamento SAN mediante canal de fibra abrangia dispositivos EMC Symmetrix e CLARiiON. O ambiente de software incluía SUSE Linux 10 Service Pack 1 com E/S de múltiplas conexões (MPIO), Oracle Database 10g Versão 2, Oracle Real Application Clusters (Oracle RAC) e Oracle Automatic Storage Management, como mostrado na Figura 1.

Oracle Automatic Storage Management
Figura 1 Ambiente de implantação na Dell antes e depois da migração para o Oracle Linux

Essencialmente, a migração consistiu na passagem do SUSE Linux 10 para o Oracle Linux 5.5. Durante a migração, o hardware dos servidores físicos e de armazenamento foi conservado. O software da Oracle também não foi alterado. Outra mudança introduzida na Dell foi a passagem do suporte para E/S de múltiplas conexões integrado no SUSE Linux a EMC PowerPath para gerenciamento automatizado de caminhos de dados. (Nota: a conversão do MPIO para o PowerPath não é fundamental em relação à migração do sistema operacional e ultrapassa o escopo deste documento.)

O processo de migração também foi uma oportunidade para que a Dell reavaliasse os servidores em que o SUSE Linux era executado, visando estabelecer se as aplicações executadas nesses servidores podiam ser desativadas ou implantadas em um ambiente MegaGrid existente. Na implantação MegaGrid, a Dell utilizar racks de 16 nós, cada um deles com capacidade para hospedar 300 bancos de dados. Em alguns casos, havia capacidade suficiente em uma infraestrutura MegaGrid já implantada, por isso foi possível migrar aplicativos e bancos de dados para a rede, e desligar e retirar os servidores SUSE Linux. A consolidação atingida permitiu economizar energia e refrigeração, e reduziu os requisitos de espaço. Em outros casos em que a consolidação foi possível, a migração foi do sistema SUSE Linux para o Oracle Linux, mediante os processos descritos neste documento.

Processo de migração

Em virtude do porte da migração, o planejamento e a automação foram essenciais para o sucesso do projeto. Aik Zu Shyong, da divisão Core Engineering da Dell, aponta: "Nós cuidamos especialmente de projetar a conversão do sistema operacional para garantir um processo automatizado simples, confiável e repetível. Além disso, adotando uma abordagem in-place para a migração em lugar de recorrer a um método de substituição muito mais lento e proibitivo quanto aos custos, conseguimos diminuir o período ocioso e economizar espaço físico no data center".

O processo de migração implantado na Dell incluiu três passos principais: preparação, restabelecimento da imagem do sistema operacional e configuração posterior à instalação. Primeiro, no passo de preparação, a Dell salvou a configuração existente do ambiente e fez um shutdown seguro dos aplicativos e do banco de dados. A seguir, a imagem do sistema operacional foi restabelecida, passando do SUSE Linux 10 para o Oracle Linux 5.5. Finalizado o restabelecimento da imagem, foram realizados os passos seguintes para configurar o novo ambiente e restaurar os dados prévios.

Preparação

A Dell realizou os seguintes passos prévios à instalação para se preparar para a migração do SUSE Linux para o Oracle Linux.

1. Em primeiro lugar, a Dell criou uma área de rascunho para salvar os diversos arquivos de configuração. Para obter compatibilidade com o sistema operacional Oracle Linux, a Dell criou um sistema de arquivos ext3 —em lugar de um sistema de arquivos ReiserFS, configurado por default para o SUSE Linux 10— e documentou a localização deste rascunho de sistema de arquivos para utilizá-lo após a migração. Para armazenar os arquivos, a Dell usou um volume sobressalente no dispositivo de armazenamento de canal de fibra conectado ou em uma unidade secundária da máquina, conforme a configuração do sistema.

O tamanho da área de rascunho variou em função da configuração do sistema específico e dependendo do conjunto de dados maior do qual devia ser realizado o backup: a pasta ORACLE_HOME. Foi reservado espaço suficiente para conter esta pasta e mais os arquivos de configuração do sistema dos quais se requeresse um backup.

2. Na sequência, a Dell fechou as aplicações e serviços do sistema, e desativou os processos init.d . A Dell seguiu a ordem de shutdown recomendada pela Oracle para desativar o Oracle Database, Oracle Automatic Storage Management, aplicativos que eram executados nos nós do cluster e Cluster Ready Services (CRS). Foi usado o comando chkconfig para desabilitar os serviços em execução:

3. # chkconfig service_name off

Para a migração implantada na Dell, a classe de serviço do sistema migrado influenciou no procedimento de shutdown. No caso dos sistemas críticos, solicitou-se uma janela de manutenção do sistema; fez-se o completo shutdown do cluster, foi realizada a migração para o Oracle Linux e, a seguir, a reinicialização. No caso dos sistemas que rolavam aplicações de negócios chave, evitou-se a parada total dos serviços, e foram rolados upgrades gradativos. Os serviços foram deslocados de um nó do cluster determinado para outro, e esse primeiro nó foi migrado para o Oracle Linux. Seguidamente, esse nó do cluster foi reinicializado e novamente incorporado ao cluster. O processo foi repetido até a atualização de todos os nós do cluster.

Nota: Embora a Oracle não suporte clusters heterogêneos Oracle RAC, a Dell não teve nenhum problema durante a transição com os nós em que o SUSE Linux era executado e que interoperavam com nós que executavam o Oracle Linux. Cabe mencionar, no entanto, que esta configuração mista de sistema operacional foi somente usada durante o processo de migração e não na operação normal do sistema.

4. A Dell confirmou que os sistemas de arquivos não estavam sendo usados. A Dell utilizou o comando lsof para elaborar uma lista de todos os arquivos abertos e certificar-se de que estes não estivessem usando montagens NFS. Também se certificou de que não estivessem sendo usados recursos da pasta ORACLE_HOME.

5. # lsof

6. A Dell armazenou os arquivos e pastas de configuração do sistema operacional pertinentes. Tendo a Tabela 1 como referência, a Dell arquivou a configuração do sistema e coletou a lista de arquivos do sistema operacional que era necessário conservar para restaurar a configuração específica de cada localização após a instalação do Oracle Linux. Primeiramente, a Dell identificou os arquivos de configuração específicos de cada localização e, a seguir, criou uma sequência de código que pudesse ser usada para copiar esses arquivos na localização de rascunho criada no Passo 1.

Nota: esta tabela deve ser usada como referência; não é um guia preciso dos arquivos e localizações de arquivos exatos. As informações podem variar dependendo da configuração específica da localização.

Tabela 1. Informações sobre a configuração do sistema operacional

Arquivado Comentários
Informações sobre hardware Arquive informações sobre hardware utilizando Dell OpenManage Server Administrator (OMSA) ou comandos nativos do Linux; salve as informações em um arquivo (por exemplo, hardware.txt)
Informações sobre placas de rede Arquive o endereço IP, informações sobre sub-redes e gateways, endereço MAC, informações sobre velocidade de link/duplex e configuração de redes; salve as informações em um arquivo (por exemplo, network.txt)
Informações sobre memória (Opcional) Arquive os registros de utilização da memória; use um máximo de uma instantânea semanal, se for necessário, para demonstrar um desempenho equivalente ou melhor; salve as informações em um arquivo (por exemplo, memory.txt)
Arquivo *-release de SO /etc/SuSE-release
Informações sobre módulos de kernel /lib/modules/*, /etc/{modprobe.conf, modprobe.conf.local, modprobe.d/*}
Autenticação (PAM), usuários e grupos, e nsswitch.conf /etc/pam.d/*, /etc/nsswitch.conf, /etc/passwd, /etc/shadow, /etc/group,/etc/sudoers, /etc/security/*
Regras do gerenciador de dispositivos (udev) /etc/udev/udev.conf, /etc/udev/rules.d/*
Informações sobre montagem automática do sistema de arquivos /etc/auto.* (Opcional; somente requerido para montagem automática)
Arquivos de configuração do carregador reinicialização /boot/grub/*, /etc/grub.conf, /etc/sysconfig/bootloader
arquivo/var/log/messages /var/log/{boot.msg, boot.omsg, localmessages, messages}
Configuração de nível de execução /etc/inittab, /etc/init.d/boot.local
sequência de código rclocal /etc/rc.d/rclocal
Configuração de tarefas cron /etc/cron/{daily, hourly, monthly}/*, /var/spool/cron/tabs/*
Configuração de MPIO /etc/multipath.conf
Configuração de rede (NIC, roteamento, etc.) /etc/sysconfig/network/ifcfg-*, /etc/sysconfig/network/*, /etc/resolv.conf
Configuração de NTP /etc/ntp.conf
Configuração de NFS /etc/exports, /etc/fstab
Configuração de serviço de nomes /etc/nscd.conf
Configuração de hosts /etc/{hosts, host.conf, hosts.allow, hosts.deny, HOSTNAME}
Configuração do sistema (sysconfig) /etc/sysconfig/* (incluindo todas as subpastas), /etc/sys/* (incluindo todas as subpastas)
arquivos/proc/info /proc/* (incluindo todas as subpastas)
Configuração de SSH /etc/ssh/*, /etc/sshd.config, /etc/pam.d/ssh
Arquivos de dados SAR /var/log/sa/sa*
Arquivos de configuração do Apache Opcional (requerido somente se o Apache é executado); /etc/httpd*
FTP Opcional; requerido somente se serviços FTP são executados
CIFS Opcional; requerido somente se serviços CIFS são executados
Informações sobre shells/perfis /etc/{bash.bashrc, csh.cshrc, csh.login, ksh.kshrc}, /etc/profile,/etc/profile.d/*
Mensagem prévia ao início de sessão /etc/issue
arquivos da pasta /etc/default /etc/default/*
Arquivos de licença e configuração do PowerPath /etc/emcp*
Software/aplicativos adicionais Faça backup de todos os aplicativos de software que não sejam da Oracle

7. A Dell converteu MPIO a PowerPath. A Dell decidiu trocar o suporte MPIO integrado do SUSE Linux pelo EMC PowerPath para o gerenciamento automatizado de caminhos de dados, em virtude de esse ser o suporte padrão que a Dell tem em outros sistemas Linux que não os do SUSE. Com o EMC PowerPath, também foi mais simples copiar as alocações LUN depois da conversão.

A EMC criou uma sequência de código personalizada para realizar a conversão de MPIO para PowerPath. Os detalhes dessa conversão ultrapassam o escopo do presente artigo. Se os leitores querem obter maior informação sobre a conversão do gerenciamento de caminhos de dados, podem consultar a EMC ou seu fornecedor de dispositivos de armazenamento.

8. A Dell arquivou as informações de configuração específicas do Oracle. Como no caso dos arquivos de configuração do sistema operacional, a Dell armazenou estes arquivos de configuração específica do Oracle em um volume de reserva do dispositivo de armazenamento mediante canal de fibra conectado ou em uma unidade secundária da máquina. Na Tabela 2, mostra-se uma lista dos arquivos de configuração específica do Oracle que a Dell salvou durante a preparação para a migração para o Oracle Linux.

Tabela 2. Configuração específica do Oracle

Archivado Comentarios
Perfis para usuários oracle e svcgrid arquivos .profile para usuários oracle e svcgrid (Nota: os arquivos do Oracle Linux têm o nome .bash_profile)
Informações sobre alocações LUN /u02 (esta pasta continha os links simbólicos associados às alocações LUN no ambiente SUSE Linux)
Ponteiro de inventário de Oracle (oraInst.loc) e arquivos oratab /etc/oraInst.loc, /etc/oratab
Arquivo de inventário de Oracle (oraInventory) /etc/oracle/oraInventory
Arquivo OCR /etc/oracle/ocr.loc
Senha SSH de confiança para usuário oracle ~oracle/.ssh/*
Configuração de kernel específica do banco de dados /etc/sysctl.conf
Pasta principal de usuário oracle Específico da localização; /home/oracle para configurações Dell
Pasta principal de software Oracle (ORACLE_BASE) Específico da localização; /u01/app/oracle para configurações Dell

9. Finalmente, a Dell criou uma imagem de backup dos arquivos de configuração salvados com a utilidade tar .

Restabelecimento da imagem do sistema operacional

Salvas as informações de configuração e transferidos todos os serviços essenciais aos servidores de backup, o sistema esteve pronto para a instalação do novo sistema operacional Oracle Linux. O método de instalação de kickstart foi usado para executar de forma automática a instalação do sistema operacional Oracle Linux 5.5 em toda a rede. Este método permitiu garantir que as instalações do sistema operacional fossem realizadas rápida, eficiente e uniformemente nos sistemas cliente.

Foi utilizada a configuração e instalação de kickstart padrão e usou-se um servidor central da rede para as instalações. Imagens ISO do Oracle Linux 5.5 foram copiadas no servidor de imagens regional da Dell, e depois foram disponibilizadas na rede. Foi criado um arquivo de configuração para kickstart no qual foram especificadas as opções de kickstart e os pacotes que deviam ser instalados. A inicialização da máquina cliente foi realizada a partir de uma unidade USB flash, e foi feito o download do arquivo de configuração de kickstart. A instalação foi realizada automaticamente e finalizou sem que a intervenção do usuário fosse necessária.

Atenção: Certifique-se de que o processo de instalação não apague o disco de backup, que é usado para armazenar as informações do sistema arquivadas. O processo de kickstart aplicado na Dell só modificou o conteúdo do disco /dev/sda, e deixou /dev/sdb disponível para arquivar sem riscos as informações de backup.

Tarefas posteriores à instalação

Os seguintes passos chave foram realizados no processo posterior à instalação como parte da migração para o Oracle Linux implantada na Dell:

1. A Dell restaurou/converteu os arquivos da configuração do sistema operacional SUSE Linux para Oracle Linux. A Dell restaurou as informações de configuração do sistema operacional salvas (ver Tabela 1) para permitir a transição do SUSE Linux para o Oracle Linux. Foi possível restaurar a maioria dos arquivos de configuração diretamente da cópia de backup sem nenhum tipo de conversão. Os arquivos de configuração que não puderam ser restaurados de forma direta foram:

o Informações sobre ioscheduler. Em virtude de o arquivo grub.conf ser diferente no Oracle Linux, não foi possível copiar de forma direta o arquivo do SUSE Linux equivalente. Foi adicionada uma entrada para o ioscheduler selecionado no novo arquivo de configuração /boot/grub/grub.conf do Oracle Linux, por exemplo:

o kernel KERNEL_PARAMETERS elevator=deadline

o Informações sobre senhas. Como o ambiente SUSE Linux usava Blowfish e o novo ambiente Oracle Linux usa funções de hash criptográfico MD5, não foi possível copiar diretamente as informações cifradas associadas às senhas dos arquivos /etc/passwd e /etc/shadow . Foi necessário, então, restaurar manualmente as senhas associadas às poucas contas de usuários locais (por exemplo, o usuário oracle .

o Chaves do host para ssh. Após a instalação do novo sistema operacional Oracle Linux, as chaves do host retornadas pelo daemon ssh foram alteradas. Portanto, novos arquivos de chaves known_hosts foram gerados para os hosts do cluster, necessários para o acesso dos clientes ssh .

Nota: Embora a Dell tenha decidido gerar novas chaves para os clientes, também poderiam ter sido restauradas as anteriores a partir dos arquivos de backup.

o Configuração dos enlaces de rede SUSE Linux carrega diretamente os módulos de enlace de kernel através dos arquivos de configuração ifcfg-bondN . Já o Oracle Linux usa o arquivo /etc/modprobe.conf para carregar o módulo de enlace de kernel e suas opções. Portanto, foram adicionadas entradas no novo arquivo /etc/modprobe.conf do Oracle Linux para carregar os módulos de enlace de kernel e definir opções, por exemplo:

o alias bond0 bonding
o options bond0 mode=active-backup miimon=100 downdelay=100 updelay=200

O SUSE Linux e o Oracle Linux coletam as informações sobre dispositivos de armazenamento da rede nos arquivos ifcfg-bondN e ethN . No entanto, o SUSE Linux armazena esses arquivos na pasta /etc/sysconfig/network e o Oracle Linux usa a pasta /etc/sysconfig/network-scripts. A Tabela 3 mostra um exemplo de arquivo ifcfg-bondN do ambiente anterior SUSE Linux e outro para o novo ambiente Oracle Linux.

Tabela 3. Exemplos de arquivos ifcfg-bondN

SUSE Linux Oracle Linux
/etc/sysconfig/network/ifcfg-bond1 /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond1
BOOTPROTO='static'
BROADCAST='192.168.255.255'
IPADDR='192.168.0.190'
NETMASK='255.255.0.0'
NETWORK='192.168.0.0'
REMOTE_IPADDR=''
MTU=''
STARTMODE='onboot'
BONDING_MASTER='yes'
BONDING_SLAVE_0='eth2'
BONDING_SLAVE_1='eth3'
BONDING_MODULE_OPTS='mode=active-backup
miimon=100 downdelay=100 updelay=200'
DEVICE=bond0
BOOTPROTO=none
ONBOOT=yes
IPADDR='192.168.0.190'
NETMASK=255.255.0.0
NETWORK=192.168.0.0
USERCTL=no

A Tabela 4 mostra um exemplo de arquivo ifcfg-eth2 do ambiente anterior SUSE Linux e outro para o novo ambiente Oracle Linux.

Tabela 4. Exemplos de arquivos ifcfg-eth2

SUSE Linux Oracle Linux
/etc/sysconfig/network/ifcfg-eth2 /etc/sysconfig/network-scripts/ifcfg-eth2
DEVICE=eth2
STARTMODE='onboot'
BOOTPROTO='none'
MASTER='bond1'
SLAVE='yes'
DEVICE=eth2
HWADDR=00:15:17:97:CD:4E
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no

Mais detalhes sobre a configuração de enlaces de rede em um sistema Oracle Linux estão disponíveis na documentação sobre gerenciamento de sistemas Oracle Linux.

2. A Dell restaurou os parâmetros e arquivos de configuração do Oracle. A Dell restaurou as informações de configuração específica do Oracle salvas (ver Tabela 2 na seção anterior) para permitir a transição do SUSE Linux para o Oracle Linux. Como no caso dos arquivos de configuração do sistema operacional, foi possível restaurar a maioria dos arquivos de configuração específica do Oracle diretamente da cópia de backup sem nenhum tipo de conversão. As duas exceções foram os arquivos de perfil e as sequências de código de início do Oracle do arquivo inittab.

o Arquivos de perfil. O SUSE Linux usa um arquivo .profile , e o Oracle Linux utiliza um arquivo .bash_profile . Portanto, os arquivos .profile associados aos usuários oracle e svcgrid foram copiados a arquivos .bash_profile do novo ambiente Oracle Linux.

o O arquivo inittab. O arquivo inittab é diferente para os dois sistemas operacionais. Portanto, foram copiadas entradas associadas às três sequências de código de início do software Oracle no novo arquivo inittab em lugar de copiar diretamente o arquivo inittab completo.

As três linhas pertinentes do arquivo inittab do SUSE Linux —entradas associadas ao daemon de gerenciamento de eventos (evmd), ao daemon de Oracle Cluster Services Synchronization (cssd) e ao daemon de Cluster Ready Services (crsd)— foram copiadas do arquivo salvo e foram incorporadas no final do novo arquivo inittab do Oracle Linux, por exemplo:

# Run xdm in runlevel 5
x:5:respawn:/etc/X11/prefdm -nodaemon 
h1:35:respawn:/etc/init.d/init.evmd run >/dev/null 
2>&1 </dev/null h2:35:respawn:/etc/init.d/init.cssd fatal
>/dev/null 2>&1 </dev/null h3:35:respawn:/etc/init.d/init.crsd run >/dev/null
2>&1 </dev/null

3. A Dell reiniciou o servidor.

4. A seguir, a Dell reiniciou o banco de dados e confirmou a operação. Além disso, foi testado o funcionamento dos produtos de software de outros fabricantes.

Nota: É recomendável linkar novamente os executáveis dos produtos Oracle após a instalação do novo sistema operacional. Mais informações em How to Relink Oracle Software on Unix [ID 131321.1] , My Oracle Support (para acessar, é necessário ter um identificador válido de atendimento ao cliente [CSI]).

Conclusão

Implantar a migração do SUSE Linux para o Oracle Linux em 1700 servidores foi uma decisão de TI enérgica, que a Dell considerou necessária para atingir maior estabilidade e suporte, facilitar o gerenciamento e diminuir despesas. Foi possível extrair a camada subjacente do sistema operacional e substituí-la, sem tocar na camada dos aplicativos, só em virtude da padronização de todas as plataformas Linux. Foi possível efetuar backups da maior parte da configuração do sistema operacional específica de cada localização, para depois restaurá-la diretamente no novo sistema operacional. Além disso, o Oracle Database e outras aplicações só precisaram de pequenas mudanças de configuração como resultado da passagem do SUSE Linux para o Oracle Linux.

Na data de elaboração deste artigo, dezembro de 2011, a Dell tinha atravessado quase a metade do processo de migração, e esperava completá-lo em junho de 2012. O planejamento cuidadoso antes de iniciar a migração, com o fim de identificar os arquivos necessários de configuração específica de cada localização, bem como os arquivos que deveriam ser convertidos, foi fundamental para o sucesso do processo de migração da Dell. A automação mediante sequências de código e instalações de kickstart e o cuidado dos detalhes mediante o uso de listas de controle durante a realização do processo de conversão diminuíram os riscos e deram coerência à migração.

A Dell confia em que a decisão de migrar do SUSE Linux para o Oracle Linux nesses servidores foi a mais adequada para o seu negócio. Segundo Jon Senger, Designer de Arquitetura Empresarial na Dell: "Assumimos um risco realizando uma migração desse porte com uma infraestrutura tão desafiadora, mas, realmente, valeu a pena. Não só reduzimos o nosso TCO em relação ao ambiente, mas que, por termos podido adotar como padrão o Oracle Linux, conseguimos a estabilidade e o suporte que os nossos clientes exigem".

Recursos

Os seguintes recursos para o Oracle Linux estão disponíveis:

• Web site do Oracle Linux http://oracle.com/linux
• Unbreakable Linux Network (ULN) da Oracle: https://linux.oracle.com
• Documentação sobre o Oracle Linux: http://linux.oracle.com/documentation/
• Blog sobre o Oracle Linux: http://blogs.oracle.com/linux
• Fórum de debate sobre o Oracle Linux: https://forums.oracle.com/forums/forum.jspa?forumID=822
• Oracle Linux no Oracle Technology Network: http://www.oracle.com/technetwork/server-storage/linux/whatsnew/index.html
Download do Oracle Linux:
• Oracle Software Delivery Cloud (download gratuito): http://edelivery.oracle.com/linux
• Servidor yum público para Oracle Linux: http://public-yum.oracle.com

 


Publicado por Jon Senger, Aik Zu Shyong y Suzanne Zorn.