sábado, 11 de outubro de 2014

LVM, NTFS e Kpartx: Acessando partições NTFS em discos virtuais sob LVM.


Este post apresenta como realizar acesso a segmentos/partições alocadas em discos virtuais (criados em volumes LVM).
Suponha que um servidor base de virtualização possua instâncias de máquinas virtuais através do Hypervisor Linux/KVM, e que estas instâncias utilizam discos virtuais alocados sob volumes lógicos (LVM).
Vou considerar a utilização da distribuição CentOS 6 – 64 bits, entretanto, com algumas adaptações dos nomes dos pacotes que necessitarão ser instalados, a dica servirá para praticamente qualquer uma das principais distribuições da atualidade.
Para obter a segmentos/partições criadas sob um volume lógico LVM necessitaremos da ferramenta Kpartx, que permite que estes segmentos de dados alocados sob dispositivos de bloco (device blocks) possam ser mapeados e assim acessados assim como uma partição tradicional.
Vamos considerar que em nosso ambiente exista um grupo de volumes LVM chamados guests, e que existe alocado nele um volume lógico chamado vm01Disk01.
Para instalar o pacote kpartx informe:
aptitude install kpartx
Para verificar os segmentos/partições em nosso volume lógico:
fdisk -l /dev/guests/vm01Disk01
Supondo a existência de dois segmentos/partições seriam exibidas as informações:
/dev/guests/vm01Disk01p1/dev/guests/vm01Disk01p2
Deste modo, basta adicionar o mapeamento para ambos segmentos/partições:
kpartx -a /dev/guests/vm01Disk01
Em seguida verifique os mapeamentos criados:
kpartx -l /dev/guests/vm01Disk01
Serão exibidas as referências aos nomes:
guests-vm01Disk01p1
guests-vm01Disk01p2
Deste modo para montar ambas as partições podemos referenciar os nomes acima através de:
  • /dev/mapper/guests-vm01Disk01p1
  • /dev/mapper/guests-vm01Disk01p2
Para realizar o acesso, throubleshoot em problemas diverso no sistema de arquivos devemos instalar os seguintes pacotes:
  • fuse
  • ntfs-3g
  • ntfsprogs
Sendo que, os dois últimos poderão ser instalados através do repositório EPEL, portanto, para instalar caso necessário os arquivos de configuração do repositório EPEL, basta:
rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
Em seguida instale o fuse e os pacotes ntfs-3g e ntfsprogs:
aptitude install fuse ntfs-3g ntfsprogs
Para montar o primeiro segmento/partição NTFS:
mount /dev/mapper/guests-vm01Disk01p1 /mnt
Caso necessite realizar a checagem do sistema de arquivos utilize a ferramenta ntfsck:
umount /mntntfsck /dev/mapper/guests-vm01Disk01p1
Para resolver problemas de consistência do sistema de arquivos a ferramenta ntfsfix poderá ajudar em muitas situações:
ntfsfix /dev/mapper/guests-vm01Disk01p1
Para remover o mapeamento dos segmentos/partições criados pelo kpartx informe:
kpartx -d /dev/guests/vm01Disk01
É interessante estudar outras ferramentas do projetos ntfs-3g, por exemplo:
  • ntfsclone
  • ntfsinfo
  • ntfsundelete
  • ntfsresize
Antigamente administradores tinham como uma de suas preocupações, o uso de ferramentas para verificar problemas em sistemas de arquivos alocados em partições tradicionais, entretanto, hoje com a concentração cada vez maior de servidores virtualizados torna-se necessário o estudo e conhecimento de ferramentas que permitam o troubleshooting de sistemas de arquivos alocados em discos virtuais.
Em alguns trabalhos de perícia forense que já realizei, o uso de ferramentas como dd para clonagem, kpartx para mapeamento de segmentos/partições sob dispositivos de bloco e o conjunto de ferramentas do pacote ntfsprogs permite realizar diversas tarefas com imagens de possíveis sistemas comprometidos e/ou utilizados para atividades ilícitas.


Autor: Waldemar Dibiazi Junior

Nenhum comentário: