quarta-feira, 31 de dezembro de 2014

CentOS 6.x - Configurar Cliente NTP

Configurar cliente NTP no CentOS


1- Primeiro iremos instalar os pacotes ntp.
#yum install ntp

Listar comandos ntp disponiveis, apenas para conhecimento 
#ntp [tab tab]

2 - Iniciar serviço ntp
# service ntpd start
Ou:
# /etc/rc.d/init.d/ntpd start

3- Após iniciar o serviço visualize o log 
# tail /var/log/messages


Dec 31 09:46:58 CentOS ntpd[10338]: Listen normally on 2 lo 127.0.0.1 UDP 123

Dec 31 09:46:58 CentOS ntpd[10338]: Listen normally on 3 eth0 10.0.0.19 UDP 123
Dec 31 09:46:58 CentOS ntpd[10338]: Listen normally on 4 lo ::1 UDP 123
Dec 31 09:46:58 CentOS ntpd[10338]: Listen normally on 5 eth0 fe80::c8db:cbff:fe62:5b61 UDP 123
Dec 31 09:46:58 CentOS ntpd[10338]: peers refreshed
Dec 31 09:46:58 CentOS ntpd[10338]: Listening on routing socket on fd #22 for interface updates
Dec 31 09:47:04 CentOS ntpd[10338]: 0.0.0.0 c016 06 restart
Dec 31 09:47:04 CentOS ntpd[10338]: 0.0.0.0 c012 02 freq_set kernel 0.000 PPM
Dec 31 09:47:04 CentOS ntpd[10338]: 0.0.0.0 c011 01 freq_not_set
Dec 31 09:47:11 CentOS ntpd[10338]: 0.0.0.0 c614 04 freq_mode

4- Configurar para que o ntp inicie no boot
# chkconfig --level 35 ntpd on

5 - Definir a lista de servidores NTP que serão utilizados para sincronizar a hora,
5.1 Abra o arquivo de configuração do serviço ntp.
 vi /etc/ntp.conf

Modifique as linhas iniciadas com server e adicione os servidores de sua preferencia, aqui ja vai a sugestão dos servidores do projeto ntp.br, o parâmetro iburst serve para acelerar a sincronização inicial.


# servidores publicos do projeto ntp.br
server a.st1.ntp.br iburst
server b.st1.ntp.br iburst
server c.st1.ntp.br iburst
server d.st1.ntp.br iburst
server gps.ntp.br iburst
server a.ntp.br iburst
server b.ntp.br iburst
server c.ntp.br iburst

6- Verificar se NTP está configurado e funcionando.
#ntpq -c peers
Se a resposta for semelhante a esta o serviço não esta funcionando

CentOS:# timed out, nothing received
 ***Request timed out
Mas se a resposta for  semelhanto a esta o serviço NTP esta ok
remote           refid      st t when poll reach   delay   offset  jitter
=====================================================
*a.st1.ntp.br       .ONBR.             1 u   51   64   17   13.943   -4.243   1.295
+201.49.148.135  .ONBR.             1 u   50   64   17   20.849   -3.545   1.858
-c.st1.ntp.br        .ONBR.             1 u   48   64   17   20.655   -3.867   1.353
+d.st1.ntp.br       .ONBR.             1 u   47   64   17   23.787   -4.315   1.546
 gps.ntp.br          146.164.48.5      2 u   48   64   17   15.295   -4.874   3.302
 a.ntp.br             200.160.7.186    2 u   47   64   17   15.118   -4.516   1.664
 b.ntp.br             200.20.186.76    2 u   43   64   17   21.597   -5.278   1.379
 c.ntp.br             200.160.7.186    2 u   40   64   17   41.269   -4.095   0.824
Para mais detalhes sobre este serviço, existe um ótimo tutorial em:

segunda-feira, 29 de dezembro de 2014

CentOS 6.x - Desativar login SSH como root

Não permitir que o usuário root faça login via SSH diretamente é muto simples.

Se o procedimento estiver sendo realizado de forma remota via SSH utilizando o usuário root, cuidado para não perder acesso ao sistema, antes certifique-se de que você tenha login e senha de usuário comum cadastrado no sistema.

As configurações do serviço SSH ficam no arquivo /etc/ssh/sshd_config

1- Primeiro devemos localizar e parâmetro "#PermitRootLogin yes" dentro do arquivo.

2- Depois é só remover o simbolo de comentário "#" e substituir "yes" por "no", vai ficar assim "PermitRootLogin no"

3- Salve e feche o arquivo. 

4 - Reinicie o ssh com o comando: 
#service sshd restart

Pronto, agora se quiser acessar o servidor via SSH deve utilizar um usuário comum do sistema e for necessário utilizar o usuário root utilize o comando su - para se tornar root.  

