Baixe o app para aproveitar ainda mais
Prévia do material em texto
LVM Criando grupos de volumes Vamos considerar que possuímos dois discos: um com uma partição (/dev/sda2) de 10GB e outro com uma partição de 100GB (/dev/sdb1), ambas no formato Linux LVM. O primeiro passo é criar o volume físico para cada partição que será utilizada no LVM. # pvcreate /dev/sda2 Physical volume “/dev/sda2” successfully created # pvcreate /dev/sdb1 Physical volume “/dev/sdb1” successfully created Na sequência, devemos executar o comando pvscan para identificar todos os volumes físicos disponíveis no sistema. A lista apresenta a identificação das partições, labels e seus respectivos tamanhos. # pvscan PV /dev/sda2 lvm2 [10GiB] PV /dev/sdb1 lvm2 [100GiB] Total: 2 [110,00 GiB] / in use: 0 [0 ] in no VG: 1 [110,00 GiB] Em seguida utiliza-se o comando vgcreate para criação do grupo de volumes, é recomendado utilizar um nome sugestivo para facilitar a identificação no futuro. No nosso exemplo utilizaremos as partições /dev/sda2 e /dev/sdb1 para formar o grupo de volumes. # vgcreate vgProducao /dev/sda2 /dev/sdb1 Volume group “vgProducao” successfully created Para conferir as informações do volume criado utilize o comando vgdisplay. # vgdisplay vgProducao --- Volume group --- VG Name vgProducao System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 1 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 1 Act PV 1 VG Size 110,00 GiB PE Size 4,00 MiB Total PE 25599 Alloc PE / Size 0 / 0 Free PE / Size 25599 / 110,00 GiB VG UUID 68EZqv-Hms2-OVi2-Gl2p-K8fZ-LvVu-WdbgaD Criando volumes lógicos Para criarmos os volumes lógicos utilizamos o comando lvcreate. As principais opções do comando são: · -L: determina o tamanho do volume · -n: especifica o nome do volume a ser criado # lvcreate -n lvDadosPublicos -L 5G vgProducao Logical Volume “lvDadosPublicos” created Após a criação do volume lógico, um novo dispositivo é adicionado ao sistema operacional, ele geralmente é criado no diretório /dev/mapper e o nome será formado pela junção do nome do grupo de volume + o nome do volume lógico, para o nosso exemplo o dispositivo foi criado com o nome vgProducao-lvDadosPublicos (/dev/mapper/vgProducao-lvDadosPublicos). Para conferir os detalhes sobre volume lógico criado utilize o comando lvdisplay. # lvdisplay /dev/vgProducao/lvDadosPublicos --- Logical volume --- LV Path /dev/vgProducao/lvDadosPublicos LV Name lvDadosPublicos VG Name vgProducao LV UUID hYd7Rs-5DcT-024D-AD0D-AWQ9-LvId-Pd09Jy LV Write Access read/write LV Creation host, time localhost, 2017-02-14 14:51:43 -0300 LV Status available # open LV Size 5 GiB Currente LE 1280 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:2 Uma vez criado, o volume lógico pode ser formatado e montado na árvore de diretórios do Linux. Mais detalhes sobre a criação do sistema de arquivos e as opções para montagem serão apresentadas nos próximos tópicos deste capítulo. # mkfs.ext4 /dev/mapper/vgProducao-lvDadosPublicos # mkdir /dados/publico # mount /dev/mapper/vgProducao-lvDadosPublicos /dados/publico Redimensionando volumes lógicos Uma das principais vantagens da utilização do LVM é permitir que o administrador redimensione um volume lógico sem precisar desmontá-lo, para isso basta existir espaço disponível no grupo de volumes onde o volume lógico foi criado. Em casos onde não exista espaço suficiente no grupo de volumes o administrador pode reduzir o espaço de algum volume lógico para aumentar outro. Não é recomendado reduzir o tamanho de um volume lógico para um valor inferior ao espaço ocupado pelos dados armazenados, caso isso ocorra existirá perda de informações. O comando lvextend permite modificar o tamanho de um volume lógico. Vamos adicionar 1 GB ao volume lógico lvDadosPublicos: # lvextend -L +1G /dev/mapper/vgProducao-lvDadosPublicos Após a alteração do tamanho do volume lógico é necessário redimensionar o sistema de arquivos para que a mudança seja percebida pelo sistema operacional. # resize2fs -p /dev/mapper/vgProducao-lvDadosPublicos Para verificar a mudança utilize o comando df # df -h /dev/mapper/vgProducao-lvDadosPublicos Sistema de Arquivos Tipos de filesystems suportados A tabela abaixo apresenta uma lista com os principais sistemas de arquivos utilizados no Linux: Sistema de arquivos Descrição ext4 É o sistema de arquivos padrão da maioria das distribuições Linux. Pode suportar volumes com tamanho até 1 exabyte e arquivos com tamanho até 16 terabytes. https://ext4.wiki.kernel.org/index.php/Main_Page ext3 Sucessor do ext2 e foi utilizado como sistema de arquivos padrão do Linux até 2006. A principal diferença está na implementação do journaling, que consiste em um registro (log ou journal) de transações cuja finalidade é recuperar o sistema em caso de desligamento não programado. iso9660 Sistema de arquivos utilizado para montar imagens de CD-ROMs conforme o padrão ISO 9660. msdos É o sistema de arquivos utilizado pelo DOS, versões antigas do Windows e OS/2. Nesse filesystem os nomes dos arquivos podem possuir até 8 caracteres precedidos de uma extensão de até 3 caracteres. vfat É uma melhoria do formato msdos que era utilizada pelo Windows 95 e NT. A principal diferença em relação ao msdos e o suporte a nomes longos para os arquivos. nfs Network Filesystem, é o sistema de arquivos utilizado para acessar discos/volumes em computadores remotos. ntfs É o substituto do sistema de arquivos vfat (vfat e fat32) nos sistemas operacionais da Microsoft. Oferece diversas melhorias como o suporte a journaling, uso de ACLs, criptografia entre outros. proc É um pseudo filesystem utilizado pelo kernel para representar, de forma estruturada, todos os processos que estão em execução no sistema. Não consome espaço em disco, essas informações ficam na memória. Para mais informações utilize o comando: man proc smb Sistema de arquivos em rede com suporte ao protocolo SMB, utilizado em redes Windows. xfs Sistema de arquivos desenvolvido pela SGI com suporte a journaling. Foi integrado a versão 2.4.20 do Kernel e pode armazenar arquivos de até 8 Exbibytes - 1 byte. Acesse “man fs” para ver a descrição de todos os sistema de arquivos do Linux. http://gnulinuxbrasil.com.br/2017/06/09/fat32-ext-ext2-ext3-ext4-btrfs-qual-sistema-de-arquivos-escolher/ https://www.howtogeek.com/howto/33552/htg-explains-which-linux-file-system-should-you-choose/ Blocos e inodes Limitações dos sistemas de arquivos: Filesystem Tamanho máximo do volume Tamanho máximo do arquivo ext3 2 TiB 16 GiB ext4 16 TiB 1 EiB xfs 8 EiB menos 1 byte 8 EiB menos 1 byte nfts 256 TiB menos 64 KiB 16 TiB menos 64KiB Raiserfs 16 TiB 8 TiB vfat 16 GiB 4 GiB Mais informações sobre as unidades de medida GiB, TiB, EiB e etc podem ser encontradas no link: https://www.ibm.com/support/knowledgecenter/pt-br/SSQRB8/com.ibm.spectrum.si.doc/fqz0_r_units_measurement_data.html Exemplos de utilização do comando mount Alterando as opções de montagem sem desmontar o volume # mount -o remount,rw /ponto/de/montagem # mount -o remount,rw,usrquota,grpquota /home Montando uma imagem de um cd-rom: # mount -t iso9660 -o loop imagem.iso /ponto/de/montagem Se adicionarmos a opção exec durante a montagem, será permitido que os arquivos binários contidos na imagem sejam executados. A opção noexec não permite a execução. # mount -t iso9660 -o loop,exec imagem.iso /ponto/de/montagem Montando um pendrive (/dev/sdb1) como somente leitura: # mount -o rw /dev/sdb1 /mnt LABEL e UUID O comando lsblk é utilizando para exibir as informações dos dispositivos de bloco existentes, ele lê as informações a partir do filesystem sysfs e udev e então formata o resultado de acordo com as opções escolhidas pelo usuário. Se executado sem opções, vai exibir os dados de todos os dispositivos de bloco do sistema. A opção -o permite customizar quais colunas desejamos que sejam exibidas, por exemplo: # lsblk -o name,mountpoint,tran,fstype,label,size O comando blkid também pode ser utilizado para obter asinformações dos dispositivos. Em algumas situações pode ser necessário alterar os valores de Label ou UUID, nesse caso devermos utilizar o comando tune2fs conforme os exemplos abaixo: Alterar o Label de uma partição: # tune2fs -L novo-label /dev/sdb1 Alterando o UUID: Primeiro precisamos gerar um novo UUID, para isso utilizamos o comando uuidgen. # uuidgen bf474773-1caf-46b5-92ae-c3ffe8a1f37a Em seguida utilizamos o comando tune2fs para alterar o UUID da partição desejada. # tune2fs /dev/sdb1 -U bf474773-1caf-46b5-92ae-c3ffe8a1f37a Utilizamos novamente o comando lsblk para conferir as alterações:
Compartilhar