quarta-feira, 30 de dezembro de 2009

Sincronizar hora e data no Debian com servidor remoto.

Hoje em dia na administração de servidores poderemos poupar tempo automatizando serviços essenciais podendo assim investir tempo em outras coisas, aqui iremos automatizar a sincronia de hora em um servidor Linux (Debian).


Instale o pacote cliente de sincronia de hora e data "ntpdate":

servidor01:~# apt-get install ntpdate tz-brasil

Após a instalação dos pacotes, crie um script que de hora em hora para sincronizará com o servidor ntpdate.

servidor01:~# echo '#!/bin/sh' > /etc/cron.hourly/ntpdate
servidor01:~# echo 'ntpdate -u pool.ntp.org' >> /etc/cron.hourly/ntpdate


o arquivo ficará com o conteúdo abaixo, para confirmar digite o comando cat para exibir o conteúdo:

servidor01:~# cat /etc/cron.hourly/ntpdate

#!/bin/sh
ntpdate -u pool.ntp.org



Dê permissão para o sistema executar o script com o comando abaixo:

servidor01:~# chmod +x /etc/cron.hourly/ntpdate

Reinicie o serviço do Cron:

servidor01:~# /etc/init.d/cron restart

Pronto, agora de hora em hora ele sincroniza a hora com o servidor mantendo assim o horario exato.


Fim.

Configurar teclado abnt2 no Vmware Server Console 1.0.9

Geralmente são as teclas / ? e o teclado numérico que não atuam no Vmware Server Console 1.0.9, para resolver e configurar o teclado acesse o arquivo de configuração e modifique:

root@suporte:~# vim ~/.vmware/config


Copie o conteúdo abaixo e cole dentro do arquivo aberto:

p.keycode.108 = 0x138 # Alt_R
xkeymap.keycode.106 = 0x135 # KP_Divide
xkeymap.keycode.104 = 0x11c # KP_Enter
xkeymap.keycode.111 = 0x148 # Up
xkeymap.keycode.116 = 0x150 # Down
xkeymap.keycode.113 = 0x14b # Left
xkeymap.keycode.114 = 0x14d # Right
xkeymap.keycode.105 = 0x11d # Control_R
xkeymap.keycode.118 = 0x152 # Insert
xkeymap.keycode.119 = 0x153 # Delete
xkeymap.keycode.110 = 0x147 # Home
xkeymap.keycode.115 = 0x14f # End
xkeymap.keycode.112 = 0x149 # Prior
xkeymap.keycode.117 = 0x151 # Next
xkeymap.keycode.78 = 0x46 # Scroll_Lock
xkeymap.keycode.127 = 0x100 # Pause
xkeymap.keycode.133 = 0x15b # Meta_L
xkeymap.keycode.134 = 0x15c # Meta_R
xkeymap.keycode.135 = 0x15d # Menu
xkeymap.keycode.97 = 0x073 # Slash



Salve e saia do terminal "esc :wq" e abra o Vmware Console:




Feito.

terça-feira, 29 de dezembro de 2009

Migrando discos de Vmware Server para Xen

Preparação do disco no VMware-Server

Geralmente a VM do Vmware-Server é criada com a opção "Split disk intio 2GB files", nesse caso o disco foi dividido em arquivos de 2GB, você deverá juntar os arquivos para que se tornem um unico arquivo de disco, siga a sintaxe abaixo:

vmware-vdiskmanager -r disco_de_origem.vmdk -t 2 disco_de_destino.vmdk


Usaremos a ferramenta de conversão de imagem do Qemu, caso não tenha instale com o comando abaixo:

apt-get install qemu

Agora um único arquivo de disco foi gerado, vamos converte-lo no formato RAW para o Xen reconhece-lo.

qemu-img convert
disco_de_destino.vmdk -O raw disco_para_o_xen.img






Continua...

quarta-feira, 23 de dezembro de 2009

Virtual Box Instalação e configuração de porta USB.

Existem duas versões do Virtual Box:
- OSE (Open Source Edition), que está nos repositórios
- Edição de código fechado, ou Standard, ou simplesmente "Virtual Box"

OSE não tem suporte USB. Existem algumas outras funcionalidades da versão de código fechado, que não estão incluídos na OSE. Então, se você quiser ter suporte a USB no VirtualBox, você precisa instalar a edição de código fechado e fazer uma alteração no arquivo /etc/fstab. Aqui estão os passos:

1. OSE Remover OSE
$ sudo apt-get autoremove virtualbox-ose

