Académique Documents
Professionnel Documents
Culture Documents
Blog do Scardini
S mais um site de TI, Linux, Modelos Numricos,
scardini.net/?p=58
Nvel de Virtualizao
Sistema Operacional
O primeiro passo para instalar o OpenVZ baixar e instalar os softwares necessrios. Para nossa comodidade o projeto OpenVZ disponibiliza um repositrio para YUM/RPM. Ento basta adicionar este repositrio e efetuar toda a instalao via YUM. Primeiro baixe a configurao do repositrio:
Cdigo
cd /etc/yum.repos.d/ wget http://download.openvz.org/openvz.repo Verifique o arquivo baixado, por padro ele contm uma srie de definies de repositrios para vrias verses de sistema, no nosso caso devemos ativar os seguintes itens: 1) RHEL5-based kernel 2) OpenVZ utilities. Exemplo do arquivo openvz.repo:
Cdigo
19/12/12
#baseurl=http://download.openvz.org/current/ mirrorlist=http://download.openvz.org/mirrors-current enabled=1 gpgcheck=1 gpgkey=http://download.openvz.org/RPM-GPG-Key-OpenVZ # In addition to openvz-utils repo, you have to enable one the the # kernel repositories below. In the stock config, openvz-kernel-rhel5 # is enabled; you might want to change this. # Stable bracnhes [openvz-kernel-rhel5] name=OpenVZ RHEL5-based kernel #baseurl=http://download.openvz.org/kernel/branches/rhel5-2.6.18/current/ mirrorlist=http://download.openvz.org/kernel/mirrors-rhel5-2.6.18 enabled=1 gpgcheck=1 gpgkey=http://download.openvz.org/RPM-GPG-Key-OpenVZ [openvz-kernel-rhel4] name=OpenVZ RHEL4-based kernel #baseurl=http://download.openvz.org/kernel/branches/rhel4-2.6.9/current/ mirrorlist=http://download.openvz.org/kernel/mirrors-rhel4-2.6.9 enabled=0 gpgcheck=1 gpgkey=http://download.openvz.org/RPM-GPG-Key-OpenVZ # Testing branch [openvz-kernel-rhel5-testing] name=OpenVZ RHEL5-based testing kernel #baseurl=http://download.openvz.org/kernel/branches/rhel5-2.6.18-testing/current/ mirrorlist=http://download.openvz.org/kernel/mirrors-rhel5-2.6.18-testing enabled=0 gpgcheck=1 gpgkey=http://download.openvz.org/RPM-GPG-Key-OpenVZ # Development branches [openvz-kernel-2.6.32] name=OpenVZ 2.6.32 kernel #baseurl=http://download.openvz.org/kernel/branches/2.6.32/current mirrorlist=http://download.openvz.org/kernel/mirrors-2.6.32 enabled=0 gpgcheck=1 gpgkey=http://download.openvz.org/RPM-GPG-Key-OpenVZ [openvz-kernel-2.6.27] name=OpenVZ 2.6.27 kernel #baseurl=http://download.openvz.org/kernel/branches/2.6.27/current mirrorlist=http://download.openvz.org/kernel/mirrors-2.6.27 enabled=0 gpgcheck=1 gpgkey=http://download.openvz.org/RPM-GPG-Key-OpenVZ
scardini.net/?p=58 3/11
19/12/12
# Old/obsoleted branches [openvz-kernel-2.6.26] name=OpenVZ 2.6.26 kernel #baseurl=http://download.openvz.org/kernel/branches/2.6.26/current mirrorlist=http://download.openvz.org/kernel/mirrors-2.6.26 enabled=0 gpgcheck=1 gpgkey=http://download.openvz.org/RPM-GPG-Key-OpenVZ [openvz-kernel-2.6.24] name=OpenVZ 2.6.24 kernel #baseurl=http://download.openvz.org/kernel/branches/2.6.24/current mirrorlist=http://download.openvz.org/kernel/mirrors-2.6.24 enabled=0 gpgcheck=1 gpgkey=http://download.openvz.org/RPM-GPG-Key-OpenVZ [openvz-kernel-2.6.22] name=OpenVZ 2.6.22 kernel #baseurl=http://download.openvz.org/kernel/branches/2.6.22/current mirrorlist=http://download.openvz.org/kernel/mirrors-2.6.22 enabled=0 gpgcheck=1 gpgkey=http://download.openvz.org/RPM-GPG-Key-OpenVZ [openvz-kernel-2.6.20] name=OpenVZ 2.6.20 kernel #baseurl=http://download.openvz.org/kernel/branches/2.6.20/current mirrorlist=http://download.openvz.org/kernel/mirrors-2.6.20 enabled=0 gpgcheck=1 gpgkey=http://download.openvz.org/RPM-GPG-Key-OpenVZ [openvz-kernel-2.6.18] name=OpenVZ 2.6.18 kernel #baseurl=http://download.openvz.org/kernel/branches/2.6.18/current mirrorlist=http://download.openvz.org/kernel/mirrors-2.6.18 enabled=0 gpgcheck=1 gpgkey=http://download.openvz.org/RPM-GPG-Key-OpenVZ [openvz-kernel-2.6.16] name=OpenVZ 2.6.16 kernel #baseurl=http://download.openvz.org/kernel/branches/2.6.16/current mirrorlist=http://download.openvz.org/kernel/mirrors-2.6.16 enabled=0 gpgcheck=1 gpgkey=http://download.openvz.org/RPM-GPG-Key-OpenVZ [openvz-kernel-2.6.8] name=OpenVZ 2.6.8 kernel #baseurl=http://download.openvz.org/kernel/branches/2.6.8/current
scardini.net/?p=58 4/11
19/12/12
Cdigo
rpm --import http://download.openvz.org/RPM-GPG-Key-OpenVZ Verifiique as opes de kernel do OpenVZ disponveis para instalao no seu sistema com o comando:
Cdigo
[ r o o t @ c e n t o s/ ] #y u ms e a r c ho v z k e r n e l L o a d e dp l u g i n s :f a s t e s t m i r r o r L o a d i n gm i r r o rs p e e d sf r o mc a c h e dh o s t f i l e *a d d o n s :m i r r o r . u m o s s . o r g *b a s e :m i r r o r s . u c r . a c . c r *e x t r a s :m i r r o r . c o g e n t c o . c o m *o p e n v z k e r n e l r h e l 5 :d o w n l o a d . o p e n v z . o r g *o p e n v z u t i l s :d o w n l o a d . o p e n v z . o r g *u p d a t e s :y u m . s i n g l e h o p . c o m = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =M a t c h e d :o v z k e r n e l= = = = = = = = = = = = = = = = = = = = = = = = = = o v z k e r n e l . i 6 8 6:V i r t u o z z oL i n u xk e r n e l( t h ec o r eo ft h eL i n u xo p e r a t i n gs y s t o v z k e r n e l . x 8 6 _ 6 4:V i r t u o z z oL i n u xk e r n e l( t h ec o r eo ft h eL i n u xo p e r a t i n gs y o v z k e r n e l P A E . i 6 8 6:On c l e od oL i n u xc o m p i l a d op a r am q u i n a sd ec a p a c i d a d e o v z k e r n e l P A E d e b u g . i 6 8 6:T h eL i n u xP A Ek e r n e lc o m p i l e dw i t hd e b u gc o n f i g o v z k e r n e l P A E d e v e l . i 6 8 6:P a c o t ed ed e s e n v o l v i m e n t op a r ac o m p i l a rm d u l o sd o :k e r n e lc o mok e r n e lP A Ec o r r e s p o n d e n t e . o v z k e r n e l d e b u g . i 6 8 6:T h eL i n u xk e r n e lc o m p i l e dw i t hd e b u gc o n f i g o v z k e r n e l d e b u g . x 8 6 _ 6 4:T h eL i n u xk e r n e lc o m p i l e dw i t hd e b u gc o n f i g o v z k e r n e l d e v e l . i 6 8 6:P a c o t ed ed e s e n v o l v i m e n t op a r ac o m p i l a rm d u l o s :c o r r e s p o n d e n t e sa ok e r n e l . o v z k e r n e l d e v e l . x 8 6 _ 6 4:P a c o t ed ed e s e n v o l v i m e n t op a r ac o m p i l a rm d u l o s :c o r r e s p o n d e n t e sa ok e r n e l . o v z k e r n e l e n t . i 6 8 6:T h eL i n u xk e r n e lc o m p i l e df o rh u g em e mc a p a b l em a c h i n e s . o v z k e r n e l e n t d e b u g . i 6 8 6:T h eL i n u xe n tk e r n e lc o m p i l e dw i t hd e b u gc o n f i g o v z k e r n e l e n t d e v e l . i 6 8 6:D e v e l o p m e n tp a c k a g ef o rb u i l d i n gk e r n e lm o d u l e st o :t h ee n tk e r n e l . o v z k e r n e l x e n . i 6 8 6:Ok e r n e ld oL i n u xc o m p i l a d op a r ao p e r a e sc o mm q u i n a s :v i r t u a i sX e n o v z k e r n e l x e n . x 8 6 _ 6 4:Ok e r n e ld oL i n u xc o m p i l a d op a r ao p e r a e sc o mm q u i n a :v i r t u a i sX e n
scardini.net/?p=58 5/11
19/12/12
o v z k e r n e l x e n d e v e l . i 6 8 6:P a c o t ed ed e s e n v o l v i m e n t op a r ac o m p i l a rm d u l o s :c o r r e s p o n d e n t e sa ok e r n e l . o v z k e r n e l x e n d e v e l . x 8 6 _ 6 4:P a c o t ed ed e s e n v o l v i m e n t op a r ac o m p i l a rm d u l o s :c o r r e s p o n d e n t e sa ok e r n e l . [ r o o t @ c e n t o s/ ] #
Podemos ver varias opes de kernel com suporte a OpenVZ. Para entender o que significa cada um dele basta entender os atributos anexados ao nome ovzkernel: i686 Kernel para arquitetura de 32 bits x86_64 Kernel para arquitetura de 64 bits PAE Kernel para arquitetura de 32 bits com Physical Address Extension (PAE) ativo. (>4GB RAM) ent Kernel com suporte a grande capacidade de memria xen Kernel com suporte a tecnologia de virtualizao XEN devel headers para compilao de mdulos do kernel correspondente. Por exemplo: ovzkernel-devel.x86_64 ovzkernel.x86_64 debug Kernel compilado com smbolos de debug Para a minha mquina vamos instalar o kernel ovzkernel.x86_64 (opo de 64 bits), e os headers ovzkernel-devel.x86_64 do mesmo kernel. No seu caso voc deve escolher o kernel adequeado para o seu sistema dentre as opes retornadas no comando acima. Aps escolher o kernel, proceda a instalao do mesmo:
Cdigo
yum install ovzkernel.x86_64* yum install ovzkernel-devel.x86_64** *ovzkernel.x86_64 deve ser substituido pelo kernel adequado para seu sistema **ovzkernel-devel.x86_64 mdulo necessrio para compilar mdulos do kernel (opcional) Agora Vamos preceder algumas alteraes na configurao da mquina para o perfeito funcionamento do kernel OpenVZ que instalamos. Primeiro vamos verificar se o kernel padro o novo kernel instalado, para isto abra o arquivo grub.conf :
Cdigo
vim /etc/grub.conf
scardini.net/?p=58
6/11
19/12/12
Se necessrio altere a propriedade default para selecionar o kernel OpenVZ instalado. Na imagem acima est selecionada a entrada de ndice 0 (zero) da lista (kernel destacado em laranja). Desative o SELinux:
Cdigo
Cdigo
# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # # # enforcing - SELinux security policy is enforced. permissive - SELinux prints warnings instead of enforcing. disabled - SELinux is fully disabled.
SELINUX=disabled # SELINUXTYPE= type of policy in use. Possible values are: # # targeted - Only targeted network daemons are protected. strict - Full SELinux protection.
19/12/12
Cdigo
Cdigo
net.ipv4.ip_forward = 1 net.ipv4.conf.default.proxy_arp = 0 net.ipv4.conf.all.rp_filter = 1 kernel.sysrq = 1 net.ipv4.conf.default.send_redirects = 1 net.ipv4.conf.all.send_redirects = 0 Instale as ferramentas de gerenciamento do OpenVZ:
Cdigo
yum install vzctl vzquota Confirme a instalao dos pacotes e das dependncias. Reinicie o CentOS. 3 Criando Nossos Containers Aps a reinicializao do sistema, sua mquina estar pronta para o uso do OpenVZ. Antes de iniciarmos a criao do nosso primeiro container, vamos entender um pouco mais sobre o OpenVZ. Ao contrrio de tantas outras tecnologias que virtualizam o hardware, o OpenVZ virtualiza um espao de software, e em consequencia disto a instalao de um sistema operacional nos containers no seguem uma instalao padro a partir de uma mdia. Cada container criado a partir de um template do sistema desejado. Estes templates podem ser obtidos a partir no site do projeto OpenVZ ou voc pode criar o seu prprio template. Os templates pre-criados fornecidos pelo projeto OpenVZ pode ser encontrados aqui: http://download.openvz.org/template/precreated/
8/11
19/12/12
Voc tambm poder encontrar templetes criados por contribuio da comunidade aqui: http://download.openvz.org/contrib/template/precreated/ Para nossos containers vamos baixar um template do CentOS 5, disponvel no seguinte link: wget http://download.openvz.org/template/precreated/centos-5-x86_64.tar.gz Cada template baixado, deve ser salvo na pasta: /vz/template/cache Vamos ento baixar nosso template:
Cdigo
cd /vz/template/cache wget http://download.openvz.org/template/precreated/centos-5-x86_64.tar.gz Aps baixar nosso template, vamos criar o nosso primeiro container:
Cdigo
vzctl create 101 \ --ostemplate centos-5-x86_64 \ --conf basic \ --ipadd 10.0.0.101 \ --hostname c101.localhost Com isto nosso primeiro container foi criado. Atribuimos a ele o ID 101. Utilizamos como template o centos-5-x86_64 baixado anteriomente (centos-5-x86_64.tar.gz). Selecionamos a configurao bsica de hardware (basic) e atribuimos o ip 10.0.0.101 para nosso container. Ainda no comando de criao atribuimos para o container o nome c101.localhost. Vamos agora prosseguir com a configurao de nosso container recm criado. Vamos atribuir um nome, um servidor de nomes e uma cota de disco:
Cdigo
vzctl set 101 \ --name c101 \ --nameserver "192.168.226.129" \ --diskspace 10G:10G \ --save Com isto concluimos o nosso primeiro container. Vamos criar nosso segundo container:
scardini.net/?p=58
9/11
19/12/12
Cdigo
vzctl create 102 \ --ostemplate centos-5-x86_64 \ --conf basic \ --ipadd 10.0.0.102 \ --hostname c102.localhost vzctl set 102 \ --name c102 \ --nameserver "192.168.226.129" \ --diskspace 10G:10G \ --save Com os containers criados, vamos aos comandos bsicos de manipulao dos memsos: Para iniciar ( ligar ) um container: vzctl start ID Para entrar em container: vzctl enter 101 ou ssh ip_do_container para parar um container: vzctl stop ID para destruir um container: vzctl destroy ID para definir a senha do root nos containers criados: vzctl set ID userpasswd root:nova_senha save Em todos os comando o ID deve ser substituido pelo ID do container desejado. No nosso caso 101 ou 102. Publicado em Linux e Afins por Cristiano Scardini. Marque Link Permanente [http://scardini.net/?p=58] .
scardini.net/?p=58
10/11
19/12/12
Comentrios encerrados.
scardini.net/?p=58
11/11