Instalando e Configurando KVM no Ubuntu Server

Nesse post nós vamos instalar o KVM (Kernel-based Virtual Machine), para mim o melhor hipervisor open source, disponível no mercado, nós vamos fazer a instalação “elegante” dele, utilizando LVM (Logical Volume Manager) e bridge para as interfaces das máquinas virtuais.

Instale o Ubuntu Server configurando o LVM (para quem ainda não conhece o LVM ou tem algumas dúvidas quanto ao seu funcionamento, da uma lida nesse link), dividindo em 2 volumns groups (VG) diferentes, um para o sistema separando um bom espaço em disco (a partir de 15Gb) para o SO e outro para as máquinas virtuais, com o resto do disco.

Obs.: Lembre-se de habilitar as funções de virtualização do seu processador na BIOS.

Instale os pacotes para virtualização no Ubuntu.

sudo apt-get install kvm qemu-kvm bridge-utils libvirt-bin virt-manager ubuntu-vm-builder lvm2

Após a instalação, adicione um pool de máquinas virtuais LVM, utilizando a ferramenta virt-manager que foi instalada. Com o comando:

virt-manager – Esse comando irá abrir uma interface gráfica para gerenciamento o hipervisor. Se você está conectado via terminal, instale o virt-manager na sua máquina de desktop e conecte no servidor.

Dentro do sofware vá em:

virt-manager > arquivo > adicionar conexão > Preencha os campos com os dados do hipervisor


Depois de conectado, dê um duplo clique no hipervisor adicionado e vá em:

Na aba armazenamento > Adicionar pool (simbolo de + no canto inferior esquerdo) > Coloque um nome no pool, e selecione a opção LVM > No caminho de destino coloque o caminho do volume group criado na instalação do ubuntu. (Ex: /dev/meu-volume-group)

Para criar a interface bridge, edite o arquivo de configuração /etc/network/interfaces, adicionandos as linhas abaixo.

sudo vim /etc/network/interfaces

(Para utilizar DHCP)


# The primary network interface
auto eth0
iface eth0 inet manual

auto br0
iface br0 inet dhcp
bridge_ports eth0
bridge_fd 9
bridge_hello 2
bridge_maxage 12
bridge_stp off

(Sem utilizar DHCP)

# The primary network interface
auto eth0
iface eth0 inet manual

auto br0
iface br0 inet static
address SEU_IP
gateway SEU_GATEWAY
netmask SUA_MASCARA
network SUA_REDE

bridge_ports eth0
bridge_fd 9
bridge_hello 2
bridge_maxage 12
bridge_stp off

Após a configuração dê um restart, na interface de rede.

/etc/init.d/networking restart

Agora é só criar máquinas virtuais e utiliza-las, lembrando sempre de quando criar o disco da máquina, utilizar o compartilhamento LVM que adicionamos, e na parte final, na hora de definir a interface de rede colocamos, br0, em vez de NAT.

Instalando e Configurando KVM no Ubuntu Server

Servidor de Aplicação Red Hat + PHP5 + APACHE + Oracle

A instalação de um servidor LAMP ( Linux Apache Mysql PHP) é simples, porém quando precisamos que o o PHP “converse” com um banco da dados ORACLE as coisas ficam um tanto mais interessantes, mãos a obra.

Primeiro vamos habilitar o serviço do apache em nosso servidor, como root digite no terminal:

#setup

Vá em Serviços do Sistema – Habilite os seguinte serviço : httpd

Para iniciar o apache e fazer ele inicializar sempre com a máquina utilize os seguintes comandos respectivamente:

#service httpd start

#chkconfig httpd on

Baixe os três arquivos para a conexão do servidor a um banco de dados ORACLE. Você pode adquirir os arquivos no site da própria Oracle, procurando por plugins OCI (Oracle Instant Client ).

oracle-instantclient11.x-basic-11.x.rpm

oracle-instantclient11.x-sqlplus-11.x.rpm

oracle-instantclient11.x-devel-11.x.rpm

Copie os arquivos para o servidor e para instala-los no Red Hat utilize os 3 comandos abaixo.

#rpm -ivh oracle-instantclient11.2-basic-11.2.0.1.0-1.x86_64.rpm

#rpm -ivh oracle-instantclient11.2-sqlplus-11.2.0.1.0-1.x86_64.rpm

#rpm -ivh oracle-instantclient11.2-sqlplus-11.2.0.1.0-1.x86_64.rpm

Edite o arquivo /etc/profile com o seguinte conteúdo.

# vim /etc/profile

# Variaveis ORACLE

export ORACLE_BASE=/usr/lib/oracle/11.2

export ORACLE_HOME=$ORACLE_BASE/client64

export ORACLE_SID=prod

export ORACLE_TERM=xterm

export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/lib64

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

export LD_LIBRARY_PATH

export PATH=$PATH:$ORACLE_HOME/bin

export TNS_ADMIN=$ORACLE_HOME/network/admin

export NLS_LANG=”PORTUGUESE_BRAZIL.WE8ISO8859P1″

Crie as seguintes as pastas com o seguinte comando:

#mkdir -p /usr/lib/oracle/11.2/network/admin

