linux终端lvm命令 linux lvm命令
Linux文件系统-LVM逻辑卷
LVM(Logical Volume Manager)卷组管理器,通过对底层物理磁盘的封装,可以将多块物理磁盘组合成逻辑资源池,提供给上层应用使用(如文件系统). LVM的好处是,可以跨物理硬盘为文件系统提供容量,并且可以动态进行分区容量的调整,而不会损坏原有的文件系统.
公司主营业务:成都网站设计、网站制作、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出辉南免费做网站回馈大家。
物理磁盘 :物理存储介质,可以是整块物理存储或一个分区.
物理卷PV(physical volume) :LVM要使用物理磁盘,在物理磁盘的头部写入lvm标签头,就创建了一个PV,PV是组成VG的基本单元.
卷组VG(Volume Group) :VG相当于非LVM系统中的物理硬盘,一个卷组VG由一个或多个PV组成,形成一个存储资源池.
逻辑卷LV(logical volume) :LV相当于非LVM系统中的硬盘分区,LV建立在卷组VG之上,文件系统建立在LV之上.
物理块PE(physical Extent) :创建LV时可以分配的最小存储单元,大小可以指定,默认为4MB
如上是从物理磁盘到lvm逻辑卷的创建过程及映射关系,lv01、lv02被创建后,通过device-mapper映射为逻辑块设备(块设备路径/dev/vg01/lv01、/dev/vg01/lv02),供文件系统使用,通过mkfs.ext4 /dev/vg01/lv02可创建ext4文件系统.
元数据主要是两部分,PV header + metadata,位置一般是在PV的0~2048 sector中,从2048 sector开始是数据区域.
通过pvcreate创建pv时,会将pv header写入物理磁盘,位置一般是在磁盘的第二个sector(512B/sector),lvm扫描磁盘时,通过pv header来识别PV.
pv header主要信息包括,pv uuid、元数据位置和metadata位置.
pv header实例:
metadata记录的是vg和lv的配置信息,以ASCII码的方式写入metadata区域;vg和lv的每次配置变更,都会以追加的方式写入metadata区域,并打上时间戳,该区域写满后,新的变更记录会覆盖最早的一次记录. 进行vgscan时,猜测应该是通过读取最新一次的配置记录,进行激活.
vg配置信息,主要是包含的pv信息.
lv配置信息,主要是lv的起始位置和PE大小.
实例:
pvcreate /dev/vdb1
pvcreate /dev/vdb2
pvcreate /dev/vdb3
vgcreate /dev/vdb1 /dev/vdb2 /dev/vdb3
vgcreate wan /dev/vdb1 /dev/vdb2 /dev/vdb3
lvcreate -L 300M -n lv01 wan
将PV的前2048个sector通过dd拷贝出来,用cat查看如下.
假设我们有一块磁盘 /dev/sdb1 作为应用数据盘使用,以此为例创建lvm分区
先创建物理卷PV,命令: pvcreate /dev/sdb1
创建卷组VG,卷组命名为kylin,命令:vgcreate kylin /dev/sdb1
在VG中创建逻辑分区LV,命令:lvcreate -L 30G -n test kylin
创建逻辑分区后,进行格式化,然后便可以挂载使用.
mkfs.ext4 /dev/kylin/test
mount /dev/kylin/test /data
假设我们在上述基础上,又获得一块磁盘/dev/sdc1进行扩容,将磁盘容量增加到LV分区/dev/kylin/test中,具体操作如下.
先创建物理卷PV,命令: pvcreate /dev/sdc1
将/dev/sdc1添加进VG kylin,命令:vgextend kylin /dev/sdc1
增加LV分区容量,命令:lvextend -L +30G /dev/kylin/test
lvm卷组配置备份
lvm的配置信息默认在/etc/lvm/backup、/etc/lvm/archive/两个目录存在备份,当lvm元数据损坏,lvm卷组读取异常时,可通过备份文件进行恢复.
/etc/lvm/backup: 保留了当前配置的备份
/etc/lvm/archive/:保留了每次配置更新前的备份
实例演示
逻辑卷/dev/wan/lv01
在/dev/wan/lv01上创建文件系统
挂载并创建文件
覆盖/dev/vdb1、/dev/vdb2的lvm元数据,并重启系统,vg已不能识别
通过pvcreate命令修复pv header 和metadata数据.
激活逻辑卷
挂载/dev/wan/lv01成功,说明成功修复
Linux入门系列——LVM逻辑卷管理
将多个底层的物理设备,在内核中抽象成/dev/md# ,所有的调配工作都由内核中的md来实现的;
DM的功能要比MD要强大;比如LVM2,快照,多路径;还可以实现动态增减。
在创建LVM的时候,要先创建好PV,再来创建GV,最后创建LV,格式化并挂载;
先把要创建成PV的块设备的分区类型修改为Linux LVM类型,对应的十六进制码是: 8e
使用fdisk 创建了/dev/sdb11 /dev/sdb12 /dev/sdb13这三个分区,并且已经修改好了分区类型;这里要注意的是fdisk命令最多只支持分15个分区;
下面就是把创建好的三个物理分区,创建成PV:
查看系统创建好的PV,可以使用pvdisplay和pvs命令:
语法:vgcreate vg_name /dev/sdb[12345678]
查看创建好的VG:
语法:lvcreate -n lv_name -L [+]size vg_name
查看创建的LV
从上面格式化的路径可以看出,LVM设备的路径为:/dev/vg_name/lv_name ,那么再来看看挂载后的路径:
关于LVM扩容、缩容的操作将会在下一篇介绍。
简单轻松:Linux下从零开始创建lvm虚拟磁盘阵列+脚本化解决方案
逻辑卷管理器(英语:Logical Volume Manager,缩写为LVM),又译为逻辑卷宗管理器、逻辑扇区管理器、逻辑磁盘管理器,是Linux核心所提供的逻辑卷管理(Logical volume management)功能。它在硬盘的硬盘分区之上,又创建一个逻辑层,以方便系统管理硬盘分割系统。
最先由IBM开发,在AIX系统上实现,OS/2 操作系统与 HP-UX也支持这个功能。在1998年,Heinz Mauelshagen 根据在 HP-UX 上的逻辑卷管理器,写作出第一个 Linux 版本的逻辑卷管理器。
LVM基本术语:
我们可以通过LVM灵活便捷的管理系统中的磁盘,并且根据需求快速、无感得扩容目标磁盘,并且几乎不会影响性能。
创建lvm分区的方法其实非常的简单,主要分为以下几个步骤:
目前做LVM分区比较推荐的工具还是fdisk,不是说parted不能做,而是fdisk可能更加方便一点。流程如下:
在分区完成之后需要做的就是创建物理卷,直接将刚才创建的分区进行pvcreate:
在创建玩物理卷之后,需要对该磁盘进行虚拟卷的创建。需要注意的是一个虚拟卷可以由多个物理卷构成。例如:
该命令的意义就在于创建一个叫做nvme的虚拟卷,由 /dev/nvme0n1p1 、 /dev/nvme1n1p1 、 /dev/nvme2n1p1 三个做了pv的分区构成
到了这一步,基本上LVM的创建已经到了尾声了,最后一步就是从虚拟卷中创建一个逻辑卷。如下:
这条命令的意思为从虚拟卷nvme中创建一个2.91T的逻辑卷作为lvm分区并命名为data,如果想一次性全部用完所有的容量,也可以这样:
此时在linux的 /dev/ 文件夹下面我们可以看到有 /nvme/data 的文件结构。
在创建完lvm分区后,我们需要将分区挂在到系统中的路径中。假设需要挂载的路径是 /data 。
之后通过 blkid 命令获取这个新的lvm分区的UUID,然后更新到 /etc/fstab 中就可以了
上述的LVM实现过程可以直接通过shell脚本进行实现:
Linux LVM是什么?对比直接使用物理存储有什么好处?
Linux中lvm是什么?LVM是Logical VolumeManager的简写,中文名为逻辑卷管理,它是Linux环境下对磁盘分区进行管理的一种机制。以下是详细的内容介绍,具体内容请看下文:
LVM是逻辑卷管理的简称,他是建立在物理存储设备之上的一个抽象层,允许你生成逻辑存储卷,和直接使用物理存储在管理上相比,提供了更好的灵活性。
LVM将存储虚拟化,使用逻辑卷,你不会受限于物理磁盘的大小。另外,和硬件相关的存储设置被其隐藏,你能不用停止应用或卸载文件系统来调整卷大小或数据迁移,这样可以减少操作成本。
LVM对比直接使用物理存储,具有以下好处:
1、灵活的容量,当使用逻辑卷时,文件系统能扩展到多个磁盘上,你能聚合多个磁盘或磁盘分区成单一的逻辑卷。
2、可伸缩的存储池,你能使用简单的命令来扩大或缩小逻辑卷大小,不用重新格式化或分区磁盘设备。
3、在线的数据再分配,你能在线移动数据,数据能在磁盘在线的情况下重新分配,比如你能在线更换可热插拔的磁盘。
4、方便的设备命名,逻辑卷能按你觉得方便的方式来起所有名称。
5、磁盘条块化,你能生成一个逻辑卷,他的数据能被条块化存储在2个或更多的磁盘上,这样能明显提升数据吞吐量。
6、映像卷,逻辑卷提供方便的方法来映像你的数据。
7、卷快照,使用逻辑卷,你能获得设备快照用来一致性备份或测试数据更新效果而不影响真实数据。
Linux LVM分区的创建、分配
许多Linux使用者安装操作系统时都会遇到这样的困境:如何精确评估和分配各个硬盘分区的容量,如果当初评估不准确,一旦系统分区不够用时可能不得不备份、删除相关数据,甚至被迫重新规划分区并重装操作系统,以满足应用系统的需要。
LVM是Linux环境中对磁盘分区进行管理的一种机制,是建立在硬盘和分区之上、文件系统之下的一个逻辑层,可提高磁盘分区管理的灵活性。RHEL5默认安装的分区格式就是LVM逻辑卷的格式,需要注意的是/boot分区不能基于LVM创建,必须独立出来。
LVM的配置过程也很简单,并不是很难,为此,我画了一张图文并茂的解析图,解析了LVM创建的整个过程。更详细的理论知识还请参看一些教程或者去Google哦!
实验环境:
首先从空的硬盘sdb上创建两个分区sdb1 1G,sdb2 2G. 为接下来做LVM做准备.
为了后期便于维护管理,记得给分区加上标示,这样即使你不在的情况下,别人看到标示了就不会轻易动这块区域了. LVM的标识是8e,设置完成后记得按w保存
一、创建逻辑卷
将新创建的两个分区/dev/sdb1 /dev/sdb2转化成物理卷,主要是添加LVM属性信息并划分PE存储单元.
创建卷组 vgdata ,并将刚才创建好的两个物理卷加入该卷组.可以看出默认PE大小为4MB,PE是卷组的最小存储单元.可以通过 –s参数修改大小。
从物理卷vgdata上面分割500M给新的逻辑卷lvdata1.
使用mkfs.ext4命令在逻辑卷lvdata1上创建ext4文件系统.
将创建好的文件系统/data1挂载到/data1上.(创建好之后,会在/dev/mapper/生成一个软连接名字为”卷组-逻辑卷”)
便于以后服务器重启自动挂载,需要将创建好的文件系统挂载信息添加到/etc/fstab里面.UUID可以通过 blkid命令查询.
为了查看/etc/fstab是否设置正确,可以先卸载逻辑卷data1,然后使用mount –a 使内核重新读取/etc/fstab,看是否能够自动挂载.
二、逻辑卷 lvdata1 不够用了,如何扩展。
给逻辑卷增加空间并不会影响以前空间的使用,所以无需卸载文件系统,直接通过命令lvextend –L +500M /dev/vgdata/lvdata1或者lvextend –l 2.5G /dev/vgdata/lvdata1 给lvdata1增加500M空间(lvdata1目前是2G空间)设置完成之后,记得使用resize2fs命令来同步文件系统。
三、当卷组不够用的情况下,如何扩大卷组
重新从第二块硬盘上创建一个分区sdb3,具体操作步骤省略。并将创建好的分区加入到已经存在的卷组vgdata中。通过pvs命令查看是否成功。
四、当硬盘空间不够用的情况下,如果减少逻辑卷的空间释放给其他逻辑卷使用。
减少逻辑卷空间,步骤如下
1、 先卸载逻辑卷data1
2、 然后通过e2fsck命令检测逻辑卷上空余的空间。
3、 使用resize2fs将文件系统减少到700M。
4、 再使用lvreduce命令将逻辑卷减少到700M。
注意:文件系统大小和逻辑卷大小一定要保持一致才行。如果逻辑卷大于文件系统,由于部分区域未格式化成文件系统会造成空间的浪费。如果逻辑卷小于文件系统,哪数据就出问题了。
完成之后,就可以通过mount命令挂载重新使用了。
五、如果某一块磁盘或者分区故障了如何将数据快速转移到相同的卷组其他的空间去。
1、通过pvmove命令转移空间数据
2、通过vgreduce命令将即将坏的磁盘或者分区从卷组vgdata里面移除除去。
3、通过pvremove命令将即将坏的磁盘或者分区从系统中删除掉。
4、手工拆除硬盘或者通过一些工具修复分区。
六、删除整个逻辑卷
1、先通过umount命令卸载掉逻辑卷lvdata1
2、修改/etc/fstab里面逻辑卷的挂载信息,否则系统有可能启动不起来。
3、通过lvremove 删除逻辑卷lvdata1
4、通过vgremove 删除卷组vgdata
5、通过pvremove 将物理卷转化成普通分区。
删除完了,别忘了修改分区的id标识。修改成普通Linux分区即可。
总结:LVM逻辑卷是Linux里面一个很棒的空间使用机制,因为分区在没有格式化的情况下是没有办法加大或者放小的。通过LVM可以将你的磁盘空间做到灵活自如。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
用以致学,学以致用
当前文章:linux终端lvm命令 linux lvm命令
转载注明:http://myzitong.com/article/hgosop.html