Академический Документы
Профессиональный Документы
Культура Документы
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.
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:
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
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
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.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
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.
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 ).