Skip to main content

102.1 Design do HD



Partição, Ponto de montagem FS


Um dos motivos para separar os diretórios em partições é que se algumas delas ficar cheia, não vai interferir em outras partições, principalmente na partição raiz. Erros no disco vai influenciar apenas a partição onde o erro está e não todo o disco.

É mais fácil para alguns softwares fazer backup da partição toda também.

As partições são sda1, sda2, sdb3 etc, já o ponto de montagem é /var, /, home, swap entre outros. Cada partição deve ter seu próprio FileSystem, geralmente todas possuem o mesmo tipo com exceção do de alguns pontos de montagens especiais.



MBR - Master Boot Record


Além de ser os 512 bytes iniciais de um disco, também é um sistema de particionamento. Discos com esse tipo de partição, sempre estarão limitados a 2TB por disco, possui um limite de até 4 partições primária, podendo ter apenas 1 partição extendida e muitas partições lógicas.

A partição extendida armazena as partições lógicas. As partições primária variam de 1 até 4 (sda1, sda2, sda3 e sda4, se nenhuma partição extendida for usada). Já as partições lógicam variam de sda5 até N.

A partição raiz / é a primeira partição a ser montada, a partir dela, é lido o arquivo /etc/fstab e as outras partições são montadas. As partições possuem o código chamado Tipo de partição, é apenas uma tag que define para nós que tipo de filesystem vai estar lá, alguns dos códigos mais usados são:

  • 0x83 = Linux File System
  • 0x82 = Linux Swap

Vale ressaltar que podemos encotrar códigos maiores, esse está em hexadecimal, isso depende da ferramenta que está trabalhando.



GPT - GUID Partition Table


Podem ter discos com mais de 2TB, usado em sua maioria por sistemas que usam o UEFI, foi desenvolvida para ser utilizada com UEFI, mas possui suporte a BIOS. Seu diretório padrão é /boot/efi/ e possui o identificador C12A7328-F81F-11D2-BA4B-00A0C93EC93B, se for usar em formato MBR, o ID é 0xEF.

Alguns observações:

# Podemos ver os sistemas disponível para inicializar (tenho dual boot)
$ sudo ls -lh /boot/efi/EFI
total 12K
drwx------ 2 root root 4,0K Aug 13 2020 arch
drwx------ 2 root root 4,0K Aug 13 2020 BOOT
drwx------ 2 root root 4,0K Aug 13 2020 ubuntu

# Tem os arquivos para iniciar o Ubuntu e o ArchLinux
$ sudo ls -lh /boot/efi/EFI/ubuntu
total 4,2M
-rwx------ 1 root root 108 Feb 28 21:38 BOOTX64.CSV
-rwx------ 1 root root 126 Feb 28 21:38 grub.cfg
-rwx------ 1 root root 1,7M Feb 28 21:38 grubx64.efi
-rwx------ 1 root root 1,3M Feb 28 21:38 mmx64.efi
-rwx------ 1 root root 1,3M Feb 28 21:38 shimx64.efi

$ sudo ls -lh /boot/efi/EFI/arch
total 132K
-rwx------ 1 root root 132K Aug 21 2020 grubx64.efi


EFIBOOTMGR


Comando usado para ver informações do UEFI e para fazer alterações.

# Exibindo a ocnfiguração atual:
$ efibootmgr
BootCurrent: 0001
Timeout: 1 seconds
BootOrder: 0001,0000,0002,0003,0004
Boot0000* Windows Boot Manager
Boot0001* ubuntu
Boot0002* UEFI:CD/DVD Drive
Boot0003* UEFI:Removable Device
Boot0004* UEFI:Network Device

# Para exibir mais detalhes, use o -v



Ambos os sistemas de particionamento


As partições mais comuns de se encontrar são:

  • /home
  • /var
  • /tmp
  • /boot
  • /usr

Existem alguns diretórios que não podem ficar fora da raiz /, são eles:

  • /etc
  • /bin
  • /sbin
  • /dev
  • /proc
  • /sys


LVM - Logical Volume Management


O "Gerenciador de Volumes Lógicos" é um tipo de sistema que nos permite adicionar ou remover espaço em disco de forma bem simples. Com eles podemos fazer o hotswap (trocar peças com a máquina ligada, no caso aqui HDs), fácil gerenciamento do espaço em disco e snapshot.

Diferente de um disco comum, onde o espaço ocupado é fixo, e voce só consegue aumentar se após o setor final tivermos um espaço livre, com LVM não temos essas preocupação, já que ele trabalha com o conceito de volumes lógicos, então podemos aumentar ou diminuir desde que tenhamos espaço nesse volume para tal.

Alguns conceitos do LVM:

  • PV - Phisical Volume

    É o mapeamento da partição com o dispositivo.

  • VG - Volume Group

    É a junção de todos os PVs em um único grupo (podemos ter mais de um, com discos diferentes).

  • LV - Logical Volume

    É a partição lógica, podemos ter várias.

  • PE - Physical Extents

    Cada volume em um Grupo de Volumes é subdividido em partes de tamanho fixo chamadas extensões. As extensões em um PV são chamadas Extensões Físicas.

  • LE - Logical Extents

    As extensões em um LV são chamadas de LE.

De maneira geral, cada extensão lógica é mapeada para uma extensão física, mas isso pode mudar se forem usados recursos como o espelhamento de disco. Os Grupos de Volumes podem ser subdivididos em Volumes Lógicos (LVs), com funcionalidade semelhante à das partições, mas com mais flexibilidade.

O tamanho de um Volume Lógico, conforme especificado durante a sua criação, é na verdade definido pelo tamanho das extensões físicas (por padrão, 4 MB) multiplicado pelo número de extensões no volume. Com isso, é fácil entender que para aumentar um Volume Lógico, por exemplo, basta adicionar mais extensões do pool disponível no Grupo de Volumes. Da mesma forma, as extensões podem ser removidas para reduzir o LV.


Existem 3 tipos de LVM:

  • Linear

    Somente quando todo o espaço de um dispositivo for usado, outro será disponibilizado, vamos pensar em 2 HDs de 10GB (sda1 e sdb1) cada, eles estão no mesmo volume, quando todo o espaço disponível no sda1 acabar, ai os dados começam a ser escritos no sdb1.

  • Mirrored

    Aqui todos os dispositivos devem ter o mesmo tamanho, isso porque quando for criado um dado numa partição ela será replicada (entre os PVs).

  • Stripped

    Aqui os dados são divididos entre os PVs, fazendo um balanceamento de escrita e consequentemente leitura dos PVs onde os dados estão.

lvm

Informação disponível em https://www.3way.com.br/wp-content/uploads/2016/12/LVM.jpg.