linux上重新分配磁盘空间

本文详细介绍了如何在Linux虚拟机中重新分配硬盘空间,将home分区的空间分给root分区。首先,查看磁盘分布,备份home分区文件,卸载并删除home分区,然后扩展root分区的逻辑卷和文件系统。接着,创建新的home分区并挂载,恢复备份文件。最后,处理因调整分区可能导致的启动问题,如紧急模式,并更新fstab配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文章中是将home的磁盘空间分给root一部分

【参考文献1】 linux虚拟机重新分配硬盘空间(由于我司内外网隔离不方便截图,又担心博主删帖,所以直接拷贝过来一份作为记录,大家优先参考博主帖子,如有侵权,我这边可删除帖子相关内容)

【参考文献2】Host SMBus controller not enabled的解决方法 (遇到问题的参考贴)

查看虚拟机原始磁盘分布

[root@data ~]# df -lh
--返回: 
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 3.8G     0  3.8G   0% /dev
tmpfs                    3.9G     0  3.9G   0% /dev/shm
tmpfs                    3.9G   12M  3.8G   1% /run
tmpfs                    3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/mapper/centos-root   50G  8.1G   42G  17% /
/dev/sda1               1014M  150M  865M  15% /boot
/dev/mapper/centos-home   32G   33M   32G   1% /home
tmpfs                    781M     0  781M   0% /run/user/0

备份home分区所有文件

[root@data ~]# tar cvf /tmp/home.tar /home
--卸载/home,如果无法卸载,先终止使用/home文件系统的进程--
--最好重启虚拟机,使得虚拟机处于初始状态--
--返回:
tar: Removing leading `/' from member names
/home/
/home/zhaozuozuo/
/home/zhaozuozuo/.bash_logout
/home/zhaozuozuo/.bash_profile
/home/zhaozuozuo/.bashrc

卸载home分区(此处还可参考自己的需要同样操作其它分区,我这里就卸载删除了一些无用分区,例如问题记录中的data0分区)

[root@data ~]# yum install psmisc
 --防止fuser不能用
返回:
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile

 * base: mirrors.163.com
 * extras: mirrors.163.com
 * updates: mirrors.163.com
   base                                                          | 3.6 kB  00:00:00     
   extras                                                        | 2.9 kB  00:00:00     
   mysql-connectors-community                                    | 2.6 kB  00:00:00     
   mysql-tools-community                                         | 2.6 kB  00:00:00     
   mysql56-community                                             | 2.6 kB  00:00:00     
   updates                                                       | 2.9 kB  00:00:00     
   Resolving Dependencies
   --> Running transaction check
   ---> Package psmisc.x86_64 0:22.20-17.el7 will be installed
   --> Finished Dependency Resolution

Dependencies Resolved

=====================================================================================

 Package           Arch              Version                   Repository       Size
=====================================================================================

Installing:
 psmisc            x86_64            22.20-17.el7              base            141 k

Transaction Summary
=====================================================================================

Install  1 Package

Total download size: 141 k
Installed size: 475 k
Is this ok [y/d/N]: y
Downloading packages:
psmisc-22.20-17.el7.x86_64.rpm                                | 141 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : psmisc-22.20-17.el7.x86_64                                        1/1 
  Verifying  : psmisc-22.20-17.el7.x86_64                                        1/1 

Installed:
  psmisc.x86_64 0:22.20-17.el7                                                       

Complete!

[root@data ~]# fuser -km /home/
[root@data ~]# umount /home

删除/home所在的lv

[root@data ~]# lvremove /dev/mapper/centos-home
Do you really want to remove active logical volume centos/home? [y/n]: (输入)y
Logical volume "home" successfully removed

给指定分区增加指定大小的磁盘空间

--这里指定的是root增加30G,因为home只有账号文件,不存放其他的文件
[root@data ~]# lvextend -L +30G /dev/mapper/centos-root
--返回:
Size of logical volume centos/root changed from 50.00 GiB (12800 extents) 
to 80.00 GiB (20480 extents).Logical volume centos/root 
successfully resized.

扩展/root文件系统

[root@data ~]# xfs_growfs /dev/mapper/centos-root
--返回:
meta-data=/dev/mapper/centos-root isize=512    agcount=4, agsize=3276800 blks
     =                       sectsz=512   attr=2, projid32bit=1
     =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=13107200, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=6400, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 13107200 to 20971520

重建home分区

[root@data ~]# lvcreate -L 1G -n /dev/mapper/centos-home
--指定新的home空间为1G(实际还有2G空间可以分配给home)
--返回:
  Logical volume "home" created.

创建文件系统

[root@data ~]# mkfs.xfs /dev/mapper/centos-home
--返回:
meta-data=/dev/mapper/centos-home isize=512    agcount=4, agsize=65536 blks
     =                       sectsz=512   attr=2, projid32bit=1
     =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=262144, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

挂载home

[root@data ~]# mount /dev/mapper/centos-home

home备份文件恢复

[root@data ~]# tar xvf /tmp/home.tar -C/
--返回
home/
home/zhaozuozuo/
home/zhaozuozuo/.bash_logout
home/zhaozuozuo/.bash_profile
home/zhaozuozuo/.bashrc

查看新的磁盘空间分布

[root@data ~]# df -lh
root从50G变成了80G,home从32变成1G(手误少了1G~~~home应该分配2G~~~)
--返回:
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 3.8G     0  3.8G   0% /dev
tmpfs                    3.9G     0  3.9G   0% /dev/shm
tmpfs                    3.9G   12M  3.8G   1% /run
tmpfs                    3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/mapper/centos-root   80G  8.1G   72G  11% /
/dev/sda1               1014M  150M  865M  15% /boot
tmpfs                    781M     0  781M   0% /run/user/0
/dev/mapper/centos-home 1014M   33M  982M   4% /home

到这里按理说是完成了,但是我在重启系统后遇到了进入紧急模式的问题,通过如下方式得到了解决:

[root@Nagios ~]# lsmod | grep i2c_piix4 
--返回
i2c_piix4              12574  0 
i2c_core               31274  1 i2c_piix4 
[root@Nagios ~]# vi  /etc/modprobe.d/blacklist.conf 
# 在该文件中新增如下内容(blacklist加上上述命令结果的第一列,第二行的我没加,参考网上的文章有的加有的不加,我的不加能够解决问题):
# blacklist i2c_piix4
[root@Nagios ~]# reboot 

按照这个重启后我的依然有问题,原因是我在调整root分区的大小时,删除了一部分磁盘,然后启动时加载硬盘出了问题,通过如下方式得到了解决:

vi /etc/fstab
# 删除我删除了的磁盘的对应配置行,例如我删除了data0分区,同样要删除下图对应的第三行配置
--返回(不方便复制和截图,纯手打所以省略头部和一部分磁盘配置)
...
/dev/mapper/centos-root	/	xfs	defaults	0	0
/dev/mapper/centos-home	/home	xfs	defaults	0	0
/dev/mapper/centos-data0	/data0	xfs	defaults	0	0
...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值