Rodrigo Caetano Filgueira
Administração de Sistemas de Armazenamento Linux 40h Gerenciamento de disco Particionamento Quotas Raid Backup Cluster HA - High Availability(Alta Disponiblidade) Beowulf (Alto Desempenho)
Estrutura de Diretórios Linux
Gerenciamento de Discos
Sistemas de Arquivos Dentre os sistemas de arquivos suportados pelo GNU/Linux estão os sistemas EXT3 e ReiserFS, que apresentam excelentes tempos de resposta em suas tarefas e possuem recursos avançados de recuperação de dados em casos de desastres e falhas. Essa característica de recuperação é chamada de "journaling" (registro de ações). Sistemas que não possuem "journal" são mais suscetíveis às falhas e perdas de dados. Além disso, em caso de parada do sistema ou falta de energia, o tempo necessário para retomar as operações é elevado, já que uma verificação de integridade é realizada em cada arquivo do sistema. Nas partições que possuem milhares de arquivos essa verificação pode levar horas. Os sistemas de arquivos com suporte a "journal" são recomendados por aumentarem a disponibilidade (High Availability - HA) em servidores GNU/Linux. A alta disponibilidade é medida pelo tempo em que o servidor se encontra fora de serviço por falhas no sistema operacional ou no hardware. Quanto menor o tempo em que o sistema estiver indisponível, maior é o índice de disponibilidade, medido em uma escala de casas decimais que tende a se aproximar de 100%, conforme ilustração.
Utilitários mount umount df du fdisk mkfs fsck mkswap debugfs dumpe2fs tune2fs
FSTAB
FSTAB Coluna 1 - É a partição/disco a ser montado. No nosso exemplo temos duas entradas diferentes: LABEL=/ e /dev/hdb1 Utilizamos a primeira opção quando, ao formatarmos o disco/partição, damos ao mesmo um nome (LABEL) e a segunda, obviamente, quando não especificamos nenhum nome. Coluna 2 - Indica o local que o disco/partição deve ser montado. No nosso exemplo temos 4 discos no sistema, particionados de várias formas. Disco 1: /boot, /, /var e o Swap Disco 2: /home Disco 3: /backup Disco 4: /backup2 Nota: Apesar de saber dos problemas de um sistema de backup para um disco interno da máquina (falta de segurança, falta de protecção contra incêndios, desabamento e etc), devido a contenções de gastos da empresa, foi a única maneira permitida pelos proprietários (assunto para um próximo artigo). Coluna 3 - Curto e grosso, é onde informamos o sistema de arquivo do disco/partição. Temos disponíveis "algumas" opções: adfs, affs, autofs, coda, coherent, cramfs, devpts, efs, ext2, ext3, hfs, hpfs, iso9660, jfs, minix, msdos, ncpfs, nfs, ntfs, proc, qnx4, reiserfs, romfs, smbfs, sysv, tmpfs, udf, ufs, umsdos, vfat, xenix, xfs. Recarregando o fstab # mount -a Este comando recarrega o arquivo do fstab sem reiniciar o sistema.
FSTAB A coluna 4 descreve as opções de montagem da partição/disco associadas ao sistema de ficheiros. Aqui podemos fazer várias configurações afim de personalizarmos nosso sistema. Uma opção muito utilizada por administradores de sistemas é a opção de bloquear o uso da unidade de disquetes e cdrom (não que eu seja de acordo, sou a favor da liberdade). Vamos as opções:auto, noauto - Diz para o sistema se deve ou não montar automaticamente. Se colocar a opção "auto", o sistema irá montar no boot, se estiver "noauto", terá que montar o disco/partição manualmente. Default: auto. user, nouser - Aqui é onde permitimos ou não os usuários montarem o disco/partição. Colocando "user", qualquer usuário consegue montar, se colocarmos "nouser", apenas o super usuário conseguirá montar (root). Default: user. exec, noexec - Permite ou não a execução de binários no sistema de arquivos. Default: exec (imagine que, por engano, coloque noexec no /). rw - Monta o sistema de ficheiros com a opção Read-Write, ou seja, leitura e escrita. ro - Monta o sistema de ficheiros com a opção Read-Only, ou seja, somente leitura. sync, async - Diz ao sistema como deve ser a sincronização de dados (Input/output). Explicando melhor, diz como o sistema deve proceder quando tem que escrever no disco, se deve guardar em memória primeiro, aguardar confirmação e então escrever ou se escreve directamente (fisicamente) no disco/partição/disquete. Um exemplo, são as "pendrives", quando você escreve um documento de texto na sua pen, se estiver a opção sync, o sistema escreve na hora o documento na pen, se estiver async, o sistema apenas escreve o documento quando você for desmontar a pen. O grande problema coloca-se quando o utilizador esquece de desmontar o drive. Default: async. suid, nosuid - Habilita/desabilita o bit de set-user-identifier ou set-group-identifier. defaults - Diz ao sistema para carregar as opções padrão, que são: rw, suid, dev, exec, auto, nouser e async.
FSTAB Coluna 5 - Esta coluna é a opção de dump do sistema, que nada mais é do que um utilitário de backup do sistema. O dump "lê" aqui o número e decide se o sistema deve ou não ser feito backup. Se estiver 0 (zero), o dump simplesmente ignora o disco/partição. Coluna 6 - Esta coluna é utilizada pelo fsck para a verificação dos discos/partições. Partições/discos de sistema normalmente tem esta opção como 1, outras partições do sistema como 2. Sistemas de arquivos no mesmo disco são verificados sequencialmente, enquanto que sistemas de arquivos em discos diferentes são verificados ao mesmo tempo, utilizando a função de paralelismo (se o hardware permitir). Se colocar esta opção como 0 (zero), o fsck conclui não ser necessário a verificação aqui.
Quota Instalar utilitário #urpmi quota Modifique o arquivo /etc/fstab /dev/hda3 /home ext3 defaults,usrquota,grpquota 1 1 usrquota permite aplicação de cota por usuário na partição grpquota permite aplicação de cota por grupo na partição Criar arquivo de dados das cotas e mudar as permissões exclusivas para o root(para quota versão-2) # touch /home/aquota.group # touch /home/aquota.user # chmod 600 /home/aquota.* Remontar o sistema de arquivo # mount -o remount /home Verificar a integridade do sistema de arquivo # quotacheck auvg As opções usadas são as seguintes: a Verifica todos os sistemas de arquivo montados localmente com quotas habilitadas v Exibe informações verbais de status enquanto a verificação de quotas acontece u Verifica informações de quotas de disco do usuário g Verifica informações de quotas de disco do grupo
Quota Editar quotas #edquota u <usuário> #setquota -a -u <usuário> 5000 7000 150 250 Editar grace period #edquota -t Ligar/desligar quotas #quotaon -a #quotaoff -a Para que possamos visualizar o uso em disco e seus limites, usamos o utilitário quota. # quota <usuário>
Atividade Pág 11 apostila.
RAID NÍVEIS DE RAID RAID LINEAR -> é transformar vários discos em um único. Não tem redundância. RAID-0 -> é igual ao linear. A grande diferença é que no RAID-0 o desempenho é melhor. Ele usa o conceito de Data Stripping --> segmentação de dados. Não é considerado o RAID verdadeiro. RAID-1 -> mais conhecido como espelhamento (mirror). Este sim, tem tolerância a falhas. Os dados são duplicados em outro HD. Aqui, existe perda de 50%. Caso um disco falhe o outro estará com os dados duplicados. RAID-2 e RAID-3. Este dois tipos raramente são utilizados. O Linux também não oferece suporte a RAID-3 por software. RAID-4 -> Um disco guarda informações de paridade. Quando um disco falha os dados podem ser recuperados usando a informação de paridade. RAID-5 -> Este é o modelo ideal. Mais as informações de paridade são guardada em todos os discos. São necessários 5 discos.
RAID Instalar pacotes: mdadm Criar o raid #mdadm C v /dev/md0 l 1 n 2 /dev/hdb1 /dev/hdb2 C criar Array v Exibir resultado do comando l Nível do RAID n Número de discos ou partições que compõe o RAID # mkfs.ext3 /dev/md0 # mkdir /mnt/raid # mount -t ext3 /dev/md0 /mnt/raid No /etc/fstab adicione a linha /dev/md0 /mnt/raid ext3 defaults 0 0
RAID Modificar arquivo de configuração #mcedit /etc/mdadm.conf DEVICE /dev/hdb1 /dev/hdb2 ARRAY /dev/md0 devices=/dev/hdb1,/dev/hdb2 Verificando o status do RAID: #mdadm D /dev/md0 Simulando uma falha: # mdadm -f /dev/md0 /dev/hdb1 Voltando o HD: # mdadm -a /dev/md0 /dev/hdb1 Monitorando o RAID: #cat /proc/mdstat Parar o RAID: # mdadm -S /dev/md0 Reiniciar o RAID: # mdadm -R /dev/md0