De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Valdomiro de O. Souza Jr.
Data de Publicação: 08 de Agosto de 2007
Segundo uma pesquisa realizada pela AMD, a maioria dos servidores opera com menos de 15% da capacidade. Acredito que este seja um dos motivos que levaram o assunto virtualização ao topo dos projetos da área de TI para 2007.
Até setembro passado eu tinha uma pendência antiga na minha agenda, utilizar o FreeBSD Jail em algumas aplicações da empresa, mas se eu soubesse que era tão fácil e prático a virtualização de servidores utilizando o FreeBSD Jail, eu já teria feito isso há muito tempo.
O FreeBSD Jail permite a virtualização de sistemas operacionais de uma forma muito fácil, o que possibilita a criação de diversos servidores virtuais e independentes, em um único servidor FreeBSD, também possibilitando que todos estes servidores virtuais compartilhem todos os recursos de hardware (processadores, memórias, discos e placas de redes).
Bom, chega de papo furado! Vamos meter a mão na massa, criando e configurando os ambientes virtuais.
D=/caminho/nome_do_jail # Exemplo: /virtual/intranet cd /usr/src mkdir -p $D make world DESTDIR=$D cd etc make distribution DESTDIR=$D mount_devfs devfs $D/dev cd $D ln -sf dev/null kernel
#> sh criando_ambiente_jail.sh
Servidor BASE é o sistema operacional principal onde serão instalados e inicializados os ambientes virtuais jail.
sendmail_enable="NO" inetd_flags="-wW -a <IP do sistema BASE>" rpcbind_enable="NO" syslogd_flags="-ss"
Este passo deve ser executado em todas as máquinas virtuais que rodarem o daemon do SSH, preenchendo o campo <IP DO SISTEMA> com o IP da máquina virtual.
Port 22 Protocol 2 ListenAddress <IP DO SISTEMA>
#> echo security.jail.set_hostname_allowed=0 >> /etc/sysctl.conf
Mais informações sobre este parâmetro podem ser encontradas utilizando o "man jail"
#> cp -r /stand /caminho/nome_do_jail/ #> touch /caminho/nome_do_jail/etc/fstab #> cp /etc/resolv.conf /caminho/nome_do_jail/etc/
#> vi /caminho/nome_do_jail/etc/rc.conf
Inserir a linha:
network_interfaces=""
Opcionais
rpcbind_enable="NO" sendmail_enable="NO" #> vi /caminho/nome_do_jail/etc/syslog.conf
Altere a linha:
de
*.err;kern.warning;auth.notice;mail.crit /dev/console
para
*.err;kern.warning;auth.notice;mail.crit /var/log/messages
Edite o rc.conf do sistema BASE e insira as linhas abaixo:
#> vi /etc/rc.conf jail_enable="yes" jail_list="NomeDoJail01 NomeDoJail02 ... NomeDoJailNN" # # As linhas abaixo devem ser criadas para cada máquina virtual # jail_NomeDoJail01_rootdir="/caminho/nome_do_jail_01/" # Jail's root directory jail_NomeDoJail01_hostname="nome_do_jail_01.exemplo.com" # Jail's hostname jail_NomeDoJail01_ip="<IP do Servidor Virtual01>" # Jail's IP number jail_NomeDoJail01_exec="/bin/sh /etc/rc" # command to execute in jail jail_NomeDoJail01_devfs_enable="YES" # mount devfs in the jail jail_NomeDoJail01_fdescfs_enable="YES" # mount fdescfs in the jail jail_NomeDoJail01_procfs_enable="YES" # mount procfs in jail jail_NomeDoJail01_fstab="" # fstab(5) for mount/umount jail_NomeDoJail01_flags="-l -U root" # flags for jail(8)
#> ifconfig <interface de rede> inet alias <IP do Servidor Virtual>/32
Não esqueça de incluir as configurações do <IP do Servidor Virtual> na <interface de rede> no /etc/rc.conf do sistemas BASE.
#> mount -t procfs proc /caminho/nome_do_jail_XX/proc #> jail /caminho/nome_do_jail_XX nome_do_jail_01.exemplo.com <IP do Servidor Virtual> /bin/sh /etc/rc
#> jail /caminho/nome_do_jail_XX nome_do_jail_XX.exemplo.com <IP do Servidor Virtual> /bin/sh
Pronto, agora é só instalar os pacotes necessários para o seu servidor web, banco de dados, email, ldap, arquivos, ...
#> chflags -R noschg /caminho/jail #> rm -Rf /caminho/jail
jls, jail e jkill
Para todos os Jails
# /etc/rc.d/jail stop # /etc/rc.d/jail start
Para um Jail
# /etc/rc.d/jail stop <nome do jail> # /etc/rc.d/jail start <nome do jail>
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários