linuxLVM
一、概念性的东西
LVM2:Logical Volume Manager ,Cersion 2
LVM,依赖于内核的dm模块(将一个或多个底层的设备组织成一个逻辑设备的模块)。可以将多个物理分区通过软件组合成一块看起来是独立的大磁盘(VG),然后将这块大磁盘再划分为可以使用的分区(LV),经格式化后,可以挂载使用。
LVM主要用途:实现一个可以弹性调整容量的文件系统。
文件名:/dev/dm-#
文件路径:/dev/mapper/VG_NAME-LV_NAME和/dev/VG_NAME/LV_NAME。后者是前者的链接文件。
二、LVM组成:
PV,PhyficalVolume,物理卷:实际的分区需要调整系统标识符(system ID)为8e(LVM的标识符)。然后使用pvcreate命令将其转成LVM最底层的物理卷(PV)。
VG,VolumeGroup,卷组:使用vgcreate命令将多个PV创建成VG,在创建VG是可以指定PE大小(默认为4M)。一个VG最多包含65534个PE(默认VG大小为 65534*4M/1024=256G),VG的大小由PE决定。
PE,Physical Volume,物理扩展块:PE是 LVM中最小存储单元,类似于文件系统中的block,也就是说我们的文件数据都是由PE来处理的,调整PE大小能影响VG的最大容量。
LV,Logical Volume,逻辑卷:使用lvcreate命令可以将VG切成多个LV,LV可以被格式化后挂载使用。LV的大小与LV中包含的PE有关
VG、LV、PE关系图:

三、LVM实现流程:

四、LVM操作流程
1、创建新的分区并调整System ID为8e

2、创建PV
pvcreate:将物理分区新建为PV
pvscan:查询当前系统中任何具有PV的磁盘
pvdisplay:显示出目前系统上的PV状态信息
pvremove:将PV属性删除,使目标分区不具有PV属性

2.1使用pvdisplay查看新建PV状态。应为还没有将PV创建为VG,所有VG NAME,PE Size为空或0。

3、创建VG
vgcreate:新建VG的命令,
vgcreate [-s|--physicalextentsize PhysicalExtentSize[bBsSkKmMgGtTpPeE] VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]
即,vgcreate [-s N[MGT]] VG名称 PV路径
-s|--physicalextentsize:指定pe大小,默认为4M。使用-s指定大小时,数值一定要是2的n次方。
VolumeGroupName:VG名称
PhysicalDevicePath :组成VG的PV路径

vgscan:查找系统上的VG

vgdisplay:显示VG的状态信息。

vgextend:在目标VG中增加额外PV,可以看到VG总包含4个PV(之前是3个此处增加一个)共8G。
vgextend VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]

