centos系统/dev/mapper/centos-root目录被占满的解决方式

最近数据库项目中需要测试存储和查询的速率,就在虚拟机的数据库mysql中存入了大量数据,导致磁盘内存占满,无法存入数据,虚拟机在关机后也没法开机。好在之前把虚拟机备份了,这足以说明备份的重要性,现在能有心情来写文的我得益于之前那个备份了虚拟机的我,感恩呐。
接下来就写下我在备份虚拟机上如何解决根目录被占满的问题:

1、查看虚拟机磁盘使用情况

命令行:df -h可查看当前根分区的大小
可以看到/dev/mapper/centos-root 已经快满了,这时候就算启动hdfs,也会是强制性的进入安全模式,不让写数据

[dyx@localhost ~]$ df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 1.9G     0  1.9G    0% /dev
tmpfs                    1.9G     0  1.9G    0% /dev/shm
tmpfs                    1.9G   13M  1.9G    1% /run
tmpfs                    1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/mapper/centos-root   17G   17G  756M   96% /
/dev/sda1               1014M  237M  778M   24% /boot
vmhgfs-fuse              100G   84G   17G   84% /mnt/hgfs
tmpfs                    378M  8.0K  378M    1% /run/user/42
tmpfs                    378M   24K  378M    1% /run/user/1000

2、查看哪个目录占用过高

使用 du -h -x –max-depth=1 查看哪个目录占用过高,对于过高目录中的内容适当删减腾出一些空间

执行命令:cd / && du -h -x –max-depth=1

[root@localhost dyx]# du -h -x --max-depth=1 
69M	./.mozilla
2.1G	./.cache
4.0K	./.dbus
16M	./.config
9.0M	./.local
0	./桌面
7.6M	./下载
0	./模板
2.6M	./公共
1.2G	./文档
0	./音乐
0	./图片
0	./视频
44M	./.eclipse
811M	./eclipse-workspace
4.0K	./.swt
12K	./.ssh
0	./.pki
8.0K	./.wireshark
24K	./.subversion
325M	./编程软件
4.0K	./.vscode
20K	./.designer
4.0K	./.arduinocdt
92K	./.java
4.0K	./.gnome
2.7M	./.jetbrains
266M	./4.3
106M	./linux内核
4.9G	.

可以看到当前是./cache文件占用内存最多,这是我扩容及删除文件之后的占用情况,在之前是文档占用最多。
找到占用最多的文档,并进入文档,再执行du -h -x –max-depth=1,查看占用内存的文档,删除不必要的文件。

3、查看是否还有文件被删除而进程还活着造成占用空间的现象

若发现空间被占满,就还有这种方式可以查看是否是系统文件删除后还存在进程活着的情况,解决方式就是:
使用lsof |grep delete语句查看对应进程号;
使用kill -9 进程号,杀掉对应进程即可。

[root@localhost dyx]# lsof |grep delete
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
      Output information may be incomplete.
tuned     1406                root    8u      REG              253,0      4096   17013345 /tmp/ffi3cM9aN (deleted)
gmain     1406 2038           root    8u      REG              253,0      4096   17013345 /tmp/ffi3cM9aN (deleted)
tuned     1406 2039           root    8u      REG              253,0      4096   17013345 /tmp/ffi3cM9aN (deleted)
tuned     1406 2047           root    8u      REG              253,0      4096   17013345 /tmp/ffi3cM9aN (deleted)
tuned     1406 2049           root    8u      REG              253,0      4096   17013345 /tmp/ffi3cM9aN (deleted)


4、虚拟机扩容

1、查看磁盘编号

[dyx@localhost ~]$ ls /dev/sd*
/dev/sda  /dev/sda1  /dev/sda2  /dev/sdb

2、创建pv

[root@localhost dyx]# pvcreate /dev/sdb
  Physical volume "/dev/sdb" successfully created.

3、把pv加入vg中,相当于扩充vg的大小

[root@localhost dyx]# vgs   *** 先使用vgs查看vg组
  VG     #PV #LV #SN Attr   VSize   VFree
  centos   1   2   0 wz--n- <19.00g    0 

[root@localhost dyx]# vgextend centos /dev/sdb  *** 扩展vg,使用vgextend命令
  Volume group "centos" successfully extended

4、成功把vg卷扩展了,再用vgs查看一下

[root@localhost dyx]# vgs
  VG     #PV #LV #SN Attr   VSize  VFree 
  centos   2   2   0 wz--n- 23.99g <5.00g

[root@localhost dyx]# lvs
  LV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root centos -wi-ao---- <17.00g                                                    
  swap centos -wi-ao----   2.00g   

虽然我们把vg扩展了,但是lv还没有扩展
5、扩展lv,使用lvextend命令

[root@localhost dyx]# lvextend -L +4G /dev/mapper/centos-root
  Size of logical volume centos/root changed from <17.00 GiB (4351 extents) to <21.00 GiB (5375 extents).
  Logical volume centos/root successfully resized.

6、命令使系统重新读取大小

[root@localhost dyx]# xfs_growfs /dev/mapper/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 5504000

7、再使用df -h查看

[root@localhost dyx]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 1.9G     0  1.9G    0% /dev
tmpfs                    1.9G     0  1.9G    0% /dev/shm
tmpfs                    1.9G   13M  1.9G    1% /run
tmpfs                    1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/mapper/centos-root   21G   15G  6.2G   71% /
/dev/sda1               1014M  237M  778M   24% /boot
vmhgfs-fuse              100G   84G   17G   84% /mnt/hgfs
tmpfs                    378M  4.0K  378M    1% /run/user/42
tmpfs                    378M   24K  378M    1% /run/user/1000

容量已经从17G扩展到21G了,扩容成功。

centos系统/dev/mapper/centos-root目录被占满的解决方式》有1个想法

发表评论

邮箱地址不会被公开。 必填项已用*标注