記事ディレクトリ
1. LVM論理ボリューム管理
1.コンセプト
LVM(Logical Volume Manager)は、Linux環境でディスクとパーティションを管理するためのメカニズムです。
通常のディスクパーティション管理方法では、通常、パーティションを分割した後でサイズを変更できません(リスク)
LVMは、オブジェクトpvを1つまたは複数の大きなvgにマージします。vgスペースは、必要に応じて分割します。これは仮想ストレージプールであるため、スペースを分割するときにサイズを自由に調整できます。
LVMの焦点は、データストレージの効率と安全性ではなく、ファイルシステムの容量を柔軟に調整できることです**
2. LVMのコンポーネント
物理ボリューム(PV、物理ボリューム):ディスクまたはパーティションから変換
ボリュームグループ(VG、ボリュームグループ):複数の物理ボリュームを組み合わせてボリュームグループを形成します。同じボリュームグループは、同じハードディスクの異なるパーティションまたは異なるハードディスク上の異なるパーティションで構成できます。通常、ボリュームグループはハードディスクとして理解されます。
論理ボリューム(LV、論理ボリューム):ボリュームグループがハードディスクとして認識される場合、論理ボリュームはハードディスク上のパーティションであり、論理ボリュームをフォーマットしてデータを保存できます。
物理拡張(PE、物理拡張):PEボリュームグループの最小のストレージユニットです。PEの場所はVGボリュームグループ、つまりハードディスク上にあり、PEはハードディスク上のセクターとして理解できます。デフォルトは4MBで、自由に構成できます。 。
次に、LVM論理ボリュームを作成します
(1)ディスクをパーティション化するか、ディスク全体がパーティション化されていない
(2)ディスク上のパーティションまたはディスク全体を物理ボリューム(PV)に確立する
(3)作成した物理ボリュームをボリュームグループ(VG)に結合し、パスする物理ボリュームを追加または削除して、ボリュームグループのサイズを調整します。
(4)最後に、ボリュームグループを論理ボリューム(LV)に分割します。論理ボリュームも自由に調整できます。論理ボリュームは実際のパーティションと同等であるため、使用するにはフォーマットしてマウントする必要があります。
fdiskを使用してパーティションを作成します。パーティションのシステムIDは、tオプションを使用して8e00に変更する必要があります
1.物理ボリューム管理(pv)
1.1物理ボリュームの作成-pvcreate
フォーマット:pvcreateディスク名/パーティション名
パーティション:
ハードドライブ全体:
1.2物理ボリュームの表示-pvscanおよびpvdisplay
フォーマット:
PVSはpvscan速記である
pvdisplay
pvdisplay名指定されたディスク/パーティション名
[root@xxx ~]# :pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 centos lvm2 a-- <19.00g 0
/dev/sdd1 lvm2 --- 10.00g 10.00g
/dev/sde lvm2 --- 20.00g 20.00g
[root@xxx ~]# :pvdisplay
--- Physical volume ---
PV Name /dev/sda2
VG Name centos
PV Size <19.00 GiB / not usable 3.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 4863
Free PE 0
Allocated PE 4863
PV UUID CQu05U-dzdQ-QkTT-W4OR-EaIW-f7EV-cC9sJi
"/dev/sdd1" is a new physical volume of "10.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sdd1
VG Name
PV Size 10.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID wvT7tu-mSmu-OzjE-oNrQ-4ILN-S38J-hscKsx
"/dev/sde" is a new physical volume of "20.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sde
VG Name
PV Size 20.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID fF8Umg-JrkA-NAMu-QTMI-ebds-NFTD-HS1osw
1.3物理ボリュームpvremoveを削除する
フォーマット:
pvremoveディスク名/パーティション名
[root@xxx ~]# :pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 centos lvm2 a-- <19.00g 0
/dev/sdd1 lvm2 --- 10.00g 10.00g
/dev/sde lvm2 --- 20.00g 20.00g
/dev/sdf lvm2 --- 20.00g 20.00g
[root@xxx ~]# :pvremove /dev/sdf
Labels on physical volume "/dev/sdf" successfully wiped.
You have new mail in /var/spool/mail/root
[root@xxx ~]# :pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 centos lvm2 a-- <19.00g 0
/dev/sdd1 lvm2 --- 10.00g 10.00g
/dev/sde lvm2 --- 20.00g 20.00g
2.ボリュームグループ管理(vg)
2.1ボリュームグループvgcreateの作成
形式:
vgcreateオプションボリュームグループ名ディスク名/パーティション名(スペースで区切って、複数を書き込むことができます)
-s size:VGのPEサイズを指定します
[root@xxx ~]# :vgcreate -s 2M vg1 /dev/sdd1 /dev/sde
Volume group "vg1" successfully created
2.2ボリュームグループの表示-vgscanおよびvgdisplay
形式:
vgsはvgscan
vgdisplayの略です。vgdisplay
はディスク名/パーティション名を指定します
[root@xxx ~]# :vgs
VG #PV #LV #SN Attr VSize VFree
centos 1 2 0 wz--n- <19.00g 0
vg1 2 0 0 wz--n- <30.00g <30.00g
[root@xxx ~]# :vgdisplay
--- Volume group ---
VG Name centos
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size <19.00 GiB
PE Size 4.00 MiB
Total PE 4863
Alloc PE / Size 4863 / <19.00 GiB
Free PE / Size 0 / 0
VG UUID d4wUf7-yU7O-0hdk-ohdD-4UME-TIBw-qQMQyr
--- Volume group ---
VG Name vg1
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 2
Act PV 2
VG Size <30.00 GiB
PE Size 2.00 MiB
Total PE 15358
Alloc PE / Size 0 / 0
Free PE / Size 15358 / <30.00 GiB
VG UUID 1U8tJu-cHBt-B8TV-Ao2j-t29G-ULc3-DlHB04
2.3ボリュームグループの容量-vgextendを増やす
形式:
vgextendボリュームグループ名、ディスク名、パーティション名
[root@xxx ~]# :vgs
VG #PV #LV #SN Attr VSize VFree
centos 1 2 0 wz--n- <19.00g 0
vg1 1 0 0 wz--n- <10.00g <10.00g
[root@xxx ~]# :vgextend vg1 /dev/sde
Volume group "vg1" successfully extended
You have new mail in /var/spool/mail/root
[root@xxx ~]# :vgs
VG #PV #LV #SN Attr VSize VFree
centos 1 2 0 wz--n- <19.00g 0
vg1 2 0 0 wz--n- <30.00g <30.00g
2.4ボリュームグループの容量を減らす-vgreduce
削除するときは注意してください
形式:
vgreduceボリュームグループ名物理ボリューム名
[root@xxx ~]# :vgs
VG #PV #LV #SN Attr VSize VFree
centos 1 2 0 wz--n- <19.00g 0
vg1 2 0 0 wz--n- <30.00g <30.00g
[root@xxx ~]# :vgreduce vg1 /dev/sde
Removed "/dev/sde" from volume group "vg1"
You have new mail in /var/spool/mail/root
[root@xxx ~]# :vgs
VG #PV #LV #SN Attr VSize VFree
centos 1 2 0 wz--n- <19.00g 0
vg1 1 0 0 wz--n- <10.00g <10.00g
2.5ボリュームグループの削除-vgremove
形式:
vgremoveボリュームグループ名
VG列を見ると、ボリュームグループは削除されています
[root@xxx ~]# :pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 centos lvm2 a-- <19.00g 0
/dev/sdd1 vg1 lvm2 --- 10.00g 10.00g
/dev/sde vg1 lvm2 --- 20.00g 20.00g
[root@xxx ~]# :vgremove vg1
Volume group "vg1" successfully removed
[root@xxx ~]# :pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 centos lvm2 a-- <19.00g 0
/dev/sdd1 lvm2 --- 10.00g 10.00g
/dev/sde lvm2 --- 20.00g 20.00g
3.論理ボリューム管理(lv)
3.1論理ボリュームの作成--lvcreate
形式:
lvcreateパラメーター-n論理ボリューム名ボリュームグループ名
パラメーター:
-L容量:作成された論理ボリュームのサイズを指定します。単位:MB、GB、TBなど。-
l(小さい)数値:PEの数に従って
論理ボリュームのサイズを指定します-n論理ボリューム名:論理ボリュームの名前を指定します
[root@xxx ~]# :lvcreate -L 15G -n lv1 vg1
Logical volume "lv1" created.
注:論理ボリュームはパーティションと同等であるため、使用する前にフォーマットしてマウントし、自動起動する必要があります。
[root@xxx ~]# :mkfs.xfs /dev/vg1/lv1
meta-data=/dev/vg1/lv1 isize=512 agcount=4, agsize=983040 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=3932160, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
You have new mail in /var/spool/mail/root
[root@xxx ~]# :mkdir /disk/guazai5
[root@xxx ~]# :mount /dev/vg1/lv1 /disk/guazai5
[root@xxx ~]# :df -h | grep movie
You have new mail in /var/spool/mail/root
[root@xxx ~]# :df -h | grep /disk/guazai5
/dev/mapper/vg1-lv1 15G 33M 15G 1% /disk/guazai5
[root@xxx ~]# :echo "/dev/vg1/lv1 /disk/guazai5 xfs defaults 0 0" >> /etc/fstab
[root@xxx ~]# :mount -a
[root@xxx ~]# :df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 17G 2.7G 15G 16% /
devtmpfs 475M 0 475M 0% /dev
tmpfs 487M 0 487M 0% /dev/shm
tmpfs 487M 7.7M 479M 2% /run
tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/sdc1 20G 483M 20G 3% /disk/guazai4
/dev/sdb1 10G 33M 10G 1% /disk/guazai3
/dev/sda1 1014M 133M 882M 14% /boot
tmpfs 98M 0 98M 0% /run/user/0
/dev/mapper/vg1-lv1 15G 33M 15G 1% /disk/guazai5
3.2論理ボリュームの表示-lvscanおよびlvdisplay
フォーマット:
lvsはlvscan
lvdisplayの略
[root@xxx ~]# :lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- <17.00g
swap centos -wi-ao---- 2.00g
lv1 vg1 -wi-ao---- 15.00g
You have new mail in /var/spool/mail/root
[root@xxx ~]# :lvdisplay
--- Logical volume ---
LV Path /dev/vg1/lv1
LV Name lv1
VG Name vg1
LV UUID Oxd3vD-Q0wD-QHb0-bf6o-3TEJ-VV08-DI01U9
LV Write Access read/write
LV Creation host, time xxx, 2020-04-22 23:42:51 -0400
LV Status available
# open 1
LV Size 15.00 GiB
Current LE 7680
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:2
--- Logical volume ---
LV Path /dev/centos/swap
LV Name swap
VG Name centos
LV UUID AmBZcm-EgKm-4Lx7-WSUf-KYvH-CtEO-zpIHjz
LV Write Access read/write
LV Creation host, time localhost, 2020-02-27 23:30:51 -0500
LV Status available
# open 2
LV Size 2.00 GiB
Current LE 512
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:1
--- Logical volume ---
LV Path /dev/centos/root
LV Name root
VG Name centos
LV UUID ZzVT9H-lHCv-lbjh-xsMU-uDM9-17Yp-ThoiF9
LV Write Access read/write
LV Creation host, time localhost, 2020-02-27 23:30:51 -0500
LV Status available
# open 1
LV Size <17.00 GiB
Current LE 4351
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
3.3論理ボリュームの容量-lvextendを増やす
注:lvおよびファイルシステムのサイズを変更するには、最初にlvおよびファイルシステムをアンマウントする必要があります(umount)
格式:
lvextend -L +10G /dev/vg1/lv1 先增加lv的大小
xfs_growfs /dev/vg1/lv1 再修改文件系统的大小
3.3.1最初にアンインストールし、LV容量を増やす
[root@xxx ~]# :umount /dev/mapper/vg1-lv1
You have new mail in /var/spool/mail/root
[root@xxx ~]# :df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 17G 2.7G 15G 16% /
devtmpfs 475M 0 475M 0% /dev
tmpfs 487M 0 487M 0% /dev/shm
tmpfs 487M 7.7M 479M 2% /run
tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/sdc1 20G 483M 20G 3% /disk/guazai4
/dev/sdb1 10G 33M 10G 1% /disk/guazai3
/dev/sda1 1014M 133M 882M 14% /boot
tmpfs 98M 0 98M 0% /run/user/0
[root@xxx ~]# :lvextend -L +5G /dev/vg1/lv1
Size of logical volume vg1/lv1 changed from 15.00 GiB (7680 extents) to 20.00 GiB (10240 extents).
Logical volume vg1/lv1 successfully resized.
You have new mail in /var/spool/mail/root
[root@xxx ~]# :mount /dev/vg1/lv1 /disk/guazai5
[root@xxx ~]# :df -h | grep /disk/guazai5
/dev/mapper/vg1-lv1 15G 33M 15G 1% /disk/guazai5
マウントポイントをアンマウントした後、lvのサイズを増やした後、マウントして確認したところ、実際の容量が増加していないため、
3.3.2ファイルシステムのサイズを変更する
[root@xxx ~]# :xfs_growfs /dev/vg1/lv1
meta-data=/dev/mapper/vg1-lv1 isize=512 agcount=4, agsize=983040 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=3932160, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 3932160 to 5242880
You have new mail in /var/spool/mail/root
[root@xxx ~]# :df -h | grep /disk/guazai5
/dev/mapper/vg1-lv1 20G 33M 20G 1% /disk/guazai5
容量が更新されたことがわかります(15G + 5Gは20Gになります)
3.4論理ボリュームの容量を減らす—lvreduce
注:、サイズやファイルシステムを変更LVあなたはアンインストールする必要があります(アンマウント)まずLVとファイルシステム
注:バックアップを行います
形式:
lvreduce -L + 10G / dev / vg1 / lv1パーティションが削減される量を指定します
mkfs.xfs -f / dev / vg1 / lv1次に、再フォーマット、マウント、表示
注:xfsファイルシステムは、デフォルトでは拡張のみをサポートし、圧縮はサポートしていません。そのため、本当にロスレスになることはありません...(強制デモ)
3.4.1最初にマウントポイントをアンマウントし、縮小したパーティションサイズを指定します
[root@xxx ~]# :df -h | grep /disk/guazai5
/dev/mapper/vg1-lv1 20G 33M 20G 1% /disk/guazai5
You have new mail in /var/spool/mail/root
[root@xxx ~]# :umount /dev/mapper/vg1-lv1
You have new mail in /var/spool/mail/root
[root@xxx ~]# :lvreduce -L 5G /dev/mapper/vg1-lv1
WARNING: Reducing active logical volume to 5.00 GiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vg1/lv1? [y/n]: Y
Size of logical volume vg1/lv1 changed from 20.00 GiB (10240 extents) to 5.00 GiB (2560 extents).
Logical volume vg1/lv1 successfully resized.
3.4.2強制的に再フォーマット、マウント、表示
[root@xxx ~]# :mkfs.xfs -f /dev/mapper/vg1-lv1
meta-data=/dev/mapper/vg1-lv1 isize=512 agcount=4, agsize=327680 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=1310720, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
You have new mail in /var/spool/mail/root
[root@xxx ~]# :mount /dev/vg1/lv1 /disk/guazai5
[root@xxx ~]# :df -h | grep /disk/guazai5
/dev/mapper/vg1-lv1 5.0G 33M 5.0G 1% /disk/guazai5
この時点で確認した容量は5Gになります。
注:バックアップを復元します