2. Adicione o repositório VirtualBox do Jaunty. Clique em Sistema > Administração> Gerenciador de Pacotes Synaptic. Clique na guia "Programas de Terceiros". Clique em "Adicionar" e digite:
deb http://download.virtualbox.org/virtualbox/debian jaunty non-free

Salve a chave GPG VirtualBox de http://download.virtualbox.org/virtualbox/debian/sun_vbox.asc, em seguida, importá-lo para o Synaptic, clicando na guia "Autenticação" e depois "Importar arquivo chave".

Clique no botão "Recarregar" no Synaptic para recarregar os repositórios.

3. Instale o pacote mais recente VirtualBox, selecionando-o no Synaptic, ou rode esse comando em um terminal:
$ sudo apt-get install virtualbox-2.2

4. Adicione-se ao grupo vboxusers:
$ sudo gpasswd -a SEUNOMEUSUÁRIO vboxusers

5. Encontre o devgid para 'vboxusers':
$ grep vboxusers /etc/group

Ele irá retornar algo como:
vboxusers:x:125:nomeusuario

Adicione esta linha ao final do /etc/fstab, substitua o número devgid com seu devgid:
none /proc/bus/usb usbfs devgid=125,devmode=664 0 0

Depois de reiniciar você já deve ter suporte a USB no VirtualBox.




Fonte da matéria: http://ubuntuforum-br.org

quarta-feira, 9 de dezembro de 2009

Xen com porta USB no Centos 5.3 (Resolvido).



Introdução




O Projeto USBIP tem como objetivo disponibilizar um dispositivo USB do sistema compartilhando sobre a rede IP. Para compartilhar dispositivos USB entre computadores com a sua plena funcionalidade o USBIP encapsula "requisições USB" em pacotes IP e
transmite entre computadores. Drivers de dispositivos USB e aplicações podem ser usados também por dispositivos remotos USB sem alteração dos mesmos. Um computador pode utilizar dispositivos remotos USB como se eles estivessem diretamente ligados no computador local, por exemplo:

- Dispositivos de armazenamento USB: fdisk, mkfs, montar/desmontar, operações de arquivo,
reproduzir um filme em DVD e gravar um DVD-R.
- Teclados e mouses USB: o uso com linux console e o Sistema X Window.
- Webcams USB e alto-falantes USB: visualizar webcam , capturar imagens e
tocar algumas músicas.
- Impressoras USB, scanners USB, conversores USB/Serial e interfaces USB/Ethernet.

Aqui vamos colocar a porta USB do Host Xen (Dom0) para as maquinas virtuais criadas no Xen “Guests”, o método de conexão é via protocolo TCP-IP, o pacote USBIP disponibiliza o dispositivo usb para conexão das maquinas clientes pela rede, a distribuição usada é o Centos 5.3 com Xen 3.0.3 instalado conforme o “Tutorial de Instalação do Xen no Centos 5.3” disponível no youtube.

Criamos uma solução paleativa pelo fato da dificuldade que muitos tem de fazer as portas usb se conectarem nas VM's criadas pelo Xen. Recomenda-se que todo o sistema esteja atualizado pelo “yum update” para que a instalação corra da melhor forma possivel, já que foi em cima desses procedimentos que criamos este tutorial, vamos ao que interessa:



Preparando o Ambiente

- Atualize o sistema:

[root@localhost ~]# yum update


- Instale as dependências:

[root@localhost ~]# yum install automake gcc glib2.x86_64 glib2-devel.x86_64 rpm-build redhat-rpm-config unifdef libtool libsysfs-devel-2.0.0-6 hmaccalc


- Baixe os fontes do Kernel:

[root@localhost ~]# wget http://mirror.centos.org/centos/5/updates/SRPMS/kernel-2.6.18-164.6.1.el5.src.rpm


- Crie os diretórios para a instalação dos fontes:

[root@localhost ~]# mkdir -p rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}


- Crie o arquivo de caminho das macros das fontes do Kernel:

[root@localhost ~]# echo "%_topdir %(echo $HOME)/rpmbuild" > .rpmmacros


Instale os fontes:

[root@localhost ~]# rpm -Uvh kernel-2.6.18-164.6.1.el5.src.rpm


Compile os fontes:

[root@localhost ~]# cd rpmbuild/SPECS/
[root@localhost SPECS]# rpmbuild -bp --target=`uname -m` kernel-2.6.spec
[root@localhost SPECS]# cd /root/rpmbuild/BUILD/kernel-2.6.18/linux-2.6.18.x86_64/
[root@localhost linux-2.6.18.x86_64]# make oldconfig && make prepare && make scripts



Obs: Verifique no final da compilação se o processo ocorre sem mensagens de erro para o êxito dos próximos passos.


Vá para o home do root:

