Maison  >  Article  >  Opération et maintenance  >  Explication détaillée d'exemples de gestion de volumes logiques LVM

Explication détaillée d'exemples de gestion de volumes logiques LVM

PHP中文网
PHP中文网original
2017-06-21 11:44:221724parcourir

Gestion du volume logique LVM

Créer un volume logique

1 Préparer la partition ou le disque dur

Ici, nous utilisons deux disques durs /dev/sdb et /dev/sdc et deux partitions /dev/sda9 et /dev/sda10, tous deux en taille, c'est 1G et le disque est limité, donc je ne veux pas être aussi pointilleux.

Ajouter des partitions /dev/sda9, /dev/sda10

[root@centos7 ~]# fdisk /dev/sda

Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help): n
All primary partitions are in use
Adding logical partition 9
First sector (31885312-41943039, default 31885312):
Using default value 31885312
Last sector, +sectors or +size{K,M,G} (31885312-41943039, default 41943039): +1G
Partition 9 of type Linux and of size 1 GiB is set

Notez que vous devez changer le type de partition en Linux LVM

Command (m for help): t
Partition number (1-9, default 9): 8e
Partition number (1-9, default 9): 9
Hex code (type L to list all codes): 8e
Changed type of partition 'Linux' to 'Linux LVM'
Command (m for help):

Créez /dev/sda10 de la même manière.

[root@centos7 ~]# lsblk

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda9 8:9 0 1G 0 part
└─sda10 8:10 0 1G 0 part
sdb 8:16 0 1G 0 disk
sdc 8:32 0 1G 0 disk

2 Créer un PV (volume physique)

Le format de commande est : pvcreate DEVICE, qui peut être créé en même temps. Un ou plusieurs appareils peuvent être créés en même temps.

Afficher les commandes du volume physique : pvdisplay (afficher des informations détaillées), pvs (afficher des informations simples)

[root@centos7 ~]# pvcreate /dev/sda9

Physical volume "/dev/sda9" successfully created.
[root@centos7 ~]# pvcreate /dev/sda10 /dev/sdb /dev/sdc
Physical volume "/dev/sda10" successfully created.
Physical volume "/dev/sdb" successfully created.
Physical volume "/dev/sdc" successfully created.

Afficher le volume physique et voir s'il a été exécuté avec succès créé.

[root@centos7 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda10 lvm2 --- 1.00g 1.00g
/dev/sda9 lvm2 --- 1.00g 1.00g
/dev/sdb lvm2 --- 1.00g 1.00g
/dev/sdc lvm2 --- 1.00g 1.00g

3 Créer un groupe de volumes (VG)

Le format de la commande est : vgcreate -s PE VGNAME ( nom vg) DEVICE (nom de l'appareil)

-s : spécifiez la taille du bloc d'extension physique, qui est la taille du PE

Afficher les commandes : vgs, vgdisplay

[root@centos7 ~]# vgcreate -s 16M vg0 /dev/sda9 /dev/sda10 /dev/sdb /dev/sdc
Volume group "vg0" successfully created

Vérifiez-le

[root@centos7 ~]# vgs

VG #PV #LV #SN Attr VSize VFree
vg0 4 0 0 wz--n- 3.94g 3.94g

Regardez les informations détaillées

[root@centos7 ~]# vgdisplay

--- Volume group ---
VG Name vg0
System ID
Format lvm2
Metadata Areas 4
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 4
Act PV 4
VG Size 3.94 GiB
PE Size 16.00 MiB
Total PE 252
Alloc PE / Size 0 / 0
Free PE / Size 252 / 3.94 GiB
VG UUID qmoIMg-5wQR-GKCS-dpq9-HLrt-zVIi-JBC9ZX

Tout est comme attendu, la taille est d'environ 4G, ce qui correspond exactement à la somme de deux partitions et de deux disques durs.

4 Créer un volume logique (LV)

Le format de la commande est : lvcreate -n LVNAME (préciser le nom du LV) -L SIZE ( spécifiez la taille LV) vg0 (VG à utiliser)

-l spécifie la taille PE

Commande d'affichage (similaire à PV, VG) : lvs, lvdisplay

[root@centos7 ~]# lvcreate -n lv0 -L 3G vg0

Logical volume "lv0" created.

Créé avec succès, cochez

[root@centos7 ~]# lvs

LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv0 vg0 -wi-a----- 3.00g

puis vérifiez les détails

[root@centos7 ~]# lvdisplay

--- Logical volume ---
LV Path /dev/vg0/lv0
LV Name lv0
VG Name vg0
LV UUID 622i7m-uy6s-3nZI-8xSb-sxrR-cZzz-C9pwkd
LV Write Access read/write
LV Creation host, time centos7.3.loacl, 2017-04-25 16:25:13 +0800
LV Status available
# open 0
LV Size 3.00 GiB
Current LE 192
Segments 4
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0

Vous pouvez confirmer qu'il a été créé avec succès.

Vous pouvez désormais utiliser /dev/vg0/lv0 comme disque dur.

Regardez maintenant les informations du disque, elles ont changé.

[root@centos7 ~]# lsblk

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
fd0 2:0 1 4K 0 disk
sda 8:0 0 20G 0 disk
├─sda9 8:9 0 1G 0 part
│ └─vg0-lv0 253:0 0 3G 0 lvm
└─sda10 8:10 0 1G 0 part
└─vg0-lv0 253:0 0 3G 0 lvm
sdb 8:16 0 1G 0 disk
└─vg0-lv0 253:0 0 3G 0 lvm
sdc 8:32 0 1G 0 disk
└─vg0-lv0 253:0 0 3G 0 lvm

Vous pouvez voir que la partition et le disque dur ajoutés appartiennent déjà à vg0-lv0.

5 Créer un système de fichiers, formater

mkfs.ext4 /dev/vg0/lv0

[root@centos7 ~]# mkfs.ext4 /dev/vg0/lv0

6 Monter et utiliser

[root@centos7 ~]# mkdir /mnt/lv0

[root@centos7 ~]# mount /dev/vg0/lv0 /mnt/lv0

Deuxième extension LV

Format de la commande Développer :

lvextend -L 100G /dev/vg0/lv0

lvextend -l +100G /dev/vg0/lv0

lvextend -l +100%FREE /dev/vg0/lv0

Remarque – L est la quantité à développer, -l est la quantité à développer (augmenter), +100 % GRATUIT consiste à développer 100 du vg %, qui peut être sélectionné en fonction des circonstances personnelles.

Puisque vg0 réserve encore près de 1G d'espace, développez maintenant lv0

1 Vérifions d'abord le LV d'origine

[root@centos7 ~]# vgs

VG #PV #LV #SN Attr VSize VFree
vg0 4 1 0 wz--n- 3.94g 960.00m

2 LV étendu

[root@centos7 ~]# lvextend -r -l +100%FREE /dev/vg0/lv0

-r est resizefs C'est très pratique de le faire en un seul. étape

Ou soyez plus gênant et procédez étape par étape

[root@centos7 ~]# lvextend -l +100%FREE /dev/vg0/lv0

Size of logical volume vg0/lv0 changed from 3.00 GiB (192 extents) to 3.94 GiB (252 extents).
Logical volume vg0/lv0 successfully resized.

3 Ensuite, redéfinissez la taille du système de fichiers

Redéfinition du système de fichiers de la série ext : resize2fs /dev/vg0/lv0

Redéfinition du système de fichiers de la série xfs : xfs_growfs /dev/vg0/lv0

[root@centos7 ~]# resize2fs /dev/vg0/lv0

resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/vg0/lv0 is mounted on /mnt/lv0; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/vg0/lv0 is now 1032192 blocks long.

4 Vérifier l'achèvement du système de fichiers (facultatif)

[root@centos7 ~]# fsck.ext4 /dev/vg0/lv0

e2fsck 1.42.9 (28-Dec-2013)
/dev/vg0/lv0: clean, 20/262144 files, 35918/1032192 blocks

5 Confirmer la taille du volume logique

[root@centos7 ~]# df -h /dev/vg0/lv0

Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg0-lv0 3.9G 12M 3.6G 1% /mnt/lv0

De toute évidence, l'expansion a été réussie.

6 Montage en utilisant Réduire LV

[root@centos7 ~]# mount -o remount /dev/vg0/lv0

1 Sauvegarde des données

Bien que les données ne soient généralement pas perdues, afin d'être prudent. Il vaut mieux sauvegarder d'abord.

Regardez les données existantes dans le répertoire /mnt/lv0

2 Désinstallez /dev/vg0/lv0

[root@centos7 ~]# ls /mnt/lv0/

lost+found myfile2 myfile4 myfile6 myfile8

myfile1 myfile3 myfile5 myfile7 myfile9

[root@centos7 ~]# mkdir /backup

[root@centos7 ~]# cp -a /mnt/lv0/* /backup/

3 Vérifier le système de fichiers e2fsck -f /dev/vg0/lv0 dans La complétion du disque doit être vérifiée avant de redimensionner le système de fichiers

[root@centos7 ~]# umount /mnt/lv0/

4下来重定义文件系统大小

resize2fs /dev/vg0/lv0 2G #2G位缩减后的LV 大小。

[root@centos7 ~]# resize2fs /dev/vg0/lv0 2G
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vg0/lv0 to 524288 (4k) blocks.
The filesystem on /dev/vg0/lv0 is now 524288 blocks long.

5 缩减LV

lvreduce -L 2G /dev/vg0/lv0 #缩减到2G

[root@centos7 ~]# lvreduce -L 2G /dev/vg0/lv0

WARNING: Reducing active logical volume to 2.00 GiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vg0/lv0? [y/n]: y
Size of logical volume vg0/lv0 changed from 3.94 GiB (252 extents) to 2.00 GiB (128 extents).
Logical volume vg0/lv0 successfully resized.

6 挂载使用

mount /dev/vg0/lv0 /mnt/lv0

[root@centos7 ~]# mount /dev/vg0/lv0 /mnt/lv0/

查看磁盘挂载情况

[root@centos7 ~]# df -h /dev/vg0/lv0

Filesystem Size Used Avail Use% Mounted on

/dev/mapper/vg0-lv0 2.0G 9.0M 1.8G 1% /mnt/lv0

7 确认数据是否丢失

现在再来开心目录/mnt/lv0 的内容

[root@centos7 ~]# ls /mnt/lv0/

lost+found myfile2 myfile4 myfile6 myfile8
myfile1 myfile3 myfile5 myfile7 myfile9

 

很完美,数据并没有丢失!

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn