ディスク容量が不要になったため、仮想マシンに追加したディスクを削除しようとしています。しかし、VMのVGは、そこで利用可能なほとんどすべてのデータを使用しているようです。
しかし、zoneminder - vgのサイズを1.5TBから6Gに調整しましたが、resiz2fs
lvdisplayではそうではありません。
これはいくつかのコマンドの出力です。
root@zoneminder:~# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root zoneminder-vg -wi-ao---- 1.52t
swap_1 zoneminder-vg -wi-ao---- 976.00m
root@zoneminder:~# pvs
PV VG Fmt Attr PSize PFree
/dev/sda3 zoneminder-vg lvm2 a-- 900.00g 0
/dev/sda5 zoneminder-vg lvm2 a-- 699.52g 46.57g
root@zoneminder:~# vgs
VG #PV #LV #SN Attr VSize VFree
zoneminder-vg 2 2 0 wz--n- 1.56t 46.57g
DF-H
Filesystem Size Used Avail Use% Mounted on
udev 7.9G 0 7.9G 0% /dev
tmpfs 1.6G 8.9M 1.6G 1% /run
/dev/mapper/zoneminder--vg-root 5.6G 4.9G 431M 92% /
tmpfs 7.9G 0 7.9G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 7.9G 0 7.9G 0% /sys/fs/cgroup
/dev/sda1 472M 108M 340M 25% /boot
tmpfs 1.6G 0 1.6G 0% /run/user/1000
太陽電池ディスプレイ
--- Physical volume ---
PV Name /dev/sda5
VG Name zoneminder-vg
PV Size 699.52 GiB / not usable 2.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 179077
Free PE 11922
Allocated PE 167155
PV UUID SVGqoc-SQ42-tDzp-Qc7H-n90f-1g9n-x0eLWe
--- Physical volume ---
PV Name /dev/sda3
VG Name zoneminder-vg
PV Size 900.00 GiB / not usable 0
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 230400
Free PE 0
Allocated PE 230400
PV UUID Cdanv0-2pLJ-Yp2n-3zsl-JvjH-72QS-Ciwhaj
LVディスプレイ
--- Logical volume ---
LV Path /dev/zoneminder-vg/root
LV Name root
VG Name zoneminder-vg
LV UUID poThtY-v96W-e2Ai-nan7-ckqn-aeBm-T0Kqji
LV Write Access read/write
LV Creation host, time zoneminder, 2018-08-01 22:22:13 +0200
LV Status available
# open 1
LV Size 1.52 TiB
Current LE 397311
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:0
--- Logical volume ---
LV Path /dev/zoneminder-vg/swap_1
LV Name swap_1
VG Name zoneminder-vg
LV UUID SXQ36r-5Kum-Z3Wa-m9DE-CBVb-h9Wx-kmctKT
LV Write Access read/write
LV Creation host, time zoneminder, 2018-08-01 22:22:13 +0200
LV Status available
# open 2
LV Size 976.00 MiB
Current LE 244
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:1
グラフィックディスプレイ
--- Volume group ---
VG Name zoneminder-vg
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 6
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 2
Act PV 2
VG Size 1.56 TiB
PE Size 4.00 MiB
Total PE 409477
Alloc PE / Size 397555 / 1.52 TiB
Free PE / Size 11922 / 46.57 GiB
VG UUID lTo8U0-dIL9-Yye3-RVYk-rJu6-w6WQ-zIpL8f
LVMのデータに影響を与えずに/ dev / sda3を削除するにはどうすればよいですか?その後、VGroupを100Gに再構築するか、別の方法で再構築しますか?
fdisk -l
Disk /dev/sda: 1.6 TiB, 1717986918400 bytes, 3355443200 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x21880f4a
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 999423 997376 487M 83 Linux
/dev/sda2 1001470 1468004351 1467002882 699.5G 5 Extended
/dev/sda3 1468004352 3355443199 1887438848 900G 8e Linux LVM
/dev/sda5 1001472 1468004351 1467002880 699.5G 8e Linux LVM
Partition table entries are not in disk order.
Disk /dev/mapper/zoneminder--vg-root: 1.5 TiB, 1666443116544 bytes, 3254771712 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/zoneminder--vg-swap_1: 976 MiB, 1023410176 bytes, 1998848 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
root@zoneminder:~#
アップデート#1:
@telcoM:親切で詳細な回答に感謝します。
言及したすべてが完了しました。また、データはもちろんディスク全体に分散しているため、データを物理的に移動する必要があるという事実も発見しました。
root@zoneminder:~# pvresize --setphysicalvolume 101G -v /dev/sda5
Using physical volume(s) on command line.
Archiving volume group "zoneminder-vg" metadata (seqno 9).
/dev/sda5: Pretending size is 211812352 not 1467002880 sectors.
Resizing volume "/dev/sda5" to 211812352 sectors.
Resizing physical volume /dev/sda5 from 0 to 25855 extents.
/dev/sda5: cannot resize to 25855 extents as later ones are allocated.
0 physical volume(s) resized / 1 physical volume(s) not resized
root@zoneminder:~# pvs -v --segments /dev/sda5
Using physical volume(s) on command line.
Wiping cache of LVM-capable devices
PV VG Fmt Attr PSize PFree Start SSize LV Start Type PE Ranges
/dev/sda5 zoneminder-vg lvm2 a-- 699.52g 598.57g 0 25600 root 0 linear /dev/sda5:0-25599
/dev/sda5 zoneminder-vg lvm2 a-- 699.52g 598.57g 25600 141311 0 free
/dev/sda5 zoneminder-vg lvm2 a-- 699.52g 598.57g 166911 244 swap_1 0 linear /dev/sda5:166911-167154
/dev/sda5 zoneminder-vg lvm2 a-- 699.52g 598.57g 167155 11922 0 free
root@zoneminder:~# sudo pvmove --alloc anywhere /dev/sda5:166911-167154 /dev/sda5:25601-25845
/dev/sda5: Moved: 0.4%
/dev/sda5: Moved: 100.0%
root@zoneminder:~# pvresize --setphysicalvolume 101G -v /dev/sda5
Using physical volume(s) on command line.
Archiving volume group "zoneminder-vg" metadata (seqno 12).
/dev/sda5: Pretending size is 211812352 not 1467002880 sectors.
Resizing volume "/dev/sda5" to 211812352 sectors.
Resizing physical volume /dev/sda5 from 0 to 25855 extents.
Updating physical volume "/dev/sda5"
Creating volume group backup "/etc/lvm/backup/zoneminder-vg" (seqno 13).
Physical volume "/dev/sda5" changed
1 physical volume(s) resized / 0 physical volume(s) not resized
root@zoneminder:~# pvs -v --segments /dev/sda5
Using physical volume(s) on command line.
Wiping cache of LVM-capable devices
PV VG Fmt Attr PSize PFree Start SSize LV Start Type PE Ranges
/dev/sda5 zoneminder-vg lvm2 a-- 101.00g 44.00m 0 25600 root 0 linear /dev/sda5:0-25599
/dev/sda5 zoneminder-vg lvm2 a-- 101.00g 44.00m 25600 1 0 free
/dev/sda5 zoneminder-vg lvm2 a-- 101.00g 44.00m 25601 244 swap_1 0 linear /dev/sda5:25601-25844
/dev/sda5 zoneminder-vg lvm2 a-- 101.00g 44.00m 25845 10 0 free
実際に私が達成したいのは次のとおりです(投稿#18)。 https://communities.vmware.com/message/2723540#2723540
/dev/sda3
今はまだ削除していないところに閉じ込められていますが、まだfdisk -l
サイズが/dev/sda5
700Gであることを確認しています。
root@zoneminder:~# fdisk -l
Disk /dev/sda: 1.6 TiB, 1717986918400 bytes, 3355443200 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x21880f4a
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 999423 997376 487M 83 Linux
/dev/sda2 1001470 1468004351 1467002882 699.5G 5 Extended
/dev/sda3 1468004352 3355443199 1887438848 900G 8e Linux LVM
/dev/sda5 1001472 1468004351 1467002880 699.5G 8e Linux LVM
Partition table entries are not in disk order.
Disk /dev/mapper/zoneminder--vg-root: 100 GiB, 107374182400 bytes, 209715200 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/zoneminder--vg-swap_1: 976 MiB, 1023410176 bytes, 1998848 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
アップデート#2:
LIVE-CD管理では、GPARTEDとPARTEDを使用してディスクを取り出し、LV(M)/dev/sda2
でもサイズを変更しました。/dev/sda5
ESXiでスナップショットを撮ったので、すべての手順を再実行する必要があります。 vmdkのネストが少し迷惑だからです。
元の仮想マシン(1.6TB)をコピーするのに時間がかかります。その後、他の人が後で使用できるようにすべての手順を完全にダンプします。
答え1
いいですね。正常に縮小しました。ファイルシステムルートLV内で。
次のステップは、ファイルシステムの新しいサイズに合わせてLVを縮小することです。誤って切りすぎると、より深刻な問題が発生する可能性があるため、安全のために少し余裕を持っておくことをお勧めします。
ファイルシステムの縮小操作は常に拡張よりも危険であり、特に慣れていない場合はさらにそうです。したがって、問題が発生した場合に備えて必要なものをすべてバックアップしてください。
次に、次のようにtune2fs -l
ファイルシステムから正しいブロック数を取得します。
tune2fs -l /dev/mapper/zoneminder--vg-root | grep "Block "
Block count: NNNNNNNNN
Block size: XXXX
これらの2つの数を掛けてファイルシステムの正確なサイズを取得し、1024で割って2進数キロバイトを取得し、1024で割って2進数メガバイトを取得します。丸めエラーを回避するには、1つを追加してください。
expr NNNNNNNNN \* XXXX / 1024 / 1024 + 1
SSSSSS
今LVを縮小します。
lvreduce -L SSSSSS /dev/mapper/zoneminder--vg-root
これで、Zoneminder VGに十分な空き容量が必要です。完全に使用されていないことをpvs
確認するには、以下を使用してください。/dev/sda3
pvs
出力でPFree値がPSizeと等しくない場合は、/dev/sda3
ルートLVの一部がそのPVにまだ存在するため、その部分を別の場所に移動する必要があります。pvmove
これは簡単に行うことができます。今完全に無料であれば、/dev/sda3
このステップをスキップできます。
pvmove /dev/sda3
これは、本質的に「sda3
すべてのLVデータを同じVGに属する別のPVに移動して空になる」ことを意味します。
pvmove
新しい場所に移動したいデータをミラーリングし、古い場所から「ミラーを削除する」ように動作します。したがって、pvmove
システムのクラッシュによってダウンタイムが発生しても、結果は致命的ではありません。もともとあったpvmove
場所で続行するには、議論なしに実行してください。
今、sda3
PVは完全に空でなければなりません。 VGから削除します。
vgreduce zoneminder-vg /dev/sda3
この時は/dev/sda3
独立して完全無料のLVM PVになります。必要に応じてPVIDを消去できます。
pvremove /dev/sda3
これで、/dev/sda3
任意の方法でパーティションを自由に再利用できます。 (パーティションを上書きするタスクを実行したい場合は、このpvremove
コマンドは必ずしも必要ではありません。)
ルートLVを100GiBに拡張するには、次の手順に従います。
lvextend -L 100G /dev/mapper/zoneminder--vg-root
resize2fs /dev/mapper/zoneminder--vg-root
これで終わりました。
ここでは、「ファイルシステムのマウント解除」または「システムの再起動」とは言いませんでした。必要ありません。
答え2
LVMシステムは、ユーザーが論理ボリュームを使用する方法を知りません。 LVで使用されるファイルシステムを減らしても、LVのサイズは変更されず、VGおよびPVの空き容量も変更されません(LVに割り当てられているすべてのスペースは使用中と見なされます)。
ファイルシステムを縮小した場合は、このコマンドを使用してLVを減らすことができますが、lvreduce
ファイルシステムに合わせて縮小しないように注意してください。そうしないと、一部のデータが失われる可能性があります。
論理ボリュームを減らした後、このpvmove
コマンドを使用してあるPVから別のPVとして使用されているスペースを移動し、このvgreduce
コマンドを使用してVGからPVを削除できます。