segunda-feira, 25 de fevereiro de 2013

Clone de HD pela rede com DD Linux

Temos muitas ferramentas capazes de clonar Hd's, podemos citar o Acronis True Image, Partition Magic, Ghost Clone e outras, mas dependendo do Hardware a ferramenta pode não detectar o sata ou não rodar o grafico pela placa de video não detectada etc..., em base desses imprevistos podemos usar a poderosa ferramenta conhecida como 'DD'

Com o DD via SSH pode ser feito backups de partições e hds pela rede.

Segue alguns exemplos:

# dd if=/dev/hda1 | gzip | ssh root@servidor dd of=/backup/bkp_hda1.gz

Depois para restaurar utilize o seguinte comando:

# dd if=/backup/bkp_hda1.gz | gzip -d | ssh root@servidor dd of=/dev/hda1 *

Lembrando que as partições devem estar desmontadas Também é possível realizar a clonagem de partições pela rede:

# dd if=/dev/hda1 | gzip | ssh root@192.168.1.3 gunzip | dd of=/dev/hdb2

Pode ser feito sem o gzip, porém a cópia demorará mais:

# dd if=/dev/hda1 | ssh root@192.168.1.3 dd of=/dev/hdb2

Fonte: Viva o Linux

quarta-feira, 20 de fevereiro de 2013

Migrar Vm XCP para outro 'Node' (Nó) entre maquinas com hardwares diferentes

Na Migração das VM's pelo Live Migration usaremos o terminal SSH da maquina MASTER, mas poderá usar o XenCenter tambem.


The VM is incompatible with the CPU features of this host.

Caso ocorra a mensagem abaixo voce deve checar se as interfaces "Networking" dos 'Nodes' estão  iguais para nao ocasionar incompatibilidade de hardware e também se a interface de "Networking" da VM deve contem somente redes que estão ativas.

"You attempted to run a VM on a host which doesn't have a PIF on a Network needed by the VM. The VM has at least one VIF attached to the Network."
Comando para Migração:

xe vm-migrate live=true remote-master=IP_DO_MASTER remote-username=root remote-password=1234  name-label=NOME_DA_VM host=NOME_DO_NÓ_DE_DESTINO force=true
 


Adicionar Nó VM ao Pool no XCP com Hardwares diferentes

Nos deparamos com o seguinte problema, ao tentar adicionar um Node (Nó) ao Pool no XCP com um Node existente retornava a seguinte mensagem de erro: This server's hardware is incompatible with the master´s
Realmente as maquinas são diferentes em questão de hardware, os processadores, placas e Hds são diferentes, uma delas estava com 3 placas de rede trabalhando como BOND, foi necessario a remoção do BOND e ingressar de modo forçado no POOL via SSH.

Segue o comando via SSH para Ingressar no Pool de modo 'Forçado'.

xe pool-join master-address=IP_DO_MASTER master-username=root master-password=1234 force=true


Apos o comando a maquina foi adicionada ao POOL.

quarta-feira, 16 de janeiro de 2013

Acesso VNC no Linux sem monitor conectado - Debian Ubuntu

Antes voce deve instalar o Servidor VNC x11vnc 
Um detalhe no Xorg é que para iniciar o X voce deve estar com um monitor conectado, o servidor X não inicia sem monitor, na nossa situação temos um servidor que gostariamos de deixar sem monitor mas ao mesmo tempo conectar via VNC para acessar o Grafico, segue a solução para configurar a disponibilidade do Servidor X para o acesso VNC sem monitor.

Vamos utilizar o Xserver Dummy, digite o comando abaixo para instalar:

apt-get install xserver-xorg-video-dummy


Crie o arquivo xorg.conf

touch /etc/X11/xorg.conf



Salve o conteudo dentro do arquivo xorg.conf

##Arquivo xorg.conf para Servidor VNC x11vnc
##
Section "Device"

    Identifier  "Configured Video Device"
    Driver      "dummy"
EndSection

Section "Monitor"
    Identifier  "Configured Monitor"
    HorizSync 31.5-48.5
    VertRefresh 50-70
EndSection

Section "Screen"
    Identifier  "Default Screen"
    Monitor     "Configured Monitor"
    Device      "Configured Video Device"
    DefaultDepth 24
    SubSection "Display"
    Depth 24
    Modes "1024x800"
    EndSubSection
EndSection

##
##Fim do xorg.conf


Reinicie o Gerenciador Grafico
Para GDM (Gnome) digite:

su /etc/init.d/gdm restart



Para KDM (Kde) digite:

su /etc/init.d/kdm restart




Para XDM digite:

su /etc/init.d/xdm restart



Caso queira acessar o Grafico da maquina local ou voltar a configuração original basta renomear ou apagar o arquivo "xorg.conf".







Instalar VNC Server x11vnc no Debian - Ubuntu

No nosso caso usamos o Debian Wheezy Netinstall mas poderá usar para as outras distribuições "Like Debian".
Vamos ao que interessa:

Primeiramente vamos instalar o pacote necessario para execução do Servidor Vnc
No bash digite o comando:


apt-get install x11vnc



Agora vamos configurar o arquivo que armazena a senha de acesso do servidor Vnc


Crie o Diretorio para armazenar o arquivo de senha

mkdir -p /etc/x11vnc



Crie o arquivo de senha dentro de /etc/x11vnc/

touch /etc/x11vnc/vncpasswd



Crie uma senha e armazene dentro do arquivo criado:

x11vnc -storepasswd suasenha /etc/x11vnc/vncpasswd



Crie um arquivo para armazenar o script de inicialização do Servidor Vnc x11vnc

touch /etc/init.d/x11vnc-init


Dê permissão de execução para o script

chmod +x /etc/init.d/x11vnc-init


Copie o conteudo do script abaixo e cole dentro do arquivo "/etc/init.d/x11vnc-init"

#!/bin/bash
# --------------------------------
# /etc/init.d/x11vnc
# --------------------------------

# find xauthority file
find_xauth () {
  FOUND=0
  RETRIES=4
  [ -z "$1" ] || RETRIES="$1"

  [ -e "/var/lib/kdm/" ] &&
     XAUTHFILE_KDM=`find /var/lib/kdm/ -iname "A\:0-*"`
  [ -e "/var/run/xauth/" ] &&
     XAUTHFILE_KDM2=`find /var/run/xauth/ -iname "A\:0-*"`
  [ -e "/var/lib/xdm/authdir/authfiles/" ] &&
     XAUTHFILE_XDM=`find /var/lib/xdm/authdir/authfiles/ -iname "A\:0-*"`
  [ -e "/var/lib/gdm/" ] &&
     XAUTHFILE_GDM=`find /var/lib/gdm/ -iname *Xauth*`

  [ -f "$XAUTHFILE_KDM" ]  && FOUND=1 && XAUTHORITY="$XAUTHFILE_KDM"
  [ -f "$XAUTHFILE_KDM2" ] && FOUND=1 && XAUTHORITY="$XAUTHFILE_KDM2"
  [ -f "$XAUTHFILE_XDM" ]  && FOUND=1 && XAUTHORITY="$XAUTHFILE_XDM"
  [ -f "$XAUTHFILE_GDM" ]  && FOUND=1 && XAUTHORITY="$XAUTHFILE_GDM"

  if [ "$FOUND" -eq "0" ]; then
    if [ "$RETRIES" -gt "0" ]; then
      let "RETRIES-=1"
      find_xauth "$RETRIES"
    else
      echo "carregamento FALHOU (nao foi possivel encontrar uma maneira para me autenticar com o Servidor X)" >>/var/log/x11vnc.log
      exit -1
    fi
  else
    echo "Encontrado o arquivo de autenticacao ($XAUTHORITY)" >>/var/log/x11vnc.log
  fi
}

START_COMMAND="x11vnc"
X11VNC_PARAMS="-ncache -noxrecord -noxfixes -display :0 -noxdamage  -forever -bg"

case "$1" in
  start)

    if [ ! -f /etc/x11vnc/vncpasswd ]; then
      echo " carregamento FALHOU (arquivo '/etc/x11vnc/vncpasswd' nao encontrado)" >>/var/log/x11vnc.log
      echo "   Crie a senha manualmente digitando o comando: x11vnc -storepasswd suasenha /etc/x11vnc/vncpasswd " >>/var/log/x11vnc.log
      exit -1;
    fi

    #su -c "$COMMAND" -l x11vnc &
    if [ $X11VNC_X11 = 1 ]; then
      find_xauth
      START_COMMAND="$START_COMMAND -auth $XAUTHORITY $X11VNC_PARAMS"
    else
      START_COMMAND="$START_COMMAND $X11VNC_PARAMS"
    fi
    OUTPUT=`$START_COMMAND`
    echo "$START_COMMAND" >>/var/log/x11vnc.log
    echo "$OUTPUT" >>/var/log/x11vnc.log
  ;;
  stop)
    pid=`pidof x11vnc`
    if [ -z "$pid" ]
    then
     echo "x11vnc nao esta rodando" >>/var/log/x11vnc.log
     exit -1;
    else
     kill -9 $pid
    echo "x11vnc parado" >>/var/log/x11vnc.log
    fi

  ;;
  *)
    echo "x11vnc Script de Inicializacao"
    echo "Use: $0 (start|stop)"
    echo "$OUTPUT"
  ;;
esac
exit 0

##Fim do script

Para inicializar junto com o Gerenciador de Display (Display Manager) siga as intruções 


Caso o seu gerenciador de Display for o GDM (GNOME) use o comando:
echo "sh /etc/init.d/x11vnc-init start" >>  /etc/X11/gdm/Init/Default /etc/gdm/Init/Default

Caso o seu gerenciador de Display for o KDM (KDE) use o comando:
echo "sh /etc/init.d/x11vnc-init start" >>  /etc/kde*/kdm/Xsetup

Caso o seu gerenciador de Display for o XDM use o comando:
echo "sh /etc/init.d/x11vnc-init start" >>  /etc/X11/xdm/Xsetup 

Caso o seu gerenciador de Display for o CDE use o comando:
echo "sh /etc/init.d/x11vnc-init start" >>  /etc/dt/config/Xsetup


Reinicie o Gerenciador de Display e acesse o Vnc pelo IP da maquina e a porta 5900








quinta-feira, 10 de janeiro de 2013

Instalação do Xen 4.1 no Debian Wheezy 7.0 Netinstall - Script

Neste Post você poderá instalar de forma simples o Xen 4.1 no Debian Wheezy 7.0 e desfrutar desta Incrivel ferramenta gratuita de Virtualização.  O Ambiente foi criado com 3 partições, segue abaixo:

Você tem a liberdade de montar as partições e seus tamanhos conforme sua necessidade, nós usamos o exemplo a seguir:

Hd de 1 TeraByte

Partição Raiz '/' - Tipo: EXT4 - Tamanho: 50 Gb
Partição para os Discos das DOMUs (Maquinas virtuais) - Tipo: Linux LVM - Tamanho: 938 Gb
Partição de Area de troca - Tipo SWAP - Tamanho: 12 Gb

Instalamos o Linux sem configurar a interface de rede local, selecionamos para "Não configurar agora" e prosseguimos a instalação sem rede, poderá usar essa opção conforme sua necessidade.

Para poupar recursos do sistema usamos o Xdm como gerenciador de login e o FluxBox como Gerenciador de Janelas.


Foi optado pelo uso do Virt-Manager para o Gerenciamento das maquinas virtuais, ele facilita a criação, administração e visualização da sua VM, também poderá gerenciar o seu grupo de volumes lógicos, criando volumes lógicos no momento da criação da VM, isto tudo via interface gráfica.



Após a instalação crie um arquivo "script.sh" com o conteudo Abaixo e dê permissão de execução:



#!/bin/bash

function pause(){
   read -p "$*"
}

pause 'Este Script ira instalar o Xen 4.1 no Debian Wheezy, pressione [ENTER] para continuar...'

echo 'Etapa de Configuracao das interfaces de rede LoopBack  e Eth0   '
echo -n 'Deseja configurar as interfaces de rede ? s/n  ' ; read resposta

if [ $resposta == "s" ] ; then
                pause 'O sistema ira configurar a rede, pressione [ENTER] para continuar...'
                echo 'auto lo' > /etc/network/interfaces
                echo 'iface lo inet loopback' >> /etc/network/interfaces
                echo '' >> /etc/network/interfaces
                echo 'auto eth0' >> /etc/network/interfaces
                echo 'iface eth0 inet dhcp' >> /etc/network/interfaces
fi

echo 'Serviço de rede'
echo -n 'Deseja reiniciar Servico de rede ? s/n  ' ; read resposta

if [ $resposta == "s" ] ; then
echo 'Reiniciando os serviços de rede...'
                /etc/init.d/networking restart
fi

echo 'Arquivos de enderecos de repositorio'
echo -n 'Deseja configurar os arquivos de endereco dos repositorios ? s/n  ' ; read resposta

if [ $resposta == "s" ] ; then
                echo 'deb http://security.debian.org/ wheezy/updates main contrib non-free' > /etc/apt/sources.list
echo 'deb-src http://security.debian.org/ wheezy/updates main contrib non-free' >> /etc/apt/sources.list
echo 'deb http://ftp.br.debian.org/debian/ wheezy main contrib non-free' >> /etc/apt/sources.list
echo 'deb-src http://ftp.br.debian.org/debian/ wheezy main contrib non-free' >> /etc/apt/sources.list
echo 'Arquivos de configuração de repositorio configurados...'
fi

echo 'Atualizacao de endereços de repositorio'
echo -n 'Deseja atualizar os enderecos dos repositorios ? s/n  ' ; read resposta

if [ $resposta == "s" ] ; then
apt-get update
fi

echo 'Instalacao de pacotes necessarios'
echo -n 'Deseja instalar os pacotes para instalacao do Servidor Xen ? s/n  ' ; read resposta

if [ $resposta == "s" ] ; then
apt-get install xen-linux-system-3.2.0-4-amd64 xen-utils-4.1 xen-tools sudo xserver-xorg xserver-xorg-core xorg fluxbox xdm xenwatch virt-manager firmware-realtek openssh-server vim less -y
fi

echo 'Configuracao do Gestor de Inicialização GRUB'
echo -n 'Deseja configurar o Grub para o Servidor Xen ? s/n  ' ; read resposta

if [ $resposta == "s" ] ; then
mv /etc/grub.d/10_linux /etc/grub.d/50_linux
echo "" >> /etc/default/grub
echo "# Disable OS prober to prevent virtual machines on logical volumes from appearing in the boot menu." >> /etc/default/grub
echo "GRUB_DISABLE_OS_PROBER=true" >> /etc/default/grub
echo "" >> /etc/default/grub
echo "# Xen boot parameters for all Xen boots" >> /etc/default/grub
echo 'GRUB_CMDLINE_XEN="dom0_mem=1024M"' >> /etc/default/grub
update-grub2
fi

echo 'Copiar Bibliotecas do XEN para o Virt-Manager'
echo -n 'Deseja copiar as bibliotecas do Servidor Xen para o Virt-Manager ? s/n  ' ; read resposta

