Centos系统磁盘占用:/dev/vda1占用100%空间不足处理与解决思路(实战docker占用空间太大)

这篇具有很好参考价值的文章主要介绍了Centos系统磁盘占用:/dev/vda1占用100%空间不足处理与解决思路(实战docker占用空间太大)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

服务器Centos操作系统,空间不足的问题处理了三次了,决定把它的解决思路和处理过程记录下来。服务器空间不足是一个经常会遇到的问题,尤其是在大型应用程序和网站上。当服务器空间不足时,应该采取一些步骤来处理和解决这个问题。以下记录最近这次的解决方案和思路(原因:docker占用空间太大了)

现象

服务器空间不足会导致以下一些现象:

  1. 应用程序无法运行:当服务器空间不足时,某些应用程序可能会无法正常启动或运行,因为这些程序需要在硬盘上读取或写入数据。
  2. 文件上传失败:如果服务器的空间已经耗尽,用户可能会无法上传文件,因为没有足够的空间可供存储。
  3. 数据库出错:当服务器空间不足时,数据库可能会出现错误,因为数据库需要写入和读取数据到磁盘上。
  4. 日志文件无法写入:当服务器空间不足时,系统和应用程序的日志文件可能无法写入,这将使得故障排查和系统运行监控变得困难。
  5. 系统崩溃:如果服务器的空间不足并且无法处理数据和任务,可能会导致系统崩溃或宕机。

因此,保持足够的服务器空间是确保服务器运行稳定和高效的重要因素。

解决过程

一、服务器空间不足问题定位

  1. 登录服务器 ,可以通过运行一些命令,如df -hdu -h来检查服务器上的磁盘使用情况,查看哪些目录或文件夹占用了大量的空间。
  2. 拓展命令df -hT还可以看到文件系统的Type类型,比如:
    • ext2/ext3/ext4: Linux 的扩展文件系统,分别为第二、三和第四个扩展文件系统的版本。它们提供了可靠的磁盘存储和文件系统功能。
    • tmpfs: 提供了基于内存的临时文件系统,数据存储在内存中而不是磁盘上,用于临时存储临时文件。
    • xfs:一种高性能的文件系统,广泛用于许多 Linux 发行版。支持较大的文件系统和文件的快速访问。
    • btrfs:全称 B-tree 文件系统,是一个现代的复制文件系统,具有快照、压缩、回滚等高级功能。
    • nfs: Network File System 的简称,一种用于在网络上共享文件的分布式文件系统协议。它允许在不同的计算机之间共享文件和目录。
    • overlay:是一种特殊的文件系统类型,它通常用于 Docker 容器等容器化环境中。等等~
1   [root@luntek tmp]# df -h
2   Filesystem      Size  Used Avail Use% Mounted on
3   devtmpfs        7.8G     0  7.8G   0% /dev
4   tmpfs           7.8G     0  7.8G   0% /dev/shm
5   tmpfs           7.8G  827M  7.0G  11% /run
6   tmpfs           7.8G     0  7.8G   0% /sys/fs/cgroup
7   /dev/vda1        40G   38G     0 100% /
8   /dev/vdb        656G  154G  469G  25% /mnt
9   tmpfs           1.6G     0  1.6G   0% /run/user/0
10   overlay          40G   38G     0 100% /var/lib/docker/overlay2/0e4870d22fb 1c79fd3c0b8ad2023475715a5a56c05b1900de76070d0a80e3001/merged
...
  1. 抓住主要的物理设备,不用关心其他逻辑设备, 物理设备⼀般挂载在/dev目录下
/dev/vda1         40G   38G     0 100% /
/dev/vdb         656G  154G  469G  25% /mnt
overlay          40G   38G     0 100% /var/lib/docker/overlay2/0e4870d22fb 1c79fd3c0b8ad2023475715a5a56c05b1900de76070d0a80e3001/merged

观察到/根目录空间已经使用100%, 虽然名义上还有2G空间 ,但是这些空间可能是被内存交换分区占 用 ,所以不用拘泥于具体数字, 如果出现100%即可以确认。

注意:如果设备空间严重不足, 可能会导致正常命令⾏也无法执⾏, 此时可以先试试下面的释放空间思路

二、分析空间占用的原因

使用du命令来逐层分析文件夹所占用的空间大小。其中,-d 1表示只分析当前目录下的一级子目录,-h表示以易读的方式显示结果(例如使用KB、MB等单位),还可以额外添加参数-p L表示只分析L级子目录,-u则表示使用M来显示结果,即以MB为单位。

du -d 1 -h

