Heim > Artikel > Betrieb und Instandhaltung > Was ist die LVM-Partition von Linux?
Die LVM-Partition von Linux bezieht sich auf „Logical Volume Management“. Der vollständige englische Name von LVM ist „Logical Volume Manager“, ein Mechanismus zum Verwalten von Festplattenpartitionen in der Linux-Umgebung Eine logische Ebene zur Verbesserung der Flexibilität der Festplattenpartitionsverwaltung.
Die Betriebsumgebung dieses Tutorials: Linux5.9.8-System, Dell G3-Computer.
Im Allgemeinen sind physische Festplatten oder Partitionen getrennt, Daten können sich nicht über Festplatten oder Partitionen erstrecken und die Größe jeder Festplatte oder Partition ist festgelegt, sodass eine Neuanpassung mühsam ist. LVM kann diese zugrunde liegenden physischen Festplatten oder Partitionen integrieren, sie in einen Kapazitätsressourcenpool abstrahieren und sie zur Verwendung durch die obere Schicht in logische Volumes aufteilen. Seine Hauptfunktion besteht darin, dass es ohne Herunterfahren oder Neuformatieren verwendet werden kann (genauer gesagt). Die Größe des logischen Volumes kann flexibel angepasst werden (der ursprüngliche Teil muss nicht formatiert werden, nur der neue Teil wird formatiert).
Der Implementierungsprozess von LVM ist wie folgt:: Das physische Volumen befindet sich am unteren Ende des logischen Volumenverwaltungssystems Dabei kann es sich um die gesamte physische Festplatte oder die tatsächliche physische Festplattenpartition handeln. Es wird lediglich ein spezieller Bereich in der physischen Partition reserviert, um Verwaltungsparameter im Zusammenhang mit LVM aufzuzeichnen.
VG (Volume-Gruppe): Eine Volume-Gruppe muss mindestens ein physisches Volume enthalten. Volumes können dynamisch zur Volume-Gruppe hinzugefügt werden Managementsystemprojekt Es können mehrere Volume-Gruppen vorhanden sein.
LV (logisches Volume): Logische Volumes werden auf Volume-Gruppen erstellt. Der nicht zugewiesene Speicherplatz in der Volume-Gruppe kann zum Erstellen neuer logischer Volumes verwendet werden. Nachdem die logischen Volumes erstellt wurden, kann der Speicherplatz dynamisch erweitert und reduziert werden.
PE (physischer Umfang): Der physische Bereich ist die kleinste Speichereinheit, die im physischen Volume zugewiesen werden kann. Die Größe des physischen Bereichs wird beim Erstellen der Volume-Gruppe angegeben Die physische Bereichsgröße aller physischen Volumes in derselben Volume-Gruppe muss konsistent sein: Nachdem ein neues PV zum VG hinzugefügt wurde, wird die Größe des PE automatisch auf die im VG definierte PE-Größe geändert.
LE (logischer Bereich): Der logische Bereich ist die kleinste für die Zuweisung verfügbare Speichereinheit im logischen Datenträger. Die Größe des logischen Bereichs hängt von der Größe des physischen Bereichs in der Datenträgergruppe ab, in der sich der logische Datenträger befindet . Aufgrund von Kernel-Einschränkungen kann Ein logisches Volume (Logic Volume) nur bis zu 65536 PE (Physical Extent) enthalten, daher bestimmt die Größe eines PE die maximale Kapazität des logischen Volumes und 4 MB (Standard) PE bestimmt die Die maximale Kapazität eines einzelnen logischen Volumes beträgt 256 GB. Wenn Sie ein logisches Volume mit mehr als 256 GB verwenden möchten, müssen Sie beim Erstellen einer Volume-Gruppe ein größeres PE angeben. In Red Hat Enterprise Linux AS 4 reicht die PE-Größe von 8 KB bis 16 GB und muss immer ein Vielfaches von 2 sein. 3. LVM-Schreibmodus
LVM verfügt über zwei Schreibmodi: Linearmodus und Stripe-Modus. LVM stellt die LV-Schicht für das obere Dateisystem bereit und verbirgt die Betriebsdetails. Für das Dateisystem unterscheidet sich die LV-Operation nicht von der ursprünglichen Partitionsoperation. Beim Schreiben in den LV findet LVM den entsprechenden LE und schreibt die Daten über die Zuordnungstabelle im PV-Header in den entsprechenden PE. Das größte Merkmal von LVM besteht darin, dass es Festplatten dynamisch verwalten kann. Denn die Größe des logischen Volumes kann dynamisch angepasst werden, ohne dass vorhandene Daten verloren gehen. Wenn wir eine neue Festplatte hinzufügen, ändert sich dadurch das bestehende obere logische Volume nicht. Der Schlüssel besteht darin, eine Zuordnungsbeziehung zwischen PE und LE herzustellen. Unterschiedliche Zuordnungsregeln bestimmen unterschiedliche LVM-Speichermodelle. LVM unterstützt Stripe und Mirror mehrerer PVs. 5. Vor- und Nachteile von LVM Die Befehle, die in dieser Phase verwendet werden können, sind pvcreate, pvremove, pvscan, pvdisplay (pvs) 1) pvcreate : Physisches Volume erstellen PE ist die kleinste Speichereinheit in einem physischen Volume, ähnlich einem Block in einem Dateisystem. Die PE-Größe kann angegeben werden . Der Standardwert ist 4M. Die in dieser Phase verwendeten Befehle sind vgcreate, vgscan, vgdisplay, vgextend, vgreduce. 3) vgdisplay: Volume-Gruppeneigenschaften anzeigen 4) vgextend: LVM-Volume-Gruppe dynamisch erweitern, wodurch die Kapazität der Volume-Gruppe durch Hinzufügen physischer Volumes zum Volume erhöht wird Gruppe 5) vgreduce: Reduzieren Sie die Kapazität der Volume-Gruppe, indem Sie physische Volumes in der LVM-Volume-Gruppe löschen. Das letzte verbleibende physische Volume in der LVM-Volume-Gruppe kann nicht gelöscht werden 6) vgremove : Löschen Sie die Volume-Gruppe. Das logische Volume darauf muss offline sein 7)vgchange:常用来设置卷组的活动状态 8)vg创建例子 4、在卷组上创建LV(logical volume,逻辑卷) 为了便于管理,逻辑卷对应的设备文件保存在卷组目录下,为/dev/VG_NAME/LV_NAME。LV中可以分配的最小存储单元称为LE(logical extend),在同一个卷组中,LE的大小和PE是一样的,且一一对应。这一阶段用到的命令有lvcreate、lvscan、lvdisplay、lvextend、lvreduce、lvresize 1)lvcreate:创建逻辑卷或快照 2)lvscan:扫描当前系统中的所有逻辑卷,及其对应的设备文件 3)lvdisplay:显示逻辑卷属性 4)lvextend:可在线扩展逻辑卷空间 5)lvreduce:缩减逻辑卷空间,一般离线使用 6)lvremove:删除逻辑卷,需要处于离线(卸载)状态 7)lv创建例子 5、格式化逻辑卷并挂载 [root@localhost ~]# mke2fs -t ext4 /dev/myvg/mylv 一、LV逻辑卷扩容后,必须对挂载目录在线扩容。 使用 resize2fs或xfs_growfs 对挂载目录在线扩容 xfs在线扩容 ext4在线扩容 相关推荐:《Linux视频教程》
Da Daten im Stripe-Modus nicht sicher sind und LVM keinen Wert auf Lese- und Schreibleistung legt, verwendet LVM standardmäßig den linearen Modus, sodass die Daten auf anderen Geräten auch dann noch vorhanden sind, wenn ein Gerät defekt ist. 4. Wie LVM funktioniert: LVM verwaltet Metadaten am Kopf jedes physischen Volumes. Jede Metadaten enthält Informationen über die gesamte VG (Volume-Gruppe), einschließlich des Layouts jeder VG-Konfiguration (Physical Volume). Volume-Nummer, LV-Nummer (logisches Volume: logisches Volume) und die Zuordnungsbeziehung jedes PE (physische Erweiterungen: physische Erweiterungseinheit) zu LE (logische Erweiterungen: physische Erweiterungseinheit). Die Informationen im Header jedes PV in derselben VG sind dieselben, was die Datenwiederherstellung im Fehlerfall erleichtert.
Vorteile:
Das Dateisystem kann sich über mehrere Festplatten erstrecken, sodass die Größe des Dateisystems nicht durch die physische Festplatte begrenzt ist.
Der Befehl „reducvg“ muss beim Entfernen einer Festplatte aus einer Volume-Gruppe verwendet werden (dieser Befehl erfordert Root-Rechte und ist in Snapshot-Volume-Gruppen nicht zulässig).
1. Stellen Sie den Systemtyp jeder physischen Festplatte oder Partition auf Linux LVM ein, ihre System-ID ist 8e, und legen Sie sie über den Befehl t im fdisk-Tool fest [root@localhost ~]# fdisk /dev/sdb ...
Command (m for help): n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): p
Partition number (2-4, default 2): 2First sector (20973568-62914559, default 20973568):
Using default value 20973568Last sector, +sectors or +size{K,M,G} (20973568-62914559, default 62914559): +5G
...
Command (m for help): t
Partition number (1,2, default 2): 2Hex code (type L to list all codes): 8e # 指定system id为8eChanged type of partition 'Linux' to 'Linux LVM'...
Command (m for help): p
...
/dev/sdb1 2048 20973567 10485760 8e Linux LVM
/dev/sdb2 20973568 31459327 5242880 8e Linux LVM
Command (m for help): w
...
用法:pvcreate [option] DEVICE
选项:
-f:强制创建逻辑卷,不需用户确认
-u:指定设备的UUID
-y:所有问题都回答yes
例 pvcreate /dev/sdb1 /dev/sdb2
用法:pvscan [option]
选项:
-e:仅显示属于输出卷组的物理卷
-n:仅显示不属于任何卷组的物理卷
-u:显示UUID
用法:pvdisplay [PV_DEVICE]
用法:pvremove [option] PV_DEVICE
选项:
-f:强制删除
-y:所有问题都回答yes
例 pvremove /dev/sdb1
[root@localhost ~]# pvcreate /dev/sdb{1,2} # 将两个分区初始化为物理卷
Physical volume "/dev/sdb1" successfully created.
Physical volume "/dev/sdb2" successfully created.
[root@localhost ~]# pvscan
PV /dev/sdb2 lvm2 [5.00 GiB]
PV /dev/sdb1 lvm2 [10.00 GiB]
Total: 2 [15.00 GiB] / in use: 0 [0 ] / in no VG: 2 [15.00 GiB]
[root@localhost ~]# pvdisplay /dev/sdb1 # 显示物理卷sdb1的详细信息
"/dev/sdb1" is a new physical volume of "10.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sdb1
VG Name
PV Size 10.00 GiB
Allocatable NO
PE Size 0 # 由于PE是在VG阶段才划分的,所以此处看到的都是0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID GrP9Gi-ubau-UAcb-za3B-vSc3-er2Q-MVt9OO
[root@localhost ~]# pvremove /dev/sdb2 # 删除sdb2的物理卷信息
Labels on physical volume "/dev/sdb2" successfully wiped.
[root@localhost ~]# pvscan # 可以看到PV列表中已无sdb2
PV /dev/sdb1 lvm2 [10.00 GiB]
Total: 1 [10.00 GiB] / in use: 0 [0 ] / in no VG: 1 [10.00 GiB]
[root@localhost ~]# pvcreate /dev/sdb2
Physical volume "/dev/sdb2" successfully created.
用法:vgcreate [option] VG_NAME PV_DEVICE
选项:
-s:卷组中的物理卷的PE大小,默认为4M
-l:卷组上允许创建的最大逻辑卷数
-p:卷级中允许添加的最大物理卷数
例 vgcreate -s 8M myvg /dev/sdb1 /dev/sdb2
用法:vgdisplay [option] [VG_NAME]
选项:
-A:仅显示活动卷组的信息
-s:使用短格式输出信息
用法:vgchange -a n/y VG_NAME
-a n为休眠状态,休眠之前要先确保其上的逻辑卷都离线;
-a y为活动状态
[root@localhost ~]# vgcreate -s 8M myvg /dev/sdb{1,2}
Volume group "myvg" successfully created
[root@localhost ~]# vgscan
Reading volume groups from cache.
Found volume group "myvg" using metadata type lvm2
[root@localhost ~]# vgdisplay
--- Volume group ---
VG Name myvg
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 14.98 GiB
PE Size 8.00 MiB
Total PE 1918
Alloc PE / Size 0 / 0
Free PE / Size 1918 / 14.98 GiB
VG UUID aM3RND-aUbQ-7RjC-dCci-JiS4-Oj2Z-wv9poA
用法:lvcreate [选项] [参数]
选项:
-L:指定大小
-l:指定大小(LE数)
-n:指定名称
-s:创建快照
-p r:设置为只读(该选项一般用于创建快照中)
注:使用该命令创建逻辑卷时当然必须指明卷组,创建快照时必须指明针对哪个逻辑卷
例 lvcreate -L 500M -n mylv myvg
用法:lvdisplay [/dev/VG_NAME/LV_NAME]
用法:lvextend -L/-l 扩展的大小 /dev/VG_NAME/LV_NAME
选项:
-L:指定扩展(后)的大小。例如,-L +800M表示扩大800M,而-L 800M表示扩大至800M
-l:指定扩展(后)的大小(LE数)
例 lvextend -L 200M /dev/myvg/mylv
用法:lvexreduce -L/-l 缩减的大小 /dev/VG_NAME/LV_NAME
选项:
-L:指定缩减(后)的大小
-l:指定缩减(后)的大小(LE数)
例 lvreduce -L 200M /dev/myvg/mylv
用法:lvremove [-f] /dev/VG_NAME/LV_NAME
-f:强制删除
[root@localhost ~]# lvcreate -L 2G -n mylv myvg
Logical volume "mylv" created.
[root@localhost ~]# lvscan
ACTIVE '/dev/myvg/mylv' [2.00 GiB] inherit
[root@localhost ~]# lvdisplay
--- Logical volume ---
LV Path /dev/myvg/mylv
LV Name mylv
VG Name myvg
LV UUID 2lfCLR-UEhm-HMiT-ZJil-3EJm-n2H3-ONLaz1
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2019-07-05 13:42:44 +0800
LV Status available
# open 0
LV Size 2.00 GiB
Current LE 256
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
...
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done
...
[root@localhost ~]# mkdir /data
[root@localhost ~]# mount
mount mountpoint
[root@localhost ~]# mount /dev/myvg/mylv /data
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 50G 1.5G 49G 3% /
devtmpfs 903M 0 903M 0% /dev
tmpfs 912M 0 912M 0% /dev/shm
tmpfs 912M 8.6M 904M 1% /run
tmpfs 912M 0 912M 0% /sys/fs/cgroup
tmpfs 183M 0 183M 0% /run/user/0
/dev/mapper/myvg-mylv 2.0G 6.0M 1.8G 1% /dataPS:更新
resize2fs 针对文件系统ext2 ext3 ext4
xfs_growfs 针对文件系统xfsxfs_growfs /dev/mapper/vg--BHG-lv01
meta-data=/dev/mapper/vg--BHG-lv01 isize=512 agcount=4, agsize=32000 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0data = bsize=4096 blocks=128000, imaxpct=25
= sunit=0 swidth=0 blksnaming =version 2 bsize=4096 ascii-ci=0 ftype=1log =internal bsize=4096 blocks=855, version=2
= sectsz=512 sunit=0 blks, lazy-count=1realtime =none extsz=4096 blocks=0, rtextents=0data blocks changed from 128000 to 256000
[root@localhost /]# resize2fs /dev/mapper/vg--BHG-lv02
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/mapper/vg--BHG-lv02 is mounted on /BHGPOS-data; on-line resizing required
old_desc_blocks = 2, new_desc_blocks = 3
The filesystem on /dev/mapper/vg--BHG-lv02 is now 5242880 blocks long.
Das obige ist der detaillierte Inhalt vonWas ist die LVM-Partition von Linux?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!