Banco de Dados

Ξ Deixe um comentário

Trabalhando com Containers Oracle/Solaris e reduzindo custos operacionais

publicado por Vinicius Tramontina Luvisotto

Como atender minha demanda e otimizar a utilização de servidores?

Muitas vezes nos deparamos com questões de âmbito financeiro para uma tomada de decisão.

Neste artigo, estarei expondo alguns ítens e conceitos técnicos interessantes para a utilização de servidores Oracle com Sistema Operacional Solaris, os quais podem prover uma redução considerável de custos com hardware.

A Oracle com seu Sistema Operacional Solaris (Adquirido juntamente com a compra da SUN), oferece um recurso muito interessante de Containers.

Um Container é nada mais que um servidor virtual, ou seja, você estará com um servidor hospedeiro (Global Zone) e um servidor “parasita” (Local Zone).
Exatamente desta maneira, desde que haja um bom planejamento e adequado mapeamento de recursos, pode-se obter uma economia considerável em relação a compra de hardware.

Por exemplo, vamos imaginar uma demanda de 3 servidores de banco de dados oracle, os quais, por definição e organização do negócio, devem rodar em máquinas distintas, com IPs separados, cada qual com a sua instance oracle. Além disto, sei que as bases não terão uma carga muito significativa e em estudos de Capacity Planning, identifico que utilizando 3 servidores separados, vou ter muito recurso ocioso.

Neste caso, posso otimizar o consumo de recursos, juntando 3 containers num mesmo domínio, com isto, apenas um servidor físico hospedaria 3 servidores virtuais.
Na maioria dos casos, isto proporciona uma grande economia e ainda sem desperdícios de recursos ociosos.

Você pode estar se perguntando:  – Como organizar isto?

Bem, existem algumas formas, estarei demonstrando a seguir alguns passos para facilitar esta organização, tecnicamente é algo simples mas em termos de negócio será extremamente útil.

Vamos considerar que a memória dos 3 servidores será compartilhada, sem divisões, o consumo determinado pela SGA definida em cada base e depois aumentará de acordo com a quantidade de sessões.

Para CPU, inicialmente é necessário definir quantas CPUs possuo no servidor, sendo que após identificado a quantidade de processadores, é necessário que sejam estimados os consumos para cada uma das bases, consequentemente a quantidade que irei alocar para cada servidor virtual.

Lembro que neste momento, é importante ter em mente que o próprio servidor hospedeiro necessita de pelo menos 1 cpu (note que esta unidade corresponde a 1 core)
Feita a definição de quantidade de cpus por servidor virtual, existe a necessidade de criar pools de configuração e dos containers em si.

Vou citar o exemplo com um Container Sparse, o qual julgo como mais útil, pois sua administração fica muito mais simples (Sistema Operacionar do servidor virtual é herdado do servidor “hospedeiro”).

A sequência de comandos abaixo poderá ser utilizada pelo administrador do SO, para a criação de cada um dos três Containers :
# zonecfg -z container1
zonecfg:container1> create
zonecfg:container1> set zonepath=/zones/container1
zonecfg:container1> set autoboot=true
zonecfg:container1> verify
zonecfg:container1> commit
zonecfg:container1> exit
# zoneadm -z container1 install
# zoneadm -z container1 boot

Lembrando que o que foi efetuado neste passo, foi uma instalação de SO, portanto é necessário efetuar as configurações básicas do SO:
# zlogin -C container1
(Seguir com configurações básicas, indicando o tipo de terminal, time zone, endereço ip, senha de root, etc)

Após criar os containers, será necessário utilizar as informações de acordo com as decisões tomadas (Em relação ao número de CPUs). Este é o momento que utilizo mais um recurso do Solaris, Resource Controls. Segue abaixo os passos para ativar este recurso, dedicando 2 processadores ao servidor virtual container1:
# pooladm -e
# pooladm -s
# poolcfg -c ‘create pset my-pset (uint pset.min=2; uint pset.max=2)‘
# poolcfg -c ‘create pool my-pool‘
# poolcfg -c ‘associate pool my-pool (pset my-pset)‘
# pooladm -c
# pooladm -s
# zonecfg -z container1
zonecfg:container1> set pool=my-pool
zonecfg:container1> verify
zonecfg:container1> commit
zonecfg:container1> exit

Neste momento, basta efetuar um boot no container1 para que o mesmo funcione exclusivamente com 2 processadores.
# zoneadm -z container1 reboot

Como pode ser notado, não é complicado para que o administrador de Sistema Operacional Solaris efetue esta configuração.

Para um leigo, poderia ser algo um pouco mais complexo para assimilar, mas o principal ponto é que, com este tipo de utilização, conseguimos isolar servidores virtuais, para que cada um tenha sua utilização um pouco mais independente, atendendo diferentes tipos de demanda e economizando recursos de hardware que poderiam ficar subutilizados.

Assim, por exemplo, com apenas um servidor com 8 cpus e 32GBs, posso criar 3 servidores virtuais de 2 cpus cada, sem que um influencie o outro em termos de consumo de processamento.

Sobraria ainda mais 2 processadores para o servidor Global (Hospedeiro) e somente teria a memória de 32GBs compartilhada entre todos os servidores.
Ou seja: Compro apenas um servidor e utilizo a funcionalidade de três.

Seguindo nesta linha, podemos utilizar a criatividade e montar ambientes diversos, com mais servidores ou mais cpus, configurações de hardware diferenciados, mas economizando em hardware, o que é sempre muito interessante para todos.

Autor

Profissional que está sempre buscando aprimorar seu conhecimento, procurando aproveitar ao máximo o que for possível aprender e colaborar com o trabalho em equipe. São 12 anos de experiência em TI Empresa Atual: Hewlett Packard Cargo: Consultor de Tecnologia Outras Empresas: Siemens Ltda e BASF SA Atualmente exercendo a função de Administrador de Sistemas Operacionais Unix e Linux Experiências anteriores como SAP Basis ; Administrador TSM (Backup) e Administrador de Servidores Unix/Linux ; Além de softwares como WebSphere , Connect Direct e OpenFT Estudante de Pós Graduação em Estratégia Empresarial pela PUC/SP Bacharel em Ciência da Computação formado pela FEI Certificações: Sun Certified System Administrator for Solaris 10 OS Sun Certified Network Administrator for Solaris 10 OS Sun Certified Security Administrator for Solaris 10 OS Sun Certified System Administrator for Sun Cluster 3.2

Vinicius Tramontina Luvisotto

Comentários

You must be logged in to post a comment.

Busca

Patrocínio

Publicidade



Siga-nos!

Newsletter: Inscreva-se

Para se inscrever em nossa newsletter preencha o formulário.

Artigos Recentes