Adicione ou crie o arquivo tnsnames.ora.

#touch tnsnames.ora

Adicione as variáveis do arquivo /etc/profile no ambiente global.

#source /etc/profile

Teste a conexão:

#sqlplus64 system@cne – Use no lugar do cne um banco configurado no tnsnames.ora. Se pedir senha está OK.

Faça o download do PHP 5.2, e copie para uma pasta de usuário, entre na pasta do usuário e descompacte o arquivo php-5.2.14.tar.gz.

#tar xf php-5.2.14.tar.gz

Entre na pasta php-5.2.14.

#cd php-5.2.14

Configure o php com os seguintes parâmetros.

#./configure –with-oci8=instantclient,/usr/lib/oracle/11.2/client64/lib –with-apxs2=/usr/sbin/apxs –prefix=/etc/httpd/php –with-config-file-path=/etc/httpd/conf –enable-sigchild

Se não houver nenhum erro na configuração, compile.

#make

#make install

Depois do PHP compilado, copie o arquivo php.ini-dist para a pasta do apache, onde será o arquivo de configuração principal do PHP.

#cp php.ini-dist /etc/httpd/conf/php.ini

Edite o arquivo de configuração do apache /etc/httpd/conf/httpd.conf adicionando os seguintes parâmetros:

#vim /etc/httpd/conf/httpd.conf

AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
DirectoryIndex index.html index.html.var index.php index.phtml

Reinicie o APACHE

service httpd restart

Fica a dica.

Servidor de Aplicação Red Hat + PHP5 + APACHE + Oracle

Adicionando disco SCSI no Linux sem precisar reinicia-lo

Hoje eu passei um pequeno problema, eu precisava adicionar um compartilhamento fiber channel no meu servidor Red Hat, em vias normais era apenas reiniciar o servidor que automaticamente o novo “disco” seria encontrado, porém nele está rodando um banco de dados que não poderia por hipótese alguma ser interrompido. A solução para o Linux “enxergar” o disco sem precisar reinicia-lo segue abaixo:

cat /proc/scsi/scsi – Esse comando mostra quais os discos scsi o servidor está encontrando, sejam eles físicos ou compartilhamentos.

Exemplo:

Host: scsi4 Channel: 00 Id: 01 Lun: 05
Vendor: NETAPP   Model: LUN
Type:   Direct-Access                    ANSI SCSI revision: 04

Host: scsi4 Channel: 00 Id: 01 Lun: 05  Vendor: NETAPP   Model: LUN          Type:   Direct-Access

O comando para o sistema “enxergar” a LUN ou o novo disco é o seguinte:

echo “c t l” >  /sys/class/scsi_host/hostH/scan

Onde c significa o Channel no caso do exemplo 00t é o Id no caso do exemplo 01, l é o número da Lun que você quer adicionar definido no storage no meu caso era 10, ou o número do disco SCSI, H é o host no caso do exemplo foi o 4 – Host: scsi4.

Adicionando disco SCSI no Linux sem precisar reinicia-lo

LFA – Escalonadores de Processos no Linux

No terceiro artigo da série, LFA ( Linux de uma Forma Acadêmica), vamos abordar, o que são escalonadores de processos, e de forma simples como funcionam os escalonadores no kernel Linux.

O escalonamento ocorre, segundo Tannebaum (2006, p 97) “[…] sempre que dois ou mais processos estão simultaneamente no estado de pronto. Se somente uma CPU se encontrar disponível, deverá ser feita uma escolha de qual o processo executará em seguida. A parte do sistema operacional que faz a escolha é chamada de escalonador […]”.

Continuar lendo “LFA – Escalonadores de Processos no Linux”

LFA – Escalonadores de Processos no Linux

LFA – Gerenciamento de Processos no Linux

O segundo post da série LFA – Linux de uma Forma Acadêmica, nós vamos abordar como funciona o gerenciamento de processos no kernel do Linux.

O que é um processo?

Em qualquer sistema operacional, o processo é a representação de um programa em execução, e faz uso dos recursos do computador, como as memórias, e o processador, para realizar a tarefa para qual foi desenvolvido, segundo Tannebaum (2005, pag 26)“[…] Um processo é uma abstração utilizada para representar um programa em execução. Um processo contém toda informação necessária para completar uma computação.[…]”, é de responsabilidade do sistema operacional organizar e gerenciar todos esses processos.

Processos e tarefas no Linux.

Continuar lendo “LFA – Gerenciamento de Processos no Linux”

LFA – Gerenciamento de Processos no Linux

Linux de uma forma acadêmica – LFA – PARTE 2

Esses posts, nomeados Linux de uma forma acadêmica, vou usar a abreviação, LFA, são parte do meu projeto de conclusão de curso, onde foi estudado o GNU/Linux como um todo, e no final uma resmasterização do Ubuntu foi feita. Os posts serão organizados por categorias, iniciando por Gerenciamento de Processos, seguido de Funções Gerais do Kernel, logo após Peculiaridades do Linux, Distribuições e Licenças.

Cada uma dessas categorias possuem subdivisões que serão explanadas em cada post.

Mãos a obra.

