Archive for October, 2007

Trabalhando com discos no Solaris

October 12th, 2007 | Category: Solaris

Para realizamos o perações com discos como formação e criação de partições, até exibir informações sobre os discos já configurados no sistema podemas utilizar o format.

O nome é bem peculiar, mas o format em primeiro instante ele apanas trabalha com os discos (assim como fdisk e cfdisk no Linux).

Vejamos um primeiro exemplo prático.

format

Teremos uma saída parecida com esta:

Searching for disks...done
AVAILABLE DISK SELECTIONS: 	0. c0t3d0 <SUN0207 cyl 1214 alt 2 hd 9 sec 36>
		/sbus@1,f8000000/esp@0,8000000/sd@3,0
	1. c0t0d0 <SUN0207 cyl 1214 alt 2 hd 9 sec 36>
		/sbus@1,f8000000/esp@0,8000000/sd@0,0
	2. c1t1d0 <SUN0207 cyl 1214 alt 2 hd 9 sec 36>
		/sbus@1,f8000000/esp@0,8000000/sd@1,0
	3. c1t2d0 <SUN0207 cyl 1214 alt 2 hd 9 sec 36>
		/sbus@1,f8000000/esp@0,8000000/sd@2,0
Specify disk (enter its number):

Pedindo para que se escolha um disco

Para exemplo digamos que vamos escolher o disco 2, onde a partir deste ponto poderemos fazer as seguintes operações.

1. Se o disco não estiver formatado o format irá exibir uma mensagem informando que o disco não é formatado.

* para formatar o disco

format>format

2. Caso o disco já esteja configurado, podemos realizar outras operações como apenas exibir informações sobre informações do disco.

* para exibir configuração do disco

format>partition
format>print

Caso deseja obter informações mais completas sobre cada disco (fabricante, blocos, erros e etc)

iostat -E

OBS.: Para exibir os discos em acessar o prompt do format

format < /dev/null

Comments are off for this post

Listando dispositivos no Solaris

October 12th, 2007 | Category: Solaris

Temos 2 comando importantes

Primeiro deles é o prtconf, que irá exibir todas as informações completas sobre o sistema. Informações como tamanho de memória, processadores dispositivos e periféricos anexados ao sistema.

prtconf | more

Para exibir apenas memória principal

prtconf | grep Memory

Dispositivos anexados ao sistema aparecerão em forma de árvore, e dispositivos não anexados ao sistema serão exibidos com o seguinte paramêtro na frene da linha de descrição do device “(drive not attached)”, indicando que não existe um dispositivo correspondente.

prtconf | grep “not attached”

Imprimindo a versão do OBF

prtconf -V

Exibindo lista de dispositivos e drivers anexados aos dispositivos

prtconf -D

Para informações detalhadas sobre o processador (tipo, RPM)

psrinfo -v

Comments are off for this post

Aumentando a área de Swap

October 12th, 2007 | Category: Red Hat

Primeiro verificamos qual é o tamanho total da swap.

free

Depois verificamos quanto de espaço físico temos em disco para poder aumentar na memória swap.

df -hT

Definindo o quanto vamos aumentar na swap, criamos um diretório para guardar a swap

mkdir /swapdir

Depois criamos o arquivo para a swap,com um tamanho de 2GB

dd if=/dev/zero of=/swapdir/swapfile bs=1024 count=2000000

Em seguinda configuramos o nosso arquivo para swapspace (filesystem swap)

mkswap /swapdir/swapfile

Depois iniciamos a nossa segunda área de paginação

swapon /swapdir/swapfile

Para que a mesma seja carregada durante o boot

vim /etc/fstab
/swapdir/swapfile swap swap defaults 0 0

Para verificar se não houve nenhum erro

free

Para voltar a área de swap ao tamanho original

swapoff /swapdir/swapfile
rm -rf /swapdir

Depois remove as entras referentes a entrada na nova swap em /etc/fstab

OBS.:

* No Linux não é necessário que grande preocupação com a memória RAM (mas está também não deve ser desconsiderada), e sim com a memória de paginação (swap).

* Por default utilizados a swap com tendo o dobro da memória principal, exemplo, em um servidor com 1GB Ram deverá ter 2GB de Swap.

* Como um servidor com memória RAM superior a 4GB de memória RAM, a memória swap não precisa necessáriamente ter o dobro da memória RAM, pode-se adotar um tamanho igual.

* A área em disco alocada para a memória de paginação não pode ser maior que 20% do tamanho total do disco físico.

* Este Post pode ser feito em qualquer distribuição Linux.

