Вы находитесь на странице: 1из 10

DISCOS, PARTIES E RAID NO GNU/LINUX

O tratamento lgico das unidades de discos fsicas no sistema GNU/Linux bem diferente de outros
sistemas operacionais como o MS Windows ou Novell Netware. No h por exemplo a associao de letras do alfabeto para indicar parties lgicas no sistema.

Os discos e parties no GNU/Linux possuem as mesmas caractersticas dos sistemas Unix, logicamente pela sua herana e descendncia deste sistema. Como j abordado, tudo no GNU/Linux tratado como arquivo, inclusive as unidades fsicas de discos. Elas so tratadas atravs de drivers de dispositivos, os quais ficam residentes abaixo do diretrio /dev. Abaixo temos algumas representaes de discos fsicos e sua correlao com o arquivo de driver de dispositivo, residente em /dev.

/dev/fd0 - Primeira unidade de disquetes. /dev/fd1 - Segunda unidade de disquetes. /dev/hda - Primeiro disco rgido na primeira controladora IDE do micro (primary master). /dev/hda1 - Primeira partio do primeiro disco rgido IDE. /dev/hdb - Segundo disco rgido na primeira controladora IDE do micro (primary slave). /dev/hdb1 - Primeira partio do segundo disco rgido IDE. /dev/sda - Primeiro disco rgido na primeira controladora SATA ou SCSI. /dev/sda1 - Primeira partio do primeiro disco rgido SATA ou SCSI. /dev/sdb - Segundo disco rgido na primeira controladora SATA ou SCSI. /dev/sdb1 - Primeira partio do segundo disco rgido SATA ou SCSI. /dev/sr0 - Primeiro CD-ROM SCSI. /dev/sr1 - Segundo CD-ROM SCSI. /dev/xda - Primeiro disco rgido XT. /dev/xdb - Segundo disco rgido XT. /dev/st0 Primeira unidade de Fita SCSI (DAT, DLT, AIT, etc).

As letras de identificao de discos rgidos podem ir alm de hdb, em algumas mquinas, por exemplo, a unidade de CD-ROM podem estar localizada em /dev/hdg (Primeiro disco - quarta controladora IDE). importante entender como os discos e parties so identificados no sistema, pois ser necessrio usar os parmetros corretos para mont-los e utiliz-los adequadamente. As unidades de disco removveis com Pen-Driver, geralmente so tratadas com unidades do tipo SATA, tendo seu mapeamento no sistema para os mesmos nomes de dispositivos, como /dev/sdb ou /dev/sdc.

Particionamento de Discos
Os sistemas de arquivos no GNU/Linux somente podem ser criados sob as parties de disco. A padronizao desta estrutura de parties permite que se tenha at quatro (4) parties primrias. Somente em uma partio primria que o sistema poder ser carregado e, neste caso especfico, esta partio deve ser marcada como ativa. Num primeiro exemplo, para o caso de um disco rgido IDE master da primeira interface do computador, poderamos ento ter as seguintes parties primrias:

/dev/hda1 /dev/hda2 /dev/hda3 /dev/hda4 As parties estendidas so uma variante das parties primrias, entretanto, estas no podem conter sistemas de arquivos. Elas servem para acomodar as parties lgicas, ou seja, so um compartimento para parties lgicas. Num disco fsico, somente pode haver uma (1) partio estendida, a qual ocupa o lugar de uma partio primria. Podem ser configuradas at doze (12) parties estendidas, e sua nomeao vai da partio /dev/hda5 at /dev/hda16. Deste modo, num disco fsico pode haver at quinze (15), sendo trs (3) parties primrias, e doze (12 ) parties lgicas (acomodadas em uma partio primria). Ao ser criada uma partio lgica, o sistema automaticamente nomeia a partio /dev/hda4 como primria, para que esta ento receba a primeira partio lgica, a qual ser nomeada como /dev/hda5.

CFDISK Um particionador de Discos


A abordagem preferencial adotada neste curso ser direcionada para o utilitrio de particionamento de discos, chamado CFDISK ( Curses based disk partition table manipulator for Linux) . O CFDISK executado diretamente, procura pelo primeiro disco fsico do sistema, tipicamente o disco representado pelo driver /dev/hda, no caso de um disco rgido IDE ou /dev/sda, para o primeiro disco SCSI ou SATA. Para executar o CFDISK, bastar digitar seu nome no prompt de comando. Entretanto, preciso de direitos administrativos para que voc possa gravar na tabela de parties. Se desejar particionar um outro disco, informe o seu dispositivo como parmetro para o comando CFDISK. Exemplo: # cfdisk /dev/hdc. Abaixo temos a tela do programa CFDISK, o qual foi executado diretamente, sem parmetros.

