Mostrando postagens com marcador opensource. Mostrar todas as postagens
Mostrando postagens com marcador opensource. Mostrar todas as postagens

sexta-feira, junho 27

Instalando CentOS domU (Debian and CentOS dom0)

Já faz um tempo que utilizo o xen como ferramenta de virtualizacão para fins de desenvolvimento e em até producao. O melhor case é um server de virtualizacao de um Active Directory para cerca de mil usuarios junto com servidores linux com servicos de proxy, firewall, jboss, todos os guest's rodando em uma única máquina fisica. Desde aquele dia, tenho confiado no xen.
No Debian, sempre tive algumas dificuldades para instalar guests de outras Distros. Essa é a motivacao para escrever o artigo.
Vou considerar que você já possui o Xen instalado e funcionando, pelo menos para domU utilizando Debian.

Inicio
Estou utilzando o dvd do CentOS5, com Debian Etch, Xen3.0.3

1) Imagens para boot inicial
Para o boot inicial, é necessário os arquivos images/xen/initrd.img e images/xen/vmlinuz. Eles são responsáveis por iniciar o processo de instalacão do CentOS no DomU.

1.1) Arquivo de configuracao do xen (inicial)
Escolha uma das opcoes de disco, e descomente!
kernel = "/media/cdrom/images/xen/vmlinuz"
ramdisk = "/media/cdrom/images/xen/initrd.img"
# extra = "text ks=http://localserver/minimal-ks.cfg"
# bootloader = "/usr/lib/xen-3.0.3-1/bin/pygrub"
name = "centos"
memory = "256"
# disk = [ 'phy:/dev/vgscooby/xen_centos,xvda,w' ]
# disk = [ 'file:/xen/centos.iso,xvda,w' ]
vif = [ 'bridge=br0' ]
vcpus = 1
on_reboot = 'destroy'
on_crash = 'destroy'

xm create -c /etc/xen/centos

A instalacao inicia normalmente (modo texto). Utilizei NFS durante a instalacao, exportando /media/cdrom no Debian (Dom0).

Após a instalacao é necessário alterar o arquivo de configuracao do xen (/etc/xen/centos):
bootloader = "/usr/lib/xen-3.0.3-1/bin/pygrub"
name = "centos"
memory = "256"
disk = [ 'phy:/dev/vgscooby/xen_centos,xvda,w' ]
#disk = [ 'file:/xen/centos.iso,xvda,w' ]
vif = [ 'bridge=br0' ]
vcpus = 1
on_reboot = 'destroy'
on_crash = 'destroy'

2) Ai comecam os problemas
O bootloader tem um bug no debian id=390678 que exige a seguinte alteracao:
arquivo => /usr/lib/xen-3.0.2-1/lib/bin/pygrub
alterar isto => sys.path = [ '/usr/lib/python' ] + sys.path
alterar para => /usr/lib/xen-3.0.3-1/lib/python/

3) Instalar pacotes
Para compilar os passos abaixo é necessário os pacotes python2.4-dev e e2fslibs-dev

4) Baixar os fontes do Xen
http://bits.xensource.com/oss-xen/release/3.0.3-0/src.tgz/xen-3.0.3_0-src.tgz
Baixe e descompacte os fontes do Xen, eles são necessários para compilar um modulo do python utilizado pelo bootloader que não vem no Debian.

tar xvf xen-3.0.3_0-src.tar
cd xen-3.0.3_0-src/tools/pygrub
make
ls -la build/lib.linux-i686-2.4/grub/fsys/
total 16
drwxr-xr-x 3 root root 4096 2008-06-27 03:25 .
drwxr-xr-x 3 root root 4096 2008-06-27 03:25 ..
drwxr-xr-x 2 root root 4096 2008-06-27 03:25 ext2
-rw-r--r-- 1 root root 2072 2006-10-15 09:22 __init__.py

4.1) Copie todo o diretorio build/lib.linux-i686-2.4/grub/fsys/ext2 para /usr/lib/xen-3.0.3-1/lib/python/grub/fsys/

5) mkdir /var/lib/xen
Esse diretorio (mesmo vazio) é necessario

6) Finalmente! Rode seu DomU com CentOS!

Links Interessantes para Referencia
http://strugglers.net/~andy/blog/2008/01/20/red-hat-based-linux-under-xen-from-debian-etch/
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=390678
http://www.kuro5hin.org/story/2007/4/23/3719/35994

