terça-feira, 7 de julho de 2009

Windows Server 2003 – Essentials

Conhecendo o Sistema Operacional da Família Windows Server 2003 Edition.

O Windows Server 2003 é composto de 4 distribuições, cada uma com suas características que diferenciam no momento da implementação de alguns serviços ou até mesmo a forma de administrá-los.

A nossa primeira versão é o Windows Server 2003 Standard, é um sistema mais voltado para empresas de pequeno porte, ele possui as principais ferramentas de administração e serviços básicos. Essa edição suporta até 4GB de memória RAM e multi processamento de até 2 núcleos.

A versão Windows Server 2003 Web Edition, especialmente voltada para hospedagem e criação de web sites. Nessa versão encontramos por nativos, o ISS 6.0, o ASP.NET e o Microsoft .NET Framework . O Server 2003 Web Edition não tem suporte a Activedirectory e também não pode ser atualizado para nenhum outro sistema operacional da Família 2003. Essa edição suporta até 2GB de memória RAM e multi processamento de até 2 núcleos.

Temos também a versão Windows Server 2003 Enterprise, é a versão recomendada para medias e grandes empresas. Nela encontramos um sistema operacional extremamente estruturado para um suporte ideal para um servidor de Dados, ou Web, ou printserver, ou Serviços de Banco de Dados. Possui também um suporte de Cluster de até 8 nós. Ele também da suporte a processadores x32 e x64bits. Essa edição suporta até 32GB de memória RAM na versão de x32bits e 64GB de memória RAM na versão de x64bits, e multi processamento de até 8 núcleos.

E há também a versão Windows Server 2003 Data Center, uma versão voltada apenas para grande porte, onde possui uma grande confiabilidade. Desenvolvido especialmente para missões criticas, como banco de dados, transações em tempo real em larga escala e consolidação de servidores. Ele também da suporte a processadores x32 e x64bits. Essa edição suporta até 64GB de memória RAM na versão de x32bits e 128GB de memória RAM na versão de x64bits, e multi processamento de até 32 núcleos.

Configurando o Windows Server 2003

O Windows Server é bem simples a configuração pois o Windows em si é bem explicativo. A Melhor coisa antes de tentar configurar o Windows Server é buscar conceitos como sobre redes, protocolos como TCP/IP, comandos básicos de rede como ping, nslookup, tracert, ipconfig, telnet e etc. São comandos básicos e extremamente úteis para uma administração básica.

O primeiro a ser analisado é o hardware. Primeiro devemos analisar o Hardware num todo e verificar se há condições de suportar o sistema operacional Windows Server 2003.

Os requisitos Básicos para a configuração do Windows Server 2003 são:

· Velocidade de processamento mínimo e recomendado nas Versões Data Center e Enterprise 400Mhz / 733Mhz Itanium.

· Velocidade de processamento mínimo e recomendado nas Versões Web edition e Standard 133Mhz / 550Mhz Itanium.

· Memória RAM mínimo e recomendado na Versão Data Center 512Mb / 1GB e Enterprise 128Mb / 256Mb.

· Memória RAM mínimo e recomendado na Versão Web Edition e Standard 128Mb / 256Mb.

· Multiprocessamento na versão Data Center da suporte mínimo à 8 Núcleos e no Maximo 64 núcleos.

· E em todas as versões o mínimo em volume de disco é de 1.5GB.

Conhecendo Ferramentas para Estudo

A Ferramenta que utilizo para simulação e estudo é o VMware Server, ferramenta gratuita e muito eficaz para virtualização em baixa escala que é possível aplicar em sua empresa ou somente para estudos. E também existem outras ferramentas que oferecem os mesmos recursos, mas cada uma com sua particularidade como, o Virtualbox (SUN), Virtual PC (MICROSOFT), XEN, entre outros.

sexta-feira, 2 de janeiro de 2009

Quotas em Disco

Concerteza é uma das ferramentas que salvam administradores do temido "DISCO CHEIO". Em minha opinião é a melhor forma de evitarmos que usuarios pare nossos serviços. Temos que tratar Servidores de dados como um copo d'agua quanto mais cheio mais perigoso se torna. No linux podemos fazer a configuracao de 2 formas, por inodes e por blocos. Sempre temos que analisar qual é a opção mais viavel porque vejamos, temos uma particao de 100Mb e configuramos nossas cotas por Inodes e cada usuario só pode obter 20inodes em nossa partição, até ai é uma divisão justa mas, se um dos usuarios faz um download de 90Mb, ele já possui 90% da particao com um único Inode, e os outros usuarios terao que dividir 10% da particao entre si.
Temos que efetuar um estudo e uma estrategia para analisar a situação da rede e vincular a melhor configuração com o ambiente. Para evitarmos grandes imprevistos.

Configuracao:

Primeiro temos que instalar o pacote de quotas logo após, configurar o /etc/fstab adicionando as configurações de cotas nas partições desejadas e os arquivos são: usrquota – grpquota.

Ex do fstab:

# vim /etc/fstab

/dev/sdb1 /home ext3

defaults,usrquota,grpquota 0 0

(nesse caso só estamos adicionando as configurações de cota dando suporte a usuarios e grupos do sistema.)

Logo após devemos remontar a partição indicada no fstab, para que as alterações tenham efeito. Comando indicado:
# mount –o remount /home

Aps isso verifique se foi realmente montado com o comando mount

Agora teremos que criar os arquivos de configuração de quotas.
#quotacheck –cugm /home logo após verifique se os arquivos usrquota e grpquota foram criados no local indicado.

Agora veremos se o sistema de quotas está ativo. Execute o comando,
# repquota –a –v A saida do comando, trará a exibirá os usuarios e configuração do sistema de quotas, ainda inexistente.

O proximo passo é configurar as cotas, mas iniciaremos por usuarios.
#edquota –u maicon

Vamos configurar o usuario maicon da seguinte forma, que ele só poderá utilizar apenas 20Mb de Bloco e um limite maximo de 30Mb e criação de 100Inodes e limite maximo de 150.

Indico que utilize o terminal no modo grafico para ter uma melhor visualização de todo o ambiente.


Saida do comando anterior:


Disk quotas for user maicon (uid 1001):

Filesystem Blocks soft hard inodes soft hard
/dev/sdb1 0 20000 30000 0 100 150

Agora vamos entender o que foi feito no arquivo.
Primeiro ele mostra qual usuario está sendo alterado e seu UID, logo após indica a qual filesystem pertence.

O campo blocks não pode ser alterado porque ele indica quantos blocos o usuario utilizou.
O campo soft indica a quota por bloco que no nosso caso é 20mb.
O campo hard indica a quota maxima por bloco que é 30mb.

O campo inodes indica a quantidade de inodes criados aquele usuario possue.
O campo soft indica a quota por Inodes que no nosso caso foi 100.
O campo hard indica a quota maxima por inodes que é 150.

Logo após da configuração efetuada execute novamente o comando # repquota –a –v que exibirá as novas configurações no usuario indicado.

No nosso caso configuração quotas por bloco e por inode, então a primeira que alcançar o valor Soft iniciará o tempo de tolerancia do sistema ao

Usuario para que se libere o espaço e que ele permaneça abaixo do limite indicado.

Para configurar o tempo de tolerancia execute o comando:
# edquota –t

Dentro da configuração do Edquota –t

teremos a possibilidade de definir o tempo de tolerancia que por padao é 7dias.

E com o comando repquota –a –v é exibido nas primeiras linhas o tempo de tolerancia.

Para testarmos se realmente está fucionando devemos logar com o usuario configurado e podemos utilizar um pqno script para lotar disco e criar arquivos.

# echo teste > a; while true; do cat a >> b; cat b >> a; done - (lota disco)

# I=1 ; while true; do touch arq$I; let I++ ; done - (cria arquivos)

Com o comando repquota –a –v vemos o estouro e o tempo de tolerancia ativa, e quando efetuarmos a liberação do espaço em disco automaticamente é liberado no sistema de quotas.

E uma configuração que deixa a administração mao na roda é na hora da adição dos usuarios, pq já pensou fazer isso em todos os usuarios.?

Então edite o arquivo /etc/adduser.conf, na linha 61 adicione o usuario que você quer ter como exemplo, para que todos os usuarios que seje adicionado replique as configurações para ele.

E para usuarios já existentes é necessario apenas utilizar o seguinte comando edquota –p maicon galileu a interpretação seria a seguinte. Replicar configurações do usuario maicon para o usuario galileu.

A uma grande necessidade de checar o arquivo de quotas de forma periodica então é necessario criar um script basico com os comandos:
quotaoff –v /home quotacheck –vug /home quotaon –v /home

LVM

Logical Volume Maneger, uma solucao bem pratica para usuarios linux.

PV (Physical Volume) - Os volumes físicos são as partições de discos alocadas para o LVM. No Linux é necessário criar a partição e alterar o tipo para "Linux LVM", tipo 8e do fdisk, para que ela possa ser utilizada no LVM.

VG (Volume Group) - Um conjunto de PV pode ser necessário para criar filesystems maiores que a limitação física de um disco rígido. Esses PV são agrupados em um VG.

PE (Physical Extent) - Quando um PV é inserido em um VG o LVM o divide em várias partes de igual tamanho e essas partes são associadas a uma LE (Logical Extent), o menor valor de alocação dentro de um VG (do ponto de vista do LVM). No AIX são conhecidos como PP (Physical Partition) e LP (Logical Partition), respectivamente.

LV (Logical Volume) - Esse elemento é uma área de alocação das LE, na qual criamos o filesystem. Ao criarmos um volume lógico, recebemos um device para referenciarmos, ao criar ou manipular, o sistema de arquivos. O nome do device é /dev/NOME_DO_VG/NOME_DO_LV.