Linux de uma forma acadêmica – LFA – PARTE 2

Corrigindo bug wicd no Remastersys – Ubuntu

Para quem não conhece o Remastersys é um software que transforma a distribuição que está instalada no seu computador, em um LiveCD, quem quiser se aventurar por esse mundo acesse esse link do Hamacker.

O Wicd é um software para gerenciar conexão de rede, famoso no mundo Linux, pois serve para a maioria das distribuições. Muito melhor que o NetworkManager utilizado por padrão no Ubuntu, possui suporte a criptografia WPA entre outros recursos. Link de como instalar o wicd aqui.

Quando é criado um LiveCD com o remastersys e o Wicd instalado, o boot trava na hora que o sistema passa os scripts para detecção de rede “Detecting and Configuring Networks” algo assim, com isso é preciso apertar crtl+alt+del para o sistema continuar a matar script que está travando a inicialização do CD.

Esse erro se dá pois como o software para detecção padrão de rede é o NetworkManager a grande maioria dos scripts do sistema estão cheios de referencia a ele, o que nós vamos fazer é mudar essas referências.

A primeira coisa a se fazer é procurar os arquivos de referência ao NetworkManager e removê-los. Podemos fazer isso com os seguintes comandos.

sudo updatedb – Esse comando atualiza o índice de busca do comando locate.(Ele demora algum tempo até ser finalizado)

sudo locate NetworkManager – Esse comando busca em todos os arquivos os relacionados ao NetworkManager.

Logo após isso uma lista de arquivos aparecerá todos com NetworkManager no título, delete um por um.

sudo rm [/endereço/arquivo] -Utilize esse comando para deletar.

Depois abra o arquivo principal de referência para a configuração e detecção de rede no LiveCD, o arquivo 23networking, e com esse comando edite-o, modificando todas as entradas onde estiver escrito NetworkManager para wicd.

sudo gedit /usr/share/initramfs-tools/scripts/casper-bottom/23networking

Após salve-o e novamente repita o processo de criação do LiveCD.

Fica a Dica

Corrigindo bug wicd no Remastersys – Ubuntu

O Linux de uma forma acadêmica

Devido a alguns contratempos eu deixei o blog um tanto quanto largado, estarei voltando com algumas novidades e projetos novos.

Um dos projetos é o meu trabalho de conclusão de curso, uma monografia, onde eu descrevo de forma simples como se organiza o Linux e crio uma remasterização do mesmo voltada ao estudante de tecnologia que ainda não conhece o Linux.

Começando vamos a um pouco de história.

Continuar lendo “O Linux de uma forma acadêmica”

O Linux de uma forma acadêmica

Abrindo arquivos do Office 2007 .docx no Ubuntu 8.04

A algum tempo eu precisei abrir um arquivo .docx nativo do Office 2007 no meu Ubuntu 8.04, pesquisei na internet e encontrei uma solução que funciona para qualquer distribuição Linux que possua o OpenOffice instalado,  existe um plugin desenvolvido pela própria Novell que resolve facilmente nossos problemas. O odfConverter que no site do fabricante está em .rpm, inicialmente compilado para distribuições como RedHat, Fedora e outros, eu com a ajuda do Alien transformei o arquivo em um .deb legítimo.

Link para as versões em .RPM

Vamos ao que realmente interessa:

– Abra o terminal “console” como root.

– Aperte “ALT+F2” e dentro da caixa digite “gnome-terminal” (sem áspas), se você for usuário do KDE (KUBUNTU) digite apenas “konsole” (sem áspas).

– Entre nesse link e faça o download do arquivo de preferência para a Pasta do Usuário.

– Dentro do terminal digite.

sudo dpkg -i odf-converter_1.1-8_i386.deb

– Agora abra o arquivo normalmente, senão resolver clique com o botão direito e selecione “Abrir com Outra Aplicação, e selecione o OpenOffice Writer”.

– Fica a dica

Abrindo arquivos do Office 2007 .docx no Ubuntu 8.04

Instalando e desinstalando o driver de vídeo no Linux – ATI e Nvidia

Eu pesquisando a melhor forma de instalar o proprietário driver da Nvidia achei esse software Envy que é literalmente uma mão na roda para quem quer instalar e desinstalar um driver tanto da Nvidia quanto da ATI, vamos a instalação:

– Abra o terminal “console” como root.

– Aperte “ALT+F2” e dentro da caixa digite “gnome-terminal” (sem áspas), se você for usuário do KDE (KUBUNTU) digite apenas “konsole” (sem áspas).

– Para usuários do Ubuntu 8.04, digite no terminal:

sudo apt-get install envyng-core envyng-gtk

– Para usuários do Kubuntu 8.04, digite no terminal:

sudo apt-get install envyng-core envyng-qt

– Para os usuários de distribuições Debian-Like.

Faça o download no site do desenvolvedor para sua versão.

– Para acessá-lo no Ubuntu – Aplicações – Ferramentas do Sistema – EnvyNG

– Ele automaticamente detecta seu hardware e te dá as opções.

– Fica a dica.

Instalando e desinstalando o driver de vídeo no Linux – ATI e Nvidia