LVM基本应用,扩展及缩减实现
一、基本概念

如上图所示:底层PV(物理卷可能是硬盘设备,分区或RAID等),一个或多个PV组织成一个VG(卷组),卷组是不能直接格式化使用的,所以在VG之上,还需要创建LV进行格式化使用。VG在逻辑层面上将每一个PV提供的空间划分成多个PE(physcal Extent,默认4M)来使用, LV根据VG提供的PE数量动态的扩展或缩减大小,VG的空间也可以随着PV的增减进行动态的扩展或缩减。
二、LV基本应用
1.PV管理工具:
pvs: 简要pv信息显示
pvdisplay: 显示pv的详细信息
pvcreate /dev/DEVICE: 创建pv
pvremove /dev/PV_NAME:移除PV
2.VG管理工具:
vgs: 简要显示vg信息
vgdisplay:显示vg的详细信息
vgcreate [-s PE_SIZE[kKmMgGtTpPeE]] VG_NAME /dev/DEVICE : 创建vg
vgextend VG_NAME /dev/DEVICEE: vg扩展
vgreduce VG_NAME /dev/DEVICE: 缩减vg,需要先做pvmove
vgremove /dev/VG_NAME:vg移除
3.LV管理工具:
lvs: 简要显示lv信息
lvdisplay:详细显示lv信息
lvcreate -L #[mMgGtT] -n LV_NAME VG_NAME : 创建lv
lvremove /dev/VG_NAME/LV_NAME: 移除lv
3.1扩展逻辑卷步骤:(支持在线扩展)
lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME: 扩展物理边界
resize2fs /dev/VG_NAME/LV_NAME (EXT系列的文件格式):修改逻辑边界 注意:上面的扩展方法只适合ext系列,如果是xfs文件系统的话,需要按如下方法扩容:
xfs_growfs /dev/VG_NAME/LV_NAME
3.2缩减逻辑卷步骤:
umount /dev/VG_NAME/LV_NAME: 先卸载LV
e2fsck -f /dev/VG_NAME/LV_NAME: 强制检测和修复文件系统
resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT]:缩减逻辑边界
lvreduce -L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME:缩减物理边界
mount: 重新挂载lv
4. snapshot
快照就是某一时刻立即创建一个对原卷文件元数据的监视器,当原卷上文件元数据要变化的时候,先把原文件复制一份到快照卷上,而没有变化的就指向原卷上的文件数据。
快照的相关命令:
lvcreate -L #[mMgGtT] -p r -s -n SNAPSHOT_LV_NAME ORIGINAL_NAME: 创建一个只读的快照
三、实例
1: 创建一个至少有两个pv组成的大小为4G的名为testvg的VG,要求PE大小为16MB,而后在卷组中创建大小为3G的逻辑卷testlv,挂载至/users目录
1. 创建至少两个分区,大小各位2G: /dev/sda3,/dev/sda5,dev/sda6,调整分区id为8e
2. 创建PV: pvcreate /dev/sda{3,5}
3. 创建vg: vgcreate -s 16M myvg /dev/sda{3,5}
4. 创建testlv: lvcreate -L 3G -n testlv myvg
5. 格式化: mke2fs -t ext4 -b 1024 -L MYLV -m 3 /dev/myvg/mylv //格式化为ext文件格式
6. 挂载到/users: mkdir /users, mount /dev/myvg/testlv /users
2:新建用户archlinux,要求其家目录为/users/archlinux,而后su切换至archlinux用户,复制、etc/pam.d目录至自己的家目录
1. useradd -d /users/archlinux archlinux
2. su - archlinux
3. su root(以root用户身份复制文件)cp -a /etc/pam.d /users/archlinux
3:扩展testlv至5G,要求archlinux用户的文件不能丢失
1. 再创建一个2G的PV: pvcreate /dev/sda6
2. vgextend myvg /dev/sda6 //扩展vg
3. lvextend -L 5G /dev/myvg/testlv //扩展lv, 先扩大物理边界
4. resize2fs /dev/myvg/testlv //再扩大逻辑边界
4:收缩testlv至3G,要求archlinux用户的文件不能丢失
1. umount /dev/myvg/testlv //不支持在线缩减,先卸载
2. e2fsck -f /dev/myvg/testlv //强制文件检测
3. resize2fs /dev/myvg/testlv 3G //缩减逻辑边界
4. lvreduce -L 3G /dev/myvg/testlv //缩减物理边界
5. mount /dev/testvg/testlv /users
6. cd /users/archlinux //查看archlinux家目录文件是否不受损
5.对testlv创建快照,并尝试基于快照备份数据,验证快照的功能
lvcreate -s -p r - L 500M -n mysnap /dev/myvg/testlv // -p r : 快照权限为只读
mkdir /tmp/backup
mount /dev/myvg/mysnap /tmp/backup
LVM基本应用,扩展及缩减实现的更多相关文章
- Linux学习笔记之LVM基本应用,扩展及缩减实现
0x00 LVM概述 LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘 ...
- LVM基本应用,扩展及缩减实现!
LVM概述 [百度百科] LVM是逻辑盘卷管理(LogicalVolumeManager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和 分区之上的一个逻辑层,来提高磁 ...
- (转)Linux LVM逻辑卷配置过程详解(创建、扩展、缩减、删除、卸载、快照创建)
一.预备知识 LVM全称为Logical Volume Manager 逻辑卷管理器,LVM是Linux环境中对磁盘分区进行管理的一种机制,是建立在硬盘和分区之上.文件系统之下的一个逻辑层,可提高磁盘 ...
- LVM(2)逻辑卷的扩展、缩减、快照卷
一.扩展逻辑卷:lvextend 扩展逻辑卷物理边界 -L [+]# /PATH/TO/LV2G, +3G5G
- Linux LVM逻辑卷配置过程详解(创建、扩展、缩减、删除、卸载、快照创建)(未完)
转:http://blog.csdn.net/xuanfeng407/article/details/51465472
- LVM 创建分区扩展分区记录
LVM 原理 图片来自百度百科 测试环境centOS 7 LVM version: 2.02.115(2)-RHEL7 (2015-01-28) ...
- 逻辑卷lvm创建、扩展、缩小
系统环境:CentOS Linux release 7.3.1611 (Core) 3.10.0-514.el7.x86_64 CentOS6与7配置方法大同小异.通常是在系统安装的时候创建lvm,然 ...
- lvm管理:扩展lv、删除pv、lv等
从卷组VG里扩展lv.删除pv,并删除物理卷PV 一.扩展LV.缩小LV 1.卸载LV 命令:umount "挂载目录" 2.扩展LV 命令:lvextend -L +500m ...
- Linux使用lvresize扩展或缩减lv大小
环境:CentOS 6.7 一.新建并挂载目录 /u01 和 /data 1.创建目录挂节点/u01,/data mkdir -p /{u01,data} 2.创建lv,名称是lv_u01,大小10g ...
随机推荐
- hbase-java-api003(put list)
package api; import java.io.IOException; import java.util.ArrayList; import java.util.List; import o ...
- 学习笔记<3>View接触
一.View基本概念 1.界面上显示所有的控件都是用对象表示的,即有类,这些类都是View的子类. 2.View的种类 二.在Activity当中获取代表View的对象 1.根据ID可以用方法获取到对 ...
- DatabaseGenerated(转)
在EF中,我们建立数据模型的时候,可以给属性配置数据生成选项DatabaseGenerated,它后有三个枚举值:Identity.None和Computed. Identity:自增长 None:不 ...
- datatable的点击事件
datatable的点击事件 在项目中遇到一个问题,在动态绑定到datatables上的数组,要是用table中的两个某一行中数据作为参数,通过鼠标点击进行获取,查阅官方文档得以解决: //首先定义一 ...
- Java综合高级篇
1.你用过哪些集合类? 大公司最喜欢问的Java集合类面试题 40个Java集合面试问题和答案 java.util.Collections 是一个包装类.它包含有各种有关集合操作的静态多态方法. ja ...
- Map集合——双列集合
双列集合<k, v> Map: Map 和 HashMap是无序的: LinkedHashMap是有序的: HashMap & LinkedHashMap: put方法: 其中,可 ...
- super和this关键字
super关键字: this关键字: 栈内存和堆内存和方法区内存分析: 其中,new出来的即对象都在堆内存区: main方法先进栈: 方法区中 [[ super_class ]]是编译器生成,代码表现 ...
- flask 操作数据库(分类)
数据库 数据库是大多数动态web程序的基础设施,只要你想把数据存下来,就离不开数据库. 这里所说的数据库指的是有存储数据的单个或多个文件组成的集合,它是一种容器,可以类比文文件柜.而人们通常使用数据库 ...
- Linux基础命令---防火墙iptables
iptables iptables指令用来设置Linux内核的ip过滤规则以及管理nat功能.iptables用于在Linux内核中设置.维护和检查IPv4数据包过滤规则表.可以定义几个不同的表.每个 ...
- vim编辑文件警告Swap file already exists ,如何删除vim编辑产生的.swp文件?查看隐藏文件命令
vim编辑文件警告Swap file already exists,如何删除vim编辑产生的.swp文件?查看隐藏文件命令 Linux(centos7)下多个用户同时编辑一个文件,或编辑时非正常关闭, ...