首页 > 代码库 > Linux 文件系统在线扩容实战
Linux 文件系统在线扩容实战
1.关于LVM的简要介绍
LVM,即logic volume manager,逻辑卷管理。LVM的架构图如下:
说明:
第一,重点需要关注pv(physical volume) 物理卷,vg(volume group) 卷组,lv(logic volume) 逻辑卷这3个概念。 第二,对于具有LVM类型的分区,可以组成PV;VG是由一个个PV组成;VG不可以直接使用,它类似于扩展分区一样,随着VG中的PV的增减,VG也会自动增减;在VG的上层就是LV,LV就类似于逻辑分区,通过将LV格式化(也就是创建文件系统),挂载后,就可以使用了。 |
2. 在线扩容操作分享
实验环境
操作系统:RedHat Enterprise Linux Server release 5.0 - 32bit 文件系统:ext3 |
实验步骤
第一步,创建2个LVM分区 利用fdisk命令进行创建,利用选项t调整分区类型为8e(LINUX LVM),如下所示: /dev/sdb6 33 57 200781 8e Linux LVM /dev/sdb7 58 82 200781 8e Linux LVM |
第二步,创建PV [root@localhost /]# pvcreate /dev/sdb{6,7} Physical volume "/dev/sdb6" successfully created Physical volume "/dev/sdb7" successfully created [root@localhost /]# pvs PV VG Fmt Attr PSize PFree /dev/sdb6 lvm2 -- 196.08M 196.08M /dev/sdb7 lvm2 -- 196.08M 196.08M 通过pvdisplay可以查看更加详细具体的信息。 |
第三步:创建VG [root@localhost /]# vgcreate myvg /dev/sdb{6,7} Volume group "myvg" successfully created [root@localhost /]# vgs VG #PV #LV #SN Attr VSize VFree myvg 2 0 0 wz--n- 384.00M 384.00M |
第四步:创建LV [root@localhost /]# lvcreate -L 4M -n mylv1 myvg Logical volume "mylv1" created [root@localhost /]# lvs LV VG Attr LSize Origin Snap% Move Log Copy% mylv1 myvg -wi-a- 4.00M 注意,为了演示实验效果,这里只创建了一个4M大小的LV。 |
第五步:格式化LV,并挂载使用 [root@localhost /]# mke2fs -j /dev/myvg/mylv1 [root@localhost /]# mount /dev/myvg/mylv1 /users [root@localhost /]# df -lh Filesystem Size Used Avail Use% Mounted on /dev/sda2 3.8G 3.3G 384M 90% / /dev/sda3 14G 1.1G 12G 9% /home /dev/sda1 46M 11M 34M 24% /boot tmpfs 252M 0 252M 0% /dev/shm /dev/mapper/myvg-mylv1 3.9M 1.1M 2.7M 29% /users [root@localhost /]# cd /users [root@localhost users]# ls -l total 12 drwx------ 2 root root 12288 Jul 6 16:40 lost+found [root@localhost users]# cp /etc/inittab . [root@localhost users]# ls -l total 15 -rw-r--r-- 1 root root 1666 Jul 6 16:41 inittab drwx------ 2 root root 12288 Jul 6 16:40 lost+found [root@localhost users]# lvs LV VG Attr LSize Origin Snap% Move Log Copy% mylv1 myvg -wi-ao 4.00M 需要注意的是,df查看的是文件系统的大小。上面我们对LV创建了EXT3的文件系统,并挂在至/users目录下,同时将一个文件复制到/users下面。 |
第六步:在线调整文件系统的大小 [root@localhost users]# lvextend -L 32M /dev/myvg/mylv1 ====》这是物理扩容 Extending logical volume mylv1 to 32.00 MB Logical volume mylv1 successfully resized [root@localhost users]# lvs LV VG Attr LSize Origin Snap% Move Log Copy% mylv1 myvg -wi-ao 32.00M
[root@localhost users]# resize2fs -p /dev/myvg/mylv1 ====》这是逻辑扩容 resize2fs 1.39 (29-May-2006) Filesystem at /dev/myvg/mylv1 is mounted on /users; on-line resizing required Performing an on-line resize of /dev/myvg/mylv1 to 32768 (1k) blocks. The filesystem on /dev/myvg/mylv1 is now 32768 blocks long. [root@localhost users]# df -lh Filesystem Size Used Avail Use% Mounted on /dev/sda2 3.8G 3.3G 384M 90% / /dev/sda3 14G 1.1G 12G 9% /home /dev/sda1 46M 11M 34M 24% /boot tmpfs 252M 0 252M 0% /dev/shm /dev/mapper/myvg-mylv1 32M 1.1M 30M 4% /users [root@localhost users]# cat /users/inittab # # inittab This file describes how the INIT process should set up # the system in a certain run-level. # # Author: Miquel van Smoorenburg, <miquels@drinkel.nl.mugnet.org> 通过LVM的逻辑架构图,需要明确的是,如果要对文件系统进行扩容,应该分为2步进行操作,首先进行物理扩容,然后是逻辑扩容。所谓物理扩容,是从物理的角度,对LV进行扩展,当然LV本身的大小收到VG的限制;所谓逻辑扩容,是通过对文件系统的逻辑边界进行重新确定,是依附于物理边界之上的。 |
3.小结
通过LVM工具,给大家展示一种Linux文件系统在线扩容办法,无需重启服务器,无需重新挂载文件系统,应用也无需做任何更改。
本文出自 “我想超越自我” 博客,请务必保留此出处http://zhangfengzhe.blog.51cto.com/8855103/1435410