运维之道 | Linux 分区满了,对硬盘进行扩容、清理虚拟机占用宿主机磁盘大小

一、硬盘分区扩容

1、查看扩容之前分区(硬盘)大小

可以看到挂载点 “/” 的利用率达到100%,空间不够,所以要对其进行扩容分区。
在这里插入图片描述

2、对虚拟机配置进行增大磁盘空间

在这里插入图片描述

3、登录虚拟机,再次查看虚拟机硬盘大小

在这里插入图片描述
在这里插入图片描述

4、硬盘分区
[root@localhost ~]# fdisk /dev/sda 											///新增分区
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

命令(输入 m 获取帮助):n														///添加一个分区
Partition type:
   p   primary (2 primary, 0 extended, 2 free)
   e   extended
Select (default p): p														///新建主分区
分区号 (3,4,默认 3):
起始 扇区 (41943040-104857599,默认为 41943040):
将使用默认值 41943040
Last 扇区, +扇区 or +size{K,M,G} (41943040-104857599,默认为 104857599):
将使用默认值 104857599
分区 3 已设置为 Linux 类型,大小设为 30 GiB

命令(输入 m 获取帮助):w													  	///保存分区配置
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
正在同步磁盘。

在这里插入图片描述

5、 创建物理卷
[root@localhost ~]# pvcreate /dev/sda3			///如果提示sda3找不到,输入:partprobe或者重启虚拟机
  Device /dev/sda3 not found.							
[root@localhost ~]# partprobe
Warning: 无法以读写方式打开 /dev/sr0 (只读文件系统)/dev/sr0 已按照只读方式打开。
[root@localhost ~]# pvcreate /dev/sda3			///再次创建成功
  Physical volume "/dev/sda3" successfully created.
6、 查询物理卷

可以查到本机物理卷名称为"centos"

[root@localhost ~]# vgscan
  Reading volume groups from cache.
  Found volume group "centos" using metadata type lvm2
7、使用新增物理卷扩展"centos"
[root@localhost ~]# vgextend centos /dev/sda3
  Volume group "centos" successfully extended
8、扩展lv

命令:lvextend -L +29G(硬盘扩容30G,这里-1G) 加上要扩展的分区名

[root@localhost ~]# lvextend -L +29G /dev/centos/root   
  Size of logical volume centos/root changed from <17.00 GiB (4351 extents) to <46.00 GiB (11775 extents).
  Logical volume centos/root successfully resized.

接着用 dh –f,发现实际容量并没有变化,因为我们的系统还不认识刚刚添加进来的磁盘的文件系统,所以还需要对文件系统进行扩容

9、对文件系统进行扩容
  • xfs_growfs :加上要扩展的分区名
    或者
  • resize2fs – f :加上要扩展的分区名
[root@localhost ~]# xfs_growfs /dev/centos/root 
meta-data=/dev/mapper/centos-root isize=512    agcount=4, agsize=1113856 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=4455424, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 4455424 to 12057600
10、再次查看分区大小
[root@localhost ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   46G  4.4G   42G   10% /
devtmpfs                 894M     0  894M    0% /dev
tmpfs                    910M     0  910M    0% /dev/shm
tmpfs                    910M   11M  900M    2% /run
tmpfs                    910M     0  910M    0% /sys/fs/cgroup
/dev/sda1               1014M  179M  836M   18% /boot
tmpfs                    182M   12K  182M    1% /run/user/42
tmpfs                    182M     0  182M    0% /run/user/0

在这里插入图片描述


二、解决 VMware 虚拟机环境占用宿主机磁盘空间越来越大的问题

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


三、虚拟机硬盘与宿主机磁盘的关系

查看VM ware 虚拟机硬盘大小

在这里插入图片描述

切换到windows中,可以看到 Centos7-3文件夹(也就是192.168.182.13虚拟机的虚拟硬盘)的大小为4.57G

在这里插入图片描述

Centos7-3所处的文件夹即G盘根目录的大小为59G,可以看到G盘已经接近饱和了,此时运行虚拟机再安装软件的时候,就会报错

在这里插入图片描述
这正是因为虚拟机所在的宿主机盘符已满导致的
这时就可以看到,虚拟机的硬盘大小设置为了50G,实际只用了4.57G,为什么就不能运行了呢?

原因就是虚拟机硬盘与宿主机磁盘的关系是下面这样的:

  • 虚拟机设置的硬盘大小(如50G)指的是虚拟机最大占用内存为50G;

  • 虚拟机实际占用内存为多大也就是相应的文件夹有多大(4.57G);

  • 如果虚拟机所在的宿主机盘符只有50G,那么虚拟机最多能占用50G的内存;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章