可以灵活改变分区大小。这里的分区叫做lv,lv创建在 vg中,vg由pv组成。pv可以由磁盘创建也可以由物理分区创建。灵活改变分区大小,就是调整lv的大小。lv可以调整的范围受到vg大小的限制,而 vg的大小可以通过改变pv来灵活变化。于是lv的大小理论上完全可控,即使生产需求不断变化,只需要增加pv即可满足需求的变化。

  pv操作,创建(pvcreate)、删除(pvremove)、扫描(pvscan)、查看(pvs、pvdisplay)、转移(pvmove)。

  vg操作,vgcreate、vgremove、vgextend、vgreduce、vgs、vgdisplay、vgscan、vgrename……

  lv操作,lvcreate、lvremove、lvextend(扩展)、lvreduce、lvresize(缩减)、lvs、lvdisplay……

1.创建lv


1.1.创建 pv

pvcreate /dev/sdb /dev/sdc

  pvcreate <磁盘> <磁盘> <......>

pvs
pvdisplay

  只看某一个pv

pvs /dev/sdb
pvdisplay /dev/sdb

1.2.创建 vg

vgcreate 10vps /dev/sdb /dev/sdc

vgcreate <卷组名> <pv1> <pv2> <......>

vgs
vgdisplay

  创建vg时,可以使用选项“-s”,修改PE(逻辑卷的物理存储块)大小(没有指定该选项时,使用默认大小值)。

vgcreate -s 128M 10vps /dev/sdb /dev/sdc
display 10vps

1.3.创建 lv

lvcreate -n lv_one -L 200G 10vps
lvcreate -n lv_two -L 500G 10vps

  lvcreate -n <卷名> -L <卷大小值> <卷组名>

  选项说明:

  选项“L”卷大小可以使用大小单位:M、G、T、S、……

  单位“S”使用的是PE的数量。在pv创建时使用PE数量,与PE的大小(vg创建时确定)确定lv的大小。

  选项“p”,用来指定分区权限:r|rw。

1.4.挂载 lvs 分区

mkfs.ext4 /dev/10vps/lv_one
mount -t ext4 /dev/10vps/lv_one /opt/mysql_data
mkfs.ext4 /dev/10vps/lv_two
mount -t ext4 /dev/10vps/lv_two /opt/oracle_data
mount /dev/mapper/10vps-lv_three /opt/db_apps

  mount </dev/卷组名/卷名> <挂载点>

  mount /dev/mapper/<卷组名-卷名> <挂载点>

  * 要是需要以 UUID 来自动挂载,在刚创建完成时,没有 UUID 。

   需要格式化以后才会有 UUID 。

2.删除pv

2.1.删除 lv

lvremove /dev/10vps/lv_one
lvremove /dev/10vps/lv_two

2.2.删除 vg

vgremove /dev/10vps

2.3.删除 pv

pvremove /dev/sdb /dev/sdc

3.增加 vg

pvcreate /dev/sdd
vgextend 10vps /dev/sdd

4.缩减vg

  使用pvmove命令把数据移走,然后删除pv。缩减后的vg,把其中的pv移除,这时pv就不属于任何vg,可以删除pv或者重新分配。

pvs
pvmove /dev/sdb
vgreduce 10vps /dev/sdc

5.扩展lv

  增加的时候不用卸载分区;减少、删除的时候需要卸载。首先增加lv的大小,而后接着修改文件系统大小。

lvextend -L 500G /dev/10vps/lv_one

   大小增加“到”500G;“-L +500G”增加500G空间大小。

查看大小,对比结果……

lvs
df -hP
resize2fs -p /dev/10vps/lv_one

  修改过文件系统大小,这次再查看。选项“-p”表示扩展到最大可使用的大小。

eg:增加根分区,把剩余空间全加到根分区的卷

# lvextend /dev/mapper/vg_hhh-lv_root /dev/sda3
# lvs

# df -h

还需要修改文件系统大小才能真正完成扩展。

6.缩减lv

  缩减时,先缩减文件系统大小,而后修改lv大小。缩减的时候,需要卸载分区、确保分区文件系统数据一致性完整。

缩减到100G

lvs
umount /dev/10vps/lv_one
e2fsck -f /dev/10vps/lv_one
resize2fs /dev/10vps/lv_one 100G
lvreduce -L -200G /dev/10vps/lv_one
lvs
mount ……
df -h
vgs
pvmove /dev/sdd
vgreduce 10vps /dev/sdd
pvremove /dev/sdd

7.创建快照

  快照针对已有lv创建,大小自行斟酌。

语法:

lvcreate  [-l|--extents  LogicalExtentsNumber[%{VG|FREE|ORIGIN}]  |  -L|--size   LogicalVolumeSize[bBsSkKmMgGtTpPeE]]   [-c|--chunksize   Chunk-
Size[bBsSkK]] [--noudevsync] [--ignoremonitoring] [--monitor {y|n}] [-n|--name SnapshotLogicalVolume{Name|Path}] -s|--snapshot {[Vol-
umeGroup{Name|Path}/]OriginalLogicalVolumeName -V|--virtualsize VirtualSize[bBsSkKmMgGtTpPeE]}

  快照是为了备份而生,创建完快照,可以直接挂载,挂载后存在被快照lv的数据。从而可以从快照完成备份操作。这个备份是个完全备份,并不能保证被备份lv数据变化后的结果能及时回复。

===========

lvcreate -s -L 200G -p r -n snapshotLV /dev/vg_name/OriginalLV

  快照lv需要跟被快照lv处于同一个vg。 快照的时间点处于命令执行的时刻。