vgreduce:在目标VG中删除PV
vgreduce VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]
vgremove:删除目标VG
vgchange:设置VG是否启动(active)
4、创建LV
lvcreate:新建LV
lvcreate -L|--size LogicalVolumeSize[bBsSkKmMgGtTpPeE] [-n|--name LogicalVolume{Name|Path} VolumeGroup{Name|Path}
即,lvcreate [-L N[MGT]] [-N LV名称] VG名称
-L|--size:后面接LV容量
-n|--name:后面接LV名称
VolumeGroup{Name|Path}:目标VG名称

lvcreate -l|--extents LogicalExtentsNumber[%{VG|PVS|FREE}] [-n|--name LogicalVolume{Name|Path} VolumeGroup{Name|Path}
即,lvcreate [-l N] [-N LV名称] VG名称
-l|--extents :后接pe个数

lvscan:查询系统上的LV
lvdisplay:查看系统上的lv状态
lvreduce:在LV中减少容量

lvextend:在lv中增加容量
lvresize:对LV进行容量大小的调整
注意VG的名称是vg1,但是LV的名称必须是全名及路径名+基名即/dev/vg1/lv1
5、格式化,挂载LV
格式化LV

挂载并使用LV


linuxLVM的更多相关文章
- Linux----LVM扩容磁盘空间
Linux系统LVM扩容一个分区相对于Windows来说没有那么直观,但是熟悉命令后,扩容起来也是蛮方便的. 扩容场景如下: [root@rhel06 ~]# df -Th Filesystem Ty ...
- Linux-lvm逻辑卷管理和提示丢失pv物理卷
问题描述: 有次在使用lvm扩容的时候,整错了,导致显示如下情况 提示缺少一个pv导致无法继续,pvdisplay的时候查看到unknown 使用pvs查看找到pvname的unknown对应群组ce ...
- Linux----LVM扩容磁盘空间(讲的也很好)
转:https://www.cnblogs.com/tail-f/p/6143085.html
- linuxLVM之LV扩大和缩小容量(非xfs文件系统)
LVM的基础请见:https://www.cnblogs.com/wxxjianchi/p/9698089.html 一.放大LV的容量.放大容量是由内而外来操作的. 1.设置新的lvm分区:用fdi ...
- linux-LVM磁盘扩容
查看磁盘 [ops@stock_kline_database ~]$ sudo fdisk -l 磁盘 /dev/sda: 字节, 个扇区 Units = 扇区 of * = bytes 扇区大小(逻 ...
- LVM pvcreate,vgcreate,lvcreate,mkfs
首先介绍LVM的几个概念: 1. 物理卷Physical volume (PV):可以在上面建立卷组的媒介,可以是硬盘分区,也可以是硬盘本身或者回环文件(loopback file).物理卷包 ...
- Linux下逻辑卷创建与管理
用虚拟机加一块硬盘后,查看硬盘状况,使用fdisk-l命令: [root@jerrybj ~]# fdisk -l Disk /dev/sda: 21.4 GB, 21474836480 bytes ...
- Linux-逻辑卷LVM
LVM逻辑卷管理器 为什么要使用逻辑卷? 逻辑卷管理器是Linux系统用于对硬盘分区进行管理的一种机制,为了解决硬盘设备在创建分区后不易修改分区大小的缺陷.尽管对传统的硬盘分区进行强制扩容或缩容从理论 ...
- Linux中对逻辑卷的建立
大体上与主分区的建立相同,只有一些不同. 建议大家先看下我的“Linux中安装硬盘后对硬盘的分区以及挂载” https://www.cnblogs.com/feiquan/p/9219447.htm ...
随机推荐
- vue-music 跨域获取QQ音乐歌曲播放源
这个问题困扰了我很久,一直获取不到正确的播放源,qq对这块限制更加严格了 按照之前老师在视频中的写法,已经不能获取到播放源了 下面来分析一下正确的播放源url:http://dl.stream.qqm ...
- fenby C语言 P12
条件语句的嵌套 注意格式对齐 #include <stdio.h> int main(){ int score=67; if(score<=100&&score> ...
- 死磕 java线程系列之线程池深入解析——普通任务执行流程
(手机横屏看源码更方便) 注:java源码分析部分如无特殊说明均基于 java8 版本. 注:线程池源码部分如无特殊说明均指ThreadPoolExecutor类. 简介 前面我们一起学习了Java中 ...
- SpringBoot2.X整合Actuator
一 说明 Actuator 的定义 actuator 是一个制造术语,指的是用于移动或控制某物的机械装置.执行器可以通过一个小的变化产生大量的运动. 要将 actuator 添加到基于 Maven 的 ...
- hystrix原理
一.hystrix 产生背景 微服务是解决复杂服务的一个方案,在功能不变的情况下,对一个复杂的单体服务分解为多个可管理的分支.每个服务作为轻量的子服务,通过RPC实现服务间的关联,将服务简单化.每个服 ...
- Bran的内核开发教程(bkerndev)-07 中断描述符表(IDT)
中断描述符表(IDT) 中断描述符表(IDT)用于告诉处理器调用哪个中断服务程序(ISR)来处理异常或汇编中的"int"指令.每当设备完成请求并需要服务事, 中断请求也会调用I ...
- ArcGIS Engine添加地图元素的实现
在ArcGIS中,我们使用的制图控件除了MapControl之外,还有PageLayoutControl,用于页面布局和制图,生成一幅成品地图. PageLayoutControl 封装了PageLa ...
- git从远程仓库拉取内容或向远程仓库上传内容
一.将本地文件上传到远程仓库步骤 git init git add . git commit -m "初始框架" git remote add origin https://git ...
- vue-socket.io 及 egg-socket.io 的简单使用
egg-socket.io 的使用 官方文档看这里 egg-socket.io 接下来的内容其实与文档里差不多,介意的童鞋略过就好,目前只是简单的引入,下周往后会写复杂些的逻辑,在后面的文章会介绍. ...
- 转:linux环境mysql root用户密码重置
经常设置了mysql的root密码,就忘记掉了,这种事还是经常发生的.转自他人(http://www.osyunwei.com/archives/2014.html),权做笔记.linux环境下,解决 ...