首页 > 代码库 > lvm逻辑卷管理
lvm逻辑卷管理
它是Linux环境下对磁盘分区进行管理的一种机制
解释:
LVM是逻辑盘卷管理(LogicalVolumeManager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和 分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个整块的卷组 (volumegroup),形成一个存储池。管理员可以在卷组上随意创建逻辑卷组(logicalvolumes),并进一步在逻辑卷组上创建文件系 统。管理员通过LVM可以方便的调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配,例如按照使用用途进行定义:“development”和“sales”,而不是使用物理磁盘名“sda”和“sdb”。而且当系统添加了新的磁盘,通过LVM管理员就不必将磁盘的 文件移动到新的磁盘上以充分利用新的存储空间,而是直接扩展文件系统跨越磁盘即可。
解释:
在一般对内存管理中,当内存不够时,最好的办法就是加入新的硬盘,可是应该怎么加入呢,于是引出了lvm逻辑卷管理概念,我们将内存比作橙汁,在用户少使,橙汁够喝,内存够用,在用户基数变大是,橙汁不够了,硬盘空间不够,我们需要加入橙汁,在此,我们将分区的硬盘比作橙子,将其榨成橙汁变成pv 将所有的橙汁汇总变成仓库即vg,最后需要多少拿多少即lv
所以,我们可以先简单做一下lvm的制作管理
一:分区
注:将标签改为lvm
[root@server20 ~]# fdisk /dev/vdb 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. Device does not contain a recognized partition table Building a new DOS disklabel with disk identifier 0x57efd1b2. Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): Using default response p Partition number (1-4, default 1): First sector (2048-20971519, default 2048): Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +2G Partition 1 of type Linux and of size 2 GiB is set Command (m for help): t Selected partition 1 Hex code (type L to list all codes): l 0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris 1 FAT12 27 Hidden NTFS Win 82 Linux swap / So c1 DRDOS/sec (FAT- 2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT- 3 XENIX usr 3c PartitionMagic 84 OS/2 hidden C: c6 DRDOS/sec (FAT- 4 FAT16 <32M 40 Venix 80286 85 Linux extended c7 Syrinx 5 Extended 41 PPC PReP Boot 86 NTFS volume set da Non-FS data 6 FAT16 42 SFS 87 NTFS volume set db CP/M / CTOS / . 7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux plaintext de Dell Utility 8 AIX 4e QNX4.x 2nd part 8e Linux LVM df BootIt 9 AIX bootable 4f QNX4.x 3rd part 93 Amoeba e1 DOS access a OS/2 Boot Manag 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad hi eb BeOS fs e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD ee GPT f W95 Ext‘d (LBA) 54 OnTrackDM6 a6 OpenBSD ef EFI (FAT-12/16/ 10 OPUS 55 EZ-Drive a7 NeXTSTEP f0 Linux/PA-RISC b 11 Hidden FAT12 56 Golden Bow a8 Darwin UFS f1 SpeedStor 12 Compaq diagnost 5c Priam Edisk a9 NetBSD f4 SpeedStor 14 Hidden FAT16 <3 61 SpeedStor ab Darwin boot f2 DOS secondary 16 Hidden FAT16 63 GNU HURD or Sys af HFS / HFS+ fb VMware VMFS 17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fs fc VMware VMKCORE 18 AST SmartSleep 65 Novell Netware b8 BSDI swap fd Linux raid auto 1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid fe LANstep 1c Hidden W95 FAT3 75 PC/IX be Solaris boot ff BBT 1e Hidden W95 FAT1 80 Old Minix Hex code (type L to list all codes): 8e Changed type of partition ‘Linux‘ to ‘Linux LVM‘ Command (m for help): p Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 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 label type: dos Disk identifier: 0x57efd1b2 Device Boot Start End Blocks Id System /dev/vdb1 2048 4196351 2097152 8e Linux LVM Command (m for help): wq
二:成果监控
pvs vgs lvs 分别监控对应的
[root@server20 ~]# watch -n 1 "pvs;echo "===";vgs;echo "===";lvs; echo "======""
三:具体操作
1:新建pv
[root@server20 ~]# pvcreate /dev/vdb1 Physical volume "/dev/vdb1" successfully created
监控
PV VG Fmt Attr PSize PFree /dev/vdb1 hahavg lvm2 a-- 2.00g 1.90g
2:新建vg
[root@server20 ~]# vgcreate hahavg /dev/vdb1 #此处hahavg为自己起的名字,地址在/dev/hahavg Volume group "hahavg" successfully created
监控
=== VG #PV #LV #SN Attr VSize VFree hahavg 1 1 0 wz--n- 2.00g 1.90g
3:新建lv
[root@server20 ~]# lvcreate -L 100M -n hahalv hahavg #此处-L 表示大小 -n 名字 后面接vg Logical volume "hahalv" created
监控
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert hahalv hahavg -wi-a----- 100.00m
4:vg的扩展:前提拥有pv
[root@server20 ~]# vgextend hahavg /dev/vdb2 Physical volume "/dev/vdb2" successfully created Volume group "hahavg" successfully extended
监控
PV VG Fmt Attr PSize PFree /dev/vdb1 hahavg lvm2 a-- 2.00g 1.90g /dev/vdb2 hahavg lvm2 a-- 196.00m 196.00m === VG #PV #LV #SN Attr VSize VFree hahavg 2 1 0 wz--n- 2.19g 2.09g
5:vg的缩小
[root@server20 ~]# vgreduce hahavg /dev/vdb2 Removed "/dev/vdb2" from volume group "hahavg"
监控
PV VG Fmt Attr PSize PFree /dev/vdb1 hahavg lvm2 a-- 2.00g 1.90g /dev/vdb2 lvm2 a-- 200.00m 200.00m === VG #PV #LV #SN Attr VSize VFree hahavg 1 1 0 wz--n- 2.00g 1.90g === LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert hahalv hahavg -wi-a----- 100.00m ======
注:要去掉vg前提是我们没有使用其作lvs
vgextend vg0 /dev/vdb2 ##扩展vg,前提是/dev/vdb2成了pv vgreduce vg0 /dev/vdb2 ##缩小vg,即将/dev/vdb2去掉 lv缩小 由于xfs系统不能扩展。所以只能将其格式化ext4 umount /dev/vg0/lv0 #卸载 mkfs.ext4d /dev/vg0/lv0 ##格式化为ext4 resize2fs /dev/vg0/lv0 lvextend -L 320M /dev/vg0/lv0 ##缩小
本文出自 “12462896” 博客,请务必保留此出处http://12472896.blog.51cto.com/12462896/1953858
lvm逻辑卷管理