参考:

  1. 减小lvm根分区容量: http://kwokchivu.blog.51cto.com/1128937/724128

目标

home、根各为50GB空间,根空间不足,需缩小home至10GB、扩大根为90GB。

lvm> lvscan
  ACTIVE            '/dev/vg_db/lv_root' [50.00 GiB] inherit
  ACTIVE            '/dev/vg_db/lv_home' [50.00 GiB] inherit
  ACTIVE            '/dev/vg_db/lv_swap' [9.83 GiB] inherit


缩小home、增大根分区

进入rescue模式


增大root分区是否可以在线完成、不用进rescue状态?找机会试试...


从Linux安装光盘启动进入rescue模式; 选择相关的语言,键盘模式,当系统提示启用网络设备时,选择“NO”; 然后在提示允许rescue模式挂载本地Linux系统到/mnt/sysimage下时选择“Skip”,文件系统必须不被挂载才可以对/分区减小容量操作。 最后系统会提示选择进入shell终端还是reboot机器,选择进入shell终端。 ### 激活分区 输入lvm命令,进入lvm界面,依次输入pvscan、vgscan、lvscan三个命令扫描pv、vg、lv相关信息。 然后输入lvchange -ay /dev/vg_db/lv_root(上文提到的/分区名称)此命令是激活/分区所在的逻辑卷,输入 quit返回到bash shell界面。

lvchange -ay /dev/vg_db/lv_home lvchange -ay /dev/vg_db/lv_root


缩小home分区

  • 先检查下分区: e2fsck -f /dev/vg_db/lv_home
  • 缩小文件系统大小:resize2fs /dev/vg_db/lv_home 10G
  • 缩小逻辑卷
  • 输入lvm命令进入lvm模式
  • 缩小逻辑卷:lvreduce -L 10G /dev/vg_db/lv_home
  • 系统会询问是否缩小逻辑卷,输入 y 确定。
  • 查看修改结果: vgdisplay,lvdisplay 减小LVM中的文件系统必须离线操作(处于umount装态),要减小文件系统和LV: # Unmount相应的文件系统 # 运行磁盘检查确保卷的完整 # 减小文件系统 # 减小LV

扩大根分区

  • 先检查下分区: e2fsck -f /dev/vg_db/lv_root
  • 扩大逻辑卷:
  • 输入lvm命令进入lvm模式
  • 扩大逻辑卷:lvresize -L +40G /dev/vg_db/lv_root
  • 更改文件系统大小
  • resize2fs -p /dev/vg_db/lv_root
  • 查看修改结果: lvscan

其他操作

修改swap卷大小

  • 取消激活swap空间: swapoff
  • 修改swap分区大小: lvresize -L 4G /dev/vg_db/lv_swap
  • 重新格区化: mkswap -f /dev/vb_db/lv_swap
  • 激活swap空间: swapon

新建逻辑卷lv_develop

  • 创建逻辑卷 : lvcreate -L 2.8G -n lv_develop /dev/vb_db
  • 创建文件系统 : mkfs.ext3 /dev/vg_db/lv_develop

增加物理盘

  • fdisk分区,并将分区类型为0×8e(Linux LVM)
  • 创建物理卷PV: pvcreate /dev/hdb1
  • 创建卷组VG: vgcreate vgtest /dev/hdb1
  • 添加PV到VG: vgextend
  • 创建逻辑卷LV: lvcreate -L 6000M -n mysql vgtest
  • 创建文件系统: mkfs -t ext3 /dev/vgtest/mysql
  • 建立新分区卷标: tune2fs –L /mysql /dev/vgtest/mysql
  • 加载新分区: mount –t ext3 /dev/vgtest/mysql /mysql
  • 卸载卷的顺序:
  1. umount
  2. 卸载逻辑卷:lvremove LVDEVICE
  3. 卸载卷组:vgremove VGNAME
  4. 卸载物理卷:pvremove PVDEVICE

LVM分区在线扩容


http://share.blog.51cto.com/278008/745479

今天对三台服务器的LV分区进行了一次扩容。本文有点标题党嫌疑,因为只有一台服务器是在线扩容,其它两台都是先卸载再扩容的。

在线扩容的这台服务器,LV分区格式为xfs,原大小1.2TB。增加了一块硬盘,大小为1.8TB。

fdisk/dev/cciss/c0d1# 创建分区,并指定分区类型为LVM (8e) 
 
pvcreate ``/dev/cciss/c0d1p1# 创建pv 
 
vgextend VolGroup00 ``/dev/cciss/c0d1p1# 添加新创建的pv到原有vg 
 
lvextend -L +1.8T ``/dev/mapper/VolGroup00-LogVol05# 在线扩容指定lv分区 
 
xfs_growfs ``/dev/mapper/VolGroup00-LogVol05# 使扩容生效。注意xfs文件系统的生效命令

其它两台服务器也是新增了一个1.8TB的硬盘,要扩容的LV分区格式为ext3。之所以没有进行在线扩容,是因为没有找到ext2online命令;后来发现,resize2fs也是支持在线扩容的!

lvextend -l +100%FREE ``/dev/mapper/VolGroup00-LogVol05 
 
umount-l ``/dev/mapper/VolGroup00-LogVol05 
 
e2fsck -f ``/dev/mapper/VolGroup00-LogVol05# 过程比较长 
 
resize2fs ``/dev/mapper/VolGroup00-LogVol05# 也要几分钟时间 
 
mount/dev/mapper/VolGroup00-LogVol05/hdfs

虽然resize2fs可以在线使用,但是对在线lv分区执行e2fsck有点风险!