segunda-feira, setembro 17

Hot backup Oracle com Ruby!

Linguagens como python, perl e scripts em bass são bem conhecidas dos SysAdmins, e isso é fato. Há algum tempo venho fazendo os scripts em Ruby principalmente pela sua sintaxe e facilidade.
Tinha alguns scripts de hot backup de algumas bases Oracle, que ainda não estavam sendo feitos com o RMAN, aí decidi reescrever os scripts em ruby, por brincadeira mesmo. Os scripts em SQL eram muito confusos além de extremamente longos (SQL né!)

Os scripts em ruby foram colocados no meu website, e quem tiver interesse pode fazer o download. O link é http://cassianoroloff.googlepages.com/rubyscripts

quinta-feira, agosto 23

How to install Oracle Database 10g on Debian

Oracle Enterprise Database is certified to running on RedHat, SuSe and YellowDog beyond many unix and windows, but don't Debian. Recently Oracle has deployed a package of the Express (and free) version in .deb format. This how to is intented to help to install Enterprise Edition. By the way, it's with you own risks!

Install required debian packages

  • rpm
  • gcc
  • alien
  • libdb1-compat
  • libdb4.4++-dev
  • libdb4.4-dev
  • libstdc++-5
  • libstdc++-5-dev
  • compat-db-4.1.25-9 = couldn't find
  • gnome-control-center = 2.14.2.-7
  • gcc-3.4.3-9.EL4 = gcc 4.1.1.1-15 and gcc3.4.6-5
  • gcc-c++-3.4.3-9.EL4
  • glibc-2.3.4-2 = libc6 2.3.6
  • glibc-common-2.3.4-2 = libc6-dev 2.3.6
  • gnome-libs-1.4.1.2.90-44.1
  • libstdc++-3.4.3-9.EL4 = cpp-3.4 3.4.6-5 /g++-3.4 3.4.6-5 / gcc-3.4 3.4.6-5 / libstdc++-6-devel
  • pev 3.4.6-5 = coundn't not found
  • libstdc++-devel-3.4.3-9.EL4
  • make-3.80-5
  • pdksh-5.2.14-30 = pdksh 5.2.14-20
  • sysstat-5.0.5-1 = sysstat 7.0.0-4
  • xscreensaver-4.18-5.rhel4.2 = xscreensaver 4.24-5
  • libaio-0.3.96 = libaio1 0.3.106-3
  • libaio-dev 0.3.106-3
  • libdb1-compat 2.1.3-9
  • linux-kernel-header 2.6.18-7
  • openmotif21 = lesstif2 0.94.4-2
Create some links for compatibility with Red Hat

ln -s /usr/bin/rpm /bin/rpm
cd /usr/lib
ln -s libstdc++.so.6 libstdc++.so.5
ln -s /usr/bin/awk /bin/awk
ln -s /usr/bin/rpm /bin/rpm
ln -s /usr/bin/basename /bin/basename
ln -s /etc /etc/rc.d

Some packages are from non-free pool package. So you need alter your /etc/apt/sources.list. Below you can see my sources.list:

deb http://linorg.usp.br/debian/ etch main contrib non-free
deb-src http://linorg.usp.br/debian/ etch main contrib non-free
deb ftp://ftp.debian.org/debian/ etch main contrib non-free
deb-src ftp://ftp.debian.org/debian/ etch main contrib non-free

deb http://security.debian.org/ etch/updates main contrib non-free
deb-src http://security.debian.org/ etch/updates main contrib non-free

Create Oracle user
groupadd oinstall
groupadd dba
useradd -m -g oinstall -G dba oracle
passwd oracle

Configure kernel parameters
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=262144
net.core.wmem_max=262144

Setting shell limits for oracle user

file /etc/security/limits.conf:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

file /etc/pam.d/login: (I don't need change, it's already ok)
session required /lib/security/pam_limits.so

Now: Installing Oracle software!!!

./runInstaller -IgnoreSysPrereqs

domingo, agosto 19

The machine is us

quarta-feira, maio 16

Testes de desempenho com LVM - 2% !!!!!

Para quem ainda não conhece, o Logical Volume Manager é um sistema para gerenciamento de armazenagem em disco, que vem se tornando padrão no linux. Ele consiste basicamente em uma camada a mais entre os discos e o Kernel, e passa a oferecer uma versão lógica dos discos. Com isso ganhamos muita flexibilidade no gerenciamento de "partições lógicas".

