Você começou com:
-----------
| VG storage|
|-----------|
| LV storage|
|-----------| -------------
| pv0 | pv1 | | new |
| 1.5 | 1.5 | | 4.0 |
----------- -------------
Digamos que o volume físico 0 (pv0) é aquele do qual você deseja se livrar. o que você precisa fazer é estender o grupo de volume (VG) para incluir a nova unidade:
-------------------------
| VG storage |
|-----------+-------------|
| LV storage| FREE EXTENTS|
|-----------|-------------|
| pv0 | pv1 | new |
| 1.5 | 1.5 | 4.0 |
-------------------------
Observe que estendendo o grupo de volumes (com pvcreate
e vgextend
)
deixa você com as extensões gratuitas que você precisa para pvmove
. Em vez de,
você estendeu o volume lógico (LV) para ocupar todas as extensões livres.
Para recuperar, você precisa primeiro reduzir o sistema de arquivos (que tem que
ser feito offline, e pode demorar um pouco) e depois encolher o
volume lógico. Finalmente, você pode fazer o pvmove
(o que pode ser feito
online) e o vgreduce
.
É essencial que você não reduza o volume lógico mais
sistema de arquivo; isso vai levar à perda de dados. A maneira mais fácil é usar
a opção -r
para lvreduce
, que manipulará o redimensionamento do sistema de arquivos
para você.
Em resumo:
-
umount /dev/mapper/storage-storage
-
lvreduce -r -L3G storage/storage
- espera longa
- Você pode remontar o armazenamento agora, se quiser.
-
pvmove /dev/sdd1
(ou o que for o disco antigo) -
vgreduce storage /dev/sdd1
- Agora você pode
lvextend
armazenamento, se desejar. Você pode usar-r
aqui também.
PS: Tenha em mente como é a curva de falhas dos HDDs: um monte em primeiro de fabricação / transporte / etc. questões, então muito poucos, então finalmente, uma quantidade crescente à medida que a unidade envelhece. Sua nova unidade está em o período inicial de falha de amaciamento.
PS (2): vgrename
e lvrename
existem ...
PS (3): Tem certeza de que não deseja espelhar os dados? Outra unidade de 4 TB não é tão cara.