Admin Linux - Gerenciamento de Volume

Logical Volume Management (LVM)é um método usado pelo Linux para gerenciar volumes de armazenamento em diferentes discos rígidos físicos. Isso não deve ser confundido com RAID. No entanto, pode ser pensado em um conceito semelhante ao RAID 0 ou J-Bod. Com o LVM, é possível ter (por exemplo) três discos físicos de 1 TB cada, então um volume lógico de cerca de 3 TB, como / dev / sdb. Ou mesmo dois volumes lógicos de 1,5 TB, 5 volumes de 500 GB ou qualquer combinação. Um único disco pode até ser usado para instantâneos de volumes lógicos.

Note- O uso de volumes lógicos, na verdade, aumenta a E / S do disco quando configurado corretamente. Isso funciona de forma semelhante ao RAID 0 striping dados em discos separados.

Ao aprender sobre gerenciamento de volume com LVM, é mais fácil se soubermos o que é cada componente do LVM. Por favor, estude a tabela a seguir para obter uma compreensão firme de cada componente. Se precisar, use o Google para estudar. Compreender cada parte de um volume lógico é importante para gerenciá-los.

PV Volume Físico sda
PP Partição Física sda1, sda2
VG Grupo de Volume Recursos físicos agrupados
LV Volume Lógico Visto como uma instalação de armazenamento para o sistema operacional

UMA physical volumeserá visto como / dev / sda, / dev / sdb; um disco físico detectado pelo Linux.

UMA physical partitionserá uma seção do disco particionada por um utilitário de disco como o fdisk. Lembre-se de que a partição física não é recomendada na maioria das configurações de LVM comuns. Exemplo: o disco / dev / sda é particionado para incluir duas partições físicas: / dev / sda1 e / dev / sda1

Se tivermos dois discos físicos de 1 TB cada, podemos criar um grupo de volume de quase 2 TB entre os dois.

A partir do grupo de volume, podemos criar três volumes lógicos, cada um de qualquer tamanho, não excedendo o tamanho total do grupo de volume.

Ferramentas tradicionais de administração de disco Linux

Antes de nos familiarizarmos com as ferramentas mais recentes e de maior destaque para Gerenciamento LVM no CentOS 7, devemos primeiro explorar as ferramentas mais tradicionais que foram usadas para gerenciamento de disco Linux. Essas ferramentas serão úteis e ainda poderão ser usadas com as ferramentas LVM avançadas de hoje, como o System Storage Manager: lsblk, parted e mkfs.xfs.

Agora, supondo que adicionamos outro ou dois discos ao nosso sistema, precisamos enumerar os discos detectados pelo Linux. Eu sempre aconselharia enumerar discos todas as vezes antes de realizar operações consideradas destrutivas.lsblké uma ótima ferramenta para obter informações do disco. Vamos ver quais discos o CentOS detecta.

[root@localhost rdc]# lsblk
NAME         MAJ:MIN    RM    SIZE    RO    TYPE MOUNTPOINT
sda            8:0       0     20G     0        disk 
├─sda1         8:1       0      1G     0     part /boot
└─sda2         8:2       0     19G     0        part 
  ├─cl-root  253:0       0     17G     0      lvm  /
  └─cl-swap  253:1       0      2G     0      lvm  [SWAP]
    sdb       8:16       0      6G     0       disk 
    sdc       8:32       0      4G     0       disk 
    sr0       11:0       1   1024M     0       rom

Como você pode ver, temos três discos neste sistema: sda, sdb e sdc.

O disco sda contém nossa instalação de trabalho do CentOS, então não queremos brincar com o sda. Tanto o sdb quanto o sdc foram adicionados ao sistema para este tutorial. Vamos tornar esses discos utilizáveis ​​no CentOS.

Criar um rótulo de disco

[root@localhost rdc]# parted /dev/sdb mklabel GPT
Warning: The existing disk label on /dev/sdb will be destroyed and all data on this
   disk will be lost. Do you want to continue?
Yes/No? Yes                               
[root@localhost rdc]#

Agora temos um disco rotulado. Simplesmente execute o comando parted da mesma maneira no sdc .

Crie as partições no disco

Criaremos apenas uma única partição em cada disco. Para criar partições, o comando parted é usado novamente.

[root@localhost rdc]# parted -a opt /dev/sdb mkpart primary ext4 0% 100%

Warning - Você solicitou uma partição de 0,00B a 6442 MB (setores 0..12582911).

O local mais próximo que podemos gerenciar é de 17,4kB a 1048kB (setores 34..2047).

Isso ainda é aceitável para você?

Sim não? NÃO

[root@localhost rdc]# parted -a opt /dev/sdc mkpart primary ext4 0% 100%

Information - Você pode precisar atualizar / etc / fstab.

[root@localhost rdc]# lsblk                                               
NAME        MAJ:MIN   RM    SIZE    RO    TYPE MOUNTPOINT
sda           8:0      0     20G     0        disk 
├─sda1        8:1      0      1G     0      part / boot
└─sda2        8:2      0     19G     0        part 
 ├─cl-root  253:0      0     17G     0       lvm  /
 └─cl-swap  253:1      0      2G     0       lvm  [SWAP]
sdb          8:16      0      6G     0        disk 
└─sdb1       8:17      0      6G     0        part 
 sdc         8:32      0      4G     0        disk 
└─sdc1       8:33      0      4G     0        part 
sr0          11:0      1   1024M     0        rom

[root@localhost rdc]#