Entre os principais recursos, estão a facilidade de aumentar o sistema de arquivos, simplesmente adicionando mais discos físicos. O contrário também é possível, ou seja, reduzir o tamanho de um volume lógico. O recurso de snapshots é também muito útil, principalmente para backups e ambientes de testes, esse recurso ficou inda melhor na versão 2 da LVM, agora é possível criar snapshot read-write, na primeira versão apenas snapshots read-only estavam disponíveis.

Como diz o título, não tenho como objetivo fazer aqui um tutorial de como implantar ou instalar LVM, mas apenas mostrar alguns resultados de testes de desempenho realizados.

O Ambiente
Os testes foram realizados em um storage IBM DS4000, com 14 discos scsi 73gb 10k, conectado diretamente a um servidor IBM 440. O storage contém uma única lun, utilizando RAID 10 (1 + stripping). Não foi o objetivo dos testes comparar tipos de RAID, e essa configuracão foi utilizada devido ao equipamento já estar dessa forma, e os testes foram realizados num intervalo entre a migracão de um sistema, nao havendo tempo hábil para alteracões. Duas situacões de particionamento ocorreram no testes comparativos:

  • Volumes físicos: sdb1 (200GB), sdc1 (200GB)
  • LVM - Volumes lógicos: lva (200GB), lvb (200GB)
Todas as unidades foram formatadas com ext3 (opcões default), e o servidor foi reiniciado (inclusive o storage) entre cada um dos testes, garantindo assim que não haveria interferência de dados em cache.

Os Testes
Foram realizados testes de criacão e cópia de arquivos de diversos tamanhos, nas duas unidades. Basicamente, foi medido o tempo de:
  • Criacão e cópia de um arquivo de 2 Gb.
  • Criacão e cópia de 10 arquivos de 100 Mb
  • Criacão e cópia de 32 mil arquivos com tamanhos variando entre 1Kb e 32Kb (1000 arquivos de 1kb, 1000 arquivos de 2kb, 1000 arquivos de 3kb, sucessivamente)
Cada uma dessas tarefas foi realizada 10 vezes para ser utilizado o tempo médio como comparativo.

Os Resultados
Os números são impressionantes, pode-se afirmar com total certeza, que praticamente "nenhuma" queda de desempenho é notada utilizando LVM, contrariando o que muitos imaginam.
Em muitos casos, o tempo gasto para a realizacão das tarefas foi menor utilizando LVM. Principalmente nos casos de arquivos pequenos. Quando maior a quantidade de arquivos e quanto menor o seu tamanho, o desempenho do sistema de arquivos utilizando-se LVM chega a ser melhor do que utilizando dispositivos físicos diretamente.
Nos arquivos de 2Gb, uma pequena diferenca foi notada. Nos arquivos maiores, que apresentaram piores resultados, ainda assim o overhead fica inferior a 2%.

terça-feira, abril 17

Debian Etch (agora estavel!!!)

Há poucos dias atras (8/Abr/2007) o projeto Debian anunciou o novo release, o debian 4, codinome etch. Desde o lançamento da versão 3, sarge, já se passavam 21 meses.

Com instalador gráfico, disponível já faz algum tempo, o Debian Etch conta com instalador traduzido em 58 idiomas. A instalação pode ser feita de diversas formas, a partir de CDs/DVD, de um mirror na internet, chaveiros USB, etc...

O gerenciador de pacotes, apt-get, foi muito melhorado. Agora verifica a integridade de pacotes baixados e está mais consistente e seguro.

Rodando nas mais diversas arquiteturas, suporta 11 modelos de processadores, rodando desde palmtops até supercomputadores, e quase tudo que se encontra entre eles. Entre as arquiteturas suportadas, além é claro da i386, estão: Sun SPARC (sparc), HP Alpha (alpha) e HP PA-RISC (hppa), IBM PowerPC e IBM S/390. E agora introduzidas as versões Debian GNU/Linux 4.0 para AMD64 and Intel EM64T (amd64).

