LVM 是 "逻辑卷管理 (Logical Volume Manager)" 的简称。简单点说,就是将多个 "物理卷(Physical Volume, PV, 通常是物理硬盘分区)" 合并成一个更大的 "逻辑卷组(Volume Group, VG)",然后在其上切分和传统分区相同用途的 "逻辑卷 (Logical Volume, LV)"。逻辑卷允许我们在不中断系统运行的情况随时调整文件系统容量大小,理论上具备 "无限" 的热扩容能力。
操作步骤:
(1) 物理硬盘分区(fdisk)
(2) 创建物理卷(pvcreate)
(3) 创建卷组(vgcreate)
(4) 激活卷组(vgchange)
(5) 创建逻辑卷(lvcreate)
(6) 卷组扩容(vgextend) 或 逻辑卷扩容(lvextent)
下面是一个在虚拟机上的操作演示。
1. 对新硬盘分区
将新硬盘 /dev/sdb 划分为一个独立主分区。
$ sudo fdisk /dev/sdb
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-2610, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610):
Using default value 2610
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
$ sudo fdisk -l
Disk /dev/sdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xe7b472ca
Device Boot Start End Blocks Id System
/dev/sdb1 1 2610 20964793+ 83 Linux
2. 创建卷组
实际操作时,我们可以省略用 "sudo pvcreate /dev/sdb1" 创建物理卷的过程。
创建名为 myvg 的卷组,并将物理卷 /dev/sdb1 添加到该组。卷组使用前需要激活。
$ sudo vgcreate myvg /dev/sdb1
No physical volume label read from /dev/sdb1
Physical volume "/dev/sdb1" successfully created
Volume group "myvg" successfully created
$ sudo vgchange -a y myvg
0 logical volume(s) in volume group "myvg" now active
$ sudo vgdisplay
--- Volume group ---
VG Name myvg
System ID
Format lvm2
Metadata Areas 1
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 1
Act PV 1
VG Size 19.99 GiB
PE Size 4.00 MiB
Total PE 5118
Alloc PE / Size 0 / 0
Free PE / Size 5118 / 19.99 GiB
VG UUID O7APOI-T0b1-T1my-PkKg-zbu3-ZBHn-KX7hCm
3. 创建逻辑卷
创建一个名为 mywww 大小 10G 的逻辑卷,用于 /var/www 数据存储。别忘了创建文件系统,否则无法使用。建议使用 ext4 或 reiserfs,否则热扩容可能失败。
$ sudo lvcreate -L 10G -n mywww myvg
Logical volume "mywww" created
$ sudo lvdisplay
--- Logical volume ---
LV Name /dev/myvg/mywww
VG Name myvg
LV UUID dK9aNo-0GDu-2sxP-i1kM-Nni6-u58k-IMWAtT
LV Write Access read/write
LV Status available
# open 0
LV Size 10.00 GiB
Current LE 2560
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 251:2
$ sudo mkfs -t ext4 -j /dev/myvg/mywww
mke2fs 1.41.11 (14-Mar-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
655360 inodes, 2621440 blocks
131072 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2684354560
80 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 39 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
4. 挂载逻辑卷
将 /dev/myvg/mywww 挂载到 /var/www。
$ sudo mkdir -p /var/www
$ sudo mount /dev/myvg/mywww /var/www
$ df -h /var/www
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/myvg-mywww
9.9G 23M 9.4G 1% /var/www
$ mount
/dev/mapper/myvg-mywww on /var/www type ext4 (rw)
当然,我们可以将其加入 /etc/fstab 中,以便开机后自动挂载。
$ sudo cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid -o value -s UUID' to print the universally unique identifier
# for a device; this may be used with UUID= as a more robust way to name
# devices that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
/dev/myvg/mywww /var/www auto defaults 0 0
5. 新增物理卷
将新的物理分区 /dev/sdc1 添加到卷组中进行扩容。
$ sudo vgdisplay
--- Volume group ---
VG Name myvg
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 1
Act PV 1
VG Size 19.99 GiB
PE Size 4.00 MiB
Total PE 5118
Alloc PE / Size 2560 / 10.00 GiB
Free PE / Size 2558 / 9.99 GiB
VG UUID qWjob5-j7VY-uOnp-BMoH-7TV0-nwJA-mghxk8
$ sudo vgextend myvg /dev/sdc1
No physical volume label read from /dev/sdc1
Physical volume "/dev/sdc1" successfully created
Volume group "myvg" successfully extended
$ sudo vgdisplay
--- Volume group ---
VG Name myvg
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 2
Act PV 2
VG Size 39.98 GiB
PE Size 4.00 MiB
Total PE 10236
Alloc PE / Size 2560 / 10.00 GiB
Free PE / Size 7676 / 29.98 GiB
VG UUID qWjob5-j7VY-uOnp-BMoH-7TV0-nwJA-mghxk8
通过查看 "VG Size" 和 "Free PE / Size" 可以确认扩容成功。
6. 对逻辑卷扩容
为 /dev/myvg/www 新增 5GB 空间。
$ sudo lvextend -L +5G /dev/myvg/mywww
Extending logical volume mywww to 15.00 GiB
Logical volume mywww successfully resized
$ sudo resize2fs -f /dev/myvg/mywww
resize2fs 1.41.11 (14-Mar-2010)
Filesystem at /dev/myvg/mywww is mounted on /var/www; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/myvg/mywww to 3932160 (4k) blocks.
The filesystem on /dev/myvg/mywww is now 3932160 blocks long.
$ df -h /var/www
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/myvg-mywww
15G 153M 14G 2% /var/www
扩容成功!
7. 删除逻辑卷
解除挂载,删除 /dev/myvg/mywww 逻辑卷。
$ sudo umount /var/www
$ sudo lvremove /dev/myvg/mywww
Do you really want to remove active logical volume mywww? [y/n]: y
Logical volume "mywww" successfully removed
$ sudo vgdisplay
--- Volume group ---
VG Name myvg
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 6
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 39.98 GiB
PE Size 4.00 MiB
Total PE 10236
Alloc PE / Size 0 / 0
Free PE / Size 10236 / 39.98 GiB
VG UUID qWjob5-j7VY-uOnp-BMoH-7TV0-nwJA-mghxk8
--------- 分隔线 ----------------
建议在安装 Linux Server 时,除了为基本系统(/, /boot, swap) 划出几个总容量不超过 5GB 的分区,其他剩余空间统统纳入 LVM (/home, /var),如此以后扩容就非常方便了。
参考文档:
《通用线程: 学习 Linux LVM,第 1 部分》
《通用线程: 学习 Linux LVM,第 2 部分》
《逻辑卷管理 (LVM)》
《创建和管理 LVM》
分享到:
相关推荐
针对Linux系统中的磁盘分区整理的lvm使用手册,lvm分区管理工具时很好的磁盘管理工具。
Linux系统LVM管理培训。
Linux实现lvm扩容根分区.rtf
Linux中创建LVM 在RHEL4中创建LVM,实现对磁盘的高性能管理.
Linux下LVM硬盘管理及LVM扩容.pdf 学习资料 复习资料 教学资源
linux lvm redhat fedora debian
多年从事Linux系统的编程人员,详细描述了作者如何把将Linux系统转至LVM卷的,介绍了方法,简单实用,易于操作。
redhat linux LVM使用手册
NULL 博文链接:https://qingwei201314.iteye.com/blog/1891616
Linux中LVM的管理.pdf
发福利了,红帽lvm详细图解,lvm组成,调整,删除,清晰有序的归类,方便查阅。
linux LVM管理整合打包
Redhat6.x/Centos LVM磁盘空间划分不合理、重新划分 / 和 /home
LVM是LINUX系统下很棒的文件系统,
lvm虚拟机测试已通过linux根分区扩容,确实增加了根分区的容量
linux的lvm的管理.pdf
lvm,逻辑卷管理器;基于linux操作系统,讲述安装linux (红帽子)时的操作
Linux虚拟机平台下,不停机、不关机的状态下实现热扩容。
Linux LVM硬盘管理及LVM扩容
linux,lvm,逻辑卷,录像,要学习作linux环境下的逻辑卷的人可以下来看看,学习探讨一下