terça-feira, 19 de abril de 2011
Failed to lock the file! VMWare virtual disk (vmdk)
"Cannot open the disk ‘file001.vmdk’ or one of the snapshot disks it depends on. Reason: Failed to lock the file. "
Procurandei na net e felizmente encontrei a solução, é só deletar a(s) pasta(s) com o nome file001.vmdk.lck que estão dentro do mesmo diretório dos arquivos da máquina virtual.
quarta-feira, 23 de março de 2011
Instalação do Layer 7 no Debian Lenny
Implementando o layer 7 no Linux Debian Lenny, segue o tutorial:
Instalando pacotes necessários:
# aptitude install libncurses5-dev
# aptitude install kernel-package
# aptitude install zlib1g-dev
Entre no diretório source e faça download dos arquivos.
# cd /usr/src
# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.28.tar.bz2
# wget http://www.netfilter.org/projects/iptables/files/iptables-1.4.2.tar.bz2
# wget http://downloads.sourceforge.net/l7-filter/netfilter-layer7-v2.21.tar.gz
# wget http://downloads.sourceforge.net/l7-filter/l7-protocols-2008-04-23.tar.gz
# wget http://merkel.debian.org/~jurij/2.6.28-1/i386/config-2.6.28-1-686.gz
Remova o iptables:
# aptitude purge iptables
Descompactando os pacotes:
# tar jxvf linux-2.6.28.tar.bz2
# tar jxvf iptables-1.4.2.tar.bz2
# tar zxvf netfilter-layer7-v2.21.tar.gz
# tar zxvf l7-protocols-2008-04-23.tar.gz
# uncompress config-2.6.28-1-686.gz
Criando um link para o diretório do kernel:
# ln -s /usr/src/linux-2.6.28 /usr/src/linux
Copiando as configurações de boot e aplicando os patches do layer7 no kernel:
# cd /usr/src/linux
# cp ../config-2.6.28-1-686 .config
# patch -p1 < ../netfilter-layer7-v2.21/kernel-2.6.25-2.6.28-layer7-2.21.patch
Compilando e instalando o kernel
# make oldconfig
(enter para todas as questões)
# make menuconfig
Entre no diretório Networking -> Networking Options -> Network Packet Filtering Framework (netfilter) -> Core Netfilter Configuration
Marque os módulos (M) layer7 match support e (M) string match support
(M) layer7 match support #MARCAR COMO MÓDULO
(M) string match support #MARCAR COMO MÓDULO
Saia pelo exit, na última tela, escolha a opção salvar para o arquivo .config, ou seja, no último exit você será questionado se deseja salvar. Agora é simples, basta compilar.
# make-kpkg -initrd kernel_image
Foi criado um arquivo linux-image-2.6.28_2.6.28-10.00.Custom_i386.deb no diretório /usr/src, volte ao diretório e instale.
# cd /usr/src
# dpkg -i linux-image-2.6.28_2.6.28-10.00.Custom_i386.deb
Pronto, o novo kernel já esta instalado.
Aplicando os patches no iptables e instalando
Digite:# cd /usr/src/iptables-1.4.2
Copie os arquivos libxt_layer7.c libxt_layer7.man para o diretório do iptables:
# cp ../netfilter-layer7-v2.21/iptables-1.4.1.1-for-kernel-2.6.20forward/* extensions/
Instalando o iptables:
# ./configure --with-ksource=/usr/src/linux
# make
# make install
# cd /usr/src/l7-protocols-2008-04-23
# make install
Pronto, só reiniciar e usar!
# reboot
Se por acaso o Debian não carregar o módulo automaticamente, execute o seguinte comando:
# modprobe ipt_layer7
Exemplo de regras:
iptables -A FORWARD -m layer7 --l7proto msnmessenger -j DROP
iptables -A FORWARD -m layer7 --l7proto http -j DROP
Se quiser saber quais os protocolos suportados consulte:
http://l7-filter.sourceforge.net/protocols
Fonte: http://www.vivaolinux.com.br/dica/Instacao-do-layer7-no-Debian-Lenny
Squid Tuning - Mais dicas, aumentando a performance de disco.
Esse artigo deve ser considerado uma continuação do anterior "Otimizando o Squid - Versão 2008", disponível em http://linuxadm.blogspot.com/2008/02/otimizando-o-squid-verso-2008.html
1ª Dica - noatime option
O Linux salva em cada arquivo a informação de data e hora de ultimo acesso além de ultima modificação, e como o Squid utiliza seu timestamp próprio, é inutil contar com o timestamp do filesystem. Para melhorar o acesso aos arquivos de cache setamos então o diretório de cache com o parâmetro "noatime".
Como fazer? Simples.
Se o seu diretório de cache está numa partição em separado (o que a propósito é uma excelente idéia) basta adicionar o parâmetro noatime no seu fstab.
Exemplo:
/dev/sda3 /var/spool/squid reiserfs defaults,noatime 0 2
obs.. Recomendo adicionar o noatime somente nas partições do cache, não em partiçoes do sistema, tal como /
Se você já possui um particionamento, e não deseja reparticionar seu disco, pode fazer através do comando chattr (change attribute)
Exemplo:
#chattr -R +A /var/spool/squid
(Onde o -R é para recursividade, e o +A para especificar o noatime)
Para usar o chattr com ReiserFS é necessário ativar o suporte no Kernel.
[*] ReiserFS extended attributes
[*] ReiserFS POSIX Access Control Lists
[*] ReiserFS Security Labels
Para visualizar os atributos do arquivo utilize o lsattr.
Exemplo:
#lsattr
------------- ./radius.sql (Arquivo sem nenhum atributo ativo)
2ª Dica - Espaço Livre (free space)
Sempre deixe acima de 20% de espaço livre no filesystem contendo seu cache dir, geralmente a performance do filesystem degrada dramaticamente se o espaço usado excede 80%.
3º Dica - Desativar o Store.log (Enviada por YellowBR)
Como dito anteriormente, quanto melhor otimizarmos o acesso a disco mais rapido será nosso proxy, uma forma de melhorar a performance de disco é reduzir a escrita desnecessária.
O store.log exibe quais arquivos foram removidos do cache, quais objetos estão salvos, e o tempo que estão no cache, entretanto, não existe uma utilidade real para esses dados, portanto é recomendável desativar essa flag.
Exemplo:
cache_store_log none
Fonte: http://www.visolve.com/squid/squid24s1/logfiles.php
Dica Extra (E extremamente útil) - notail option
Se você usa ReiserFs (o que é indicado para cache do squid) é interessante o uso da opção notail ao montar o sistema de arquivos. O "tail packing" é uma característica do ReiserFS para melhor uso de espaço, que permite 5% a menos de perda de espaço em disco se comparado ao ext2 ou ext3, a grosso modo ele faz um agrupamento de arquivos menores que um bloco do filesystem (4k), por isso a excelente performance do ReiserFS com arquivos menores.
Fonte: http://www.funtoo.org/en/articles/linux/ffg/2/
Portanto se você está disposto a sacrificar 5% do estaço em disco para um incremento de performance, ative a opção notail no seu fstab.
/dev/sda3 /var/spool/squid reiserfs defaults,noatime,notail 0 2
Se você não quiser reiniciar seu linux, basta apenas remontar a partição com o parâmetro notail.
#mount -o remount /var/spool/squid
As últimas duas dicas não referem-se apenas ao Squid, mas ao uso do sistema operacional em sí, procure manter o mesmo procedimento para sua partição primária.
Outras dica óbvia, e não menos importante, é procurar disco com velocidades maiores, por exemplo discos de 15k RPM.
Estarei adicionando essas dicas no arquivo original, mas manterei esse post em separado para que os antigos leitores vejam que houveram incremento de informações no tutorial.
segunda-feira, 17 de janeiro de 2011
Instalando o Zabbix no Debian Lenny
Preparando o Debian
1. Instale os seguintes pacotes de dependências:
# aptitude install build-essential mysql-server libmysqlclient15-dev php5 php5-gd php5-mysql snmp libsnmp-dev snmpd libcurl3-dev apache2 fping curl
2. Crie um usuário chamado zabbix:
# adduser zabbix
3. Acrescente o usuário zabbix ao grupo administradores:
# adduser zabbix adm
Baixando o Zabbix
4. Como usuário zabbix, efetue o download do fonte do Zabbix e descompacte o pacote:# su - zabbix
$ wget http://prdownloads.sourceforge.net/zabbix/zabbix-1.8.2.tar.gz?download
$ tar zxvxpf zabbix-1.8.2.tar.gz
5. Retorne ao usuário root:
# logout
ou
ctrl + d
Preparando o MySQL e o resto do sistema
6. No MySQL, crie a base de dados zabbix e crie o usuário zabbix da base de dados:# mysql -p -e "create database zabbix;"
# mysql -p -e "grant all privileges on zabbix.* to zabbix@localhost identified by 'senha do usuário';"
7. Logue como usuário zabbix e importe as tabelas utilizando os arquivos:
# su - zabbix
$ cd zabbix-1.8.2/create/schema
$ mysql -uzabbix -p zabbix < mysql.sql $ cd ../data/ $ mysql -uzabbix -p zabbix < data.sql $ mysql -uzabbix -p zabbix <>
8. Como root, configure, compile e instale o servidor do zabbix:
$ su -
# cd /home/zabbix/zabbix-1.8.2/
# ./configure --prefix=/usr --with-mysql --with-net-snmp --with-libcurl --enable-server --enable-agent
# make install
9. Prepare o restante do sistema:
# nano /etc/services
Adicione as seguintes linhas ao final do arquivo:
zabbix_trap 10051/tcp
Continue configurando o sistema:
# mkdir /etc/zabbix
# chown -R zabbix.zabbix /etc/zabbix/
# cp misc/conf/zabbix_* /etc/zabbix/
Edite o arquivo /etc/zabbix/zabbix_agentd.conf e certifique-se que o parâmetro Server aponta para o IP I/O 127.0.0.1.
Edite o arquivo /etc/zabbix/zabbix_server.conf e configure os parâmetros DBUser=zabbix e DBPassword=senha criada para o usuário zabbix na base de dados zabbix do MySQL.
10. Copie os scripts para a pasta /etc/init.d/
# cp misc/init.d/debian/zabbix-server /etc/init.d
# cp misc/init.d/debian/zabbix-agent /etc/init.d
11. Edite os arquivos de inicialização para acertar o caminho do diretório zabbix:
# nano /etc/init.d/zabbix-server
Encontre a linha:
DAEMON=/home/zabbix/bin/${NAME}
e substitua por:
Edite o arquivo zabbix-agent:
# nano /etc/init.d/zabbix-agent
Localize a linha:
DAEMON=/home/zabbix/bin/${NAME}
e substitua por:
Salve e saia.
12. Mude a permissão do arquivo e adicione o zabbix-server para iniciar automaticamente no boot de todos os níveis de execução:
# chmod 755 /etc/init.d/zabbix-server
# update-rc.d zabbix-server defaults
# chmod 755 /etc/init.d/zabbix-agent
# update-rc.d zabbix-agent defaults
Iniciando o Zabbix
13. Inicie o servidor:# /etc/init.d/zabbix-server start
14. Inicie o agente:
# /etc/init.d/zabbix-agent start
15. Certifique-se que os serviços estão rodando:
# ps -auz | grep zabbix
Configurando o Apache e o frontend do Zabbix
16. Configure a interface web:# mkdir /home/zabbix/public_html/
# cp -R /home/zabbix/zabbix-1.8.2/frontends/php/* /home/zabbix/public_html/
17. Edite o arquivo de configuração do apache2:
# nano /etc/apache2/sites-enabled/00-defaults
18. Acrescente as linhas ao arquivo:
Alias /zabbix /home/zabbix/public_html/
AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
Order allow,deny
Allow from all
Order deny,allow
Deny from all
Order deny,allow
Deny from all
19. Faça os ajustes no arquivo php.ini:
# nano /etc/php5/apache2/php.ini
date.timezone = America/Sao_Paulo
max_input_time = 300
20. Reinicie o apache:
# /etc/init.d/apache2 restart
21. Abra o browser e aponte para o zabbix:
http://ip_do _servidor_zabbix/zabbix/
Finalizando a instalação
22. Na aba introdução, leia e clique em Next23. Em License Agreement clique em I Agree
24. Configure a conexão DB e faça um teste
25. Verifique todos os itens do sumário de instalação
26. Clique em Instalation. Caso seja apresentado um erro, altere para 777 as permissões do diretório /home/zabbix/public_html/conf
# chmod 777 /home/zabbix/public_html/conf
A instalação está concluída!
segunda-feira, 22 de novembro de 2010
Configurando a Placa de Rede no VMWARE Server
WARNING: this is unreliable on hosts with more than one physical nic.
| ethernet0.present= "true" | This settings enable an AMD PCnet32 network-card.
|
| ethernet0.present= "true" | This settings enable an VMXnet network-card. |
| ethernet0.present= "true" | This settings enable an Intel E1000 network-card. |
| Connected to the virtal adapter of the host named "hostonly"
You can use the VMware-builtin DHCP-service to auto-configure guests that use this type of connection. WARNING: this is unreliable on hosts that don't use defaults for the vmnet-mapping. |
| ethernet0.present= "true" | This settings enable an AMD PCnet32 network-card.
|
| ethernet0.present= "true" | This settings enable an VMXnet network-card. |
| ethernet0.present= "true" | This settings enable an Intel E1000 network-card. |
| Connected to the virtal adapter of the host named "nat"
You can use the VMware-builtin DHCP-service to auto-configure guests that use this type of connection.
|
| ethernet0.present= "true" | This settings enable an AMD PCnet32 network-card.
|
| ethernet0.present= "true" | This settings enable an VMXnet network-card. |
| ethernet0.present= "true" | This settings enable an Intel E1000 network-card. |
| Custom configuration |
| ethernet0.present= "true" | This settings enable an AMD PCnet32 network-card.
|
| ethernet0.present= "true" | This settings enable an VMXnet network-card. |
| ethernet0.present= "true" | This settings enable an Intel E1000 network-card. |
quinta-feira, 23 de setembro de 2010
Recuperando a senha de root
01 - O primeiro passo é iniciar o computador pelo Live Cd;
02 – Agora vá para o modo texto com o comando abaixo;
CTRL + ALT + F2
03 - logue-se com root
sudo su -
04 - Verifica qual a geometria do disco com o comando fdisk -l /dev/sdx (onde "x" é o letra correspondente ao disco)
05 - monte a partição correspondente com o comando:
#mkdir /media/disco
#mount -t ext3 /dev/sdx /media/disco -o rw
#cd /media/disco/etc
#vi shadow
a apague os caracteres na linha do root, deixando assim:
root ::0::::::
:wq
#cd /
#umount /media/disco
reboot
Pronto a senha de root foi zerada.
segunda-feira, 30 de agosto de 2010
Source list completo do Debian 5 Lenny, para servidores e desktops. Segue alguns sources do Debian 5 para incrementas seu source.list. Para atualizar a sources.list basta logar como ROOT e executar os passos abaixo:
#vim /etc/apt/sources.list
Apague todo o conteúdo e adicione as linhas abaixo:
deb ftp://ftp.br.debian.org/debian/ stable main contrib non-free
deb ftp://mirrors.kernel.org/debian/ stable main contrib non-free
deb http://ftp.br.debian.org/debian/ lenny main contrib
deb http://ftp.br.debian.org/debian/ lenny main contrib non-free
deb http://ftp.br.debian.org/debian/ lenny-proposed-updates contrib main
deb http://ftp.br.debian.org/debian-multimedia/ lenny main
deb http://ftp.br.debian.org/debian-multimedia/ lenny main
deb http://ftp.br.debian.org/debian/ oldstable main
deb http://ftp.br.debian.org/debian/ stable main
deb http://ftp.br.debian.org/debian/ stable main contrib non-free
deb http://packages.dotdeb.org stable all
deb http://security.debian.org/ lenny/updates main contrib
deb http://security.debian.org/ lenny/updates main contrib non-free
deb http://security.debian.org/ stable/updates main contrib non-free
deb http://volatile.debian.org/debian-volatile lenny/volatile main
deb http://www.backports.org/debian lenny-backports main contrib non-free
deb http://www.debian-multimedia.org stable main
deb-src ftp://ftp.br.debian.org/debian/ stable main contrib non-free
deb-src ftp://mirrors.kernel.org/debian/ stable main contrib non-free
deb-src http://ftp.br.debian.org/debian/ lenny main contrib
deb-src http://ftp.br.debian.org/debian/ lenny main contrib non-free
deb-src http://ftp.br.debian.org/debian/ lenny-proposed-updates contrib main
deb-src http://ftp.br.debian.org/debian/ oldstable main
deb-src http://ftp.br.debian.org/debian/ stable main
deb-src http://ftp.br.debian.org/debian/ stable main contrib non-free
deb-src http://packages.dotdeb.org stable all
deb-src http://security.debian.org/ lenny/updates main contrib
deb-src http://security.debian.org/ lenny/updates main contrib non-free
deb-src http://security.debian.org/ stable/updates main contrib non-free
deb-src http://volatile.debian.org/debian-volatile lenny/volatile main
deb-src http://www.backports.org/debian lenny-backports main contrib non-free
deb-src http://www.debian-multimedia.org stable main
#===============================================================FIM==============================================================
Salve o arquivo, feche e atualize a lista de repositórios como
#apt-get update --fix-missing
#apt-get upgrade --fix-missing