VGDA (Volume Group Descriptor Area) - Numa analogia mais grosseira, essa área é uma tabela de alocação do VG. Nela há todos os dados do VG. É dividida em quatro partes básicas: descritor de PV, descritor de VG, descritor de LV e vários descritores de PE e LE. Os backups automáticos da VGDA são guardados em /etc/lvm-conf/.

Você precisa de pelo menos uma partição com o tipo "Linux LVM", o que não faria sentido se considerarmos que um dos principais objetivos do LVM é concatenar discos, mas em todo caso vamos seguir com esse conceito.


Primeira providência é criar a partição LVM. Vamos usar a hipótese que nossos discos são Sata que estao em diversas controladoras. Assim seu device é /dev/sdb – sdc -sdd.

Execute o cfdisk, como root, apontando o dispositivo acima;

Crie a partição ;

Altere o tipo da partição para 8e Linux LVM;

Saia do fdisk salvando a configuração.

Agora pode conferir as partições criadas com o comando "cfdisk /dev/sdb". Se tudo foi feito corretamente você vai ver que a nova partição vai estar com o tipo "Linux LVM". Neste ponto já podemos começar a configurar o LVM.

Nessa etapa vamos ser pontuais e passaremos os comandos para criação dos PV, VG, LV e filesystems. Vamos imaginar que temos tres discos, /dev/sda1,
/dev/sdb2 e /dev/sdc1.

1. Criar os PV (Physical Volumes), com o comando:
# pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1
(aqui estamos criando as Pv's apontando as partiçoes escolhidas para criacao da VG logo após execute o comando pvs

ou pvscan para a exibicao das Pv's criadas)


2. Criar o VG (Volume Group):
# vgcreate vg001 /dev/sdb1 /dev/sdc1 /dev/sdd1 (aqui estamos indicando as Pv's que farão parte da VG vg001 logo após execute o comando vgs

ou vgscan para a exibicao das Vg's criadas)

3. Criar o LV (Logical Volume):
# lvcreate -L 5G -n lv001 vg001 (aqui estamos criando as Lv's indicando com –L (Size) o tamanho da particao e com –n o nome da Lv (lv001) e indaca a qual Vg ela pertence (vg001)
logo após execute o comando lvs

ou lvscan para a exibicao das Pv's criadas

OBS: o tamanho do Logical Volume deve ser informado acompanhado da ordem de grandeza em bytes, ex.: 100M, 10G, 1T.

5. Criar o filesystem:
# mkfs –t ext3 /dev/vg001/lv001 (aqui estamos aplicando o File System no formato ext3)

opos tudo isso devemos montar a particao criada no local desejado.

Um fato interessante do LVM é redimensionar a particao sem necessidade de formata-la. A indicacao no proprio manual do LVM é que sempre faça redimensionamento para valores acima do indicado. Como por exemplo estender uma particao de 512mb para 1Gb. Mas isso é indicado em partições que contenha arquivo pois o risco de perda de arquivo é muito grande. Caso contrario, fique avontade para fazer o gerenciamento da melhor forma.

Para redimensionar uma Lv usamos os seguintes comandos.

# lvextend –L +512mb /dev/vg001/lv001 (neste caso vemos que estendemos a particao para mais 512mb entao está particao ficará com 5,5Gb seguindo os exemplos anteriores.) E para fazer a reducao da particao seria os mesmos parametros só que com o comando lvreduce –L -512Mb /dev/vg001/lv001.

# e2fsck –f /dev/vg001/lv001 (com esse comando executaremos um teste na Lv redimensionada para verificacao de erros existentes, caso a saida do comando seje negativa devemos usar o comando resize2fs /dev/vg001/lv001

E para a remoção das LVs VGs e PVs basta executar os comandos na seguinte ordem;

# lvremove /dev/vg001/lv001

#vgremove vg001

#pvremove /dev/sdb1


Compilacao de Progamas no Linux

Para todo iniciante esse é o grande marco, Instalar um Programa.

Mas é bem simples, o essencial é conhecer a estrutura do Sistema Operacional, assim tudo fica "Facin, Facin...". Não existe muita teoria em relacao a compilacao de programas. A instalacao é bem automatizada atraves de Scripts existentes no pacote do programa MAKEFILE neles vem com padrao com tres ações INSTALL CLEAN e DEFAULT. Mas o indicado é sempre ler a documentacao do programa INSTALL e README.

Entao vamos entrar em ação!

Primeiro vamos instalar os pacotes de compilacao. (Make - gcc - g++)

# aptitude install make gcc g++

Agora vamos executar o Script de execução.

# ./configure

# make

# make install

Logo após a instalacao vamos efetuar a limpeza dos arquivos ultilizados pelo make.

# make clean

E para remover o programa é simples. É só ultilizar o inverso.

# make uninstall (ProGraMa)

É bem simples a instalacao e sem segredos.

Mas sempre na duvida leia a documentacao do programa, ele tem todas as informações contidas aqui.