Comments are off for this post

Logical Volume Manager (LVM2)

October 11th, 2007 | Category: Red Hat

LVM é um metodo de alocação de espaço em disco em volumes lógicos que podem ser facilmente
redimencionados de acordo com a necessidade.
Com LVM alocamos um ou mais discos em um ou mais volumes lógicos. Onde o volume físico (PV)
corresponde a partição física de um disco.
Os Pv são combinados em grupos de volume lógico (VG), com exceção da partição /boot que não
pose ser pertencente ao grupo de volume lógico, pois o boot loader não consegue ler a mesma.

OBS.: É possível criar um ou mais PV por disco.

O grupo de volume lógico (VG) é divido em volumes lógicos (LV), sendo estes ativados no SO
como file system do tipo ext3 ou reiserfs.

Quando o file system chega a sua total capacidade é possível utilizar espaço livre existente
no VG para que seja incrementado no file system e expandindo a partição.

Para implementarmos o LVM é necessário o que Kernel Linux tenha suporte ao mesmo.

1. Criando um volume físico considerando que o mesmo seja /dev/sda1

pvcreate /dev/sda1

* para remover um PV

pvremove /dev/sda1

2. Criar VG (Volume Groups), onde você pode remover ou adicionar PVs no VG posteriormente

vgcreate nome_vg /dev/sda1

* para extender o VG

pvcreate /dev/sdc1
vgextend nome_vg /dev/sdc1

* para remover um PV do VG

vgremove nome_vg

* para reduzir o tamanho do VG (não remove o PV do VG)

vgreduce nome_vg /dev/sdc1

3. Criando um LV

lvcreate -L500M -n nome_lv nome_vg

* para criar um LV alocando uma determinada quantidade de PE (por default um PE tem tamanho igual a 4MB)

lvcreate -l 256 -n nome_lv nome_vg

* para criar um LV, com “strip mapping”, tendo 2 stripes e strip com 4KB (por default o LVM utilizar “linear mapping”)

lvcreate -i2 -I4 –size 2G -n nome_lg_strip nome_vg

* podemos também especificar quais PV dentro de um determinado VG queremos alocar para o Lv

lvcreate -i2 -I4 -L128G -n nome_lv_strip nome_vg /dev/sda1 /dev/sdb1

* para remove o LV (o filesystem não pode estar montado)

umount /dev/nome_vg/nome_lv
lvremove /dev/nome_vg/nome_lv

* para extender o tamanho de um LV em 1G

lvextend -L10G /dev/nome_vg/nome_lv

ou:

lvextend -L+1G /dev/nome_lv/nome_lv

* Esta operação só é possível on-line a partir do Red Hat Enterprise Linux 4, utilizando o seguinte comando:

ext2online /dev/nome_vg/nome_lv

* para reiserfs, utilize o comando “resize_reiserfs”, não existindo estes comandos é necessário realizar um boot no servidor.

4. Criando o filesystem

mkfs.ext3 /dev/nome_vg/nome_lv
mount /dev/nome_vg/nome_lv /lvmfs

* para que o filesystem seja montado durante o boot

vim /etc/fstab
/dev/nome_vg/nome_lv /lvmfs etx3 defaults 1 2

5. Fundindo VGs

pvcreate /dev/sdc1
vgcreate merge_vg /dev/sdc1
vgmerge master_vg merge_vg

* isto faz com que o VG “merge_vg” será inserido no final do VG “master_vg” mas o final da união será o VG “master_vg”

OBS.: Comandos adicionas

* Exibe informações sobre os Pvs

pvs

* Exibe atributos dos PVs

pvdisplay

* Exibe informações sobre os VGs

vgs

* Exibe atributos dos VGs

vgdisplay

* Exibe informações sobre os LVs

lvs

* Exibe atributos dos LVs

lvdisplay

* Lista todos os PVs

pvscan

* Busca todos os VGs

vgscan

* Lista todos os LVs contidos no VG

lvscan

* Mais possibilidades de comandos

lvm help

6. Checagem e correção de um File System no LV

e2fsck.ext3 /dev/nome_vg/nome_lv

OBS.:=> linear mapping: permite que um sistema de arquivos ou banco de dados com mais de um único volume seja criado usando dois discos físicos.

=> strip mapping: um único LV combina o desempenho de 2 PVs, e é usado frequentemente para atingir alta taxa de transferência de dados para o disco.

Fontes:

http://www.tldp.org/HOWTO/LVM-HOWTO/
http://sources.redhat.com/lvm2/
http://www.redhat.com/magazine/009jul05/features/lvm2/