CentOS 6.x - Como alterar a porta do serviço SSH

As configurações do serviço SSH ficam no arquivo /etc/ssh/sshd_config
para alterar a porta devemos localizar e alterar o parâmetro Port dentro deste arquivo.

Atenção: O CentOS 6.5 por padrão vem com uma regra de firewall que libera o acesso na porta 22, se a porta do SSH for alterada a regra de firewall também deverá ser alterada e para a mesma porta.

1 - Com o editor de texto de sua preferencia Abra o arquivo de configuração do serviço de SSH
#vi  /etc/ssh/sshd_config 

2- Procure a linha: #Port 22
Apague o "#" da linha, e altere o numero da porta. 

3- Salve e feche o arquivo. 

4 - Reinicie o ssh com o comando: 
#service sshd restart 

5- Agora vamos alterar a regra de firewall que libera a porta 22 do SSH para a nova porta  porta 2222, ATENÇÃO AO REINICIAR O SERVIÇO IPTABLES OU O SERVIDOR, O IPTABLES RECARREGA AS REGRAS DE FIREWALL DO ARQUIVO /etc/sysconfig/iptables , portanto ao alterar as regras de firewall esse arquivo também deve ser atualizado com as novas regras, senão ao reiniciar o iptables ou o servidor as regras serão perdidas.  

5.1 Por precaução antes de alterar o firewall vamos salvar as configurações atuais de firewall em um arquivo.

# iptables-save >/iptables-regras-padrao.txt

5.2 Agora vamos listar as regras numerando as linhas para encontrar a regra que libera o porta 22 ou ssh

#iptables -L -n --line-numbers

5.3 Encontre o numero da regra desejada, neste caso a regra que libera a porta 22 é a regra numero 4 

4    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22 

5.4 Agora vamos substituir essas regra por uma regra igual mas com a porta 2222, 


5.4.4 Para facilitar a digitação da regra podemos listar as regras existentes na forma dos comandos que as criam, ai é só copiar e fazer as alterações necessitarias.

#iptables -S

então teremos a lista de comando que criam as regras, e este é o que cria a regra 4.

-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT

Agora utilizado o comando -R mais o numero da regra que queremos substituir e parte do comando que cria a regra 4 e o novo numero da porta ssh (2222) iremos substituir a regra 4.

# iptables -R INPUT 4 -p tcp -m state --state NEW -m tcp --dport 2222 -j ACCEPT

Agora faça a mesma alteração no arquivo /etc/sysconfig/iptables que será carregado na inicialização. 

terça-feira, 23 de dezembro de 2014

CentOS 6.x - Como alterar o Hostname

Na inicialização o CentOS lê a informação de HOSTNAME do arquivo 
/etc/sysconfig/network

Então para alterar o Hostname é só abrir este arquivo e alterar o nome 
que está depois do sinal de igual do HOSTNAME.
E quando o sistema iniciar novamente ele carregará o novo HOSTNAME

# vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=CENTOS_6.5

Para alterar o Hostname sem reiniciar o CentOS

Digite a seguinte linha de comando
/bin/hostname CENTOS_6.5 <---- CENTOS_6.5 é o novo hostname

Não esqueça que ao reiniciar o CentOS ele carregará novamente informação de HOSTNAME do arquivo 
/etc/sysconfig/network 

sexta-feira, 19 de dezembro de 2014

XenServer 6.x - Instalar Xenserver Tools em VMs Linux

Installing XenServer Tools em VMs Linux

Os arquivos de instalação do "XenServer Tools" estão em uma imagem de disco chamada xs-tools.iso no próprio host xenserver.
Para termos acesso a esses arquivos de instalação devemos associar esta imagem ISO ao drive de CD/DVD Virtual da VM.
Dentro da VM vamos montar o drive de CD/DVD Virtual que agora contem imagem em uma pasta qualquer dentro da VM.
Neste caso iremos criar uma pasta dentro de /mnt chamada xs-tools que será usada para montar o drive virtual.

1 - Primeiro associar esta imagem ISO ao drive de CD/DVD Virtual da VM.
  • Clique com o botão da direita na VM, clique em Install XenServer Tools, ou clique na VM e vá até aba General e clique em Install XenServer Tools.
  • Irá aparecer uma caixa de dialogo Clique em Install XenServer Tools
3- Dentro da VM vamos montar o drive de CD/DVD Virtual que agora contem imagem ISO em uma pasta qualquer dentro da VM.
  • Acesse o console da maquina virtual como root.
  • Monte o drive virtual que contem a imagem iso em uma pasta
  • obs. O dispositivo ao qual a imagem iso foi associado é representado como /dev/xvdd  
    • cd /mnt <-- entra na pasta /mnt
    • mkdir xs-tools <-- criar a pasta xs-tools dentro de /mnt
    • mount /dev/xvdd /mnt/xs-tools <-- monta o drive virtual na pasta /mnt/xs-tools
