对于linux系统在安装的时候由于经验不足或者是磁盘的问题,在分区的时候往往会有一定的考虑不全面,当使用一定的时间发现根分区空间严重的不足。如果你采用的是分区的物理分区的形式安装操作系统,这是就悲剧了。幸运的是聪明的你采用的是逻辑卷的形式来安装系统管理硬盘分区的,这时可以动态扩容逻辑卷的大小以达到扩容根分区的目的。
查看现在的分区大小
挂载了一个8G大小的scsi磁盘启动系统之后。
[root@point1 ~]#fdisk –l
一、分区并创建PV
[root@point1 ~]#fdisk /dev/sdb
输入m是显示帮助菜单
输入n创建一个分区,选择p创建主分区,在输入主分区号1表示创建第一个主分区。接这是输入分区的开始和结束,这里只创建一个分区所以分区的开始和结束都才用默认的大小。
输入P可以查看刚才已经创建好的分区信息。
输入t改变分区的格式为8e 即(Linux LVM)逻辑卷格式。
最后输入W保存退出分区界面。
创建物理卷
[root@point1 /]# pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created
[root@point1 /]#pvdisplay
"/dev/sdb1"is a new physical volume of "8.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sdb1
VG Name
PV Size 8.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID GRDxG0-b47Y-DPej-Ko7v-Olik-egBe-6Lv7nz
显示已经创建一个8G的PV。
[root@point1 /]#pvscan
PV /dev/sda2 VG vg_caeserver01 lvm2 [14.51GiB / 0 free]
PV /dev/sdb1 lvm2 [8.00 GiB]
也可以用pvscan命令显示pv信息。
二、扩容VG
把刚才创建好的pv添加到系统中根分区所在的卷组中。之前看到系统的根分区所在的卷组为/dev/mapper/vg_caeserver01-lv_root这个,组名为vg_caeserver01 ,逻辑卷名为lv_root
该卷组Free PE为0,说明卷组已经没有容量了。
[root@point1 /]# vgextend vg_caeserver01/dev/sdb1
Volume group "vg_caeserver01"successfully extended
再次查看卷组
发现Free PE大小为8G,说明已经将刚才创建的PV成功添加到卷组中了。
三、扩容LV即扩容根分区
Lv扩容8G发现报错了,因为可以利用的PE块只有2047个,2047*4/1024=7.996G,所以后面一次扩容成功了。
[root@point1 /]# resize2fs/dev/vg_caeserver01/lv_root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/vg_caeserver01/lv_rootis mounted on /; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 2
Performing an on-line resize of/dev/vg_caeserver01/lv_root to 5383168 (4k) blocks.
The filesystem on/dev/vg_caeserver01/lv_root is now 5383168 blocks long.
让刚才的扩容马上生效,如果在执行该命令的时候报错。
/dev/vg_caeserver01/lv_root is mounted;cannot resize a mounted file system时,可以执行以下命令让扩容生效。
[root@point1 /]# ext2online/dev/vg_caeserver01/lv_root
ext2resize是一款可以增大/减小ext2/ext3文件系统的工具,安装后有2个命令ext2resize和ext2online,ext2resize命令必须要在卸载文件系统的情况下才能使用,ext2online可以实现在线重设文件系统大小。
对比开始的时候根分区的大小确实增加了8G大小。