| Red Hat Enterprise Linux 4: Introdução à Administração de Sistemas | ||
|---|---|---|
| Anterior | Capítulo 5. Administrando o Armazenamento | Próxima |
Dependendo de sua experiência anterior como administrador de sistemas, administrar o armazenamento sob o Red Hat Enterprise Linux pode ser familiar ou completamente estranho. Esta seção aborda os aspectos de armazenamento específicos ao Red Hat Enterprise Linux.
Assim como todos os sistemas operacionais parecidos com o Linux, o Red Hat Enterprise Linux usa arquivos de dispositivo para acessar todo o hardware (incluindo drives de disco). No entanto as convenções de nomenclatura para dispositvos de armazenamento anexos variam ligeiramente entre as diversas implementações do Linux e parecidas com o Linux. Aqui estão os nomes destes arquivos de dispositivo sob o Red Hat Enterprise Linux:
![]() | Nota |
|---|---|
Os nomes dos dispositivos sob o Red Hat Enterprise Linux são determinados no momento da inicialização (boot time). Consequentemente, as alterações efetuadas na configuração do hardware de um sistema podem resultar na alteração dos nomes dos dispositivos quando o sistema reinicializar. Por causa disso, os problemas podem ocorrer, caso as referências dos nomes dos dispositivos não forem adequadamente atualizadas nos arquivos de configuração do sistema. |
Sob o Red Hat Enterprise Linux, os arquivos dos dispositivos para drives de disco aparecem no diretório /dev/. O formato do nome de cada arquivo depende de diversos aspectos do hardware existente e como este foi configurado. Os pontos importantes são:
Tipo de dispositivo
Unidade
Partição
As primeiras duas letras do nome do arquivo do dispositivo referem-se ao tipo específico do dispositivo. Para drives de disco, há dois tipos de dispositivos mais comuns:
sd — O dispositivo é baseado na SCSI
hd — O dispositivo é baseado na ATA
Para mais informações sobre ATA e SCSI, consulte a Seção 5.3.2.
Na sequência das duas letras do tipo de dispositivo, há uma ou duas letras que especificam a unidade. A letra que designa a unidade começa com "a" para a primeira unidade, "b" para a segunda e assim por diante. Consequentemente, o primeiro disco rígido de seu sistema pode aparecer como hda ou sda.
![]() | Dica |
|---|---|
A habilidade do SCSI em lidar com um número grande de dispositivos precisou da adição de um segundo caractere de unidade para suportar sistemas com mais de 26 dispositivos SCSI anexos. Sendo assim, os primeiros 26 discos rígidos SCSI de um sistema seriam nomeados de sda a sdz, os próximos 26 seriam nomeados de sdaa a sdaz e assim por diante. |
A parte final do nome do arquivo de dispositivo é um número representando uma partição específica no dispositivo, começando por "1." O número pode ter um ou dois dígitos, dependendo do número de partições gravadas no dispositivo específico. Uma vez conhecido o formato do nome do arquivo de dispositivo, é fácil entender as referências de cada um. Aqui estão alguns exemplos:
/dev/hda1 — A primeira partição do primeiro drive ATA
/dev/sdb12 — A décima-segunda partição do segundo drive SCSI
/dev/sdad4 — A quarta partição do trigésimo drive SCSI
Há situações nas quais é necessário acessar o dispositivo inteiro e não somente uma partição. Isso normalmente é feito quando o dispositivo não está particionado ou quando não suporta partições padrão (como o drive de CD-ROM). Nestes casos, o número da partição é omitido:
/dev/hdc — O terceiro dispositivo ATA inteiro
/dev/sdb — O segundo dispositivo SCSI inteiro
No entanto, a maioria dos drives de disco usa partições (mais informações sobre o particionamento sob o Red Hat Enterprise Linux podem ser encontradas na Seção 5.9.6.1).
Como a adição ou remoção de dispositivos de armazenamento em massa pode resultar em alterações nos nomes de arquivo dos dispositivos existentes, existe o risco do armazenamento não estar disponível quando o sistema reinicializar. Eis um exemplo da sequência de eventos acarretando este problema:
O administrador de sistemas adiciona um novo controlador SCSI para poder adicionar dois novos drives SCSI ao sistema (o canal SCSI existente está totalmente cheio)
Os drives SCSI originais (incluindo o primeiro drive do canal: /dev/sda) não são alterados de modo algum
O sistema é reinicializado
Agora, o drive SCSI previamente conhecido como /dev/sda, tem um novo nome porque o primeiro drive SCSI do novo controlador é o /dev/sda
Na teoria, este parece ser um grande problema. Entretanto, na prática, isso raramente é um problema por diversas razões. Primeiro: reconfigurações do hardware desse tipo raramente acontecem. Segundo: é provável que o administrador de sistemas tenha agendado um tempo fora do ar (downtime) para efetuar as alterações necessárias; o tempo fora do ar requer um planejamento cuidadoso para garantir que o trabalho sendo feito não leve mais que o tempo alocado. Esse planejamento tem o benefício colateral de trazer à tona todas as questões relativas às alterações de nomes dos dispositivos.
Entretanto, algumas empresas e suas configurações de sistemas tem maior probabilidade de passar por essa situação. As empresas que requerem reconfigurações frequentes do armazenamento para atender às suas necessidades frequentemente usam hardware capaz de reconfiguração sem a necessidade de tempo fora do ar. Tal hardware, conhecido como hotpluggable, facilita a adição ou remoção de armazenamento. Porém, sob tais circunstâncias, as questões de nomenclatura de dispositivos podem tornar-se um problema. Felizmente, o Red Hat Enterprise Linux contém funcionalidades que amenizam o problema das alterações nos nomes dos dispositivos.
Alguns sistemas de arquivo (abordados na Seção 5.9.2) têm a habilidade de armazenar uma etiqueta — uma sequência de caracteres que pode ser usada para identificar unicamente os dados contidos no sistema de arquivo. As etiquetas podem ser usadas ao montar o sistema de arquivo, eliminando a necessidade do uso do nome do dispositivo.
As etiquetas de sistema de arquivo funcionam bem; no entanto, devem ser únicas em todo o sistema. Se houver mais de um sistema de arquivo com a mesma etiqueta, talvez você não consiga acessar o sistema de arquivo desejado. Note também que as configurações do sistema que não utilizam sistemas de arquivo (alguns bancos de dados, por exemplo) não podem usufruir das etiquetas de sistema de arquivo.
O software devlabel tenta resolver a questão da nomenclatura de dispositivos de maneira diferente que as etiquetas do sistema de arquivo. O software devlabel é executado pelo Red Hat Enterprise Linux sempre que o sistema reinicializa (e sempre que dispositivos hotpluggable são inseridos ou removidos).
Quando o devlabel é executado, lê o arquivo de configuração (/etc/sysconfig/devlabel) para obter a lista dos dispositivos pelos quais é responsável. Para cada dispositivo da lista, há uma ligação simbólica, ou symbolic link, (escolhida pelo administrador de sistemas) e o UUID (IDentificador Único Universal) do dispositivo.
O comando devlabel garante que a ligação simbólica sempre refere ao dispositivo originalmente especificado — mesmo que o nome deste dispositivo tenha mudado. Dessa maneira, um administrador de sistemas pode configurar um sistema para referir ao /dev/projdisk ao invés do /dev/sda12, por exemplo.
Como o UUID é obtido diretamente pelo dispositivo, o devlabel deve somente procurar pelo UUID correspondente no sistema e atualizar a ligação simbólica apropriadamente.
Para mais informações sobre o devlabel, consulte o Guia de Administração de Sistemas Red Hat Enterprise Linux.
O Red Hat Enterprise Linux inclui suporte para muitos sistemas de arquivo conhecidos, possibilitando acessar facilmente os sistemas de arquivo de outros sistemas operacionais.
Isso é especialmente útil em cenários de boot duplo e ao migrar arquivos de um sistema operacional para outro.
Os sistemas de arquivo suportados incluem (mas não estão limitados a):
EXT2
EXT3
NFS
ISO 9660
MSDOS
VFAT
Os cenários seguintes exploram os sistemas de arquivo mais conhecidos em detalhes.
Até recentemente, o sistema de arquivo ext2 foi o sistema de arquivo padrão para o Linux. Como tal, recebeu testes intensivos e é considerado um dos sistemas de arquivo mais robustos em uso.
No entanto, não existe um sistema de arquivo perfeito e o ext2 não é uma exceção. Um problema comumente reportado é que o sistema de arquivo ext2 deve passar por uma verificação de integridade muito longa, caso o sistema não tenha sido desligado apropriadamente. Apesar deste requisito não ser exclusivo do ext2, sua popularidade, combinada com o advento de drives de disco maiores, significou que a verificação de integridade estava levando muito tempo. Algo devia ser feito.
A próxima seção aborda a tática adotada para resolver esta questão sob o Red Hat Enterprise Linux.
O sistema de arquivo ext3 adicionou as capacidades de journaling sobre a base de código já provada do ext2. Com o journaling, o ext3 sempre mantém o sistema de arquivo num estado consistente, eliminando a necessidade de longas verificações de integridade no sistema de arquivo.
Isso é feito ao gravar todas as alterações do sistema de arquivo num registro em disco, que é alimentado frequentemente. Após um evento inesperado no sistema (tal como falta de energia ou queda do sistema), a única operação que precisa ocorrer antes de disponibilizar o sistema de arquivo é processar o conteúdo do registro; na maioria dos casos isso leva aproximadamente um segundo.
Como o formato dos dados do ext3 em disco é baseado no ext2, é possível acessar um sistema de arquivo ext3 em qualquer sistema capaz de acessar e gravar um sistema de arquivo ext2 (porém sem o benefício do journaling). Este pode ser um excelente benefício em empresas que utilizam alguns sistemas com ext3 e outros com ext2.
Em 1987, a Organização Internacional para a Padronização (conhecida como ISO, International Organization for Standardization) lançou o padrão 9660. O ISO 9660 define como os arquivos são representados nos CD-ROMs. Os administradores de sistemas Red Hat Enterprise Linux provavelmente verão dados no formato ISO 9660 em dois lugares:
CD-ROMs
Arquivos (geralmente referenciados como imagens ISO) contendo sistemas de arquivo ISO 9660 completos, a serem gravados em mídia CD-R ou CD-RW.
O padrão ISO 9660 básico é limitado em funcionalidade, especialmente se comparado com sistemas de arquivo mais modernos. Os nomes de arquivos podem ter no máximo oito caracteres e extensão até três caracteres. No entanto, diversas extensões do padrão tornaram-se conhecidas, incluindo:
Rock Ridge — Usa alguns campos indefinidos no ISO 9660 para oferecer suporte para funcionalidades como nomes de arquivo longos misturando letras maiúsculas e minúsculas, para ligações simbólicas e diretórios embutidos (ou seja, diretórios que podem conter outros diretórios)
Joliet — Uma extensão do padrão ISO 9660, desenvolvida pela Microsoft para permitir que CD-ROMs contenham nomes de arquivo longos, usando o conjunto de caracteres Unicode
O Red Hat Enterprise Linux é capaz de interpretar corretamente os sistemas de arquivo ISO 9660 usando ambas extensões, Rock Ridge e Joliet.
O Red Hat Enterprise Linux também suporta os sistemas de arquivo de outros sistemas operacionais. Como o nome do sistema de arquivo msdos implica, o sistema operacional que originalmente o suportava era o MS-DOS® da Microsoft. Assim como no MS-DOS, um sistema Red Hat Enterprise Linux acessando um sistema de arquivo msdos está limitado aos nomes de arquivo 8.3. Da mesma forma, outros atributos do arquivo, como permissões e propriedade, não podem ser alterados. Entretanto, do ponto de vista de intercâmbio de arquivos, o sistema de arquivo msdos é mais que suficiente para executar o trabalho.
O sistema de arquivo vfat foi usado pela primeira vez pelo sistema operacional Windows® 95 da Microsoft. Trouxe uma melhoria sobre o sistema de arquivo msdos; os nomes de arquivo num sistema vfat podem ser mais longos que o formato 8.3. No entanto, as permissões e propriedade ainda não podem ser alterados.
Para acessar qualquer sistema de arquivo, é preciso primeiro montá-lo (mount). Ao montar um sistema de arquivo, você direciona o Red Hat Enterprise Linux a disponibilizar uma partição específica (num dispositivo específico) ao sistema. Da mesma forma, ao acessar um determinado sistema de arquivo que não é mais desejado, é necessário desmontá-lo (umount).
Para montar um sistema de arquivo, é preciso especificar dois tipos de informação:
Um meio de identificar unicamente o drive de disco e partição desejados, como o nome do arquivo do dispositivo, a etiqueta do sistema de arquivo ou a ligação simbólica administrada pelo devlabel
Um diretório sob o qual o sistema de arquivo montado será disponibilizado (conhecido como ponto de montagem)
As seções seguintes abordam os pontos de montagem mais detalhadamente.
A não ser que você esteja acostumado com o sistema operacional Linux (ou outros parecidos), o conceito do ponto de montagem pode parecer estranho à primeira vista. Entretanto, é um dos métodos mais poderosos e flexíveis de administração de sistemas de arquivo. Em muitos outros sistemas operacionais, a especificação completa de um arquivo inclui seu nome, algum meio de identificar o diretório específico no qual reside e um meio de identificar o dispositivo físico no qual o arquivo pode ser encontrado.
O Red Hat Enterprise Linux usa uma tática ligeiramente diferente. Assim como ocorre em outros sistemas operacionais, uma especificação completa inclui o nome do arquivo e o diretório no qual reside. No entanto, não há um identificador explícito do dispositivo.
A razão dessa aparente deficiência é o ponto de montagem. Em outros sistemas operacionais, há uma hierarquia de diretórios para cada partição. Mas, em sistemas parecidos com o Linux, há somente uma hierarquia de diretório para o sistema todo, que pode extender-se a partições múltiplas. A chave é o ponto de montagem. Ao montar um sistema de arquivo, este é disponibilizado como um conjunto de sub-diretórios sob o ponto de montagem especificado.
Essa aparente deficiência é, na verdade, uma vantagem. Significa que é possível expandir suavemente um sistema de arquivo Linux, com todos os diretórios capazes de agirem como um ponto de montagem para espaço adicional em disco.
Como um exemplo, assuma que um sistema Red Hat Enterprise Linux contenha um diretório foo em seu diretório root; a localidade completa do diretório seria /foo/. Em seguida, assuma que este sistema tem uma partição a ser montada e seu ponto de montagem deve ser /foo/. Se esta partição tivesse um arquivo de nome bar.txt no nível superior de seu diretório, você poderia acessá-lo após montar a partição, com a especificação seguinte:
/foo/bar.txt |
Em outras palavras, uma vez montada a partição, qualquer arquivo que é acessado ou gravado em qualquer localidade sob o diretório /foo/, será acessado ou salvo nessa partição.
Um ponto de montagem comumente usado em muitos sistemas Red Hat Enterprise Linux é /home/ — isso ocorre porque os diretórios de login para todas as contas de usuário normalmente estão localizadas sob /home/. Se /home/ for usado como ponto de montagem, os arquivos de todos os usuários são salvos numa partição dedicada e não lotarão o sistema de arquivo do sistema operacional.
![]() | Dica |
|---|---|
Como o ponto de montagem é somente um diretório comum, é possível salvar arquivos num diretório posteriormente usado como ponto de montagem. Se isso acontecer, o que ocorre com os arquivos que estavam originalmente no diretório? Contanto que a partição seja montada no diretório, os arquivos não estarão acessíveis (o sistema de arquivo montado aparece no lugar do conteúdo do diretório). No entanto, os arquivos não serão danificados e podem ser acessados após a partição ser desmontada. |
Além de montar e desmontar espaço em disco, é possível visualizar o que está montado. Há diversas maneiras diferentes de fazer isso:
Visualizar o /etc/mtab
Visualizar o /proc/mounts
Atribuindo o comando df
O arquivo /etc/mtab é um arquivo normal atualizado pelo programa mount sempre que os sistemas de arquivo são montados ou desmontados. Aqui está uma amostra do /etc/mtab:
/dev/sda3 / ext3 rw 0 0 none /proc proc rw 0 0 usbdevfs /proc/bus/usb usbdevfs rw 0 0 /dev/sda1 /boot ext3 rw 0 0 none /dev/pts devpts rw,gid=5,mode=620 0 0 /dev/sda4 /home ext3 rw 0 0 none /dev/shm tmpfs rw 0 0 none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0 |
![]() | Nota |
|---|---|
O arquivo /etc/mtab deve ser usado para visualizar somente o status dos sistemas de arquivo correntemente montados. Não deve ser modificado manunalmente. |
Cada linha representa um sistema de arquivo correntemente montado e contém os seguintes campos (da esquerda para a direita):
A especificação do dispositivo
O ponto de montagem
O tipo de sistema de arquivo
Se o sistema de arquivo está montado como somente-leitura (ro, read-only) ou leitura e gravação (rw, read-write), junto às outras opções do ponto de montagem
Dois campos não-usados contendo zeros (para saber sobre a compatibilidade com /etc/fstab[1])
O arquivo /proc/mounts é parte do sistema de arquivo virtual proc. Assim como os outros arquivos sob /proc/, o "arquivo" mounts não existe em nenhum drive de disco de seu sistema Red Hat Enterprise Linux.
De fato, nem é um arquivo, mas uma representação do status do sistema disponibilizado (pelo kernel do Linux) no formato de arquivo.
Usando o comando cat /proc/mounts podemos visualizar o status de todos os sistemas de arquivo montados:
rootfs / rootfs rw 0 0 /dev/root / ext3 rw 0 0 /proc /proc proc rw 0 0 usbdevfs /proc/bus/usb usbdevfs rw 0 0 /dev/sda1 /boot ext3 rw 0 0 none /dev/pts devpts rw 0 0 /dev/sda4 /home ext3 rw 0 0 none /dev/shm tmpfs rw 0 0 none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0 |
Como podemos observar no exemplo anterior, o formato do /proc/mounts é muito similar ao formato do /etc/mtab. Há diversos sistemas de arquivo montados que não têm nenhuma relação com drives de disco. Dentre estes, temos o próprio sistema de arquivo /proc/ (junto a dois outros sistemas operacionais montados sob /proc/), pseudo-ttys e memória compartilhada.
Apesar do formato não ser muito amigável, observar o /proc/mounts é a melhor maneira de estar 100% certo de ver o que está montado em seu sistema Red Hat Enterprise Linux, já que o kernel provém estas informações. Outros métodos podem, sob raras circunstâncias, serem incorretos.
Entretanto, na maior parte do tempo você provavelmente utilizará um comando com output de leitura mais fácil (e útil). A seção seguinte descreve este comando.
Apesar do uso do /etc/mtab ou do /proc/mounts trazer as informações sobre quais sistemas de arquivo estão montados, fazem pouco além disso. Na maior parte do tempo você estará interessado num aspecto específico dos sistemas de arquivo correntemente montados — a quantidade de espaço livre nestes.
Para isso, podemos usar o comando df. Aqui está uma amostra do output do df:
Filesystem 1k-blocks Used Available Use% Mounted on /dev/sda3 8428196 4280980 3719084 54% / /dev/sda1 124427 18815 99188 16% /boot /dev/sda4 8428196 4094232 3905832 52% /home none 644600 0 644600 0% /dev/shm |
Nota-se imediatamente diversas diferenças com o /etc/mtab e /proc/mount:
A exibição de um cabeçalho de fácil leitura
Com exceção do sistema de arquivo com memória compartilhada, são exibidos somente sistemas de arquivo baseados no disco
São exibidos o tamanho total, o espaço utilizado, o espaço livre e a porcentagem em números
Esse último ponto é provavelmente o mais importante, pois todo administrador de sistemas eventualmente precisa lidar com um sistema que atingiu todo seu espaço em disco. Com o df é muito fácil visualizar onde está o problema.
Há duas tecnologias principais usadas para implementar o armazenamento acessível pela rede sob o Red Hat Enterprise Linux:
NFS
SMB
As seções seguintes abordam estas tecnologias.
Como o nome infere, o Network File System (mais comumente conhecido como NFS ou Sistema de Arquivo de Rede) é um sistema de arquivo que pode ser acessado através de uma conexão de rede. Em outros sistemas de arquivo, o dispositivo de armazenamento deve ser diretamente ligado ao sistema local. No entanto, este não é um requisito do NFS, o que possibilita uma variedade de configurações diferentes - de servidores centralizados de sistema de arquivo a sistemas de computadores inteiramente sem discos.
Porém, ao contrário de outros sistemas de arquivo, o NFS não dita um formato específico em disco. Ao invés disso, conta com o suporte do sistema de arquivo nativo do sistema operacional do servidor para controlar as I/Os correntes para o(s) drive(s) local(is). Então, o NFS disponibiliza o sistema de arquivo para qualquer sistema operacional rodando um cliente NFS compatível.
Apesar de ser uma tecnologia primariamente do Linux e UNIX, é importante notar a existência de implementações de clientes NFS para outros sistemas operacionais, viabilizando sua técnica para compartilhar arquivos dentre diversas plataformas diferentes.
Os sistemas de arquivo que o NFS disponibiliza para clientes são controlados pelo arquivo de configuração /etc/exports. Para mais informações, consulte a página man exports(5) e o Guia de Administração de Sistemas Red Hat Enterprise Linux.
SMB significa Server Message Block (Bloco de Mensagens do Servidor) e é o nome do protocolo de comunicações usado por vários sistemas operacionais produzidos pela Microsoft ao longo dos anos. O SMB possibilita compartilhar armazenamento através de uma rede. As implementações de hoje frequentemente usam o TCP/IP como o transporte fundamental; o transporte prévio era o NetBEUI.
O Red Hat Enterprise Linux suporta o SMB através do programa de servidor Samba. O Guia de Administração de Sistemas Red Hat Enterprise Linux contém informações sobre a configuração do Samba.
Quando um sistema Red Hat Enterprise Linux é recém-instalado, todas as partições de disco definidas e/ou criadas durante a instalação são configuradas para serem montadas automaticamente sempre que o sistema reinicializar. Porém, o que acontece quando adicionamos drives de disco num sistema após completa a instalação? A resposta é "nada", porque o sistema não foi configurado para montá-las automaticamente. No entanto, é fácil mudar isso.
A resposta está no arquivo /etc/fstab. Este arquivo é usado para controlar quais sistemas de arquivo são montados quando o sistema inicializa, e também para prover valores default para outros sistemas de arquivo que possam ser montados manualmente ao longo do tempo. Aqui está uma amostra do arquivo /etc/fstab:
LABEL=/ / ext3 defaults 1 1 /dev/sda1 /boot ext3 defaults 1 2 /dev/cdrom /mnt/cdrom iso9660 noauto,owner,kudzu,ro 0 0 /dev/homedisk /home ext3 defaults 1 2 /dev/sda2 swap swap defaults 0 0 |
Cada linha representa um sistema de arquivo e contém os seguintes campos:
Especificador do sistema de arquivo — Para sistemas de arquivo baseados em disco, é o nome de um dispositivo (/dev/sda1), a etiqueta do sistema de arquivo (LABEL=/) ou uma ligação simbólica administrada pelo devlabel (/dev/homedisk)
Ponto de montagem — Exceto as partições swap, este campo especifica o ponto de montagem a ser usado quando o sistema de arquivo estiver montado (/boot)
Tipo de sistema de arquivo — O tipo de sistema de arquivo presente no dispositivo especificado (note que auto pode ser especificado para selecionar a detecção automática do sistema de arquivo a ser montado, o que é prático para unidades de mídia removível como drives de disquete)
Opções de montagem — Uma lista de opções, separadas por vírgulas, que podem ser usadas para controlar o comportamento do mount (noauto,owner,kudzu)
Frequência do dump — Se o utilitário de backup dump for usado, o número deste campo controla como o dump lida com o sistema de arquivo especificado
Ordem de verificação do sistema de arquivo — Controla a ordem na qual o fsck verifica a integridade dos sistemas de arquivo
Apesar da maioria dos passos necessários para adicionar ou remover armazenamento dependerem mais do hardware que do software do sistema, há aspectos do procedimento específicos ao seu ambiente operacional. Esta seção explora os passos específicos ao Red Hat Enterprise Linux necessários para adicionar e remover armazenamento.
O processo de adição de armazenamento é relativamente simples. Aqui estão os passos específicos ao Red Hat Enterprise Linux:
Particionando
Formatando a(s) partição(ões)
Atualizar o /etc/fstab
As seções seguintes abordam cada passo em detalhes.
Uma vez instalado o drive de disco, é hora de criar uma ou mais partições a fim de disponibilizar espaço para o Red Hat Enterprise Linux.
Há mais de uma maneira de fazer isso:
Usando o utilitário fdisk na janela de comandos
Usando o parted, um outro utilitário da linha de comandos
Apesar das ferramentas serem diferentes, os passos básicos são os mesmos. O exemplo a seguir inclui os comandos necessários para executar estes passos usando fdisk:
Selecione o novo drive de disco (o nome do drive pode ser identificado através das convenções de nomenclatura dos dispositivos descritas na Seção 5.9.1). Usando o fdisk, isso é feito incluindo o nome do dispositivo ao iniciar o fdisk:
fdisk /dev/hda
|
Visualize a tabela de partição do drive de disco para garantir que o drive a ser particionado seja, de fato, o correto. Em nosso exemplo, o fdisk exibe a tabela de partição usando o comando p:
Command (m for help): p
Disk /dev/hda: 255 heads, 63 sectors, 1244 cylinders
Units = cylinders of 16065 * 512 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 17 136521 83 Linux
/dev/hda2 18 83 530145 82 Linux swap
/dev/hda3 84 475 3148740 83 Linux
/dev/hda4 476 1244 6176992+ 83 Linux
|
Apague todas as partições indesejadas que possam estar no novo drive de disco. Isso é feito usando o comando d no fdisk:
Command (m for help): d Partition number (1-4): 1 |
O processo deve ser repetido para todas as partições desnecessárias presentes no drive de disco.
Crie nova(s) partição(ões), certificando-se de especificar o tamanho e tipo de sistema de arquivo desejados. Usando o fdisk, este é um processo de dois passos — primeiro: criar a partição (usando o comando n):
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-767): 1
Last cylinder or +size or +sizeM or +sizeK: +512M
|
Segundo: determinar o tipo de sistema de arquivo (usando o comando t):
Command (m for help): t
Partition number (1-4): 1
Hex code (type L to list codes): 82
|
A partição do tipo 82 representa uma partição Linux swap.
Salve suas alterações e saia do programa de particionamento. Isso é feito no fdisk usando o comando w:
Command (m for help): w
|
![]() | Atenção |
|---|---|
Ao particionar um novo drive de disco, é vital garantir que esteja particionando o correto. Caso contrário, você pode particionar inadvertidamente um drive de disco já em uso, resultando na perda de dados. Também certifique-se de optar pelo melhor tamanho de partição. Sempre dê atenção a essa questão, porque alterar este valor posteriormente é bem mais difícil que gastar um tempinho para pensar nisso agora. |
A formatação de partições sob o Red Hat Enterprise Linux é feita com o utilitário mkfs. Na realidade, o mkfs não executa o trabalho de gravar as informações específicas do sistema de arquivo num drive de disco; ao invés disso, passa o controle para um dos diversos outros programas que realmente criam o sistema de arquivo.
Essa é a hora de observar a página man mkfs.<fstype> do sistema de arquivo que você selecionou. Por exemplo: veja a página man mkfs.ext3 para verificar as opções disponíveis ao criar um novo sistema de arquivo ext3. Em geral, os programas mkfs.<fstype> oferecem defaults razoáveis para a maioria das configurações, mas aqui estão algumas opções que os administradores de sistemas comumente alteram:
Determinar uma etiqueta de volume para uso posterior no /etc/fstab
Em discos rígidos muito grandes, determinar uma porcentagem mais baixa para o espaço reservado para o super-usuário
Determinar um tamanho de bloco fora do padrão e/ou bytes por inode para configurações que devem suportar arquivos muito grandes ou muito pequenos
Verificar os blocos ruins antes de formatar
Uma vez criados os sistemas de arquivo nas partições apropriadas, o drive de disco está configurado corretamente para o uso.
Em seguida, é sempre melhor verificar novamente seu trabalho montando manualmente a(s) partição(ões) e garantindo que está tudo em ordem. Após a segunda verificação, é hora de configurar seu sistema Red Hat Enterprise Linux para montar automaticamente o(s) novo(s) sistema(s) de arquivo sempre que inicializar.
Conforme a Seção 5.9.5, você deve adicionar a(s) linha(s) necessária(s) ao /etc/fstab para garantir que o(s) novo(s) sistema(s) de arquivo seja montado sempre que o sistema reinicializar. Após atualizar o /etc/fstab, teste seu trabalho atribuindo um comando mount "incompleto", especificando somente o dispositivo ou ponto de montagem. Algo similar a um dos seguintes comandos é suficiente:
mount /home mount /dev/hda3 |
(Substituir /home ou /dev/hda3 pelo ponto de montagem ou dispositivo para sua situação específica.)
Se a entrada apropriada do /etc/fstab estiver correta, o mount obtém as informações faltantes e completa a operação de montagem.
Neste ponto você pode estar relativamente confiante que o /etc/fstab está configurado apropriadamente para montar automaticamente o novo armazenamento sempre que o sistema inicializar (mas, se você puder efetuar uma reinicialização rápida para garantir — melhor ainda).
O processo de remoção de armazenamento de um sistema Red Hat Enterprise Linux é relativamente simples. Aqui estão os passos específicos ao Red Hat Enterprise Linux:
Remova as partições do drive de disco de /etc/fstab
Desmonte as partições ativas do drive de disco
Apague o conteúdo do drive de disco
As seções seguintes cobrem estes tópicos em detalhes.
Usando seu editor de texto preferido, remova a(s) linha(s) correspondente(s) à(s) partição(ões) do drive de disco do arquivo /etc/fstab. Você pode identificar as linhas apropriadas através de um dos métodos seguintes:
Encontrando o ponto de montagem correspondente à partição nos diretórios da segunda coluna do /etc/fstab
Encontrando o nome do dispositivo correspondente nos nomes de arquivo da primeira coluna do /etc/fstab
![]() | Dica |
|---|---|
Certifique-se de procurar por todas as linhas do /etc/fstab que identificam partições swap no drive de disco a ser removido; estas podem passar desapercebidas facilmente. |
Em seguida, todo acesso ao drive de disco deve ser finalizado. Para partições contendo sistemas de arquivo ativos, isso é feito usando o comando umount. Se houver uma partição swap no drive de disco, deve ser desativada com o comando swapoff ou o sistema deve ser reinicializado.
Para desmontar partições com o comando umount é necessário especificar o nome do arquivo do dispositivo ou o ponto de montagem da partição:
umount /dev/hda2
umount /home
|
Uma partição só pode ser desmontada se não estiver em uso. Se a partição não puder ser desmontada no nível de execução normal, reinicialize no modo de recuperação e remova a entrada /etc/fstab da partição.
Ao usar o swapoff para desabilitar o swapping numa partição, você deve especificar o nome do arquivo do dispositivo representando a partição swap:
swapoff /dev/hda4
|
Se o swapping não puder ser desabilitado de uma partição swap usando o swapoff, inicialize no modo de recuperação e remova a entrada /etc/fstab da partição.
Apagar o conteúdo de um drive de disco sob o Red Hat Enterprise Linux é um procedimento simples.
Após desmontar todas as partições do drive de disco, atribua o seguinte comando (como root):
badblocks -ws <device-name> |
Onde <device-name> representa o nome do arquivo do drive de disco que você deseja apagar, excluindo o número da partição. Por exemplo: /dev/hdb para o segundo disco rígido ATA.
O seguinte output é apresentado enquanto o badblocks é executado:
Writing pattern 0xaaaaaaaa: done Reading and comparing: done Writing pattern 0x55555555: done Reading and comparing: done Writing pattern 0xffffffff: done Reading and comparing: done Writing pattern 0x00000000: done Reading and comparing: done |
Tenha em mente que o badblocks está, na realidade, gravando quatro padrões de dados diferentes em cada bloco do drive de disco. Para drives de disco grandes, este processo pode levar bastante tempo — frequentemente diversas horas.
![]() | Importante |
|---|---|
Muitas empresas (e agências do governo) têm métodos específicos para apagar dados de drives de disco e outras mídias de armazenamento de dados. Você sempre deve garantir que entende e cumpre estes requisitos; muitas vezes, há consequências legais caso você não os cumpra. O exemplo acima não deve, de modo algum, ser considerado o melhor método de limpar um drive de disco. No entanto, é bem mais eficiente que usar o comando rm, porquê quando você apaga um arquivo usando rm, este arquivo é marcado como apagado (deleted) — não apaga o conteúdo do arquivo. |
O Red Hat Enterprise Linux é capaz de manter registro do uso do espaço em disco por usuário e por grupo através da utilização das quotas de disco. A seção seguinte provém uma visão geral das funcionalidades presentes nas quotas de disco sob o Red Hat Enterprise Linux.
As quotas de disco têm as seguintes funcionalidades sob o Red Hat Enterprise Linux:
Implementação por sistema de arquivo
Contabilidade do espaço por usuário
Contabilidade do espaço por grupo
Registro do uso do bloco de disco
Registro do uso do inode do disco
Limites rígidos (hard limits)
Limites suaves (soft limits)
Períodos de carência (grace periods)
As seções seguintes descrevem cada funcionalidade em detalhes.
As quotas de disco sob o Red Hat Enterprise Linux podem ser usadas por sistema de arquivo. Em outras palavras, as quotas de disco podem ser ativadas ou desativadas para cada sistema de arquivo separadamente.
Isso oferece grande flexibilidade ao administrador de sistemas. Por exemplo: se o diretório /home/ estava em seu próprio sistema de arquivo, as quotas de disco poderiam ser ativadas ali, garantindo o uso igualitário do disco por todos os usuários. No entanto, o sistema de arquivo root poderia ser deixado sem quotas de disco, eliminando a complexidade de manter quotas de disco num sistema de arquivo que contém apenas o próprio sistema operacional.
As quotas de disco podem efetuar a contabilidade por usuário. Isso significa que o uso do espaço por cada usuário é registrado individualmente. Também significa que as limitações de uso (abordadas em seções posteriores) também são determinadas por usuário.
A flexibilidade de registrar e garantir o uso do disco para cada usuário individualmente possibilita a um administrador de sistemas atribuir limites diferentes aos usuários, de acordo com suas responsabilidades e necessidades de armazenamento.
As quotas de disco também podem registrar o uso do disco por grupo. Isso é ideal para aquelas empresas que utilizam os grupos como um meio de combinar os diferentes usuários num único recurso para um projeto.
Ao determinar quotas de disco para um grupo, os administradores de sistemas podem gerenciar de perto a utilização do armazenamento, atribuindo a usuários individuais somente a quota de disco necessária para seu uso pessoal e determinando quotas maiores.
As quotas de disco registram o uso do bloco de disco. Como todos os dados de um sistema de arquivo são armazenados em blocos, as quotas de disco são capazes de correlacionar diretamente os arquivos criados e apagados de um sistema de arquivo com a quantidade de armazenamento que estes arquivos ocupam.
Além de registrar o uso do bloco de disco, as quotas também podem registrar o uso do inode. Sob o Red Hat Enterprise Linux, os inodes são usados para armazenar várias partes do sistema de arquivo, mas acima de tudo, os inodes guardam as informações de cada arquivo. Consequentemente, ao registrar (e controlar) o uso do inode, é possível controlar a criação de novos arquivos.
Um limite rígido é o número máximo absoluto de blocos (ou inodes) de disco que podem ser temporariamente usados por um usuário (ou grupo). Todas as tentativas de usar um bloco ou inode acima do limite rígido falharão.
Um limite suave é o número máximo de blocos do disco (ou inodes) que podem ser usados permanentemente por um usuário (ou grupo).
O limite suave é determinado abaixo do limite rígido. Isso permite aos usuários temporariamente exceder o limite suave, de modo que possam acabar o que estão fazendo e tenham tempo de observar seus arquivos e reduzir seu uso abaixo do limite suave.
Conforme afirmado anteriormente, todo uso do disco acima do limite suave é temporário. O período de carência é que determina o tempo em que um usuário (ou grupo) pode extender seu uso além de seus limites suaves e rumo a seus limites rígidos.
Se um usuário continuar a usar mais que seu limite suave e o período de carência expirar, não lhe será permitido usar espaço adicional até que ele (ou o grupo) tenha reduzido seu uso para uma marca abaixo do limite suave.
O período de carência pode ser estabelecido em segundos, minutos, horas, dias, semanas ou meses, oferecendo ao administrador de sistemas bastante liberdade para determinar quanto tempo seus usuários terão para reduzir seus usos de disco abaixo dos limites suaves.
![]() | Nota |
|---|---|
As seções a seguir oferecem uma breve visão geral dos passos necessários para ativar as quotas de disco sob o Red Hat Enterprise Linux. Para obter uma abordagem mais profunda deste assunto, consulte o capítulo sobre quotas de disco no Guia de Administração de Sistemas Red Hat Enterprise Linux. |
Para usar as quotas de disco, você deve ativá-las primeiro. Este processo envolve diversos passos:
Modificando o /etc/fstab
Remontando o(s) sistema(s) de arquivo
Executando o quotacheck
Atribuindo quotas
O arquivo /etc/fstab controla a montagem de sistemas de arquivo sob o Red Hat Enterprise Linux. Como as quotas de disco são implementadas por sistema de arquivo, há duas opções — usrquota e grpquota — que devem ser adicionadas a este arquivo para ativar as quotas de disco.
A opção usrquota ativa as quotas de disco do usuário, enquanto a opção grpquota ativa as quotas de disco do grupo. Uma ou ambas opções podem ser ativadas ao inserí-las no campo de opções para o sistema de arquivo desejado.
O(s) sistema(s) de arquivo afetado(s) deve(m) então ser desmontado(s) e remontado(s) para que as opções relativas às quotas de disco tenham efeito.
Em seguida, o comando quotacheck é usado para criar a quota de disco e para coletar as informações de uso corrente de arquivos já existentes. Os arquivos de quota de disco (nomeados aquota.user e aquota.group, para quotas de usuário e de grupo) contém as informações necessárias relativas às quotas e residem no diretório root do sistema de arquivo.
O comando edquota é usado para atribuir quotas de disco.
Este utilitário usa um editor de texto para exibir as informações de quota para usuário ou grupo, especificadas como parte do comando edquota. Aqui está um exemplo:
Disk quotas for user matt (uid 500): Filesystem blocks soft hard inodes soft hard /dev/md3 6618000 0 0 17397 0 0 |
Isso nos mostra que o usuário matt está usando mais que 6GB de espaço em disco e mais que 17.000 inodes. Nenhuma quota (suave ou rígida) foi determinada para blocos ou inodes do disco, o que significa que não há limite para o espaço ou inodes em disco que este usuário pode utilizar no momento.
Usando o editor de texto que apresenta as informações de quota de disco, o administrador de sistemas pode então modificar os limites suaves e rígidos conforme desejar:
Disk quotas for user matt (uid 500): Filesystem blocks soft hard inodes soft hard /dev/md3 6618000 6900000 7000000 17397 0 0 |
Neste exemplo, o usuário matt recebeu um limite suave de 6.9GB e um limite rígido de 7GB. Não foram determinados limites suave ou rígido nos inodes para este usuário.
![]() | Dica |
|---|---|
O programa edquota também pode ser usado para determinar o período de carência por sistema de arquivo, usando a opção -t. |
Na realidade, há pouco trabalho administrativo para suportar as quotas de disco sob o Red Hat Enterprise Linux. Essencialmente, é necessário:
Gerar relatórios do uso do disco em intervalos regulares (e acompanhar os usuários que parecem ter problemas em administrar efetivamente seu espaço alocado no disco)
Garantir que as quotas de disco permaneçam corretas
Criar um relatório do uso do disco implica rodar o utilitário repquota. Usar o comando repquota /home produz este output:
*** Report for user quotas on device /dev/md3
Block grace time: 7days; Inode grace time: 7days
Block limits File limits
User used soft hard grace used soft hard grace
----------------------------------------------------------------------
root -- 32836 0 0 4 0 0
matt -- 6618000 6900000 7000000 17397 0 0 |
Mais informações sobre o repquota podem ser encontradas no Guia de Administração de Sistemas Red Hat Enterprise Linux, no capítulo sobre quotas de disco.
Sempre que um sistema de arquivo não é desmontado de maneira limpa (devido uma queda do sistema, por exemplo), é necessário rodar o quotacheck. No entanto, muitos administradores de sistemas recomendam rodar o quotacheck regularmente, mesmo que o sistema não tenha sofrido uma queda.
O processo é similar ao uso inicial do quotacheck ao ativar as quotas de disco.
Aqui está um exemplo do comando quotacheck:
quotacheck -avug |
A maneira mais fácil de executar o quotacheck regularmente é usar o cron. A maioria dos administradores de sistemas executam o quotacheck uma vez por semana, mas pode haver motivos racionais para usar um intervalo mais longo ou mais curto, dependendo de suas condições específicas.
Além de suportar as soluções RAID de hardware, o Red Hat Enterprise Linux também suporta o RAID de software. Há duas maneiras de criar conjuntos RAID de software:
Ao instalar o Red Hat Enterprise Linux
Após o Red Hat Enterprise Linux ter sido instalado
As seções seguintes trazem uma revisão destes dois métodos.
Durante o processo normal de instalação do Red Hat Enterprise Linux, os conjuntos RAID podem ser criados. Isso é feito durante a fase de particionamento do disco na instalação.
Para começar, você deve particionar manualmente seus drives de disco usando o Disco Druid. Primeiro, você deve criar uma nova partição do tipo "RAID de software." Em seguida, selecione os drives de disco que comporão o conjunto RAID no campo Discos Permitidos. Continue o processo selecionando o tamanho desejado e se você deseja que a partição seja primária.
Uma vez criadas todas as partições necessárias para o(s) conjunto(s) RAID que você deseja criar, use o botão RAID para realmente criar os conjuntos. Lhe será apresentada uma caixa de diálogo na qual você pode selecionar o ponto de montagem do conjunto, o tipo do sistema de arquivo, o nome do dispositivo RAID e as partições "RAID de software" nas quais este conjunto será baseado.
Uma vez criados os conjuntos desejados, o processo de instalação continua normalmente.
![]() | Dica |
|---|---|
Para mais informações sobre a criação de conjuntos RAID de software durante o processo de instalação do Red Hat Enterprise Linux, consulte o Guia de Administração de Sistemas Red Hat Enterprise Linux. |
Criar um conjunto RAID após a instalação do Red Hat Enterprise Linux é um pouco mais complexo. Assim como a adição de qualquer tipo de armazenamento de disco, é necessário primeiro instalar o hardware e configurá-lo corretamente.
O particionamento é um pouco diferente para o RAID do que para drives de disco. Ao invés de selecionar um tipo de partição "Linux" (tipo 83) ou "Linux swap" (tipo 82), todas as partições que farão parte do conjunto RAID devem ser do tipo "Linux raid auto" (tipo fd).
Em seguida, é necessário criar o arquivo /etc/raidtab. Esse arquivo é responsável pela configuração apropriada de todos os conjuntos RAID no seu sistema. O formato do arquivo (documentado na página man raidtab(5)) é relativamente simples. Eis um exemplo de entrada /etc/raidtab para um conjunto RAID 1:
raiddev /dev/md0
raid-level 1
nr-raid-disks 2
chunk-size 64k
persistent-superblock 1
nr-spare-disks 0
device /dev/hda2
raid-disk 0
device /dev/hdc2
raid-disk 1 |
Algumas das seções mais notáveis desta seção são:
raiddev — Exibe o nome do arquivo do dispositivo para o conjunto RAID[2]
raid-level — Define o nível do RAID a ser usado por este conjunto
nr-raid-disks — Indica quantas partições físicas de disco devem fazer parte deste conjunto
nr-spare-disks — O RAID de software sob o Red Hat Enterprise Linux permite a definição de uma ou mais partições reservas; estas partições podem tomar o lugar de um disco com mau funcionamento automaticamente
device, raid-disk — Juntos, definem as partições físicas do disco que compoem o conjunto RAID
Em seguida, é necessário realmente criar o conjunto RAID. Isso é feito no programa mkraid. Usando nosso arquivo /etc/raidtab exemplo, podemos criar o conjunto RAID /dev/md0 com o seguinte comando:
mkraid /dev/md0 |
O conjunto RAID /dev/md0 agora está pronto para ser formatado e montado. Neste ponto, o processo não é diferente de formatar e montar um único drive de disco.
Há pouco a ser feito para manter um conjunto RAID operante. Contanto que não ocorram problemas de hardware, o conjunto deve funcionar como se fosse um único drive de disco físico. No entanto, assim como um administrador de sistemas deve verificar periodicamente o status de todos os drives de disco do sistema, o status dos conjuntos RAID também deve ser verificado.
O arquivo /proc/mdstat é a maneira mais fácil de verificar o status de todos os conjuntos RAID de um determinado sistema. Aqui está uma amostra do mdstat (visualize com o comando cat /proc/mdstat):
Personalities : [raid1]
read_ahead 1024 sectors
md1 : active raid1 hda3[0] hdc3[1]
522048 blocks [2/2] [UU]
md0 : active raid1 hda2[0] hdc2[1]
4192896 blocks [2/2] [UU]
md2 : active raid1 hda1[0] hdc1[1]
128384 blocks [2/2] [UU]
unused devices: <none> |
Neste sistema, há três conjuntos RAID (todos RAID 1). Cada conjunto RAID tem sua própria seção no /proc/mdstat e contém as seguntes informações:
O nome do dispositivo do conjunto RAID (excluindo a parte /dev/)
O status do conjunto RAID
O nível RAID do conjunto RAID
As partições físicas que formam o conjunto (seguidas pelo número da unidade do conjunto da partição)
O tamanho do conjunto
O número de dispositivos confiugrados versus o número de dispositivos operantes no conjunto
O status de cada dispositivo configurado do conjunto (U significa que o dispositivo está OK e _ indica que o dispositivo falhou)
Caso o /proc/mdstat indique que há um problema com um dos conjuntos RAID, o utilitário raidhotadd deve ser usado para recriar o conjunto. Aqui estão os passos a seguir:
Determinar qual drive de disco contém a partição falha
Corrigir o problema que causou a falha (provavelmente substituindo o drive)
Particionar o novo drive para que as partições contidas neste sejam idênticas àquelas do(s) outro(s) drive(s) do conjunto
Atribuir o seguinte comando:
raidhotadd <raid-device> <disk-partition> |
Monitorar o /proc/mdstat para observar a recriação ocorrendo
![]() | Dica | |
|---|---|---|
Aqui está um comando que pode ser usado para observar a recriação conforme ocorre:
Esse comando exibe o conteúdo do /proc/mdstat, atualizando-o a cada segundo |
O Red Hat Enterprise Linux inclui suporte ao LVM. O LVM pode ser configurado durante a instalação do Red Hat Enterprise Linux, ou após a instalação. O LVM sob o Red Hat Enterprise Linux suporta o agrupamento de armazenamento físico, redimensionamento de volume lógico e a migração de dados de um determinado volume físico.
Para mais informações sobre o LVM, consulte o Guia de Administração de Sistemas Red Hat Enterprise Linux.
| [1] | Consulte a Seção 5.9.5 para mais informações. |
| [2] | Note que, como o conjunto RAID é composto de espaço particionado em disco, o nome do arquivo do dispositivo de um conjunto RAID não reflete nenhuma informação no nível da partição. |