現在LVMのない2TBハードドライブがあり、すぐに2番目のハードドライブを追加して2ストライプボリュームを構成します。そのため、3番目のハードドライブを追加する必要がある場合は、将来の拡張を計画しています。したがって、解決すべき問題は、データで満たされた2つのストライプLVMボリュームを形成するための2つの物理ドライブ、3つのストライプボリュームを形成するために3つの物理ドライブを「マージ」する必要があることです。
これ一般的に答えは、新しいスペースに3ストライプボリュームを作成して既存のデータをコピーした後、元のストレージを空にしてからスペースをすべて再占める方法を推奨することだ。ただし、この方法は、新しく追加されたスペースが元のスペースより小さい設定では機能しないようです。つまり、2 TBのデータを新しい2 + 2 TBの空の場所にコピーできますが、明らかに4 TBが2 TBに入ることはできません。
これまで、私は仮想マシンで実験をしてきました。
- 新しい単一の「ハードドライブ」を3つの物理ボリュームに分割します。
- これを使用して、3つのストライプを持つLVMボリュームを作成します。
- データをそこに移動します(50%のみ)。
- スペースを解放した後、元のディスクのPVとLVを減らします。
- 3 台目のドライブの PV を 1 つずつ元のドライブに移動して拡張し、空き領域を徐々に再占めることで、3 つのドライブに対して 3 つの PV を含む LVM ボリュームが作成されます。
ただし、元のドライブのLVMを縮小せずにこれを行う方法はありません。ほとんどのデータを削除した後もすべてのスペースが割り当てられているように見えるため、これは実現可能には見えません。
検索は、ストライプ化されていないボリュームまたはすべてのデータを一時的に保存するための余分なスペースがある状況に対する回答のみを提供します。
安全に縮小する方法はありますか?ストライプLVMボリューム?
それとも、上記の3つのドライブに加えて追加のストレージを必要としないこのトピックのタスクを実行する別の方法がありますか?
#pvs
PV VG Fmt Attr PSize PFree
/dev/vdb1 lv_s lvm2 a-- 1020.00m 0
/dev/vdc1 lv_s lvm2 a-- 1020.00m 0
/dev/vdd1 lt_t lvm2 a-- 336.00m 0
/dev/vdd2 lt_t lvm2 a-- 336.00m 0
/dev/vdd3 lt_t lvm2 a-- 336.00m 0
#vgs
VG #PV #LV #SN Attr VSize VFree
lt_t 3 1 0 wz--n- 1008.00m 0
lv_s 2 1 0 wz--n- 1.99g 0
小さいサイズは無視してください。これは仮想マシンのサンプル設定にすぎません。
man lvreduceでは、まずPVサイズを小さくすることをお勧めします。ただし、pvresizeは100%割り当てられているため、ボリュームを縮小することはできません。
pvresize --setphysicalvolumesize 700M /dev/vdb1
/dev/vdb1: Requested size 700.00 MiB is less than real size 1022.00 MiB. Proceed? [y/n]: y
WARNING: /dev/vdb1: Pretending size is 1433600 not 2093056 sectors.
/dev/vdb1: cannot resize to 174 extents as 255 are allocated.
0 physical volume(s) resized or updated / 1 physical volume(s) not resized
このドライブで使用される実際のスペースを手動で計算できるようですが(ファイルサイズの合計に基づいて)、これはアドバイスに反しています。まず、LVを希望の範囲に縮小してからPVを縮小します。しかし、これは危険に見えます。
また、ファイルマネージャでスペースを開いてファイルを合計しなくても、使用されたスペースの正確な量を読み取る方法がわかりません。このテスト環境では、実際にいっぱいの店舗はありませんが、関係なく次のような結果が得られます。
#pvdisplay
--- Physical volume ---
PV Name /dev/vdd1
VG Name lt_t
PV Size 340.00 MiB / not usable 4.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 84
Free PE 0
Allocated PE 84
PV UUID 4vph5m-kReY-yukF-Crre-k2G9-c2UK-2pob7V
--- Physical volume ---
PV Name /dev/vdd2
VG Name lt_t
PV Size 340.00 MiB / not usable 4.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 84
Free PE 0
Allocated PE 84
PV UUID LfE23C-rU4f-N404-5bBa-zstP-qHd8-SbwYru
--- Physical volume ---
PV Name /dev/vdd3
VG Name lt_t
PV Size 340.00 MiB / not usable 4.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 84
Free PE 0
Allocated PE 84
PV UUID peDK1t-SZW6-VX0x-q0v1-7TUL-QZqq-unBeAV
--- Physical volume ---
PV Name /dev/vdb1
VG Name lv_s
PV Size 1021.00 MiB / not usable 0
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 255
Free PE 0
Allocated PE 255
PV UUID 8sCpwh-2D5S-V5VP-v1N8-sgpd-dyra-xeqNXD
--- Physical volume ---
PV Name /dev/vdc1
VG Name lv_s
PV Size 1022.00 MiB / not usable 2.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 255
Free PE 0
Allocated PE 255
PV UUID OF4fxd-f3eN-keTP-sf8p-ahVc-r35C-x7sb6l