docker占用内存太大,Linux,服务器,docker,运维
例如 ,从上述分析看到, 目录/var/docker/overlay2 ⼀个目录就占用了28GDocker Overlay2是⼀种容器存储驱动程序,它使用了⼀个特殊的文件系统来管理Docker容器和镜像的存储 。Overlay2驱动程序将多个镜像层堆叠在⼀起,以便对这些层进行读取和写⼊操作时只需要查找最上面的层 。因此 ,在使用Overlay2驱动程序时,Docker会为每个容器创建⼀个单独的目录,该目录包含容器所需的所有文件系统内容。
分析结果:这基本上无解了,不能删除Overlay2文件夹释放空间,此时所能做的就只能是把docker安装环境移到有空间的/mnt 分区去。

三、释放空间

  1. 首先最安全的可以释放的空间往往在/home目录下,在一般情况下,用户上传的临时文件和安装包等往往会存储在/home目录下,因此这些文件可以首先被删除或转移到其他有空间的分区中来释放空间。但是需要注意的是,如果这些文件是某些应用程序的必要文件,删除可能会导致应用程序无法正常运行,因此在删除前需要进行确认。此外,如果/home目录下存在用户的个人数据(例如文档、音乐、图片等),则不应该轻易删除或转移这些文件,而应该寻找其他的空间释放方案。
  2. /md目录下的一些文件可能可以删除,但是有一些文件可能记录了当前正在运行的进程的登录和临时状态数据,如果不熟悉这些服务,不建议删除这些文件。
  3. 可以通过清理无用的文件和目录,以及删除过期的日志和备份文件来释放空间。另外,可以通过压缩和归档文件来减少文件占用的磁盘空间。在释放空间之前,需要确保不会误删除重要的文件和目录。
  4. 重启一些进程和常见的服务,可以释放掉这些进程所生成的临时文件占用的空间。在重启之后,这样做可以基本保证会有一定的磁盘空间回收。
  5. 清理无用的进程镜像或者删除的 Docker 容器。
  6. 清理进程的缓存,可以运行进程的系统命令,清除所有未被使用的对象(包括镜像、容器、网络和卷),以及所有未标记的镜像和构建缓存。这可以帮助释放更多的磁盘空间。

四 、Docker迁移

将Docker目录 ( 默认为/var/lib/docker) 移到其他磁盘, 可以通过以下步骤实现:

  1. 停止所有正在运行的Docker容器:运行docker stop $(docker ps -aq)命令停止所有正在运行的容器。
docker stop $(docker ps -aq)
  1. 停止Docker服务:运行systemctl stop docker命令停止Docker服务。
systemctl stop docker
  1. 复制Docker目录到新的位置:使用cp或rsync等工具将Docker目录复制到新的位置 。例如,将 Docker目录从/var/lib/docker复制到/new/path/docker, 可以运行sudo rsync -aqxP /var/lib/docker/ /mnt/var/lib/docker 命令。
sudo rsync -aqxP /var/lib/docker/ /mnt/var/lib/docker
  1. 更新Docker配置文件:修改Docker服务配置文件/etc/docker/daemon.json,修改data-root值,将旧的Docker目录路径替换为新的位置 。如果该文件不存在,请创建它 。示例配置文件如下所示:(注意registry-mirrorsdns两个值填你自己的镜像仓库和DNS 服务器地址配置即可)
{
"registry-mirrors": ["https://xxxxx.mirror.aliyuncs.com"],
"dns": ["100.xxx.1.20", "100.xx.1xx.250"],
"data-root": "/mnt/var/lib/docker"
}
  1. 启动Docker服务:运行systemctl start docker命令启动Docker服务, 并检查是否已成功加载新的 Docker目录。
systemctl start docker
  1. 启动Docker容器:运行docker start <container_id>命令启动之前停止的所有容器。
    注意:如果docker容器设置了restart ,则这些docker本身就会自动启动,这⼀步不是必须得。
docker start <container_id>

重点注意:完成迁移后,不要立即删除原来的docker目录,可以先通过修改目录名的方式隔离原来的docker目录,要反复确认启动没有问题后,再进行删除。

cd /var/lib/docker/
mv docker docker2
mv docker2 /mnt/

总结

拓展:如果docker资源太大,可以将其迁移至其他服务器或者外部存储设备。可以使用docker镜像导出和导入的方式来实现迁移。另外,也可以使用其他工具,如rsync或scp来迁移文件和目录。需要注意的是,迁移过程中需要保证数据的完整性和可用性。

总之,当服务器空间不足时,需要采取一些步骤来处理和解决这个问题。首先,需要定位空间不足的原因,并尽可能地释放空间。如果问题仍然存在,需要进一步分析空间占用的原因,并考虑调整相关设置或者进行迁移。最后,需要在处理问题的同时保证数据的完整性和可用性。文章来源地址https://www.toymoban.com/news/detail-719070.html

到了这里,关于Centos系统磁盘占用:/dev/vda1占用100%空间不足处理与解决思路(实战docker占用空间太大)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux CentOS 7分配的磁盘空间不足,空间扩展方法,保姆级操作

    前言:在学习java的过程中电脑里面的项目,镜像越来越多之前装系统的时候分配的空间太小导致Linux系统空间不足,应该怎么办呢,lets go 跟着我来将centOS 7扩容吧. 1.关闭虚拟机,在VMWare的”此虚拟机设置“中找到硬盘,并扩展磁盘容量。         此时虽然扩展完成,但是

    2024年02月06日
    浏览(75)
  • /dev/mapper/centos-root 100% 目录空间占满了 解决方法

    今天突然遇到公司一个平台 验证码无法加载 查看redis nginx nacos上开的服务也都正常  后来重启验证码相关服务 开一会又挂了。经查日志发现是系统盘沾满了  [root@redis-zuul-eureka-mysql ~]# df -h  //查看到/dev/mapper/centos-root 100% 满载了 解决方法: [root@redis-zuul-eureka-mysql ~]# cd /root 

    2024年02月09日
    浏览(54)
  • 虚拟机 Centos 7 磁盘空间不足扩容 (默认分区-vgdisplay无回显)

    centos7系统 新建系统时选择的默认分区 vgs等查看卷组命令无回显 根目录磁盘空间不足 处理方法:删除再重建 不会导致其中的数据丢失 防止出现意外,请备份或者快照 此处进行20g -- 40g的扩容 根目录对应的磁盘:/dev/sda3 参考链接:https://blog.csdn.net/yang1393214887/article/details/12

    2024年03月23日
    浏览(89)
  • 虚拟机 Win10 磁盘扩展 “文件系统的空间不足,无法...” VMware 15 C盘扩展 磁盘扩容 VMware Workstation 显示 提示

    文章最后更新于2023.3.28,17:22pm,希望对你有帮助 目录  看!虚拟机的Win10 C盘已经红了,为了 增加C盘的容量 ,删了重新安装一个Win10的方法太过麻烦了。 给虚拟机Win10磁盘扩容,有一个需要 注意的问题 ,就是虚拟机磁盘容量的 “系统可用空间” 和 “当前大小” 适用于这

    2023年04月16日
    浏览(48)
  • 电脑怎么查看磁盘空间?磁盘不足怎么清理?

    很多用户都会有这样的感觉,随着使用时间越来越长,电脑的性能也在逐渐下降,有两方面的原因:一方面,随着软件的升级,很多软件对硬件要求越来越高;另一方面,系统及软件运行产生的垃圾文件,悄悄捆绑安装的软件大量占用磁盘空间,影响系统性能,那么电脑怎么

    2024年02月10日
    浏览(89)
  • Ubuntu磁盘空间不足解决

    Ubuntu :扩展硬盘磁盘空间 使用VMware虚拟机的时候出现磁盘不足的提醒,一直没当回事,直到虚拟机打不开,试了几次可以开机了,但是卡的跟几年前掉线城与虚弱勇士似的气不过搜搜资料把这个问题解决。 提示:对虚拟机进行设置需要保证Ubuntu处于关机状态 点击扩展设置成

    2023年04月20日
    浏览(41)
  • MAC磁盘空间不足怎么清理?MAC清理磁盘空间的五种方法

    MAC磁盘空间不足怎么清理?当我们使用苹果MAC一段时间后,就会有大量的垃圾文件占用磁盘空间,例如系统缓存文件、应用程序缓存文件、备份和重复文件、旧版的应用程序及其部件等,为了不影响电脑的后续使用,我们需要经常清理磁盘空间,下面小编为大家带来了MAC清理

    2024年01月22日
    浏览(73)
  • linux磁盘存储空间不足磁盘扩容 LVM扩容逻辑卷扩容详细教程

    一、介绍 当linux内存不够用时就涉及到磁盘扩容,只有使用LVM逻辑卷才支持扩容,该教程教你如何扩容。 系统版本为centOS 7 目标将/dev/mapper/centos-root容量大小由18G扩容到23G 增加5G容量 二、查看操作系统当前磁盘信息 首先使用fdisk -l查看当前机器所挂硬盘个数及分区情况,可知

    2024年02月02日
    浏览(46)
  • /dev/sr0磁盘空间满了

    发现问题是无法复制粘贴到本机,然后安装VMware Tools df  命令检查磁盘发现/dev/sr0占用100%  于是想办法先解决磁盘占用满的问题 先看看哪个目录比较大,尝试删除一些自己知道的可以删除的东西 sudo du -sh /*  先处理home目录,使用相同方法一层层查找 删除一些比较大的文件之

    2024年02月10日
    浏览(69)
  • 因磁盘空间不足导致MacBook Pro无法启动(反复重启)的解决过程

    我的电脑是2017版的15寸MacBook Pro,SSD空间512G,因为装了windows和Linux虚拟机,再加上微信、QQ都是吃磁盘大户,剩余空间仅剩11G左右。 最近启动一直很慢,昨天一早干脆反复启动,出现一个多语言版的提示:“电脑因出现问题而重新启动,请按一下按键,或等几秒钟以继续启动

    2024年02月15日
    浏览(66)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包