Um grande número de pacotes foi atualizado, como é tradição do debian, e agora conta com ambiente gráfico Gnome 2.14, KDE 3.5.5, Xfce 4.4. Softwares como OpenOffice.org 2.0, Gimp 2.2, Iceweasel (uma versão sem as restrições da licença do Firefox), PostgreSQL 8.1.8, MySQL 5.0, Kernel 2.6.18, Apache 2.2.3, Samba 3.0 Asterisk 1.2, e mais de 18.000 outros pacotes prontos para usar.

segunda-feira, março 19

Vim Tips

Hello! Vim is a great editor (the best text editor in my opinion). But at first look it seems crazy and very confuse.

Vertical selection:
Many people know the visual selection, but Vim has also the vertical selection:

CTRL + v

produces this:

vertical selection example.
bla bla bla bla bla bla
ble ble ble ble ble ble
bli bli bli bli bli bli
blo blo blo blo blo
blu blu blu blu blu

Auto indent on past:
When you past any content copied from another application (ie. firefox), vim automatically indent each line, but it's useless. So you can change this configuration while past:
:set paste
then... past your text...

segunda-feira, março 12

How to install UML with kernel 2.6 (and use in production!)

My friend Francisco try to install uml on debian sarge, and I think so it was hard to he as hard to me. And becase that little story I made this how to.

I named host the computer that will runing another uml machines, and virtual user mode machines I called umlhosts.

First you need to install debian sarge on host, and I think so you know how do this, but if you don't, download Debian Net Install from this link, and follow this instructions. We also need create one commom user, here called ernexto on host. This user will run virtual machines.

With host machine running, install User Mode Linux, these are the basic steps:

1. Install uml-utilities package:

apt-get install uml-utilities;
2. Install user_mode_linux package:
This package exists only in debian testing (etch), so if you're installing on etch host, you don't need change apt sources.list file, but my friend Xico is installing on Sarge... type all these commands! hehehe
cd /etc/apt;
cp sources.list sources.list.backup;
echo "deb http://http.us.debian.org/debian testing main contrib non-free" >> /etc/apt/sources.list;
apt-get update;
apt-get install user-mode-linux;
mv sources.list.backup sources.list;
3. Install bridge:
If you need use network in umlhosts, you need this package. Exists many ways to put network working, you can learn more at UML official site.
apt-get install bridge-utils;
4. Download one filesystem:
At uml site, you can download many filesystems. Redhat, debian, slack and others are available. We are going to download Debian 3.0 filesystem from this link. After download, unzip the file using
bunzip2 Debian-3.0r0.ext2.bz2
5. Running it!
Now we have all that we need to running many uml virtual hosts without network configuration. You can test the uml installation typing these commands:
linux ubd0=Debian-3.0r0.ext2;
You will see the commom linux initialization screen, services wake up, and if all occured successful, the login screen. You can logging it using username: root, and blank password.

6. Setup network:
You can normal shutdown the umlhost. We use tun/tap devices to run virtual network. Tun/tap is good for security reasons, becase use preconfigured devices. We will create one tun/tap device, called tap0, belongs to ernexto.
tunctl -u ernexto
echo 1 > /proc/sys/net/ipv4/ip_forward
route add -host 172.16.0.51 dev tap0
echo 1 > /proc/sys/net/ipv4/conf/tap0/proxy_arp
arp -Ds 172.16.0.50 eth0 pub

brctl addbr br0
ifconfig eth0 0.0.0.0 promisc up
ifconfig tap0 0.0.0.0 promisc up
ifconfig br0 172.16.0.50 netmask 255.255.0.0 up
brctl stp br0 off
brctl setfd br0 1
brctl sethello br0 1
brctl addif br0 eth0
brctl addif br0 tap0

7. Finish
With tap device configured, you can run umlhost again, now starting with eth0 device.
linux.uml ubd0=Debian,eth0=tap0
After loggin in umlhost, configure network normally, using command ifconfig eth0. You can set default gatway to host ip.

For more information, see links bellow, or send mail to me.
http://user-mode-linux.sourceforge.net
http://www.debian.org

quarta-feira, fevereiro 28

Quem é que joga a fumaca pro alto...

Last week Eric Raymond published a post in Fedora devel list wich the subject "Goodbye fedora". In the message he wrote why is migrating to Ubuntu. Significant reasons to migrate from fedora includes "technical and political levels", he said. The Fedora mail list received many messages explain about the Raymond's problems and why Fedora is a good system. This is going to be one of the longest threads in the mail list history. You can read the Raymond's message following these link https://www.redhat.com/archives/fedora-devel-list/2007-February/msg01006.html

