Linux中调整根分区(LVM)的方法 (LVM 在线扩容根分区)
说明: Linux 2.6以上内核支持ext3的在线扩容
第一种情况:直接添加一个新硬盘
#
df -h 看看现在硬盘的情况
Filesystem
Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
6.7G 5.2G 1.3G 81% /
/dev/sda1
99M 12M 82M 13% /boot
tmpfs
633M 0 633M 0% /dev/shm
#
fdisk -l 可以看到新添加的硬盘/dev/sdb
Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1
* 1 13 104391 83 Linux
/dev/sda2
14 1044 8281507+ 8e Linux LVM
Disk /dev/sdb: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sdb doesn't contain a valid partition table
# lvm
lvm>vgdisplay 先看卷组是否还有剩余空间可以扩展,有的话直接扩展,没有或不够的话把新增的硬盘直接添加进去
--- Volume group ---
VG Name
VolGroup00
.....
VG Size
7.88 GB
Alloc PE / Size
252 / 7.88 GB
Free PE / Size 0 / 0 (空间无)
lvm>
pvcreate /dev/sdb 使用新的整个硬盘创建成一个lvm物理卷
lvm>
vgextend /dev/VolGroup00 /dev/sdb 把新的物理卷添加到卷组
lvm>vgdisplay 可以看到已分配空间和剩余未分配空间 All PE / Size 和 Free PE / Size
--- Volume group ---
....
Free PE / Size 255 / 7.97 GB
VG UUID
0U8dPB-UTJZ-Mdv5-eZJM-Xj7f-gR1M-63BcCh
lvm>
lvextend -L +7.9G /dev/VolGroup00/LogVol00
再来扩展逻辑卷大小
lvm>vgdisplay
lvm>pvdisplay
lvm>
lvdisplay 可以看到已经添加了
--- Logical volume ---
LV Name
/dev/VolGroup00/LogVol00
VG Name
VolGroup00
LV Size
14.78 GB
Current LE
473
lvm>quit
#
resize2fs -p /dev/VolGroup00/LogVol00实现扩充空间:在线识别一下文件系统大小
# df -h
第二种情况:只添加一个新分区
# df -h 可以看到新添加的硬盘/dev/sdb1
# lvm
lvm>pvcreate /dev/sdb1 使用新的硬盘创建一个lvm物理卷
lvm>vgextend /dev/VolGroup00
/dev/sdb1
lvm>vgdisplay 可以看到已分配空间和剩余未分配空间 All PE / Size 和 Free PE / Size
lvm>lvextend -L +5G /dev/VolGroup00/LogVol00
lvm>vgdisplay
lvm>pvdisplay
lvm>lvdisplay
lvm>quit
# resize2fs -p /dev/VolGroup00/LogVol00 扩展
# df –h
Linux中调整根分区(LVM)的方法
1,查看磁盘分区,其中/dev/da5是没有用的磁盘空间(这块盘可以使用)
[root@server1 /]# fdisk -l
Disk /dev/sda: 16.1 GB, 16106127360 bytes
…….
/dev/sda4 1384 1958 4618687 5 Extended
/dev/sda5 1384 1958 4618656 83 Linux
2,查看vg,剩余空间为0
[root@server1 /]# vgdisplay
……
Free PE / Size 0 / 0
VG UUID o8XLQS-jxb8-ZKid-sYxF-y97T-1M1S-AKBdz3
3,
扩展vg ,将没有用的空间磁盘/dev/sda5加入卷组
[root@server1 /]# vgextend VolGroup00 /dev/sda5
Volume group "VolGroup00" successfully extended
[root@server1 /]# vgdisplay
…….
VG Size 14.34 GB
…….
Free PE / Size 140 / 4.38 GB
VG UUID o8XLQS-jxb8-ZKid-sYxF-y97T-1M1S-AKBdz3
4,查看加载的分区信息:
[root@server1 /]# mount
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/mapper/VolGroup00-LogVol01 on /home type ext3 (rw)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
5,扩展根分区的lv
[root@server1 /]# lvextend -L +4.3G /dev/VolGroup00/LogVol00
Rounding up size to full physical extent 4.31 GB
Extending logical volume LogVol00 to 8.31 GB
Logical volume LogVol00 successfully resized
6,执行文件
系统检查:
[root@server1 /]# e2fsck -f /dev/VolGroup00/LogVol00
e2fsck 1.39 (29-May-2006)
/dev/VolGroup00/LogVol00 is mounted.
WARNING!!! Running e2fsck on a mounted filesystem may cause
SEVERE filesystem damage.
Do you really want to ontinue (y/n)? yes
7,
执行resize2fs
[root@server1 /]# resize2fs /dev/VolGroup00/LogVol00
resize2fs 1.39 (29-May-2006)
Filesystem at /dev/VolGroup00/LogVol00 is mounted on /; on-line resizing required
Performing an on-line resize of /dev/VolGroup00/LogVol00 to 2179072 (4k) blocks.
The filesystem on /dev/VolGroup00/LogVol00 is now 2179072 blocks long.
8,重新查看lv信息和mount的信息
[root@server1 /]# lvdisplay
….
LV Size 8.31 GB
[root@server1 /]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/VolGroup00-LogVol00
8.1G 2.6G 5.2G 34% /
/dev/mapper/VolGroup00-LogVol01
5.8G 2.6G 2.9G 48% /home
/dev/sda1 99M 12M 83M 13% /boot
tmpfs 125M 0 125M 0% /dev/shm
------------------
如果安装linux时,在选择分区设置时,选择默认,即使用lvm管理。系统运行一段时间后,发现根分区磁盘容量不够,需要扩容。该如何做呢?
使用lvm技术可以扩大根分区,不破坏分区表。
1:首先新加一块磁盘,连接至主机。开机,进入系统。使用root登录,运行fdisk,将新加的磁盘分区。我们这里假设将全部磁盘容量只分一个区,分区为/dev/sdb1;
2:创建pv: pvcreate /dev/sdb1
3:扩展VG:vgextend /dev/VolGroup00 /dev/sdb1
4:运行vgdisplay ,查看扩展后的VG,如果显示容量增加,表示,VG扩展成功;
转载于:https://blog.51cto.com/lynnshare/766697