Linux 磁盘管理命令:LVM命令列表
LVM命令列表
LVM(Logical Volume Manager,逻辑卷管理器)是一种把硬盘驱动器空间分配成逻辑卷的 方法,使硬盘不必使用分区也能被简单地重新划分大小。LVM 是 Linux 环境下对磁盘分区进行 管理的一种机制,它将多个物理分区汇聚为一个卷组(Volume Group),而且这些物理卷的大 小可以不同,甚至类型也可以不同(如 SCSI 和 SATA 磁盘)。组成的卷组就像一块大硬盘,然 后从中分割出一块一块的逻辑卷(Logical Volume),并进一步在逻辑卷组上创建文件系统。LVM 有一整套的命令集,下表列出了 LVM 命令摘要。
下表 LVM 命令摘要和示例
物理卷(PV) 管理命令
命令名称 | 功能描述 | 主要参数 |
---|---|---|
pvcreate | 将物理硬盘分区初始化为物理卷,以便被LVM 使用 | -f:强制创建物理卷,不需要用户确认-u:指定设备的 UUID-y:所有的问题都回答“yes”-Z:是否利用前 4 个扇区 |
pvdisplay | 显示物理卷的属性(大小,PE 大小,被卷组描述符使用的空间) | -s:以短格式输出-m:显示PE 到 LV 和LE 的映射 |
pvchange | 设置PV 的性能,允许或拒绝从这个磁盘上分配另外的 PE | -u:生成新的 UUID-x:是否允许分配PE |
pvmove | 在一个卷组中从源到目的移动已经分配的PE | -d:调试模式-f:强制删除-y:对提问回答“yes” |
pvck | 检查一致性 | -d:调试模式 |
pvs | 输出格式化的物理卷信息报表。使用 pvs 命令仅能得到物理卷的概要信息,如果要得到更加详细的信息,可以使用pvdisplay 命令 | –noheadings:不输出标题头–nosuffix:不输出空间大小的单位 |
pvscan | 扫描系统中连接的所有硬盘,列出找到的物理卷列表 | -d:调试模式-e:仅显示属于输出卷组的物理卷-n:仅显示不属于任何卷组的物理卷-s:短格式输出-u:显示UUID |
卷组(VG)管理命令
命令名称 | 功能描述 | 主要参数 |
---|---|---|
vgcreate | 创建卷组 | -l:卷组中允许创建的最大逻辑卷数-p:卷组中允许添加的最大物理卷数-s:卷组中的物理卷的 PE 大小 |
vgdisplay | 显示LVM 卷组的元数据信息 | -A:仅显示活动卷组的属性-s:使用短格式输出信息 |
vgchange | 修改卷组的属性,经常被用来设置卷组是处于活动状态还是非活动状态 | -a:设置卷组的活动状态 |
vgextend | 用于动态扩展LVM 卷组,它通过向卷组中添加物理卷来增加卷组的容量 | -d:调试模式-t:仅测试 |
vgscan | 查找系统中存在的 LVM 卷组,并显示找到的卷组列表 | -d:调试模式–ignorelockingfailure:忽略锁定失败的错误 |
vgreduce | 通过删除 LVM 卷组中的物理卷来减少卷组容量。不能删除 LVM 卷组中剩余的最后一个物理卷 | -a:如果命令行中没有指定要删除的物理卷,则删除所有的空物理卷–removemissing:删除卷组中丢失的物理卷,使卷组恢复正常状态 |
vgremove | 删除卷组 | -f:强制删除 |
vgexport | 从系统中删除一个卷组,但不修改基于物理卷的信息 | -a,–all:导出所有非活动卷组 |
vgcfgrestore | 恢复卷组的配置信息 | –force:强制恢复 LVM:配置数据-l:列出在指定的配置备份文件中保存的配置信息-f,–file:filename:从指定的配置备份文件中获取配置信息 |
vgimport | 通过扫描使用 vgexport 命令输出物理卷在系统中增加的一个卷组 | -d:调试模式-a,–all:导入所有卷组 |
vgcfgbackup | 保存卷组的配置信息,记住一个卷组由一个或多个物理卷组成 | -d:调试模式 |
vgck | 检查一致性 | -d:调试模式 |
vgsplit | 把一个卷组拆分为两个 | -A:autobackup 此次调用设置自动备份-d:调试模式 |
vgmknodes | 重新建立已有卷组的卷组目录和其中的设备文件 | –refresh:如果卷组中的任何逻辑卷处于活动状态,则重新载入它的元数据 |
逻辑卷(LV)管理命令
命令名称 | 功能描述 | 主要参数 |
---|---|---|
lvcreate | 创建逻辑卷 | -L:指定逻辑卷的大小,单位为“kKmMgGtT”字节-l:指定逻辑卷的大小(LE 数)-n:后面跟逻辑卷名 |
lvdisplay | 显示逻辑卷的信息 | -m,–maps:显示逻辑盘区物理卷和物理盘区的映射–columns,-C:显示输出列-c,–colon:生成冒号分隔输出的脚本 |
lvchange | 改变逻辑卷的特性:可用性、调度策略、权限、块重定位、分配策略、镜像缓存的可用性 | -A autobackup:此次调用设置自动备份-C contiguous:设置连续分配策略 |
lvextend | 增加逻辑卷的空间 | -L:指定逻辑卷的大小,单位为“kKmMgGtT”字节-l:指定逻辑卷的大小(LE 数) |
lvreduce | 减少逻辑卷的空间 | -L:指定逻辑卷的大小,单位为“kKmMgGtT”字节-l:指定逻辑卷的大小(LE 数) |
lvremove | 删除逻辑卷 | -f:强制删除 |
lvrename | 修改逻辑卷名称 | –noudevsync:禁用udev 的同步-d:调试模式-t:仅测试 |
lvmdiskscan | 检测所有的 SCSI、IDE 等存储设备,并输出摘要信息,包括名称、大小、类型等 | -l,–lvmpartition:只报告物理卷 |
lvscan | 扫描当前系统中存在的所有 LVM 逻辑卷 | -b:显示逻辑卷的主设备号和次设备号 |
lvmsar | 收集的逻辑卷的读/写统计数据 | -d:调试模式 |
案例练习
扩展LVM 需要执行如下步骤。
若卷组中无剩余空间,首先扩展卷组。
添加硬盘。
在硬盘上创建 LVM 分区。
在 LVM 分区上创建物理卷。
将物理卷添加到卷组中。
若卷组中有剩余空间,则扩展卷组中的逻辑卷。 对已扩展的逻辑卷中的文件系统要进行容量扩展。
以下是使用 LVM 安装 RHEL 5.4 后扩展LogVolHome 逻辑卷的操作过程。
在系统中添加一块新硬盘。
在新硬盘上创建物理卷。
将新创建的物理卷扩展到 VolGroup00 卷组。
扩展 VolGroup00 卷组中的 LogVolHome 逻辑卷。
对 LogVolHome 逻辑卷上的文件系统进行容量扩展。
1) 创建LVM 类型的分区
可以用前面介绍的 fdsik 进行分区,也可以用 parted 命令。下面给出一个使用 parted 命令进行分区的过程示例。
# parted /dev/sdc mktable msdos
Information: Don't forget to update /etc/fstab, if necessary. # parted /dev/sdc mkpart primary 0 4GB
# parted /dev/sdc mkpart extended 4GB 8GB # parted /dev/sdc mkpart logical 4GB 8GB # parted /dev/sdc set 1 lvm on
Information: Don't forget to update /etc/fstab, if necessary. # parted /dev/sdc set 5 lvm on
Information: Don't forget to update /etc/fstab, if necessary.
# parted /dev/sdc print
Model: VMware, VMware Virtual S (scsi) Disk /dev/sdc: 17.2GB
Sector size (logical/physical): 512B/512B Partition Table: msdos
Number Start End Size Type File system Flags
1 32.3kB 3997MB 3997MB primary lvm
2 3997MB 8003MB 4006MB extended lba
5 3998MB 8003MB 4006MB logical lvm
Information: Don't forget to update /etc/fstab, if necessary. # partprobe
2) 创建物理卷
扩展卷组 : 扩展卷组需要使用 vgextend 命令,其命令格式如下:
vgextend <卷组名> <物理卷设备名> [<物理卷设备名> ...]
首先查看系统中的卷组。
# vgscan
Reading all physical volumes. This may take a while... Found volume group "wwwVG" using metadata type lvm2 Found volume group "VolGroup00" using metadata type lvm2
下面的命令将新创建的两个物理卷扩展到已存在的 VolGroup00 卷组中。
# vgextend VolGroup00 /dev/sdc1 /dev/sdc5
Volume group "VolGroup00" successfully extended
扩展后查看卷组状态。
# vgdisplay
…
扩展逻辑卷: 要扩展卷组中的逻辑卷,需要使用 lvextend 命令,其命令格式如下:
lvextend <-L/--size+逻辑卷增量[kKmMgGtT]><逻辑卷设备名称>
在创建逻辑卷时直接指定增量,单位可以是 k/K、m/M、g/G、t/T,默认为 M。首先显示已存在的 LogVolHome 逻辑卷的状态。
# lvdisplay /dev/VolGroup00/LogVolHome
--- Logical volume ---
LV Name /dev/VolGroup00/LogVolHome VG Name VolGroup00
LV UUID q6j2U1-g5u9-inAj-zWNy-hrK7-T71j-N59hMZ
LV Write Access read/write LV Status available
# open 1
LV Size 2.91 GB
Current LE 93
Segments 1 Allocation inherit Read ahead sectors 0 Block device 253:1
下面的命令用于在 VolGroup00 卷组中扩展 LogVolHome 逻辑卷,扩展大小为 6GB。
# lvextend -L +6G /dev/VolGroup00/LogVolHome Extending logical volume LogVolHome to 8.91 GB
Logical volume LogVolHome successfully resized
重新显示 LogVolHome 逻辑卷的状态。
# lvdisplay /dev/VolGroup00/LogVolHome
--- Logical volume ---
LV Name /dev/VolGroup00/LogVolHome
…
扩展文件系统容量
下面是对已挂装的 Ext3 类型的 home 文件系统扩充容量的操作。
# df /home
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/VolGroup00-LogVolHome 2951952 107668 2691916 4% /home
# umount /home
# resize2fs -f /dev/VolGroup00/LogVolHome resize2fs 1.39 (29-May-2006)
Resizing the filesystem on /dev/VolGroup00/LogVolHome to 2334720 (4k) blocks. The filesystem on /dev/VolGroup00/LogVolHome is now 2334720 blocks long. # mount -a
# df /home
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/VolGroup00-LogVolHome 9052536 109888 8569096 2% /home
对文件系统调整大小是非常危险的操作,虽然从技术上考虑是可行的,但是仍然有很大风险,因此,用户在使用 resize2fs 命令调整文件系统容量之前必须进行完整备份。使用 resize2fs命令之前需卸载文件系统,若要对/分区、/usr 分区等进行操作,需要使用 Live-CD 的 rescue 模式启动系统。