虚拟机创建后home文件占据大量磁盘,但是平时又不在home中存储文件,因此需要把home中的部分空间分配给root(数据基本上都在root)
虚拟机原始内存分布
查看虚拟机磁盘分布
[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分区
[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