O problema: reduzir um volume físico
O LVM do IBM AIX tem vários recursos que permitem recuperar o espaço em disco não utilizado sem tempo de inatividade. É possível reduzir um sistema de arquivos usando o chfs e remover os volumes físicos (PVs) não utilizados dos grupos de volumes (VGs) para que o armazenamento possa ser alocado em outro lugar.
No entanto, se você deseja reduzir o tamanho de um PV do AIX para recuperar o espaço em disco não utilizado, os dados no PV serão danificados. Se você tem um LUN de SAN grande que tem uma quantidade significativa de partições físicas (PPs) não utilizadas, pode fazer o backup dos dados, reduzir o tamanho do LUN e restaurar os dados no PV novo e menor. Entretanto, isso pode envolver um tempo de inatividade inaceitável. Se, depois de uma limpeza de dados, for necessário recuperar parte do espaço de um LUN grande, esse processo deve ser o mais integrado possível.
A solução: migrar para um volume físico novo e menor
Talvez não seja possível reduzir um PV em uso, mas é possível criar um LUN de SAN novo e menor, incluí-lo no VG já existente e, em seguida, migrar dados do PV maior para o menor. Quando isso é feito, o PV original de tamanho extra pode ser removido do VG. Em seguida, o hdisk pode ser retirado do Gerenciador de Dados do Objeto (ODM) usando rmdev. Depois, é possível reciclar o armazenamento em SAN para outro uso.
Esse procedimento exige que o novo PV tenha características e tamanho adequados para inclusão no VG já existente. Deve ser grande o suficiente para conter todos os dados que estão no PV original (as PPs usadas). O procedimento também supõe que não há um striping de volume lógico (LV) que restringiria a capacidade de executar o espelho de um volume local usando mklvcopy.
Para este exercício, há um VG chamado datavg com um PV de 50 GB. O comando lspv mostra o tamanho total do PV e as PPs livres e usadas (consulte a Listagem 1).
Lista 1. Exibindo as características do volume físico
# lspv hdisk1 PHYSICAL VOLUME: hdisk1 VOLUME GROUP: datavg PV IDENTIFIER: 00cb07a45a12b4ca VG IDENTIFIER 00cb07a400004c00000001345a26db3e PV STATE: active STALE PARTITIONS: 0 ALLOCATABLE: yes PP SIZE: 512 megabyte(s) LOGICAL VOLUMES: 1 TOTAL PPs: 99 (50688 megabytes) VG DESCRIPTORS: 2 FREE PPs: 0 (0 megabytes) HOT SPARE: no USED PPs: 99 (50688 megabytes) MAX REQUEST: 256 kilobytes FREE DISTRIBUTION: 00..00..00..00..00 USED DISTRIBUTION: 20..20..19..20..20 MIRROR POOL: None |
Há um único sistema de arquivos registrados (JFS2) chamado /scratch que tem mais de 35 GB livres de sua alocação de 49,50 GB. Esse sistema de arquivos foi criado com um log INLINE JFS2:
# df -gI /scratch Filesystem GB blocks Used Free %Used Mounted on /dev/scratchlv 49.50 14.20 35.30 29% /scratch |
Já que o sistema de arquivos está usando menos de um terço de sua alocação, é possível reduzir a alocação total do disco. É possível reduzir o tamanho do sistema de arquivos usando chfs. O comando a seguir reduz 30 GB da alocação:
# chfs -a size=-30G /scratch Filesystem size changed to 40894464 Inlinelog size changed to 78 MB. |
A alocação total de disco para o sistema de arquivos foi reduzida para 19,50 GB:
# df -gI /scratch Filesystem GB blocks Used Free %Used Mounted on /dev/scratchlv 19.50 14.08 5.42 73% /scratch |
Esse processo liberou algumas PPs no PV, como mostra o comando lspv
da Listagem 2 .
Lista 2. lspv mostrando partições físicas livres
# lspv hdisk1 PHYSICAL VOLUME: hdisk1 VOLUME GROUP: datavg PV IDENTIFIER: 00cb07a45a12b4ca VG IDENTIFIER 00cb07a400004c00000001345a26db3e PV STATE: active STALE PARTITIONS: 0 ALLOCATABLE: yes PP SIZE: 512 megabyte(s) LOGICAL VOLUMES: 1 TOTAL PPs: 99 (50688 megabytes) VG DESCRIPTORS: 2 FREE PPs: 60 (30720 megabytes) HOT SPARE: no USED PPs: 39 (19968 megabytes) MAX REQUEST: 256 kilobytes FREE DISTRIBUTION: 00..01..19..20..20 USED DISTRIBUTION: 20..19..00..00..00 MIRROR POOL: None |
Inclua um volume físico menor no grupo de volumes
A próxima etapa é incluir um PV novo e menor no VG já existente. Esse PV deve ter pelo menos a mesma redundância e o mesmo desempenho de entrada/saída (E/S) que o do PV original e maior. Por exemplo, deve ter um Redundant Array of Independent Disks (RAID) equivalente. Todas as outras características de ajuste —como a profundidade da fila — devem ser configuradas para assegurar que o desempenho do sistema seja semelhante ao do PV original e maior.
Crie um novo LUN e aloque-o para a partição lógica (LPAR) do AIX. Neste exemplo, o novo LUN é de 20 GB:
# cfgmgr |
O comando lspv mostra que o novo disco se chama hdisk2
(consulte a Listagem 3) e ainda não faz parte de um VG.
Lista 3. Listando o novo disco
# lspv hdisk0 00c5a47e3f356f3c rootvg active hdisk1 00cb07a45a12b4ca datavg active hdisk2 none None |
É possível ver o tamanho do novo disco até mesmo antes que ele seja incluído em um VG usando o comando getconf . Esta ação relata o tamanho em MB:
# getconf DISK_SIZE /dev/hdisk2 20480 |
Inclua o disco no VG já existente usando o comando extendvg :
# extendvg datavg hdisk2 0516-1254 extendvg: Changing the PVID in the ODM. |
Espelhe ou migre as partições lógicas para um novo volume físico
É possível espelhar o LV para o novo PV e, em seguida, remover a cópia do PV original depois que todas as PPs forem sincronizadas entre os dois PVs.
mklvcopy -k scratchlv 2 |
Há outras opções para mklvcopy. Por exemplo, é possível adiar a sincronização para um momento mais tranquilo. Também é possível especificar a política de alocação de disco. A documentação oficial do mklvcopy
tem os detalhes necessários (consulte Recursos).
Remova a cópia do volume físico original
Quando a sincronização estiver concluída, será possível remover a cópia do PV original usando rmlvcopy. Certifique-se de especificar o PV que tem a cópia que você quer remover.
rmlvcopy scratchlv 1 hdisk1 |
É possível usar o comando lspv para confirmar que não há mais PPs usadas no PV original. Se ainda há PPs em uso, é possível listar os LVs no PV usando lspv -l PVNAME.
Quando você tiver certeza de que todas as PPs foram movidas a outros PVs, poderá remover o PV original do VG usando reducevg:
reducevg datavg hdisk1 |
Você deve ser capaz de remover o PV maior original do ODM usando rmdev:
rmdev -d -l hdisk1 |
Finalmente, é possível remover o LUN ou alocá-lo para outro uso.
Reduzindo as indisponibilidades
Como é possível ver, os recursos de LVM permitem mover dados — inclusive para discos menores — sem causar um impacto desnecessário nos usuários. Aproveitando os recursos de espelhamento e migração do LVM, é possível manter o sistema ativo e, mesmo assim, recuperar o espaço de armazenamento necessário caso ele tenha sido sobrealocado.
Aprender
-
O LVM pode simplificar o processo de mover para um novo armazenamento SAN. Essa abordagem é descrita em Using
the AIX Logical Volume Manager to perform SAN storage migrations (Chris Gibson,
developerWorks, julho de 2010).
-
Para ver os detalhes dos comandos de LVM citados neste artigo, consulte o Centro de Informações do AIX.
-
Zona do developerWorks ® sobre AIX e UNIX: a zona sobre AIX e UNIX fornece muitas informações relacionadas a todos os aspectos da administração de sistemas AIX e a expansão das suas qualificações em UNIX.
-
Iniciante no AIX e UNIX?
Visite a página de Iniciante no AIX e UNIX para saber mais.
-
Livraria de tecnologia:Busque livros sobre esse e outros tópicos técnicos na livraria de tecnologia.
-
O artigo Live
Transplant (Anthony English, IBM Systems Magazine, abril de 2011) mostra como o LVM do AIX ajuda a migrar dados sem tempo de inatividade.
-
Participe de um briefing gratuito do developerWorks Live! para se atualizar rapidamente sobre produtos e ferramentas IBM, bem como tendências do segmento de mercado de TI.
-
Siga o developerWorks no Twitter.
-
Acompanhe demonstrações no developerWorks que vão da instalação e configuração de produtos para iniciantes a funcionalidades avançadas para desenvolvedores experientes.
Obter produtos e tecnologias
-
Avalie produtos IBM da maneira que for melhor para você: faça download da versão de teste de um produto, avalie um produto online, use-o em um ambiente de nuvem ou passe algumas horas no
SOA
Sandbox, aprendendo a implementar a arquitetura orientada a serviços (SOA) eficientemente.
Discutir
-
Participe da comunidade My developerWorks. Entre em contato com outros usuários do developerWorks, enquanto explora blogs, fóruns, grupos e wikis orientados a desenvolvedores.
-
Participe dos fóruns AIX e UNIX:
- Fórum do AIX
- Fórum AIX for Developers
- Cluster Systems Management
- IBM Support Assistant
- Ferramentas de desempenho
- Mais fóruns AIX e UNIX

Anthony English é contratado independente de Sydney, Austrália. Trabalha com sistemas AIX desde 1991 e escreve em um blog do IBM developerWorks, AIX Down Under. Também é reconhecido como IBM Champion para Power Systems. É possível entrar em contato com Anthony pelo email anthonyenglish@levitar.com.au.