首页 > 其他 > 详细

LVM硬盘扩容

时间:2015-05-12 02:05:42      阅读:353      评论:0      收藏:0      [点我收藏+]

前言

? 在Linux运维过程中,我们可能会遇到很多问题,今天我们来讲讲这样一个场景:

当前硬盘容量:1T,已使用80%,挂载到/home目录,这个时候我们很有必要考虑硬盘的扩容问题。我们首先想到的是:增加一块硬盘,让它共享挂载到/home。那具体如何才能把两块硬盘合并到一起进而做到挂载目录扩容呢?让我们继续往下看。

?

解决方案

??LVM,关于LVM的理论知识,在这里我就不做多描述,想了解的同学请自行百度。附一张LVM的结构图(来自网络)
bubuko.com,布布扣
?主要概念:PV,VG,LV

?

解决思路

? ?这里常见的两种情况:一,全新系统,未挂载数据目录;二,原挂载目录已使用LVM。本篇文章主要针对这两种情况给出解决步骤。

?

?

具体步骤

一,全新系统,未挂载数据目录(该情况使用测试机演示)

步骤一,df -h,查看当前挂载情况

bubuko.com,布布扣

当前,没有挂载/home目录

?

步骤二,fdisk -l,查看硬盘分区情况

bubuko.com,布布扣
当前有两块硬盘未进行分区,分别是/dev/xvdb和/dev/xvdc

?

步骤三,pvcreate /dev/xvdc,创建PV

步骤四,vgcreate VolGroup00 /dev/xvdc,创建VG,然后查看VG信息vgdisplay

步骤五,lvcreate -l [FREE PE值] -n lv_home VolGroup00,创建LV,并赋予大小

步骤六,mkfs.ext4 /dev/VolGroup00/lv_home,格式化LV文件系统类型

步骤七,mount /dev/mapper/VolGroup00-lv_home /home,挂载到/home目录

----处理第二块硬盘

步骤八,pvcreate /dev/xvdb

步骤九,vgextend VolGroup /dev/xvdb,然后vgdisplay

步骤十,lvextend -l +[FREE PE值]?/dev/mapper/VolGroup00-lv_home

步骤十一,resize2fs?/dev/mapper/VolGroup00-lv_home

?

?

二,原挂载目录已使用LVM

步骤一,df -h,查看当前挂载情况

bubuko.com,布布扣
我们可以看到,当前/home目录挂载的是lvm的逻辑卷,大小是8.9G

?

步骤二,fdisk -l

bubuko.com,布布扣

我事先知道当前/home目录挂载的PV是/dev/xvdc硬盘,那我们要做的就是把/dev/xvdb也加入/dev/mapper/VolGroup00_lv_home逻辑卷,其中VolGroup00是VG名称

步骤三,pvcreate /dev/xvdb,初始化/dev/xvdb为物理卷PV

?

步骤四,vgextend VolGroup00 /dev/xvdb,把上一步初始化的物理卷加入VG,然后查看vg的情况,vgdisplay,注意FREE PE那项,就是我们后面要用到的数值

bubuko.com,布布扣

步骤五,lvextend -l +12799 /dev/mapper/VolGroup00-lv_home,增加LV的大小
bubuko.com,布布扣

步骤六,resize2fs /dev/mapper/VolGroup00-lv_home,上一步只是增加LV的大小后,文件系统并没有改变
bubuko.com,布布扣
到此结束!

?

PS:本篇文章省掉了硬盘分区的过程,直接把整个硬盘初始化为PV,如需把硬盘分区使用,请事先分好区后,再按照本教程执行,执行内容和顺序大致相同,把硬盘/dev/xvdb改为/dev/xvdb1分区就行,如pvcreate /dev/xvdb1,效果是一样的。

?

附一些LVM常用命令:

物理卷

pvdisplay 查看

pvcreate /dev/sdb2 创建物理卷

?

pvremove /dev/sdb2 ?删除物理卷

逻辑卷组

vgdisplay 查看

vgcreate VolGroup00 /dev/sdb2 创建逻辑卷组

vgextend VolGroup00 /dev/sdc2 扩容逻辑卷组

vgremove VolGroup00 ??删除逻辑卷组

逻辑卷

lvdisplay 查看

lvcreate -l [PE数] -n lv_home VolGroup00 创建逻辑卷

lvextend -l +[PE数] /dev/VolGroup00/lv_home 扩容逻辑卷

lvremove /dev/VolGroup00/lv_home ?删除逻辑卷

?

1、 物理卷命令?

一般维护命令:?

#pvscan //在系统的所有磁盘中搜索已存在的物理卷?

#pvdisplay 物理卷全路径名称 //用于显示指定物理卷的属性。?

#pvdata 物理卷全路径名称 ?//用于显示物理卷的卷组描述区域信息,用于调试目的。?

#pvchange –x|--allocation {y|n} 物理卷全路径名 ?//用于改变物理卷的分配许可设置物理卷的创建与删除命令

#pvcreate 设备全路径名 //用于在磁盘或磁盘分区上创建物理卷初始化信息,以便对该物理卷进行逻辑卷管理。?

#pvmove 源物理卷全路径我[目的物理卷全路径名] ?//用于把某物理卷中的数据转移到同卷组中其他的特刊卷中。?

?

2、 卷组命令?

一般维护命令?

#vgscan //检测系统中所有磁盘?

#vgck [卷组名] //用于检查卷组中卷组描述区域信息的一致性。?

#vgdisplay [卷组名] //显示卷组的属性信息?

#vgrename 原卷组名 新卷组名 ?

#vgchange -a y|n [卷组名] //改变卷组的相应属性。是否可分配?

#vgchange -l 最大逻辑卷数 //卷组可容纳最大逻辑卷数?

#vgchange -x y|n [卷组名] //卷是否有效?

#vgmknodes [卷组名|卷组路径] //用于建立(重新建立)已有卷组目录和其中的设备文件 ?

?

//卷组配置的备份与恢复命令?

#vgcfgbackup [卷组名] //把卷组中的VGDA信息备份到“/etc/lvmconf”目录中的文件?

#vgcfgrestore -n 卷组名 物理卷全路命名 //从备份文件中必得指定物理卷的信息?

?

卷组的建立与删除命令?

#vgcreate 卷组名 物理卷全路径名[物理卷全路径名]?

#vgmove 卷组名?

?

卷组的扩充与缩小命令?

#vgextend 卷组名 物理卷全路径名[物理卷全路径名]?

#vgreduce 卷组名 物理卷全路径名[物理卷全路径名]?

?

卷组的合并与拆分?

#vgmerge 目的卷组名 源卷组名 //合并两个已经存在的卷组,要求两个卷组的物理区域大小相等且源卷组是非活动的。?

#vgsplit 现有卷组 新卷组 物理卷全路径名[物理卷全路径名] 卷组的输入与输出命令?

#vgexport 卷组名?

#vgimport 卷组名 卷组中的物理卷[卷组中的物理卷]

?

3、 逻辑卷命令?

一般命令?

#lvscan?

#lvdisplay 逻辑卷全路径名[逻辑卷全路径名]?

#lvrename 旧逻辑卷全路径名 新逻辑卷全路径名?

#lvrename 卷组名 旧逻辑卷名 新逻辑卷名?

#lvchange?

#e2fsadm -L +|- 逻辑卷增减量 逻辑卷全路径名?

?

逻辑卷的创建与删除命令?

#lvcreate?

#lvremove?

?

逻辑卷的扩充与缩小命令?

#lvextend -L|--size +逻辑卷大小增量 逻辑卷全路径名?

#lvreduce q -L|--size +逻辑卷减小量 逻辑卷全路径名?

?

4、 逻辑卷管理命令?

#lvmdiskscan //检测所有的SCSI、IDE等存储设备?

#lvmchange -R|--reset //复位逻辑卷管理器 ?

#lvmsadc [日志文件全路径名] //收信逻辑卷管理器读写统计信息,保存到日志文 //件中。?

#lvmsar 日志文件全路径名 //从lvmsadc命令生成的日志文件中读取并报告逻辑卷?

?

?

LVM硬盘扩容

原文:http://hunanpengdake.iteye.com/blog/2210154

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!