Vamos utilizar o programa CFDISK para criar uma nova partio no sistema e ento realizar os demais procedimentos para que a mesma fique disponvel para uso pelos usurios.
1- Posicione o cursor em uma rea livre do disco (Free Space) e selecione a opo New . 2- Escolha o tipo de partio, Primria ou Lgica. Escolha Lgica. 3- Escolha o tamanho da partio em MB (megabytes). 4- Escolha o local de criao da partio, incio ou fim do espao disponvel. 5- Defina o tipo de partio, atravs da opo Type. Defina para 83 LINUX. 6- Grave as alteraes na tabela de partio, escolhendo a opo Write. 7- Observe qual foi o nome do dispositivo ( hd??) que o CFDISK definiu para esta partio recm criada (anote), ento reinicialize o sistema (init 6, ou reboot). 8- Formate a partio criada gerando um novo filesystem do tipo Ext3: # mkfs -t ext3 /dev/hda5 --> Cria filesystem do tipo ext3

9- Crie um ponto de montagem para a nova partio criada e monte nele a nova partio. # cd / # mkdir pteste # mount -t ext3 /dev/hda5 /pteste 10- Verificar se a partio foi montada corretamente: # df -h # mount
# cat /proc/mounts

11- Configurar o sistema para montar a partio automaticamente ao iniciar o sistema. Editar o arquivo /etc/fstab:

# vi /etc/fstab # /etc/fstab: static file System information. # # <file System> <mount point> <type> <options> <dump> <pass> proc /proc proc defaults 0 0 /dev/hda1 / ext3 defaults,errors=remount-ro 0 /dev/hda2 none swap sw 0 0 /dev/hdc /media/cdrom0 iso9660 ro,user,noauto 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto 0 0 /dev/hda5 /pteste ext3 defaults 0 2

12- Aps salvar o arquivo (comando do vi :wq), faa o sistema ler o arquivo /etc/fstab e montar todos os filesystems: # mount -a Importante: 1- A verificao dos Filesystems so executadas automaticamente cada 30 montagens, ou ento, somente aps 6 meses. O sistema controla esta configurao. 2- A Tabela seguinte apresenta uma descrio do formato do arquivo /etc/fstab:

Coluna 1a Coluna 2a Coluna 3a Coluna

Descrio Informa o dispositivo a ser montado: (/dev/hda1, /dev/hdc1, etc). Ponto de montagem do filesystem (/mnt, /backup, etc.). J deve existir. Tipo do FileSystem, que podem ser: ext2 ext3 Sistema de arquivos do Linux Sistema ext2 + Journaling

reiserfs Sistema de arquivos com Journaling do Linux. msdos Sistema de arquivos do MS-DOS vfat Sistema de arquivos do MS-Windows 95/98

iso9660 Sistema de arquivos padronizado para unidades de CD-ROM auto 4a Coluna Detecta automaticamente o sistema de arquivos.

