CentOS系统下调整同一硬盘下逻辑分区大小

目标:将VolGroup-lv_home缩小到20G,并将剩余的空间添加给VolGroup-lv_root
阅读本文之前可以先阅读底部关于“Linux磁盘分区”的介绍

1.首先查看磁盘使用情况
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root 154G 7.9G 139G 6% /
tmpfs 1.9G 100K 1.9G 1% /dev/shm
/dev/sda1 485M 69M 391M 15% /boot
/dev/mapper/VolGroup-lv_home 299G 984M 283G 1% /home

2、卸载/home
[root@localhost ~]# umount /home
umount /home 如果提示无法卸载,则是有进程占用/home,使用如下命令来终止占用进程:
[root@localhost ~]# fuser -m /home

3、调整分区大小
[root@localhost ~]# resize2fs -p /dev/mapper/VolGroup-lv_home 20G
如果提示运行“e2fsck -f /dev/mapper/VolGroup-lv_home”,则执行相关命令:
[root@localhost ~]# e2fsck -f /dev/mapper/VolGroup-lv_home 然后重新执行命令:
[root@localhost ~]# resize2fs -p /dev/mapper/VolGroup-lv_home 20G
注:resize2fs 为重新设定磁盘大小,只是重新指定一下大小,并不对结果有影响,需要下面lvreduce的配合

4、挂载上/home,查看磁盘使用情况
[root@localhost ~]# mount /home
[root@localhost ~]# df -h

5、设置空闲空间
使用lvreduce指令用于减少LVM逻辑卷占用的空间大小。可能会删除逻辑卷上已有的数据,所以在操作前必须进行确认。记得输入 “y”
[root@localhost ~]# lvreduce -L 20G /dev/mapper/VolGroup-lv_home
注:lvreduce -L 20G的意思为设置当前文件系统为20G,如果lvreduce -l 20G是指从当前文件系统上减少20G
使用lvreduce减小逻辑卷的大小。注意:减小后的大小不能小于文件的大小,否则会丢失数据。

可以使用vgdisplay命令等查看一下可以操作的大小。也可以是用fdisk -l命令查看详细信息。
[root@localhost ~]# vgdisplay
注:vgdisplay为显示LVM卷组的元数据信息

6.把闲置空间挂在到根目录下
[root@localhost ~]# lvextend -L +283G /dev/mapper/VolGroup-lv_root
注:lvextend -L +283G为在文件系统上增加283G
[root@localhost ~]# resize2fs -p /dev/mapper/VolGroup-lv_root

7、检查调整结果
[root@localhost ~]# df -h

扩展阅读:

Linux磁盘分区
在Windows操作系统中,是先将物理地址分开,再在分区上建立目录.在Windows操作系统中,所有路径都是从盘符开始,如C://program file。
Linux正好相反,是先有目录,再将物理地址映射到目录中。在Linux操作系统中,所有路径都是从根目录开始。Linux默认可分为3个分区,分别是boot分区、swap分区和根分区。
无论是Windows操作系统,还是Linux操作系统,每个分区均可以有不同的文件系统,如FAT32、NTFS、Yaffs2等。

硬盘分区
(1)boot分区
该分区对应于/boot目录,约100MB.该分区存放Linux的Grub(bootloader)和内核源码。用户可通过访问/boot目录来访问该分区.换句话说,用户对/boot目录的操作就是操作该分区。
(2)swap分区
该分区没有对应的目录,故用户无法访问。
Linux下的swap分区即为虚拟内存.虚拟内存用于当系统内存空间不足时,先将临时数据存放在swap分区,等待一段时间后,然后再将数据调入到内存中执行.所以说,虚拟内存只是暂时存放数据,在该空间内并没有执行。
Ps:虚拟内存
虚拟内存是指将硬盘上某个区域模拟为内存.因此虚拟内存的实际物理地址仍然在硬盘上.虚拟内存,或者说swap分区只能由系统访问,其大小为物理内存的2倍。
(3)根分区
在Linux操作系统中,除/boot目录外的其它所有目录都对应于该分区.因此,用户可通过访问除/boot目录外的其它所有目录来访问该分区。
Attention!!!
(1)在Linux操作系统中,用户可根据需要进行修改分区.修改后的分区中,同一目录下的文件可能在不同分区中.比如/home目录下有a、b、c三个目录,可将不同的分区挂载到这三个目录下,这种操作是允许的。
(2) 逻辑分割的数量依操作系统而不同,在Linux系统中,IDE硬盘最多有59个) 逻辑分割(5号到63号), SATA硬盘则有11个) 逻辑分割(5号到15号)。 (鸟哥版的)
不过根据最新的 linux内核技术规范 中指示,逻辑分区可以无限。
硬盘上至少有1个主分区。
逻辑分区不能再进行分区。
(3)Linux分区目录和”盘符”的关系:
假如硬盘安装在IDE1的主盘,并用户想分区成6个可以使用的硬盘分区,则可以采用下面两种方式。
方式一:采用3个主分区和3个逻辑分区
方式二:采用1个主分区和5个逻辑分区
当然还有其他的分区方式,只要满足上述说的规则就行
安装Linux时,默认分为三个区,分别是/boot分区、根分区和swap分区.这三个分区分别对应的盘符是hda1、hda2、hda3。
(4)Linux允许使用fdisk -l命令和df -h命令来查询其硬盘分区.其中,df无法显示出swap分区的大小。
[root@localhost /]#df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/hda2 8.8GB 3.1GB 5.3GB 38% / (根分区)
/dev/hda1 99MB 9.2MB 85MB 10% /boot (boot分区)
(5)在PC机下,A、B盘并不存在,这两个盘在Linux下类似于hda1/hda3,而C盘类似于hda2,D、E、F盘类似于hda5、hda6、hda7。
(6)swap分区不对应”盘符”。
(7)若硬盘的MBR已坏,则该磁盘就不能再作为引导盘,只能作为数据盘.因为MBR位于硬盘的起始处,用户不能通过软件进行修复,也不能跳过起始处.而硬盘中间的某个磁道坏了,用户可以软件修复,也可以跳过该磁道。

郑重声明:

1 本资源来源于互联网,资源的版权归资源原作者所持有,受《中华人民共和国著作权法》等相关法律保护。

2 由于无法和原作者取得联系,所以上传的部分资源无法先通过原作者的同意就分享给大家了,如本资源侵犯了您(原作者)的权益,请联系我们(微信号 xiaohaimei1989),我们会立马删除您的资源,并向您表达诚挚的歉意!

3 本站是一个公益型网站,分享资源的目的在于传播知识,分享知识,收取一点点打赏的辛苦费是用于网站的日常运营开支,并非用于商业用途。

4 本站资源只提供学习和参考研究使用,使用过后请在第一时间内删除。本站不承担资源被单位或个人商用带来的法律责任。

发表评论