if [ $resposta == "s" ] ; then
mkdir -p /usr/lib/xen-default/
mkdir -p /usr/lib64/xen/
cp /usr/lib/xen-4.1/* -rv /usr/lib/xen-default/
cp /usr/lib/xen-4.1/* -rv /usr/lib64/xen/
fi

echo 'Configuracao do HOST Xen (DOMAIN 0)'
echo -n 'Deseja configurar os parametros necessarios no Servidor Xen ? s/n  ' ; read resposta

if [ $resposta == "s" ] ; then
sed -i 's|(enable-dom0-ballooning yes)|(enable-dom0-ballooning no)|g' /etc/xen/xend-config.sxp
sed -i 's|#(xend-http-server no)|(xend-http-server yes)|g' /etc/xen/xend-config.sxp
sed -i 's|#(xend-unix-server no)|(xend-unix-server yes)|g' /etc/xen/xend-config.sxp
sed -i 's|# (network-script network-bridge)|(network-script network-bridge)|g' /etc/xen/xend-config.sxp
sed -i 's|(dom0-min-mem 196)|(dom0-min-mem 1024)|g' /etc/xen/xend-config.sxp
sed -i 's|XENDOMAINS_SAVE=/var/lib/xen/save|XENDOMAINS_SAVE=""|g' /etc/default/xendomains
sed -i 's|XENDOMAINS_RESTORE=true|XENDOMAINS_RESTORE=false|g' /etc/default/xendomains
fi

echo 'Configurar a rede Bridge xenbr0'
echo -n 'Deseja Configurar a rede Bridge xenbr0 ? s/n  ' ; read resposta

if [ $resposta == "s" ] ; then
echo '' >> /etc/network/interfaces
echo 'auto xenbr0' >> /etc/network/interfaces
echo 'iface xenbr0 inet dhcp' >> /etc/network/interfaces
echo 'bridge_ports eth0' >> /etc/network/interfaces
echo 'bridge_stp on' >> /etc/network/interfaces
echo 'bridge_maxwait 0' >> /etc/network/interfaces
echo 'bridge_fd 0' >> /etc/network/interfaces
ifconfig xenbr0 up
/etc/init.d/networking restart
brctl addbr xenbr0
fi


#FIM









sexta-feira, 7 de dezembro de 2012

Instalando Xen 4.0 no Debian Squeeze 6.0.5 NetInstall

Distribuição usada para instalação: Debian Squeeze 6.0 netinstall 64 bits.
Devido ser um servidor de maquinas virtuais, leve em conta os riscos futuros e monte com Espelhamento de disco e LVM para abrigar os discos das Vm's pois ajudará na performance e no gerenciamento dos volumes.

Sugestão para criação das partições:

Exemplo de particionamento usando Raid e Lvm em um disco de 1 TeraByte.
Raid via software, Raid 1 (Espelhamento) e LVM (Logical Volume Manager) com a estrutura abaixo:

Partição para os arquivos de boot ( /boot )
/dev/md0 = 100 MB

Partição para raiz ( / )
/dev/md1 = 3000 MB

Partição para os arquivos variaveis ( /var )
/dev/md2 = 1000 MB

Partição para area de troca ( Swap )
/dev/md3 = 8000 MB

Partição para o LVM ( Volume Lógico )
/dev/md4 = 988000 MB

Monte o sistema de arquivos conforme suas necessidades, usamos Ext4 nas partições e o LVM para armazenar os discos das VM's.

Durante a instalação, quando aparecer a tela chamada:

"Configurando a rede via DHCP" , clique em cancelar e selecione a opção:

"Não Configurar agora a rede"

e prossiga com a instalação.


Após a conclusão da instalação do Sistema Operacional, configure o a rede para conectar a internet:

# echo >> 'auto eth0' /etc/network/interfaces && echo 'iface eth0 inet dhcp' >> /etc/network/interfaces

# /etc/init.d/networking restart


Instale o Servidor SSH

apt-get install openssh-server



Configure o arquivo de Repositorio conforme segue:


#
deb cdrom:[Debian GNU/Linux 6.0.5 _Squeeze_ - Official amd64 NETINST Binary-1 20120512-20:40]/ squeeze main

deb http://security.debian.org/ squeeze/updates main
deb-src http://security.debian.org/ squeeze/updates main
deb ftp://ftp.debian.org/debian/ stable main
deb-src ftp://ftp.debian.org/debian/ stable main
deb http://ftp.debian.org/debian/ squeeze-updates main
deb-src http://ftp.debian.org/debian/ squeeze-updates main


Atualize os repositorios:

# apt-get update


Instale os pacotes necessarios:

# apt-get install linux-image-xen-amd64 xen-hypervisor-4.0-amd64 xen-tools vim sudo openssh-server xserver-xorg xserver-xorg-core x-window-system-core x-window-system fluxbox xdm xenwatch virt-manager vim






Depois do sistema instalado e inicializado, crie uma nova partição, alocando o espaço livre que você deseja usar para suas máquinas virtuais Domu. Entre outras vantagens, o Xen tem muito melhor desempenho IO de disco, se você usar LVM ao invés de imagens de disco. Crie o grupo de volume assim, atribuindo o md4 a sua partição vazia LVM.

Instale o pacote de suporte a LVM


# apt-get install lvm2


Crie o volume fisico

# pvcreate /dev/md4

Crie o grupo do Volume

# vgcreate xen-vol /dev/md4


xeninstalldebiansqueeze.sh


#!/bin/bash

echo 'auto lo' > /etc/network/interfaces && echo 'iface lo inet loopback' >> /etc/network/interfaces && echo 'auto eth0' >> /etc/network/interfaces && echo 'iface eth0 inet dhcp' >> /etc/network/interfaces

/etc/init.d/networking restart

echo 'deb http://security.debian.org/ squeeze/updates main' > /etc/apt/sources.list
echo 'deb-src http://security.debian.org/ squeeze/updates main' >> /etc/apt/sources.list
echo 'deb ftp://ftp.debian.org/debian/ stable main' >> /etc/apt/sources.list
echo 'deb-src ftp://ftp.debian.org/debian/ stable main' >> /etc/apt/sources.list
echo 'deb http://ftp.debian.org/debian/ squeeze-updates main' >> /etc/apt/sources.list
echo 'deb-src http://ftp.debian.org/debian/ squeeze-updates main' >> /etc/apt/sources.list

apt-get update

apt-get install linux-image-xen-amd64 xen-hypervisor-4.0-amd64 xen-tools vim sudo openssh-server xserver-xorg xserver-xorg-core x-window-system-core x-window-system fluxbox xdm xenwatch virt-manager xen-qemu-dm-4.0 vim -y

mv /etc/grub.d/10_linux /etc/grub.d/50_linux
echo "" >> /etc/default/grub
echo "# Disable OS prober to prevent virtual machines on logical volumes from appearing in the boot menu." >> /etc/default/grub
echo "GRUB_DISABLE_OS_PROBER=true" >> /etc/default/grub
echo "" >> /etc/default/grub
echo "# Xen boot parameters for all Xen boots" >> /etc/default/grub
echo 'GRUB_CMDLINE_XEN="dom0_mem=1024M"' >> /etc/default/grub


mkdir -p /usr/lib64/xen/
cp /usr/lib/xen-4.0/* -rv /usr/lib64/xen/


sed -i 's|(enable-dom0-ballooning yes)|(enable-dom0-ballooning no)|g' /etc/xen/xend-config.sxp
sed -i 's|#(xend-http-server no)|(xend-http-server yes)|g' /etc/xen/xend-config.sxp
sed -i 's|#(xend-unix-server no)|(xend-unix-server yes)|g' /etc/xen/xend-config.sxp
sed -i 's|# (network-script network-bridge)|(network-script network-bridge)|g' /etc/xen/xend-config.sxp
sed -i 's|(dom0-min-mem 196)|(dom0-min-mem 1024)|g' /etc/xen/xend-config.sxp
sed -i 's|XENDOMAINS_SAVE=/var/lib/xen/save|XENDOMAINS_SAVE=""|g' /etc/default/xendomains
sed -i 's|XENDOMAINS_RESTORE=true|XENDOMAINS_RESTORE=false|g' /etc/default/xendomains

update-grub2

pvcreate /dev/sda3
vgcreate xen-vol /dev/sda3



--------------------------------------------------------------------------------------