lvremove /dev/vg_name/snapshotLV

  快照完成备份后,可以卸载后删除。

逻辑卷(lv)管理(LVM)的更多相关文章

  1. centos6下的lvm逻辑卷的管理

    LVM:Logical Volume Manager 将多块设备组合成一个来使用 dm:device mapper 设备映射 设备文件 /dev/卷组名/逻辑卷名          /dev/mapp ...

  2. LVM逻辑卷的管理和使用

    本篇将从头到尾演示一遍逻辑卷的管理. 主要步骤 1.创建lv逻辑卷步骤     前提:先创建3个磁盘分区,类型为8e:         1.PV创建             pvcrete /dev/ ...

  3. Linux 物理卷(PV)、逻辑卷(LV)、卷组(VG)管理

    (一)相关概念 逻辑卷是使用逻辑卷组管理(Logic Volume Manager)创建出来的设备,如果要了解逻辑卷,那么首先需要了解逻辑卷管理中的一些概念. 物理卷(Physical Volume, ...

  4. Linux LVM Logical Volume Management 逻辑卷的管理

    博主是一个数据库DBA,但是一般来说,是不做linux服务器LVM 逻辑卷的创建.扩容和减容操作的,基本上有系统管理员操作,一是各司其职,专业的事专业的人做,二是做多了你的责任也多了,哈哈! 但是li ...

  5. 烂泥:LVM学习之逻辑卷LV及卷组扩容VG

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 上篇文章中介绍了有关LVM基础的知识,这篇文章我们来介绍如何给LVM的逻辑卷LV及卷组VG扩容. LVM的逻辑卷,我们知道它最后相当于一个分区,既然是一 ...

  6. Linux中逻辑卷(LV)的创建、增大和减小

    首先说一下在缩小逻辑卷的时候要注意的问题:第一步使用resize2fs命令更改文件系统的容量:第二步使用lvreduce命令减小逻辑卷的容量.这两个顺序千万不要搞反了,而且要保证缩减后的逻辑卷容量大于 ...

  7. LVM逻辑卷创建管理

    首先添加三块硬盘 结构关系图 相关命令 查看磁盘 #fdisk -l 分区 #fdisk /dev/sda/ #n新建 ProMary主分区 extended扩展分区 #p查看 #q不保存退出 #w保 ...

  8. LVM逻辑卷:创建LVM分区实例

    一.概述 LVM(Logical Volume Manager)是基于内核的一种逻辑卷管理器,LVM适合于管理大存储设备,并允许用户动态调整文件系统的大小.此外LVM快照功能可以帮助我们快速备份数据. ...

  9. 《RedHatLinux逻辑卷的管理》——一条龙服务

    首先建2分区 [root@localhost ~]# partx -d /dev/sdb error deleting partition 4: BLKPG: No such device or ad ...

  10. LVM逻辑卷管理

    一.LVM简介 LVM(Logic Volume Manager)逻辑卷管理,简单理解就是将一块或多块硬盘的分区在逻辑上集合,当一块大硬盘来使用. 其特点是: 1.可以实现在线动态扩展,也可以缩减 2 ...

随机推荐

  1. NET设计模式 第二部分 行为型模式(18):观察者模式(Observer Pattern)

    概述 在软件构建过程中,我们需要为某些对象建立一种“通知依赖关系” ——一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知.如果这样的依赖关系过于紧密,将使软件不能很好地抵御 ...

  2. Go mysql使用举例

    下载MySQL驱动 $ go get github.com/go-sql-driver/mysql 或者下载源码放到GOPATH中,下载地址:https://github.com/go-sql-dri ...

  3. STM32的优先级的理解及其使用

    1 组只代表主优先级和副优先级数量的配比,组之间没有优先级的概念. 2 不同的主优先级中断之间,高优先级中断可以打断正在执行的低优先级中断,即可以形成中断嵌套. 3 主优先级相同的中断,高副优先级中断 ...

  4. Spark Hadoop Free 安装遇到的问题

    运行 ./sbin/start-master.sh : SparkCommand:/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java -cp /home/se ...

  5. [转]【NLP】干货!Python NLTK结合stanford NLP工具包进行文本处理 阅读目录

    [NLP]干货!Python NLTK结合stanford NLP工具包进行文本处理  原贴:   https://www.cnblogs.com/baiboy/p/nltk1.html 阅读目录 目 ...

  6. ef 吐糟

    方法:从dbcontext到objectcontext DbContext及其相关的API是EF4.1中一大新特性.简单说,DbContext就是之前EF的核心类ObjectContext的抽象封装. ...

  7. C#如何HttpWebRequest模拟登陆,获取服务端返回Cookie以便登录请求后使用

    public static string GetCookie(string requestUrlString, Encoding encoding, ref CookieContainer cooki ...

  8. 检索COML类工厂中 CLSID为 {00024500-0000-0000-C000-000000000046}的组件时失败,原因是出现以下错误: 80070005" 《终结篇》

    可以看到报出的异常类型为:UnauthorizedAccessException,没有权限访问,表明我们需要配置执行操作账户的COM访问权限. 由于系统是Windows Server 2008 64位 ...

  9. Razor语法记录

    虽然现在用着ASP.NET MVC但是cshtml使用Razor的标准形式去布局用的还是很少,这里就一点点把用到的关键点慢慢记下来,方便自己日后回忆吧! 1.将Action中返回的html字符串转换为 ...

  10. jQuery插件制作之全局函数用法实例

    原文地址:http://www.jb51.net/article/67056.htm 本文实例讲述了jQuery插件制作之全局函数用法.分享给大家供大家参考.具体分析如下: 1.添加新的全局函数 所谓 ...