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 ...
随机推荐
- 《流畅的Python》Data Structures--第3章 dict 和 set
dict and set 字典数据活跃在所有的python程序背后,即使你的源码里并没有直接使用它. 和dict有关的内置函数在模块builtins的__dict__内. >>> _ ...
- slice(), splice(),split(),indexOf(),join(),replace()
1.slice() slice() 方法可以接受一或两个参数,即要返回项的起始和结束位置. 在只有一个参数的情况下, slice() 方法返回从该参数指定位置开始到当前数组末尾的所有项. 如果有两个参 ...
- 简单的JAVAWeb选课系统
该系统管理员可以添加和删除学生.教师,教师可以修改自己信息.添加课程.浏览自己课程,学生可以修改自己的信息.选课.浏览全部课程. 首先展示文件: 然后就是一次展示代码: Guanli包中代码: pac ...
- Junit加载Spring容器作单元测试
阅读目录 > 基本的搭建 > 常见的用法 如果我们需要对我们的Service方法作单元测试,恰好又是用Spring作为IOC容器的,我们可以这么配置Junit加载Spring容器,方便做单 ...
- 控制warning信息在控制台的显示
在运行代码时,有时出现warning信息, 1.当你后台不需要warning信息的时候,可以直接把warning信息省略掉. 2.如果代码是循环,则会在控制台打印多次warning信息,这会使得war ...
- 4、获取Class中的构造函数
4.获取Class中的构造函数 4.1 早期创建对象 早期创建对象,先根据被new的类的名称找寻该类的字节码文件,并加载进内存,并创建该字节码文件对象,并接着创建该接文件的对应的Person对象 co ...
- 五十.KVM简介、 Virsh管理 、 自定义虚拟机、虚拟设备管理
1.virsh基本管理操作 列出当前正在运行的虚拟机 查看虚拟机的信息 管理虚拟机 设置虚拟机开机自动运行 1.1 virsh基本操作 查看kvm节点(服务器)信息 ] virsh nodei ...
- ++a和a++不是左值
上面的编译时会出现一下错误: aplus2.c:6:6: error: lvalue required as left operand of assignmentaplus2.c:7:6: error ...
- 一图了解DLL和SYS的区别
The following diagram shows the device node, kernel-mode device stack, and the user-mode device stac ...
- python输出的高亮显示
一.语法 1.书写格式 开头部分: \033[显示方式;前景色;背景色m 结尾部分: \033[0m 例如:\033[31;1m测试的文字部分\033[0m 注意: 开头部分的三个参数:显示方 ...