10-3 LVM(逻辑卷管理器)
LVM(逻辑卷管理器)
- 允许对卷进行方便操作的抽象层,包括重新设定文件系统的大小
- 允许在多个物理设备间重新组织文件系统
- 将设备指定为物理卷
- 用一个或者多个物理卷来创建一个卷组
- 物理卷是用固定大小的物理区域(Physical Extent,PE)来定义的
- 在物理卷上创建的逻辑卷是由物理区域(PE)组成
- 可以在逻辑卷上创建文件系统

层次关系:
- 先由硬盘或者分区生成pv(物理卷)
- 再由pv生成vg(卷组)
- 再由vg生成lv(逻辑卷)
LVM介绍
- LVM: Logical Volume Manager, Version 2
- dm: device mapper,将一个或多个底层块设备组织成一个逻辑设备的模块
- 设备名:/dev/dm-#
- 软链接:
- /dev/mapper/VG_NAME-LV_NAME
- /dev/mapper/vol0-root
- /dev/VG_NAME/LV_NAME
- /dev/vol0/root
- /dev/mapper/VG_NAME-LV_NAME
更改文件系统的容量
LVM可以弹性的更改LVM的容量:
通过交换PE来进行资料的转换,将原来LV内的PE转移到其他的设备中以降低LV的容量,或将其他设备中的PE加到LV中以加大容量
pv管理工具:
- 显示pv信息
- pvs:简要pv信息显示
- pvdisplay
- 创建pv
- pvcreate /dev/DEVICE
- 删除pv
- pvremove /dev/DEVICE
vg管理工具:
- 显示卷组
- vgs
- vgdisplay
- 创建卷组
- vgcreate [-s #[kKmMgGtTpPeE]] VolumeGroupName
- PhysicalDevicePath [PhysicalDevicePath...]
- 管理卷组
- vgextend VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]
- vgreduce VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]
- 删除卷组
- 先做pvmove,再做vgremove
lv管理工具:
- 显示逻辑卷
- lvs
- Lvdisplay
- 创建逻辑卷
- lvcreate -L #[mMgGtT] -n NAME VolumeGroup
- lvcreate -l 60%VG -n mylv testvg
- lvcreate -l 100%FREE -n yourlv testvg
- 删除逻辑卷
- lvremove /dev/VG_NAME/LV_NAME
- 重设文件系统大小
- fsadm [options] resize device [new_size[BKMGTEP]]
- resize2fs [-f] [-F] [-M] [-P] [-p] device [new_size]
- xfs_growfs /mountpoint
扩展和缩减逻辑卷
(ext系列文件系统支持缩减,xfs文件系统不支持缩减)
- 扩展逻辑卷:
- lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME
- resize2fs /dev/VG_NAME/LV_NAME
- lvresize -r -l +100%FREE /dev/VG_NAME/LV_NAME
- 缩减逻辑卷:
- umount /dev/VG_NAME/LV_NAME
- e2fsck -f /dev/VG_NAME/LV_NAME
- resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT]
- lvreduce -L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME
- mount
创建逻辑卷示例
- 创建物理卷
- pvcreate /dev/sda3
- 为卷组分配物理卷
- vgcreate vg0 /dev/sda3
- 从卷组创建逻辑卷
- lvcreate -L 256M -n data vg0
- mkfs.xfs /dev/vg0/data
- 挂载
- mount /dev/vg0/data /mnt/data
跨主机迁移卷组
- 源计算机上
- 1 在旧系统中,umount所有卷组上的逻辑卷
- 2 禁用卷组
- vgchange –a n vg0
- lvdisplay
- 3 导出卷组
- vgexport vg0
- pvscan
- vgdisplay
- 拆下旧硬盘
- 在目标计算机上
- 4 在新系统中安装旧硬盘,并导入卷组:vgimport vg0
- 5 vgchange –ay vg0 启用
- 6 mount所有卷组上的逻辑卷
逻辑卷管理器快照
- 快照是特殊的逻辑卷,它是在生成快照时存在的逻辑卷的准确拷贝
- 对于需要备份或者复制的现有数据临时拷贝以及其它操作来说,快照是最合适
的选择 - 快照只有在它们和原来的逻辑卷不同时才会消耗空间
- 在生成快照时会分配给它一定的空间,但只有在原来的逻辑卷或者快照有所改变才会使用这些空间
- 当原来的逻辑卷中有所改变时,会将旧的数据复制到快照中
- 快照中只含有原来的逻辑卷中更改的数据或者自生成快照后的快照中更改的数据
- 建立快照的卷大小小于等于原始逻辑卷,也可以使用lvextend扩展快照
- 快照就是将当时的系统信息记录下来,就好像照相一般,若将来有任何数据改动了,则原始数据会被移动到快照区,没有改动的区域则由快照区和文件系统共享
- 由于快照区与原本的LV共用很多PE的区块,因此快照与被快照的LV必须在同
一个VG中.系统恢复的时候的文件数量不能高于快照区的实际容量
使用LVM快照
- 为现有逻辑卷创建快照
- lvcreate -l 64 -s -n data-snapshot -p r /dev/vg0/data
- 挂载快照
- mkdir -p /mnt/snap
- mount -o ro /dev/vg0/data-snapshot /mnt/snap
- 恢复快照
- umount /dev/vg0/data-snapshot
- umount /dev/vg0/data
- lvconvert --merge /dev/vg0/data-snapshot
- 删除快照
- umount /mnt/databackup
- lvremove /dev/vg0/databackup
10-3 LVM(逻辑卷管理器)的更多相关文章
- LVM逻辑卷管理器
LVM概述 通过使用Linux的逻辑卷管理器(Logical Volume Manager, LVM),用户可以在系统运行时动态调整文件系统的大小,把数据从一块硬盘重定位到另一块硬盘,也可以提高I/O ...
- Linux 笔记 - 第十七章 Linux LVM 逻辑卷管理器
一.前言 在实际生产中,有时会遇到磁盘分区空间不足的情况,这时候就需要对磁盘进行扩容,普通情况下需要新加一块磁盘,重分区.格式化.数据复制.卸载旧分区.挂载新分区等繁琐的步骤,而且有可能造成数据的丢失 ...
- LVM逻辑卷管理测试——逻辑卷扩展、收缩、快照及删除
一.逻辑卷扩展 [root@lxjtest /]# umount /testLVM/ [root@lxjtest /]# df -h Filesystem Size Used Avail Use% M ...
- LVM逻辑卷管理测试——创建逻辑卷
虚拟机里再添加两块硬盘,如下所示: 启动系统后,我们可以看到新添加的两块硬盘为/dev/sdb和/dev/sdc.每个2GB. [root@lxjtest ~]# fdisk -l Disk /dev ...
- Linux逻辑卷管理器(LVM)
LVM基础 通过使用Linux的逻辑卷管理器(Logical Volume Manager, LVM),用户可以在系统运行时动态调整文件系统的大小,把数据从一块硬盘重定位到另一块硬盘,也可以提高I/O ...
- LVM(逻辑卷管理器)部署、扩容、缩小
物理卷 -- Physical Volume -- PV 卷组 -- Volume Group -- VG 逻辑卷 -- Logical Volume -- LV 1.硬盘设备管理技术虽然能够有效 ...
- 逻辑卷管理器LVM
逻辑卷管理器LVM •将设备指定为物理卷 • 用一个或者多个物理卷来创建一个卷组 • 物理卷是用固定大小的物理区域(Physical Extent,PE)来定义的 • 在物理卷上创建的逻辑卷是由物理区 ...
- Linux逻辑卷管理器concept
Linux逻辑卷管理concept-------------------------转载2013/10/09 通过使用Linux的逻辑卷管理器(Logical Volume Manager, LVM) ...
- 十三、LVM 逻辑卷管理
http://note.youdao.com/noteshare?id=0252cd5dcf7f2e5f11de5b3672779201&sub=ED011464ADA3467D9424271 ...
随机推荐
- spring-mybatis+spring整合
整合之前回忆一下spring和mybatis分别做了什么: spring 通过注解/xml配置,实现AOP和DI DI: 接口实现类中, 将接口私有化,从容器中读取,而不是new一个 UserDao ...
- Hibernate初探之单表映射——通过Hibernate API编写访问数据库的代码
编写一个Hibernate例子 第五步:通过Hibernate API编写访问数据库的代码 初始化方法要实现以下功能:
- django中非菜单权限的归属
非菜单权限的归属 : 1.设置表结构 : 在权限表中添加自连接的外键patent,parent_id连接permission表的id,可为空,当有parent_id时,说明它是一个普通 ...
- Java中String为什么是不可变
什么是不可变对象? 众所周知, 在Java中, String类是不可变的.那么到底什么是不可变的对象呢? 可以这样认为:如果一个对象,在它创建完成之后,不能再改变它的状态,那么这个对象就是不可变的.不 ...
- 总结 1121 Java面向对象
总结 Java面向对象的基础 三大特征: 封装(抽象),继承,多态 面向对象的内存分析: 栈, 堆, 代码区, 静态区 this: 代表当前对象本身 有时候需要把当前调用对象进行传递,那么就可以使用t ...
- linux mint 19 打开 Windows 下制作的 TXT 文件时‘乱码’
因为 Linux 采用的是 UTF-8 编码,Windows 的中文编码是 GB18030. 解决的办法:让 Linux 的文本编辑器支持 GB18030 1.我们安装一个小软件"Dconf ...
- FOR XML PATH 函数用法
一.FOR XML PATH 简单介绍 那么还是首先来介绍一下FOR XML PATH ,假设现在有一张兴趣爱好表(hobby)用来存放兴趣爱好,表结构如下: 接下来我们来看 ...
- P4148 简单题 k-d tree
思路:\(k-d\ tree\) 提交:2次 错因:整棵树重构时的严重错误:没有维护父子关系(之前写的是假重构所以没有维护父子关系) 题解: 遇到一个新的点就插进去,如果之前出现过就把权值加上. 代码 ...
- 內嵌html字符串顯示
前端:System.Web.HttpUtility.HtmlEncode() @Html.Raw(htmlStr) 後端:System.Net.WebUtility.HtmlDe ...
- webservice 概念+测试案例
webservice的概念?(一句话概括什么是WebService) WebService是一种跨编程语言.跨操作系统平台的远程调用技术.远程调用技术: 远程调用是指一台设备上的程序A可以调用另一台设 ...