4- Execute o Script de intalação que está em /mnt/xs-toosl/Linux/Install.sh
  • /mnt/xs-tools/Linux/Install.sh <-- executa o script
5- Reinicie a VM
  • reboot
Note que os drives de CD-ROM e ISOs ligados as VMs Linux aparecem como /dev/xvdd ao invés de /dev/cdrom. Isto porque estes não são dispositivos CD-ROM verdadeiros, mas dispositivos normais. Quando o dispositivo de CD é ejetado pelo XenCenter, este desliga  o dispositivo da maquina virtual.  Diferentemente do que acontece em maquinas virtuais  Windows onde o dispositivo permanece ligado porem vazio

terça-feira, 12 de agosto de 2014

Linux - Comando para listar tamanhos de arquivos e diretórios

Retorna tamanho dos diretório e arquivos

du -hca --max-depth=1
  • du retorna o tamanho de todos os diretórios e subdiretórios.
  • utiliza unidades de medidas mais compreensível como Megabyte, Gigabyte.
  • --max-depth=1 limita ao nível 1 de subdiretório, 2 para nível 2 e assim por diante.
  • c Insere o total ao final da listagem.
  • a inclui os arquivos na listagem alem dos diretórios.
du -hs
  • -s mostra somente o total, s é abreviação de Summary.


quinta-feira, 24 de julho de 2014

XenServer - Boot pelo CD/DVD em uma Maquina Virtual Linux

Desligue a VM Linux, 


com esse mesma vm selecionada


no XenCenter acesse o menu 

VM --> Start/Shutdown --> Start in Recovery ModeVM 

e pronto

a VM irá iniciar pelo CD/DVD ou imagem ISO selecionada. 

terça-feira, 22 de julho de 2014

CentOS 6.x - Como configurar rede

Neste tutorial iremos fazer as configurações básicas de rede no CentOS, 
para termos acesso a rede local e a internet, de forma que as configurações 
se mantenham após o reboot do sistema ou restart do serviço de rede. 

Considerações iniciais

No CentOS há um arquivo de configurações gerais de rede referentes ao sistema, independente 
das interfaces de rede chamado network localizado em /etc/sysconfig/

E também há um arquivo de configuração para cada interface de rede, 
esses arquivos se encontram em /etc/sysconfig/network-scripts/
os nomes dos arquivos de configuração de interface iniciam por "ifcfg-" referente a 
"interface file configuration" seguido do nome da interface,
por exemplo no caso da interface "eth0" o arquivo de configuração será "ifcfg-eth0".

As configurações que iremos adicionadar são
Servidor - Nome do Host (Pode ser qualquer nome)
192.168.0.200 - Endereço IP 
255.255.255.0 - Mascara
192.168.0.1 - Gateway
8.8.8.8 - DNS Primário
8.8.4.4 - DNS Secundário

ifconfig -a 
Exibe todas as interfaces de rede presentes no sistema inclusive as desativadas,
decida qual interface será configurada no seu caso. 

1 - Configurar o IP e a Mascara
o ip 192.168.0.200 e a mascara 255.255.255.0 serão adicionados a interface eth0 

# vi /etc/sysconfig/network-scripts/ifcfg-eth0
IPADDR=192.168.0.200
NETMASK=255.255.255.0
BOOTPROTO=static
ONBOOT=yes

OBS. Podem haver outros parâmetros no arquivo de configuração da interface, para o proposito deste tutorial 
mantenha-os como estão e altere apenas os informados acima.

Salve e saia do arquivo 

Para as configurações feitas até aqui começarem a valer podemos 
reiniciar o serviço de rede com o comando 
#/etc/init.d/network restart

ou dar um reboot no sistema todo
#reboot

Até aqui está pronta a configuração para acesso apenas a rede local, 
para ter acesso a internet ou outras redes você deve configurar o gateway padrão. 


2 - Configurar o Gateway padrão e Nome do Host 
O ip do gateway padrão da rede 192.168.0.1 e o Hostname serão adicionados no arquivo de 
configurações gerais de rede referentes ao sistema

# vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=Servidor
GATEWAY=192.168.0.1

OBS. Podem haver outros parâmetros neste arquivo de configuração da interface, para o proposito deste tutorial 
mantenha-os como estão e altere apenas os que estão em azul.

Salve e saia do arquivo

Para as configurações feitas até aqui começarem a valer temos que
reiniciar o serviço de rede com o comando 
#/etc/init.d/network restart

ou dar um reboot no sistema todo
#reboot

