Introdução a LVM2
        
        
          O pacote LVM2 é um conjunto de
          ferramentas que gerenciam partições lógicas. Ele permite a extensão
          completa de sistemas de arquivos transversalmente entre vários
          discos físicos e partições de disco e fornece crescimento dinâmico
          ou redução de partições lógicas, espelhamento e instantâneos de
          baixo consumo de armazenamento.
        
        
          Esse pacote é conhecido por construir e funcionar adequadamente
          usando uma plataforma LFS 11.3.
        
        
          Informação do Pacote
        
        
          
            - 
              
                Transferência (HTTP): https://sourceware.org/ftp/lvm2/LVM2.2.03.18.tgz
              
             
            - 
              
                Transferência (FTP): ftp://sourceware.org/pub/lvm2/LVM2.2.03.18.tgz
              
             
            - 
              
                Soma de verificação MD5 da transferência:
                cda7b89ae45ddb4a0cee768645ac9757
              
             
            - 
              
                Tamanho da transferência: 2,6 MB
              
             
            - 
              
                Espaço em disco estimado exigido: 48 MB (adicione 25 MB para
                os testes; arquivos transitórios podem crescer até cerca de
                800 MB no diretório /tmp durante os testes)
              
             
            - 
              
                Tempo de construção estimado: 0,1 UPC (usando paralelismo =
                4; adicione de 9 a 48 UPC para os testes, dependendo da
                velocidade do disco)
              
             
          
         
        
          Dependências do LVM2
        
        
          Exigida
        
        
          libaio-0.3.113
        
        
          Opcionais
        
        
          mdadm-4.2,
          reiserfsprogs-3.6.27, Valgrind-3.20.0, Which-2.21, xfsprogs-6.1.1 (todos os
          cinco podem ser usados, porém não são exigidos, para os testes),
          thin-provisioning-tools
          e vdo
        
        
          Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/lvm2
        
       
      
        
          Configuração do Núcleo
        
        
          Habilite as seguintes opções na configuração do núcleo e recompile
          o núcleo:
        
        
          
          
            Nota
          
          
            Existem várias outras opções do Device Mapper no núcleo além das
            listadas abaixo. Para obter resultados razoáveis ao executar os
            testes de regressão, todas precisam ser habilitadas, seja
            internamente ou como um módulo. Todos os testes expirarão se a
            chave Magic SysRq não estiver habilitada.
          
         
        Device Drivers --->
  [*] Multiple devices driver support (RAID and LVM) ---> [CONFIG_MD]
    <*/M>   Device mapper support                        [CONFIG_BLK_DEV_DM]
    <*/M>   Crypt target support                          [CONFIG_DM_CRYPT]
    <*/M>   Snapshot target                               [CONFIG_DM_SNAPSHOT]
    <*/M>   Thin provisioning target                      [CONFIG_DM_THIN_PROVISIONING]
    <*/M>   Cache target (EXPERIMENTAL)                   [CONFIG_DM_CACHE]
    <*/M>   Mirror target                                 [CONFIG_DM_MIRROR]
    <*/M>   Zero target                                   [CONFIG_DM_ZERO]
    <*/M>   I/O delaying target                           [CONFIG_DM_DELAY]
  [*] Block devices --->
    <*/M>   RAM block device support                      [CONFIG_BLK_DEV_RAM]
Kernel hacking --->
  Generic Kernel Debugging Instruments --->
    [*] Magic SysRq key                                   [CONFIG_MAGIC_SYSRQ]
       
      
        
          Instalação do LVM2
        
        
          Instale LVM2 executando os
          seguintes comandos:
        
        PATH+=:/usr/sbin               \
./configure --prefix=/usr       \
            --enable-cmdlib     \
            --enable-pkgconfig  \
            --enable-udev_sync  &&
make
        
          Os testes usam udev para
          sincronização de volume lógico, de forma que as regras LVM do udev
          e alguns utilitários precisam ser instalados antes de se executar
          os testes. Se você estiver instalando o LVM2 pela primeira vez e não quiser instalar o
          pacote completo antes de executar os testes, [então] o conjunto
          mínimo de utilitários pode ser instalado executando as seguintes
          instruções como o(a) usuário(a) root:
        
        make -C tools install_tools_dynamic &&
make -C udev  install              &&
make -C libdm install
        
          Para testar os resultados, emita, como o(a) usuário(a) root:
        
        LC_ALL=en_US.UTF-8 make check_local
        
          Alguns testes possivelmente travem. Nesse caso, eles podem ser
          pulados adicionando-se S=<nome_do_teste> ao
          comando make. Outros
          alvos estão disponíveis e podem ser listados com make -C test help. Os tempos de
          teste são muito dependentes da velocidade do(s) disco(s) e do
          número de opções de núcleo habilitadas.
        
        
          Os testes não implementam a possibilidade de “falha esperada” e um
          pequeno número de falhas de teste é esperado pelo(a)
          desenvolvedor(a). Mais falhas possivelmente acontecam porque
          algumas opções do núcleo estão ausentes. Por exemplo, a falta do
          alvo do mapeador de dispositivos dm-delay explica algumas falhas. Alguns
          testes possivelmente falhem se existir espaço livre insuficiente
          disponível na partição com o diretório /tmp. Pelo menos um teste
          falha se 16 TB não estiver disponível. Alguns testes são
          sinalizados como “avisados” se thin-provisioning-tools
          não estiver instalado. Uma solução alternativa é a de adicionar os
          seguintes sinalizadores a configure:
        
             --with-thin-check=    \
     --with-thin-dump=    \
     --with-thin-repair=   \
     --with-thin-restore=  \
     --with-cache-check=   \
     --with-cache-dump=    \
     --with-cache-repair=  \
     --with-cache-restore= \
        
          Alguns testes possivelmente travem. Eles podem ser removidos se
          necessário, por exemplo: rm
          test/shell/lvconvert-raid-reshape.sh. Os testes
          geram um monte de mensagens do núcleo, que possivelmente
          sobrecarreguem seu terminal. Você consegue desabilitá-los emitindo
          dmesg -D antes de
          executar os testes (não se esqueça de emitir dmesg -E quando os testes forem
          concluídos).
        
        
          
          
            Nota
          
          
            As verificações criam nós de dispositivo no diretório /tmp. Os
            testes falharão se /tmp for montado com a opção nodev.
          
         
        
          Agora, como o(a) usuário(a) root:
        
        make install
rm -fv /usr/lib/udev/rules.d/69-dm-lvm.rules
       
      
        
          Explicações do Comando
        
        
          PATH+=:/usr/sbin: O
          caminho precisa conter /usr/sbin para
          detecção adequada da ferramenta do sistema pelo script configure. Essa instrução garante
          que PATH seja configurada adequadamente, mesmo se você construir
          como um(a) usuário(a) sem privilégios.
        
        
          --enable-cmdlib: Essa chave
          habilita a construção da biblioteca compartilhada de comandos. É
          exigida ao se construir o processo de segundo plano de evento.
        
        
          --enable-pkgconfig: Essa
          chave habilita a instalação de arquivos de suporte pkg-config.
        
        
          --enable-udev_sync: Essa
          chave habilita a sincronização com o processamento Udev.
        
        
          --enable-dmeventd: Essa chave habilita
          a construção do processo de segundo plano de evento Device Mapper.
        
        
          rm
          .../69-dm-lvm.rules: Sob certas circunstâncias,
          essa regra do udev chama systemd-run, que não está
          disponível no sysv. Ela realiza ações que, de qualquer maneira, são
          feitas por outro script de inicialização; portanto, não é
          necessária.