高度なディスク管理-LVM論理ボリューム管理

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になります。

注:バックアップを復元します

元の記事を52件公開 賞賛5件 訪問数1341件

おすすめ

転載: blog.csdn.net/weixin_46669463/article/details/105704399