Até aqui está pronta a configuração para acesso a rede local e a internet, 
porem o sistema ainda não é capaz de resolver nomes ou seja acessar sites pelo nome do site
apenas por ip, para isso teremos que configurar os servidores DNS (servidores de nome de domínios)


3 - Configurar o DNS 
O ip dos servidores DNS 8.8.8.8 e 8.8.4.4 serão adicionados no arquivo /etc/resolv.conf
para que o sistema seja capaz de traduzir nomes de domínios da internet em ip.

# vi /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4

Salve e saia do arquivo

Após salvar o arquivo as novas configurações de DNS já estarão valendo, e já será possível
acessar sites pelo nome do site







terça-feira, 17 de junho de 2014

XenServer 6.x - Instalando Updates e Hotfixes via linha de comando

Consideração 1 - Atenção na versão licenciada do XenServer as atualizações podem ser aplicadas pelo XenCenter.
Na versão não licenciada as atualizações só podem ser aplicadas utilizando a linha de comando, porem o processo é bem simples.

Consideração 2 - Se os servidores a serem atualizados pertencerem a um Pool de servidores é recomendável deixar o servidor Master do pool por ultimo para evitar problemas de perda de conexão aos servidores do pool. 

1º Passo - Baixar atualização
  1. Menu--> Tools>Check for Updates
  2. O XenCenter irá listar as atualizações disponíveis e seus respectivos links para download.
  3. Faça o download das atualizações desejadas e salve e descompacte os arquivos das atualizações.

2º Passo - Copiar as atualização para o servidor XenServer

  1. Baixe o WinSCPinstale, execute e preencha em 
    • "Host Name:" ip do servidor
    • "User name:" root
    • "Password:" senha do servidor
  2. O WinSCP irá se conectar ao servidor,
  3. No lado esquerdo localize as atualizações que foram salvas e descompactadas
  4. Arraste os arquivos .xupdates desejados para o /root do servidor no lado direto. 
  5. Obs. a copia dos arquivos para servidor pode ser feita da maneira que preferir.

3º Passo - Aplicar a atualização

  1. Acesse a linha de comando do Servidor, pelo console do XenCenter ou SSH
  2. No comando a seguir faremos o upload do arquivo de atualização desejado para o sistema no caso o arquivo exXS62ESP1005.xsupdate  
  3. xe patch-upload file-name=XS62ESP1005.xsupdate
  4. O comando acima imprime na tela um UUID que identifica a atualização por ex. 59128f15-92cd-4dd9-8fbe-a0115d1b07a2
  5. Copie esse UUID gerado pelo comando anterior.
  6. O próximo comando irá aplicar a atualização utilizando o UUDI:59128f15-92cd-4dd9-8fbe-a0115d1b07a2 e o UUID do host
  7. O UUID da atualização já temos, agora para sabermos o UUID do Host usaremos o seguinte comando 
  8. xe host-list lista os UUIDs dos Hosts, copie o UUID do Host desejado por ex. 9d7fa597-a628-4db8-9928-09f01f9283d4
  9. Agora o comando para aplicar atualização utilizando o UUID da atualização e UUID do Host em que a atualização será instalada
  10. xe patch-apply uuid=59128f15-92cd-4dd9-8fbe-a0115d1b07a2 host-uuid=9d7fa597-a628-4db8-9928-09f01f9283d4

4º Passo - Reiniciar o Servidor

  1. Reiniciar o Servidor
Vídeo ilustrando os procedimentos acima:http://youtu.be/hiU9785ZZ7o

Bonus 1

Se ao aplicar alguma atualização der o o seguinte erro

The patch apply failed.  Please see attached output.
output: <error errorcode="PATCH_PRECHECK_FAILED_UNKNOWN_ERROR">
    <info>Backup files already present - aborting.  If this is invalid, please remove /opt/xensource/patch-backup/0850b186-4d47-11e3-a720-001b2151a503/ and retry.</info>

</error>

Provavelmente o problema é espaço em disco insuficiente em / para o sistema realizar a manobra de atualização.
Para confirmar podemos verificar o espaço em disco com o comando 
df -h

Para liberar espaço faça
 rm -ri /opt/xensource/patch-backup/0850b186-4d47-11e3-a720-001b2151a503/
e confirme tudo com y

e repita o procedimento de aplicação do patch

Bonus2

Caso alguma maquina virtual não iniciar após a aplicação de algum patch, e no log aparecer que o disco virtual não foi encontrado

Error: Starting VM 'CentOS ' - This operation cannot be performed because the specified virtual disk could not be found 

Existe a possibilidade de haver alguma imagem de disco carregada no DVD da maquina virtual

No Xencenter clique na máquina virtual que não inicia, 
clique na aba console,
e clique em Eject no drive de DVD  

E tente iniciar a maquina novamente.