In my opinion, rpm package dependeces are very crazy, and new yum (up2date on RH) are good, but apt-get of the Debian is the best choice. I instaled to test fedora 6 on my laptop without problems. I just liked the 3d desktop of Gnome, nothing more.

The Debian Etch (testing version) are stable to desktops. You can install easily. The net-install cd have just 180 Mb and at the end of the installation you have a up to date system. The stable version (Sarge) is the best option to servers, and it is really stable.

Debian Sarge on servers and Debian Etch on desktops!!!


segunda-feira, fevereiro 26

Monitoramento com snmp e rrdtool

Logo depois que um sistema qualquer é implantado, como por exemplo um novo servidor, surge a necessidade de realizar um monitoramento dos novos serviços que estão rodando. Cada serviço tem suas particularidades, e o monitorá-los nos permite perceber essas características, como a taxa de crescimento do uso da banda da internet, ou os horarios em que os usuarios mais utilizam o banco de dados da empresa.

Com esses dados podemos "prever" algumas coisas importantes. Quando será necessário incrementar o link da internet é uma delas! Para realizar essas tarefas, existe o snmp. porém ele por si só é um tanto complexo. Aí surge o rrdtool (http://oss.oetiker.ch/rrdtool/)

Semelhante ao conhecido mrtg, ele nos permite gerar gráficos a partir dos dados obtidos com o snmp. Mas pode faz além disso: como os dados são inseridos através de scripts, você pode monitorar praticamente qualquer coisa que resulte um número. A primeira tela abaixo, é do site oficial http://oss.oetiker.ch/rrdtool/ e a segunda mostra o load de um servidor de ftp que estou criando...

Outra ferramenta muito boa é o cacti (www.cacti.org). Desenvido em php, este é uma front-end completo para o rrdtool. Ele consegue obter os dados diretamente de snmp, além de script em python/perl/shell ou qualquer outra coisa executável. Na internet você ainda encontra diversos plugins que aumentam a sua capacidade.

segunda-feira, novembro 20

UML - Linux in another linux

Wich UML, you can run one linux inside another!
There are several things you can do wich UML. It's very usefull for testing upgrades in your servers, kernel development, or just for funny.
To do this, basic steps are:

  • Download and install Uml package (uml-utilities user-mode-linux)
  • Download kernel sources and apply correspondent Uml kernel patch
  • Compile kernel for architecture=uml
  • Download any filesystem from UserModeLinux page.
  • Run!!!
At uml pages you can download many distros (redhat, debian, slackware), but you can make your own filesystem! Many tools are avaliable for that. It's possible run graphicaly X or just command line.
I post few links bellow where you can find good documentation and "how to", and links for other tools necessary for run virtual network.

http://user-mode-linux.sourceforge.net/UserModeLinux-HOWTO.html - The main site. It have step-by-step how-to, very recommended for
http://user-mode-linux.sourceforge.net - This is official page. You will find many documentation here.
http://user-mode-linux.sourceforge.net/networking.html - How to running network in virtual machine. I'm using TUN/TAP and it's working fine.

domingo, setembro 3

Debian Installer / modo grafico!

O pessoal do Debian lancou há pouco tempo a versão do próximo Instalador, agora rodando também em modo Gráfico. Para uma distribuição que suporta 13 arquiteturas (oficialmente), iniciar um ambiente gráfico antes mesmo da instalaçao não é uma tarefa muito simples.

Pelo que pude perceber, as telas e opções são semelhantes, se não as mesmas, da atual instalação em modo texto, com a "facilidade" de utilizar o mouse em um ambiente "mais agradável".

Isso é uma evolução interessante e (ao que parece) o Debian está focando em novos usuários domésticos e no uso em desktop. Acredito que esse interesse seja reforçado pelo sucesso do Ubuntu. Ainda assim, as perguntas continuam bem mais complexas que a instalação do Fedora Core 5, por exemplo. O novo instalador será adicionado na próxima versão.

Segundo o cronograma, a nova versão estável do Debian, o Etch, sairá ainda esse ano!!! No site oficial, existem notícias de que o Sarge sai de linha em Dezembro.

Mesmo assim, eu ainda vou continuar usando o bem e velho modo texto mais algum tempo...