[root@localhost linux-2.6.18.x86_64]# cd ~


Baixe o pacote de bibliotecas essenciais de vinculador dinâmico GNU libc

[root@localhost ~]# wget ftp://ftp.pbone.net/mirror/ftp.altlinux.ru/pub/distributions/ALTLinux/Compact/2.3/ALTLinux/RPMS.main/glibc-core-2.2.6-alt0.10.i586.rpm


Instale o pacote de bibliotecas:

[root@localhost ~]# rpm -ivh --force --nodeps glibc-core-2.2.6-alt0.10.i586.rpm


Obs: irá aparecer um erro parecido com esse abaixo, IGNORE e vá para o próximo passo.


Preparando... ########################################### [100%]
1:glibc-core aviso: /etc/localtime criado como /etc/localtime.rpmnew
########################################### [100%]
/sbin/glibc_post_upgrade: /lib/ld-linux.so.2: version `GLIBC_PRIVATE' not found (required by /lib/i686/nosegneg/libc.so.6)
/sbin/glibc_post_upgrade: /lib/ld-linux.so.2: version `GLIBC_2.3' not found (required by /lib/i686/nosegneg/libc.so.6)
erro: %post(glibc-core-2.2.6-alt0.10.i586) o scriptlet falhou, status de saída 1




Instalando o Usbip


Baixe o pacote USBIP:

[root@localhost ~]# wget http://downloads.sourceforge.net/project/usbip/usbip/0.1.7/usbip-0.1.7.tar.gz?use_mirror=ufpr


- Descompacte o pacote:

[root@localhost ~]# tar xvzf usbip-0.1.7.tar.gz


- Acesse o caminho

[root@localhost ~]# cd /root/usbip-0.1.7/drivers/2.6.18/


- Após a descompactação teremos de editar o arquivo “stub_rx.c” para que o script ignore uma seção que não nos cabe nessa intalação, para isso comente a linha 374 até a 399, salve e saia conforme abaixo:

[root@localhost 2.6.18]# vim stub_rx.c


- Comente a linha 374 a 399, salve e saia.

/*
#if LINUX_VERSION_CODE <>
static inline int usb_endpoint_xfer_bulk(
[...]
[...]
[...]
return ((epd->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) ==
USB_ENDPOINT_XFER_ISOC);
}
#endif
*/



- Compile o USBIP apontando para o caminho dos fontes do kernel:

[root@localhost 2.6.18]# make KSOURCE=/root/rpmbuild/BUILD/kernel-2.6.18/linux-2.6.18.x86_64/


- Acesse os fontes do USBIP:

[root@localhost 2.6.18]# cd /root/usbip-0.1.7/src/


- Execute o script de geração automática dos fontes:

[root@localhost src]# ./autogen.sh


- Execute o script de configuração:

[root@localhost src]# ./configure


- Execute o script de compilação:

[root@localhost src]# make


- Execute o script de Instalação:

[root@localhost src]# make install


- Execute o ldconfig para criar as ligações necessárias e cache para as bibliotecas mais recentes no sistema:

[root@localhost src]# ldconfig


- Acesse o diretório dos módulos do USBIP referente ao Kernel instalado:

[root@localhost src]# cd /root/usbip-0.1.7/drivers/2.6.18/



Carregando módulos e rodando Daemon


- Carregue o módulo de arquivos comuns do USBIP:

[root@localhost 2.6.18]# insmod usbip_common_mod.ko


- Carregue o módulo principal do USBIP:

[root@localhost 2.6.18]# insmod usbip.ko


Execute o Daemon:

[root@localhost 2.6.18]# usbipd -D


- Liste os dispositivos usb disponíveis, ira retornar algo parecido com as linhas abaixo, note que o numero de identificação do dispositivo usb é “3-1”, este número será usado tanto para a exportação do dispositivo na rede, quanto para a conexão do cliente no dispositivo:

[root@localhost 2.6.18]# bind_driver --list
List USB devices
- busid 3-1 (0e40:0001)
3-1:1.0 -> usbip



- Para compartilhar o dispositivo lista no exemplo acima teremos de executa o comando abaixo, retornará a mensagem acompanhada nas linhas abaixo do comando:


[root@localhost 2.6.18]# bind_driver --usbip 3-1
** (process:7181): DEBUG: 3-1:1.0 -> usbip
** (process:7181): DEBUG: unbinding interface
** (process:7181): DEBUG: write "add 3-1" to /sys/bus/usb/drivers/usbip/match_busid
** Message: bind 3-1 to usbip, complete!



O Dispositivo já está disponível, agora precisaremos conectar os clientes que usarão os dispositivos USB exportados.





.