lvm学习日记

lvm是什么?

LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制

实现过程:

借用了下别人日志的图片,在此表示感谢http://dreamfire.blog.51cto.com 
这里写图片描述 
基本术语: 
  LVM是在磁盘分区和文件系统之间添加的一个逻辑层,来为文件系统屏蔽下层磁盘分区布局,提供一个抽象的存储卷,在存储卷上建立文件系统 
物理存储介质(Physical storage media): 
  指系统的物理存储设备:如磁盘,/dev/hda,dev/sda等 
物理卷(Physical Volume,简称PV): 
  指磁盘分区或从逻辑上与磁盘分区具有同样功能的设备(如raid),是LVM的基本存储逻辑块,但和基本的物理介质(如分区,磁盘等)比较,却包含有与LVM相关和管理参数 
卷组(Volume Group,简称VG): 
  类似于非LVM系统中的物理磁盘,其由一个多多个物理卷PV组成,可以在卷组上创建一上或多个LV(逻辑卷) 
逻辑卷(Logical Volume,简称LV): 
  类似于非LVM系统中的磁盘分区,逻辑卷建立在卷组(VG)之上,在逻辑卷LV之上可以建立文件系统(比如/home或者/usr等) 
物理块(Physical Extent,简称PE): 
  每一个物理卷PV被划分为称为PE的基本单元,具胡唯一编号的PE是可以被LVM寻址的最小单元,PE的大小是可配置的,默认为4MB,所以物理卷由大小等同的基本单元PE组成 
逻辑块(logical Extent,简称LE): 
  逻辑卷LV也被划分为可被寻址的基本单位,称为LE,在同一个卷组中,LE的大小和PE是相同的,并且一一对应 
这里写图片描述 
安装管理工具: 
如果系统安装时使用了lvm ,一般都会带管理工具,如果没有检查下是否安装一lvm工具

<span style="color:#000000"><code>rpm -qa <span style="color:#009900 !important">|grep lvm</span></code></span>
  • 1

创建管理:

1.创建分区: 
  使用分区工具fdisk创建lvm分区,方法和创建其它一般分区一样,区别是LVM的分区类型是8e,普通的是83(他用fdisk下的t修改类型)

<span style="color:#000000"><code>fdisk /dev/sdb
n
e
+<span style="color:#006666 !important">5</span>G(这一步选择大小)


w
<span style="color:#009900 !important">#可以重复创建多个</span></code></span>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

2.创建物理卷: 
将磁盘整个物理卷创建为物理卷:

<span style="color:#000000"><code>pvcreate /dev/sdb</code></span>
  • 1

将单个分区创建为物理卷:

<span style="color:#000000"><code>pvcreate /dev/sdb5</code></span>
  • 1

将多个分区创建为物理卷:

<span style="color:#000000"><code>pvcreate /dev/sdb{<span style="color:#006666 !important">5</span>,<span style="color:#006666 !important">6</span>}  <span style="color:#880000 !important"><em>#或者pvcreate /dev/sdb5 /dev/sdb6 </em></span></code></span>
  • 1

使用pvs或者 pvdisplay查看,pvdisplay也可以只指定某个pv 如:pvdiplay /dev/sdb6 
3.创建卷组:

<span style="color:#000000"><code>vgcreate myvg /dev/sdb{<span style="color:#006666 !important">5</span>,<span style="color:#006666 !important">6</span>} <span style="color:#880000 !important"><em>#myvg是卷组的逻辑名,后面的添加到该卷组的所有分区和磁盘</em></span></code></span>
  • 1

默认PE是4MB,但也可以手动指定,PE大小范围为8KB到16G,并且必须总是2的倍数,用-s指定,单位可以是bBsSkKmMgGtTpPeE

<span style="color:#000000"><code>vgcreate -s <span style="color:#006666 !important">8</span>M myvg /dev/sdb{<span style="color:#006666 !important">5</span>,<span style="color:#006666 !important">6</span>}</code></span>
  • 1

注:由于内核原因,PE大小决定了逻辑卷的最大大小,4MB的PE决定了单个逻辑卷最大容量为256GB,若希望使用大于256G的逻辑卷则创建卷组 时指定更大的PE 
使用vgs或者vgdisplay查看 
4.添加新的物理卷到卷组中:

<span style="color:#000000"><code>pvcreate /dev/sdb7
vgextend  myvg /dev/sdb7</code></span>
  • 1
  • 2

5.从卷组中删除一个物理卷: 
要从一个卷组中删除一个物理卷,首先要确认要删除的物理卷没有被任何逻辑卷正在使用,就要使用pvdisplay命令察看一个该物理卷信息 
如果某个物理卷正在被逻辑卷所使用,就需要将该物理卷的数据备份到其它地方,然后再删除,删除物理卷的命令为

<span style="color:#000000"><code>pvmove /dev/sdb5    <span style="color:#880000 !important"><em>#把数据移动其它PV上去</em></span>
vgreduce myvg /dev/sdb5     <span style="color:#880000 !important"><em>#返sdb5这个PV从myvg移除</em></span>
vgremove /dev/sdb5      <span style="color:#880000 !important"><em>#把sdb5这个pv删除,把里面的数据都抹除,使用pvs就看不到了</em></span></code></span>
  • 1
  • 2
  • 3

6.创建逻辑卷: 
在VG名为myvg上创建一个50M的逻辑卷名为testlv

<span style="color:#000000"><code>lvcreate -L <span style="color:#006666 !important">50</span>M -n testlv myvg  <span style="color:#880000 !important"><em>#-L指定大小(支持的单位bBsSkKmMgGtTpPeE) -n 是逻辑卷的名称,myvg是卷组名</em></span></code></span>
  • 1

然后格式化逻辑卷

<span style="color:#000000"><code>msfs<span style="color:#009900 !important">.ext</span>4 /dev/myvg/testlv</code></span>
  • 1

挂载到/testlv目录

<span style="color:#000000"><code>mount /dev/myvg/testlv /testlv
注:挂载引用的的路径是/dev/mapper/myvg-testlv, <span style="color:#008800 !important">/dev/myvg</span><span style="color:#008800 !important">/testlv只是个软链接,链接到/dev</span><span style="color:#008800 !important">/mapper/myvg</span>-testlv</code></span>
  • 1
  • 2

使用lvs或lvdisplay查看逻辑卷相关信息 
7.创建文件系统:

<span style="color:#000000"><code>resize2fs -p /dev/myvg/testlv  <span style="color:#880000 !important"><em>#或者resize2fs -p /dev/mapper/myvg-testlv</em></span>
<span style="color:#880000 !important"><em>#然后挂载就可以使用了</em></span>
mount /dev/myvg/testlv /testlv</code></span>
  • 1
  • 2
  • 3

8.删除一个逻辑卷: 
a.删除逻辑卷以前首先需要将其卸载,然后删除

<span style="color:#000000"><code>umount /testlv</code></span>
  • 1

b.删除逻辑卷

<span style="color:#000000"><code>lv<span style="color:#880000 !important"><em>remove /dev/myvg/testlv  </em></span></code></span>
  • 1

9.扩展逻辑卷大小: 
a.扩展之前请确定vg里有足够的空间可以供扩展 
b.扩展物理边界

<span style="color:#000000"><code>lvextend -L <span style="color:#006666 !important">3</span>G /dev/myvg/testlv     <span style="color:#880000 !important"><em>#-L指定大小(+3G意思是扩展3G,不加就是扩展到3G) 扩展物理边界,这里用df -h 是看不到变化的</em></span></code></span>
  • 1

c.扩展逻辑边界

<span style="color:#000000"><code>resize2fs -p /dev/myvg/testlv       <span style="color:#880000 !important"><em>#扩展逻辑边界,或者写resize2fs -p /dev/mapper/myvg-testlv</em></span></code></span>
  • 1

10.缩减逻辑卷大小: 
a.缩减是有风险的,不能在线缩减,需要先卸载

<span style="color:#000000"><code>umount /testlv</code></span>
  • 1

b.确保缩减后的空间大小,依然能存储原有的所有数据

<span style="color:#000000"><code>e2fsck <span style="color:#50a14f">-f</span> /dev/mapper/myvg<span style="color:#50a14f">-testlv</span></code></span>
  • 1

c.在缩减之前,应该先强行检查文件系统,以确保文件系统牌一致性状态

<span style="color:#000000"><code>resize2fs /dev/mapper/myvg-testlv <span style="color:#006666 !important">3</span>G    <span style="color:#880000 !important"><em>#缩减到3G</em></span></code></span>
  • 1

d.缩减物理边界

<span style="color:#000000"><code>lvreduce -L <span style="color:#006666 !important">3</span>G /dev/myvg/testlv
<span style="color:#009900 !important">#会有提示:Do you really want to reduce testlv?[y/n]:  按y确定就好</span>
<span style="color:#009900 !important">#完成后会提示:Reducing logical volume testlv to 3GB</span>
Logical volume testlv successfully resized</code></span>
  • 1
  • 2
  • 3
  • 4

11.快照卷 
a.生命周期为整个数据时长,在这段时长内,数据的增长量不能超出快照卷大小 
b.快照卷应该是只读的 
c.跟原卷在同一卷组内 
lvcreate 
-L: 指定大小,指定的大小需要自己估计,如果数据的增长量大于快照卷的大小,数据会损毁 
-s:表示创建快照卷 
-p:指定权限 r|w

<span style="color:#000000"><code><span style="color:#880000 !important"><em>#对/dev/myvg/testlv创建快照卷testlv_snap</em></span>
lvcreate -L <span style="color:#006666 !important">1</span>G -n testlv_snap -s -p r /dev/myvg/testlv </code></span>
  • 1
  • 2

使用lvs或者 lvdisplay可以查看 
挂载快照卷:

<span style="color:#000000"><code>mount /dev/myvg/testlv_snap /testlv_snap</code></span>
  • 1

卸载快照卷:

<span style="color:#000000"><code>umount /testlv_snap</code></span>
  • 1

移除快照卷:

<span style="color:#000000"><code>lv<span style="color:#880000 !important"><em>remove /dev/myvg/tstlv_snap</em></span></code></span>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值