一直想学习一下怎么,在linux下调整分区,却一直没有时间。最近刚抽了一点时间来看了一点,特来分享一下。 我记得,最早我还不会使用LVM的时候,对磁盘调整大小,使用了一个最笨,也是最复杂的方法。 例如,我的/home目录磁盘已满,我想要对/home所挂载的磁盘扩大。 苦逼的我只好,再创建出来一个分区,将原本/home目录下的全部文件,先复制到别处目录下面(如果你的/home目录文件很大,这就要苦苦的等待、、、等待、、、)。将新创建的磁盘挂载到/home目录下(注意:新创建的磁盘要和原来的磁盘格式是一样的哦!)然后再将/home目录下的内容复制回来即可。(还要别忘了,在fstab这个文件里面写上/home目录的挂载信息哦!不然开机是不会挂载的)。 LVMOK~使用lvm来调整分区,一切都是那么的Easy,也不需要格式化磁盘即可扩大分区或者减小分区。当然也要记住,只有是使用了lvm分区的时候,才可以调整分区的哦!!! LVM的设置流程
例子: 小编在自己的linux主机上添加了一块磁盘/dev/sdb在作为实验。 1、首先创建lvm分区 [root@robo ~]# fdisk /dev/sdb 使用“n”创建三个分区,在这里我都设置了1000M的大小。使用“t”来修改磁盘类型为“8e”(即,为lvm类型)。如图中的/dev/sdb3 、/dev/sdb4 、/dev/sdb6。
2、创建PV pv阶段所使用的命令: pvcreate :将实体 partition 建立成为 PV ; pvscan :搜寻目前系统里面仸何具有 PV 的磁盘; pvdisplay :显示出目前系统上面的 PV 状态; pvremove :将 PV 属性移除,让该 partition 不具有 PV 属性。
3、创建VG VG阶段所使用的命令: vgcreate :就是主要建立 VG 的挃令啦!他的参数比较夗,等一下介绍。 vgscan :搜寻系统上面是否有 VG 存在? vgdisplay :显示目前系统上面的 VG 状态; vgextend :在 VG 内增加额外的 PV ; vgreduce :在 VG 内移除 PV; vgchange :修改 VG 是否启劢 (active); vgremove :移除一个 VG 啊! [root@robo ~]# vgcreate -s 16M vgtest /dev/sdb{3,5,6} ///-s 是设置PE大小,vgtest为VG名称。 Volume group “vgtest” successfully created 注:根据VG提供的命令,可以调整vgtest的大小。 4、创建LV LV阶段所使用命令: lvcreate :建立 LV 啦! lvscan :查询系统上面的 LV ; lvdisplay :显示系统上面的 LV 状态啊! lvextend :在 LV 里面增加容量! lvreduce :在 LV 里面减少容量; lvremove :删除一个 LV ! lvresize :对 LV 中行容量大小的调整! [root@robo ~]# lvcreate -l 100 -n lvtest vgtest ///-l 后跟pe的数量,这个是100(即,1600M),因为刚设置的pe为16M ;-n 后跟lv的名称。 Logical volume “lvtest” created 5、格式化并挂载 [root@robo ~]# mkdir /mnt/test [root@robo ~]# mkfs -t ext4 /dev/vgtest/lvtest [root@robo ~]# mount /dev/vgtest/lvtest /mnt/test 到此,为整个lvm创建分区结束。下面来调整所挂载的文件系统的大小。 6、扩大LV容量 [root@robo ~]# lvresize -l +50 /dev/vgtest/lvtest ///使用lvresize在增加50个pe的大小给lvtest。
如图,为什么我已经将lvtest扩大了,为什么查看/mnt/test目录还是1.6G呢?因为我们只是将lv分区扩大了,但是还需要扩展到文件系统中。 使用resize2fs这个命令来对文件系统进行扩充或减小。 [root@robo ~]# resize2fs /dev/vgtest/lvtest
再次查看,文件系统已经扩大了。 7、减小lv容量 [root@robo ~]# resize2fs /dev/vgtest/lvtest 2000M resize2fs 1.41.12 (17-May-2010) Filesystem at /dev/vgtest/lvtest is mounted on /mnt/test; on-line resizing required On-line shrinking from 614400 to 512000 not supported. 注:是用resize2fs来扩充容量可以直接在线,但是减小就需要先卸载了。 [root@robo ~]# umount /dev/vgtest/lvtest [root@robo ~]# resize2fs /dev/vgtest/lvtest 2000M resize2fs 1.41.12 (17-May-2010) 请先运行 ‘e2fsck -f /dev/vgtest/lvtest’. 注:系统提示先进行磁盘检查,没办法,就乖乖的检查吧! [root@robo ~]# resize2fs /dev/vgtest/lvtest 2000M ///后面的2000M意为,将文件系统减小到2000M resize2fs 1.41.12 (17-May-2010) Resizing the filesystem on /dev/vgtest/lvtest to 512000 (4k) blocks. The filesystem on /dev/vgtest/lvtest is now 512000 blocks long. OK,文件系统减少了。然后在lv的容量减小就可以了。 由于刚减小了340M,需要从lvtest中移除21个pe即可。 [root@robo ~]# lvresize -l -21 /dev/vgtest/lvtest WARNING: Reducing active logical volume to 2.02 GiB THIS MAY DESTROY YOUR DATA (filesystem etc.) Do you really want to reduce lvtest? [y/n]: y Reducing logical volume lvtest to 2.02 GiB Logical volume lvtest successfully resized 这就是对centos分区调整大小的。当然,还有添加pv、减小pv等,这些上述有命令,可以自己去测试哦! (责任编辑:IT) |