Como você pode ver na saída do lsblk, agora temos duas partições, cada uma em sdb e sdc.

Faça o sistema de arquivos

Finalmente, antes de montar e usar qualquer volume, precisamos adicionar um sistema de arquivos. Estaremos usando o sistema de arquivos XFS.

root@localhost rdc]# mkfs.xfs -f /dev/sdb1
meta-data = /dev/sdb1               isize = 512    agcount = 4, agsize = 393088 blks
            =                      sectsz = 512    attr = 2, projid32bit = 1
            =                         crc = 1      finobt = 0, sparse = 0
data        =                       bsize = 4096   blocks = 1572352, imaxpct = 25
            =                       sunit = 0      swidth = 0 blks
naming      = version 2             bsize = 4096   ascii-ci = 0 ftype = 1
log         = internal log          bsize = 4096   blocks = 2560, version = 2
            =                      sectsz = 512    sunit = 0 blks, lazy-count = 1
realtime    = none                  extsz = 4096   blocks = 0, rtextents = 0
[root@localhost rdc]# mkfs.xfs -f /dev/sdc1
meta-data   = /dev/sdc1             isize = 512    agcount = 4, agsize = 262016 blks
            =                      sectsz = 512    attr = 2, projid32bit = 1
            =                         crc = 1      finobt = 0, sparse = 0
data        =                       bsize = 4096   blocks = 1048064, imaxpct = 25
            =                       sunit = 0      swidth = 0 blks
naming      = version 2             bsize = 4096   ascii-ci = 0 ftype = 1
log         = internal log          bsize = 4096   blocks = 2560, version = 2
            =                      sectsz = 512    sunit = 0 blks, lazy-count = 1
realtime    = none                  extsz = 4096   blocks = 0, rtextents = 0

[root@localhost rdc]#

Vamos verificar se cada um tem um sistema de arquivos utilizável.

[root@localhost rdc]# lsblk -o NAME,FSTYPE
NAME           FSTYPE
sda         
├─sda1         xfs
└─sda2         LVM2_member
 ├─cl-root     xfs
 └─cl-swap     swap
sdb         
└─sdb1         xfs
sdc         
└─sdc1         xfs
sr0

[root@localhost rdc]#

Cada um agora está usando o sistema de arquivos XFS. Vamos montá-los, verificar a montagem e copiar um arquivo para cada um.

[root@localhost rdc]# mount -o defaults /dev/sdb1 /mnt/sdb
[root@localhost rdc]# mount -o defaults /dev/sdc1 /mnt/sdc

[root@localhost ~]# touch /mnt/sdb/myFile /mnt/sdc/myFile
[root@localhost ~]# ls /mnt/sdb /mnt/sdc
 /mnt/sdb:
  myFile

 /mnt/sdc:
  myFile

Temos dois discos utilizáveis ​​neste momento. No entanto, eles só poderão ser usados ​​quando os montamos manualmente. Para montar cada um na inicialização, devemos editar o arquivo fstab . Além disso, as permissões devem ser definidas para grupos que precisam de acesso aos novos discos.

Criar grupos de volumes e volumes lógicos

Um dos maiores acréscimos ao CentOS 7 foi a inclusão de um utilitário chamado System Storage Manager ou ssm .System Storage Manager simplifica muito o processo de gerenciamento de pools de LVM e volumes de armazenamento no Linux.

Percorreremos o processo de criação de um conjunto de volumes simples e volumes lógicos no CentOS. A primeira etapa é instalar o System Storage Manager.

[root@localhost rdc]# yum  install system-storage-manager

Vejamos nossos discos usando o comando ssm list .

Conforme visto acima, um total de três discos estão instalados no sistema.

  • /sdba1 - Hospeda nossa instalação CentOS

  • /sdb1 - Montado em / mnt / sdb

  • /sdc1 - Montado em / mnt / sdc

O que queremos fazer é criar um Grupo de Volume usando dois discos (sdb e sdc). Em seguida, disponibilize três Volumes Lógicos de 3 GB para o sistema.

Vamos criar nosso Grupo de Volume.

[root@localhost rdc]# ssm create -p NEW_POOL /dev/sdb1 /dev/sdc1

Por padrão, o ssm criará um único volume lógico estendendo todos os 10 GB do pool. Não queremos isso, então vamos remover isso.

[root@localhost rdc]# ssm remove /dev/NEW_POOL/lvol001
 Do you really want to remove active logical volume NEW_POOL/lvol001? [y/n]: y
 Logical volume "lvol001" successfully removed
[root@localhost rdc]#

Finalmente, vamos criar os três volumes lógicos.

[root@localhost rdc]# ssm create -n disk001 --fs xfs -s 3GB -p NEW_POOL
[root@localhost rdc]# ssm create -n disk002 --fs xfs -s 3GB -p NEW_POOL
[root@localhost rdc]# ssm create -n disk003 --fs xfs -s 3GB -p NEW_POOL

Agora, vamos verificar nossos novos volumes.

Agora temos três volumes lógicos separados divididos em duas partições de disco físico.

Os volumes lógicos são um recurso poderoso agora integrado ao CentOS Linux. Chegamos à superfície sobre como gerenciar isso. Os pools de masterização e volumes lógicos vêm com a prática e o aprendizado estendido do Tutorials Point. Por enquanto, você aprendeu os fundamentos do gerenciamento de LVM no CentOS e possui a capacidade de criar volumes lógicos distribuídos básicos em um único host.