Comments are off for this post

Configurando uma interface de rede TUN/TAP

October 05th, 2007 | Category: Debian

Primeiro carregamos o módulo necessário.

modprobe tun

Depois criamos a interface tap:

tunctl -t tap0 -u login
ip link set up dev tap0

Para que a interface tap0 seja iniciada automáticamente é necessário adicionar as configurações abaixo em /etc/network/interfaces:

auto tap0
iface tap0 inet dhcp
tunctl_user login

A entrada “login” é relacionada ao usuário que irá carregar a interface de virtualização, caso este usuário seja o root estas entradas não são necessárias.
Havendo algum
Pronto sua interface tap, esta finalizada.

Comments are off for this post

Configurando interface Bridge

October 05th, 2007 | Category: Debian

Instação dos pacotes necessários para configuração de uma interface bridge.

apt-get install bridge-utils uml-utilities

Primeiro criamos a bridge

brctl addbr br0
brctl addif br0 eth0 eth1

Depois adicionamos as seguintes configurações no aquivo /etc/network/interfaces

auto br0
iface br0 inet dhcp
bridge_ports eth0 eth1

auto eth0
iface eth0 inet manual

auto eth1
iface eth1 inet manual

Depois basta realizar um restar nas interfaces de rede:

/etc/init.d/networking restart

OBS.: A configuração acima foi realizada para se utilizar com servidor DHCP podendo ser alterada para IP Static.

Comments are off for this post

DHCP Failover

October 03rd, 2007 | Category: Debian


Este é um sistema especifico de servidor DHCP Master e Slave, onde havendo falha no servidor DHCP Master, a distribuição e o controle de IP  passa a ser gerênciado pelo servidor DHCP Slave.

Para criar este contexto é necessário realizar os seguintes passos: (deve ser realizado nos dois servidores)

apt-get install dhcp3-server

Após o “apt” concluir a instalação é necessário realizar a configuração dos servidores DHCP Master e Slave.

No servidor DHCP Master:

Adicione a configuração abaixo no arquivo /etc/dhcp3/dhcpd.conf

ddns-update-style none;
one-lease-per-client true;
option domain-name "meudominio.com";
option domain-name-servers 192.168.0.4, 192.168.0.5;
option subnet-mask 255.255.255.0;
default-lease-time 300;
max-lease-time 300;
authoritative;
failover peer "dhcp" {
	primary;
	address 192.168.0.2;
	port 519;
	peer address 192.168.0.3;
	peer port 520;
	max-response-delay 60;
	max-unacked-updates 10;
	mclt 600;
	split 128;
	load balance max seconds 3;
}
include "/etc/dhcp3/dhcpd.master";

Depois crie o arquivo /etc/dhcp3/dhcpd.master e adicione as configurações abaixo:

subnet 192.168.0.0 netmask 255.255.255.0 {
	pool {
		failover peer "dhcp";
		range 192.168.0.11 192.168.0.254;
		deny dynamic bootp clients;
	}
option routers 192.168.0.1;
}


No servidor DHCP Slave:

Adicione a seguinte configuração no arquivo /etc/dhcp3/dhcpd.conf

ddns-update-style none;
one-lease-per-client true;
option domain-name "meudominio.com";
option domain-name-servers 192.168.0.4, 192.168.0.5;
option subnet-mask 255.255.255.0;
default-lease-time 300;
max-lease-time 300;
authoritative;
failover peer "dhcp" {
	secondary;
	address 192.168.0.3;
	port 520;
	peer address 192.168.0.2;
	peer port 519;
	max-response-delay 60;
	max-unacked-updates 10;
}
include "/etc/dhcp3/dhcpd.slave";

Depois crie o arquivo /etc/dhcp3/dhcpd.slave com as mesmas configurações do arquivo dhcpd.master.

Após basta fazer um start no serviço DHCP em ambos os servidores.

# /etc/init.d/dhcp3-server start

OBS.:

Para realizar testes, basta realizar um stop em um dos servidores DHCP

# /etc/init.d/dhcp3-server stop

E acompanhar os logs através do /var/log/messages

# tail -f /var/log/messages

Outra dica é se precisarmos saber quais IPs foram fornecidos pelo servidor DHCP para o clientes basta verificar o arquivo dhpcd.leases

# less /var/lib/dhcp3/dhcpd.leases

Se o arquivo não for encontrado, crie um arquivo em branco e realize o restart do serviço DHCP.

# touch /var/lib/dhcp3/dhcpd.leases

Comments are off for this post

« Previous Page