Informa as opes de montagem: defaults exec,nouser,async) exec noexec auto noauto user user nouser rw ro sync async dev suid nosuid Montagem padro do dispositivo ( rw,

suid,auto,

Permite a execuo de programas da partio. No permite a execuo de programas da partio. Monta automaticamente a partio. Montagem somente manual. Permite que usurios comuns montem a partio. Permite que usurios comuns montem a partio, mas proibe que outros usurios desmontem. Somente o administrador (root) pode montar a partio. Monta somente para leitura e escrita. Monta somente leitura (read only). Habilita a transferncia de dados sncrona no dispositivo. Habilita a transferncia de dados assncrona no dispositivo. Dispositivo especial de caractere. Habilita que executveis tenham bits suid e sgid Desabilita que executveis tenham os bits suid e sgid.

5a Coluna

Dump do dispositivo 0 1 No far o Dump do dispositivo em tempo de montagem. Executar o Dump (dumpe2fs) na partio

Dump executa verificaes no superbloco do dispositivo em tempo de inicializao. 6a Coluna Executa ou no a Verificao do Filesystem. 0 No faz a verificao no Filesystem (fsck).

1 2

Executa o fsck no root Filesystem (/). Executa o fsck em outras parties, exceto o raiz (/).

Se houverem vrios Filesystem a serem verificados, isto , com valor=2, ento o sistema executa a verificao em modo paralelo se estas pertencerem discos rgidos distintos, caso contrrio, far seqencialmente

Comandos Para Gerncia de Discos, Parties e Filesystems mount


Comando para montar e desmontar parties. Sintaxe: mount [opes] <dispositivo> <ponto_montagem> Opes Descrio -a Monta todos os dispositivos do arquivo /etc/fstab -h Exibe a ajuda do comando. -r Monta o dispositivo somente para leitura. -w Monta o dispositivo para leitura e gravao. -t <tipo_fs> Especifica o tipo de Filesystem, que podem ser: msdos vfat ntfs ext2 ext3 xfs reiserfs iso9660 nfs smbfs Exemplos: #mount -t ext2 /dev/hda5 /mnt/dados #mount -t vfat /dev/fd0 /mnt/floppy.

umount
Desmonta sistemas de arquivos, que no podem estar em uso. Sintaxe: umount <dispositivo> ou <ponto_montagem> Exemplos: # umount /dev/hdc # umount /dev/fd0

fsck
Comando para reparao de Filesystems (File System Check). Sintaxe: fsck [opes] <dispositivo> Opes Descrio

-A -C -N -p -r -f -t <tipo_fs>

Verifica todos os filesystems em /etc/fstab. Apresenta a barra de progresso da ferramenta. No executa, somente simula as aes que seriam executadas. Repara automaticamente o sistema de arquivos. Repara interativamente (pede confirmaes ao usurio). Fora a reparao do Filesystem, mesmo que esteja correto. Tipo de Filesystem: ext2, ext3, reiserfs, ou msdos.

Exemplos: # fsck -t ext3 /dev/hda2 # fsck -t msdos /dev/fd0 # fsck -A Comandos relacionados: fsck.ext2 fsck.mdos

- fsck.ext3 - e2fsck

- fsck.reiserfs - reiserfsck - dosfsck

mkfs
Comando para a criao de um sistema de arquivo. Ele formata logicamente a partio, conforme o tipo
de FileSystem utilizado Sintaxe: mkfs [opes] <dispositivo> Opes Descrio -v Apresenta todos os comandos que esto sendo executados. -c Verifica blocos ruins no dispositivo. -t <tipo_fs> Tipo de Filesystem: ext2, ext3, ext4, reiserfs ou msdos. Exemplos: # mkfs -t ext2 /dev/hdb1 # mkfs -t reiserfs /dev/hdc2 # mkfs -t vfat /dev/hda3 Comandos relacionados:

- mkfs.ext2 - mkfs.msdos - mkdosfs

- mkfs.ext3 - mke2fs

- mkfs.reiserfs - mkreiserfs

resize2fs
Este comando permite o re-dimensionamento do tamanho dos Filesystems do sistema. Ela no aumenta o tamanho das parties, pois isso somente possvel com o aplicativo fdisk ou cfdisk. Se houver necessidade de aumento do tamanho de algum Filesystem, deve-se primeiro aumentar a partio correspondente e ento aumentar o tamanho do sistema de arquivos desejado. Sintaxe: resize2fs [opes] <dispositivo> [tamanho]

Opes Descrio -f Fora o redimensionamento do dispositivo. -p Exibe a barra de progresso do aplicativo tamanho Pode ser referenciado em setores, kilobytes, megabytes ou gigabytes, atravs dos sufixos s, K, M ou G. Se no for especificado a unidade, adotada o tamanho do bloco da partio. No possvel aumentar o tamanho do FileSystem acima do tamanho da partio associada. Exemplos: # resize2fs /dev/hda3 55G # resize2fs /dev/sda1 110G

ser

fdformat Formatao de Disquetes


Este comando formata fisicamente a unidade de disquete, gerando as trilhas e setores. muito til para a re-utilizao de disquetes. Sintaxe: fdformat [opes] <dispositivo><tipo_drive> Opes Descrio -n No realiza a verificao aps a formatao. tipo_drive o tipo de drive de disquete: H1200 Drive de 5 1/4 com 1,2 MB. H1440 Drive de 3 1/2 com 1.44 Mb. Exemplos: # fdformat -n /dev/fd0H1440 --> Formata o Drive fd0 (A) com 1.44 Mb. # fdformat /dev/fd1h1440 --> Formata do Drive fd1 (B) com 1,44 Mb. Importante! Os utilitrios df (disk free) e du (disk usage) podem ser utilizadas para a visualizao dos espaos em discos e parties, utilizados no sistema. Estes comandos so muito utilizados em scripts de backup e para verificao constante do uso do espao em disco, alm claro dos comandos relacionados ao controle de quotas de disco por usurios e grupos. O utilitrio dumpe2fs pode ser utilizado para informar detalhes mais especficos dos Filesystems do sistema. Ele apresenta uma srie de informaes sobre o status e a situao real dos blocos, superblocos, datas de montagem, ltima verificao, etc. muito til para o acompanhamento da sade dos Filesystems do sistema.

RAID no GNU/Linux
O RAID Redundant Array of Independent Disks, que significa Arranjo Redundante de Discos Independentes uma forma de se obter maior segurana no sub-sistema de discos. Existem basicamente dois conceitos que so utilizados pelas ferramentas que implementam o array de discos, que so: espelhamento de dados e a diviso de dados (data striping). Nestes conceitos ento ns temos o Espelhamento de Discos, tambm denominado de Raid nvel 1 e a Distribuio de Dados, ou Data Striping, que denominada de Raid nvel 5, caso esta ltima divida os dados em discos distintos, mas mantenha a integridade via paridade. Existem outras definies mais profundas com relao aos Array de Discos, entretanto, como as principais inovaes nesta rea da tecnologia esto basicamente empregadas diretamente em placas de RAID e/ou poderosas interfaces HBA, no haver necessidade e aprofundamento, pois o Raid que iremos implementar ser baseado em software. O sistema de Raid no GNU/Linux que apresentaremos ser baseado na ferramenta mdadm que est contida no pacote de mesmo nome. H tambm o pacote raidtools que apresenta outras alternativas de comandos e, caso necessrio, voc tambm poder instalar no sistema. A idia bsica da implementao de um Array de discos definida sobre dispositivos de armazenamento, ou seja, um disco rgido completo (hda, hdb, sda, etc), ou somente algumas parties deste (hda1, hda3, hda5, etc). Por questes de praticidade e prtica de laboratrio, iremos apresentar a criao de um Array de Discos baseado em parties lgicas, pr-existentes no sistema.

Roteiro para a criao de um Array de Discos:


1- Verificar se o pacote mdadm est instalado no sistema, caso contrrio o mesmo dever ser instalado: # apt-get install mdadm 2- Como no temos disponveis espao nos discos do sistema, iremos simular parties em disco, atravs da nossa conhecida tcnica de criao de Filesystem em arquivos. Proceda conforme segue: # Criar trs arquivos com 100 Megabytes de tamanho cada um: # # dd if=/dev/zero of=/tmp/fs_um.img bs=1024 count=100000 # dd if=/dev/zero of=/tmp/fs_dois.img bs=1024 count=100000 # dd if=/dev/zero of=/tmp/fs_tres.img bs=1024 count=100000 # #Associar os arquivos aos dispositivos de loop: # # losetup /dev/loop1 /tmp/fs_um.img # losetup /dev/loop2 /tmp/fs_dois.img # losetup /dev/loop3 /tmp/fs_tres.img 3- Criar o Array de discos juntando as duas parties anteriormente criadas (raid 1): # mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/loop1 /dev/loop2 Obs.

Ao executar o procedimento acima, alterne a janela de terminal para a tty10, atravs do comando Ctrl + Alt + F10 e acompanha a sincronizao das parties. Importante: Se no sistema no existirem os devices de Array em /dev, ou seja, os dispositivos md0, md1,..md15, ento devero ser criados manualmente, conforme segue: a- Copiar o comando MAKDEV do diretrio /dev para o diretrio /tmp. b- Executar o comando: /tmp/MAKDEV md c- Mover os arquivos md* para o diretrio /dev: # mv /tmp/md* /dev. 4- Aps o Array estar criado e sincronizado, editar o arquivo /etc/mdadm/mdadm.conf, deixando conforme segue: DEVICE ARRAY /dev/loop1 /dev/md0 /dev/loop2 devices=/dev/loop1, /dev/loop2

5- Crie o sistema de arquivos Ext3 neste novo dispositivo: # mkfs.ext3 /dev/md0 6- Crie um ponto de montagem chamado array para este novo dispositivo em /mnt: # mkdir /array 7- Monte o dispositivo de Array no ponto de montagem anterior: # mount -t ext3 /dev/md0 /array 8- Ajuste o arquivo /etc/fstab para que monte automaticamente o Array criado: /dev/md0 /array ext3 defaults 0 2 9- Verificar os dispositivos: # mdadm -E /dev/loop1 # mdadm -E /dev/loop2 10- Verificar o status detalhado dos dispositivos: # mdadm --detail --scan # mdadm --detail /dev/md0 11- Simular uma falha, caso voc precise substituir um dispositivo: # mdadm /dev/md0 --fail /dev/loop1 # mdadm --detail /dev/md0 12- Remova o dispositivo com problemas, no caso, /dev/loop1: # mdadm /dev/md0 --remove /dev/loop1 # mdadm --detail /dev/md0 13- Retorne o dispositivo anterior, ou ento um novo dispositivo: # mdadm /dev/md0 --add /dev/loop1 # mdadm --detail /dev/md0 14- Parando e iniciando o Array: # umount /dev/md0 (o dispositivo precisa ser desmontado) # mdadm -S /dev/md0 (--> parar o Array ) # mdadm -As /dev/md0 ( --> Iniciar o Array ).

Вам также может понравиться