| Layout do disco rígido |
|
|
|
| Escrito por Ian Shields, Senior Programmer, IBM | ||||||||||||||||||||||||||||||||
| Sáb, 05 de Fevereiro de 2011 00:07 | ||||||||||||||||||||||||||||||||
|
Resumo: Aprenda como projetar um layout de partição para discos em um sistema® Linux. Use o material neste artigo para se preparar para o exame LPI 101 de certificação de administrador de sistema Linux ou simplesmente por diversão. Neste artigo, aprenda como projetar um layout de particionamento de disco para um sistema Linux. Aprenda a:
Este artigo o ajuda a se preparar para o Objetivo 102.1 do Tópico 102 do exame do Junior Level Administration do Linux Professional Institute (LPIC-1) 101. O objetivo possui peso 2. Observação: Este artigo trata basicamente de planejamento de layout. Para as etapas de implementação, consulte os artigos do Tópico 104 (descrito em nosso roteiro de séries). Para tirar o máximo dos artigos desta série, é necessário ter conhecimento básico de Linux e possuir um sistema Linux funcional em que seja possível praticar os comandos aqui abordados. Algumas vezes, é possível que versões diferentes de determinado programa formatem a saída de modo diferente, assim, pode ser que seus resultados não sejam exatamente iguais às listas e figuras exibidas neste documento. Visão geral do sistema de arquivos Um sistema de arquivos Linux contém arquivos organizados em um disco ou outro dispositivo de armazenamento em bloco em diretórios. Assim como com muitos outros sistemas, os diretórios em um sistema Linux pode conter outros diretórios chamados de subdiretórios. Ao contrário de um sistema como o Microsoft® Windows® com um conceito de sistemas de arquivos separados em diferentes letras de unidades (A:, C:, etc.), o sistema de arquivos Linux é uma única árvore com o diretório / como seu diretório raiz. Você pode se perguntar por que o layout do disco é importante se o sistema de arquivos é apenas uma árvore grande. Bem, o que realmente ocorre é que cada dispositivo em bloco, como a partição de unidade de disco rígido, o CD-ROM ou o disco flexível, na verdade tem um sistema de arquivos sobre ele. Crie uma única visualização em árvore do sistema de arquivos montando os sistemas de arquivos em dispositivos diferentes em um ponto na árvore denominado ponto de montagem. Em geral, o kernel inicia esse processo de montagem pela montagem do sistema de arquivos em alguma partição da unidade de disco rígido, como /. É possível montar outras partições de unidade de disco rígido, como /boot, /tmp ou /home. Pode-se montar o sistema de arquivos em uma unidade de disquete como /mnt/floppy e o sistema de arquivos em um CD-ROM como /media/cdrom1, por exemplo. Você pode também montar arquivos de outros sistemas de arquivos usando um sistema de arquivos como NFS. Há outros tipos de montagens de arquivo, mas isso dá uma ideia do processo. Embora o processo de montagem realmente monte osistema de arquivos em algum dispositivo, é comum, simplesmente falando, você "montar o dispositivo", o que quer dizer "montar o sistema de arquivos no dispositivo". Agora, suponha que você acabou de montar o sistema de arquivos raiz (/) e quer montar um CD-ROM, /dev/sr0, no ponto de montagem /media/cdrom. Um ponto de montagem deve existir antes de você montar o CD-ROM sobre ele. Quando você monta o CD-ROM, os arquivos e os subdiretórios no CD-ROM se tornam os arquivos e subdiretórios dentro e abaixo de /media/cdrom. Quaisquer arquivos ou subdiretórios já presentes em /media/cdrom não ficam mais visíveis, embora eles ainda existam no dispositivo em bloco que tinha o ponto de montagem /media/cdrom. Se o CD-ROM for desmontado, os arquivos originais e os subdiretórios ficarão visíveis novamente. Evite esse problema não armazenando outros arquivos em um diretório destinado para uso como um ponto de montagem. A Tabela 1 mostra os diretórios exigidos em / pelo padrão de hierarquia do sistema de arquivos (para mais detalhes sobre FHS, consulte Recursos).
A primeira unidade SCSI normalmente é a /dev/sda. Em um sistema Linux mais antigo, a primeira unidade de disco rígido IDE é /dev/hda. Com o advento de unidades IDE serially attached (SATA), um sistema misto PATA/SATA usaria às vezes a /dev/hda para a primeira unidade PATA e a /devsda para a primeira unidade SATA. Em sistemas mais novos, todas as unidades IDE são nomeadas como /dev/sda, /dev/sdb, e assim por diante. A mudança de nome de unidades IDE é resultado do sistema hot plug, que suportava inicialmente unidades USB. O hot plug permite que você se conecte a novos dispositivos e os use imediatamente, e agora é usado para todos os dispositivos, sejam eles construídos no sistema ou conectados posteriormente a um sistema em execução usando USB ou Firewire (IEEE 1394) ou potencialmente outros tipos de conexão. Normalmente, uma unidade de disco rígido é formatada em setores de 512 bytes. Todos os setores de um prato de disco que podem ser lidos sem a movimentação do cabeçote constituem uma faixa. Os discos geralmente têm mais de um prato. O conjunto de faixas de vários pratos que podem ser lidos sem a movimentação do cabeçote é chamado de cilindro. A geometria de uma unidade de disco rígido é expressa em cilindros, faixas (ou cabeçotes) por cilindro e setores/faixa. No momento em que este artigo foi escrito, os fabricantes de unidades estão começando a introduzir discos com setores de 4 K. Se um sistema de arquivos ainda considera setores de 512 bytes, você pode perder desempenho se uma partição não começa em um setor que esteja em um limite de 4 K. Limitações em tamanhos possíveis para cilindros, cabeçotes e setores usados com sistemas operacionais DOS em sistemas de PC resultaram em valores de geometria de conversão de BIOS, para que discos rígidos maiores pudessem ser suportados. No final das contas, mesmo esses métodos foram insuficientes. Desenvolvimentos mais recentes na tecnologia de disco rígido levaram aoendereçamento de bloco lógico (LBA), portanto, as medições de geometria CHS são menos importantes, e a geometria relatada em um disco moderno pode ter pouca ou nenhuma relação com o layout real físico do setor. Os discos maiores em uso hoje forçaram uma extensão para LBA conhecida como LBA48, que reserva até 48 bits para números de setores. O espaço em uma unidade de disco rígido é dividido (ou particionado) em partições. As partições não podem se sobrepor; o espaço não alocado a uma partição é chamado de espaço livre. As partições têm nomes como /dev/hda1, /dev/hda2, /dev/hda3, /dev/sda1 etc. As unidades IDE são limitadas a 63 partições em sistemas que não usam suporte de hot plug para unidades IDE. Unidades SCSI, unidades USB e unidades IDE suportadas por hot plug são limitadas a 15 partições. Uma partição é frequentemente alocada como um número integral de cilindros (com base na noção possivelmente incorreta de um cilindro). Se dois programas de particionamento diferentes tiverem entendimentos diferentes da geometria de disco nominal, é possível que um programa de particionamento relate um erro ou problema possível com partições criadas por outro programa de particionamento. É possível também ver esse tipo de problema se um disco for movido de um sistema para outro, particularmente se os recursos do BIOS forem diferentes.
É possível ver a geometria nominal em um sistema Linux usando ferramentas
Observe que, na Listagem 1,
É possível usar
Observe que a aparente discrepância entre o cilindro inicial e os cilindros finais mostrados pela saída de
Há três tipos de partição em unidades IDE: primária, lógica e estendida. A tabela de partições está localizada no registro de boot mestre (MBR) de um disco. O MBR é o primeiro setor do disco, portanto, a tabela de partições não ocupa grande parte dele. Isso limita o número de partições primárias em um disco a quatro. Quando mais de quatro partições forem necessárias, o que geralmente é o caso, uma das partições primárias deve se tornar uma partição estendida. Uma partição estendida é simplesmente um contêiner para uma, ou normalmente mais partições lógicas. Esse esquema de particionamento foi originalmente usado com MS DOS e PC DOS e permite que discos de PC sejam usados por sistemas DOS, Windows ou Linux. Um disco pode conter apenas uma partição estendida. Os dados são armazenados nas partições lógicas dentro da partição estendida. Não é possível armazenar dados em uma partição estendida sem primeiro criar uma partição lógica nela. O Linux numera as partições primárias ou estendidas de 1 a 4, portanto, dev/sda pode ter quatro partições primárias, /dev/sda1, /dev/sda2, /dev/sda3 e /dev/sda4. Ou ter uma única partição primária /dev/sda1 e uma partição estendida /dev/sda2. Se partições lógicas forem definidas, elas serão numeradas a partir de 5, portanto, a primeira partição lógica em /dev/sda será /dev/sda5, mesmo se não houver nenhuma partição primária e houver uma partição estendida (/dev/sda1) no disco. Assim, se quiser mais de quatro partições em uma unidade IDE, você perderá um número de partição para a partição estendida. Embora o número teórico máximo de partições em um disco IDE seja agora limitado a 15 por kernel com hot plug, você pode ou não ser capaz de criar as últimas. Tenha cuidado e verifique se tudo pode funcionar se estiver planejando usar mais de 12 partições em uma unidade.
O disco usado nos exemplos anteriores possui três partições primárias, todas formatadas para uso em Linux. Duas usam o sistema de arquivos ext3, enquanto a outra usa ext4. A Listagem 4 mostra a saída do comando
Como mencionado anteriormente, um sistema de arquivos Linux é uma única árvore grande com raiz em /. Fica bem óbvio por que os dados em discos flexíveis ou CD-ROMs devem ser montados, mas talvez menos óbvio por que você deve considerar a separação dos dados armazenados em discos rígidos. Alguns bons motivos para separar sistemas de arquivos incluem:
Além do uso do sistema de arquivos já abordado, é preciso também considerar a alocação de espaço de troca em disco. Para um sistema Linux, é geralmente uma, ou possivelmente várias, partições dedicadas. Vamos considerar que você esteja configurando um sistema que tenha pelo menos uma unidade de disco rígido e queira inicializar a partir da unidade de disco rígido. (Este artigo não aborda a configuração de uma estação de trabalho sem discos que seja inicializada por uma LAN ou considerações para o uso de um sistema Linux de live CD ou DVD.) Embora possa ser possível alterar os tamanhos da partição posteriormente, isso geralmente exige um esforço, portanto, fazer boas escolhas com antecedência é importante. Vamos começar. Sua primeira consideração é assegurar que o sistema possa ser inicializado. Alguns sistemas mais antigos têm uma limitação de que o BIOS pode inicializar apenas de uma partição integralmente localizada dentro dos primeiros 1024 cilindros do disco. Se você tiver um sistema desses, será preciso criar uma partição que será enfim montada como /boot e hospedará os arquivos-chave necessários para inicializar o sistema. Quando eles tiverem sido carregados, o sistema Linux assumirá a operação do disco, e o limite de 1024 cilindros não afetará a operação posterior do sistema. Se for preciso criar uma partição para /boot, aproximadamente 100 megabytes (MB) serão em geral suficientes. Sua próxima consideração provavelmente será a quantidade necessária de espaço de troca. Com os preços de memória atuais, o espaço de troca representa uma memória secundária muito lenta. Uma regra prática comum era criar espaço de troca equivalente à quantidade de RAM real. Hoje, você pode querer configurar uma RAM real uma ou duas vezes para uma estação de trabalho, para que possa usar vários programas grandes sem ficar sem RAM. Mesmo que seja lento alternar entre elas, você provavelmente trabalhará em somente uma ou duas em um dado momento. Um grande espaço de troca também é aconselhável para um sistema com memória muito pequena. Para um servidor, você pode querer usar um espaço de troca de cerca de metade da sua RAM, a menos que esteja executando um aplicativo que recomende um valor diferente. Em qualquer evento, você deve monitorar o uso da memória do servidor para que possa adicionar RAM real ou distribuir a carga de trabalho pelos servidores adicionais, se necessário. Geralmente, não é adequado realizar muitas trocas em um servidor É possível usar um arquivo de troca, mas uma partição dedicada funciona melhor. Agora, estamos diante de um ponto de divergência. O uso de uma estação de trabalho pessoal tende a ser muito menos previsível do que o de um servidor. Minha preferência, especialmente para novos usuários, é alocar a maioria dos diretórios padrão (/usr, /opt, /var, etc.) em uma única partição grande. Isso é especialmente útil para novos usuários que podem não ter uma ideia clara do que será instalado. Para uma estação de trabalho que executa um desktop gráfico e um número razoável de ferramentas de desenvolvimento, provavelmente serão necessários 5 ou mais GB de espaço em disco, além do espaço para atendimento das necessidades dos usuários. Algumas ferramentas de desenvolvimento maiores podem exigir vários gigabytes cada. Eu geralmente aloco algo entre 40 GB e 60 GB por sistema operacional e deixo o restante do meu disco livre para carregar outras distribuições. As cargas de trabalho do servidor serão mais estáveis, e ficar sem espaço em um determinado sistema de arquivos pode ser mais catastrófico. Portanto, para elas, você geralmente cria várias partições, disseminadas em vários discos, possivelmente usando RAID de hardware ou software ou grupos de volumes lógicos. Pode-se também considerar a carga de trabalho em um determinado sistema de arquivos e se esse sistema é compartilhado entre vários sistemas ou usado por apenas um sistema. É possível usar uma combinação de experiência, ferramentas de planejamento de capacidade e crescimento estimado para determinar as melhores alocações para o seu sistema. Independentemente de se estar configurando uma estação de trabalho ou um servidor, você terá certos arquivos exclusivos de cada sistema localizados na unidade local. Geralmente, eles incluem /etc para parâmetros de sistema, /boot para arquivos necessários durante o boot, /sbin para arquivos necessários para boot ou recuperação de sistema, /root para o diretório inicial do usuário raiz, /var/lock para arquivos de bloqueio, /var/run para informações do sistema em execução e /var/log para arquivos de log desse sistema. Outros sistemas de arquivos, como /home para diretórios iniciais do usuário, /usr, /opt, /var/mail ou /var/spool/news, podem estar em partições separadas ou montados em rede, de acordo com as necessidades e as preferências de sua instalação.
Aprender
Obter produtos e tecnologias
Discutir
Ian Shields trabalha em vários dos projetos Linux para a zona Linux do developerWorks. Ele é um programador senior da IBM em Research Triangle Park, NC. Ele iniciou na IBM em Canberra, Austrália, como um Engenheiro de Sistemas em 1973 e, desde então, trabalhou em sistemas de comunicações e computação disseminada em Montreal, no Canadá, e em RTP na Carolina do Norte, nos Estados Unidos. Ele possui diversas patentes. Sua graduação é em matemática pura e filosofia na Australian National University. Ele possui mestrado em ciências e é doutor em ciências da computação na Universidade do Estado da Carolina do Norte. |
||||||||||||||||||||||||||||||||
| Última atualização em Sáb, 05 de Fevereiro de 2011 00:08 |



