0


【Linux】详细分析/dev/loop的基本知识 | 空间满了的解决方法

目录

前言

服务器一直down机,翻找日志文件一直找不到缘由,最终发现是挂载的内存满了,那本身这个文件就什么用呢?

1. 基本知识

/dev/loop

是一种特殊的设备文件,用于将文件系统映射到一个文件上,形成一个虚拟的块设备。通常情况下,它用于挂载镜像文件或压缩的文件系统,例如ISO镜像、磁盘映像或squashfs文件系统

/dev/loop

的作用是允许用户将文件系统挂载为一个磁盘分区,这样用户就可以像操作硬盘分区一样来访问其中的文件

  • 创建和管理 loop 设备:在 Linux 中,可以使用 losetup 命令来创建和管理 loop 设备,通过 losetup 命令,可以将文件与 loop 设备进行绑定或解除绑定,并管理 loop 设备的属性。
  • 挂载和卸载文件系统:一旦文件与 loop 设备绑定,就可以像挂载其他块设备一样,使用 mount 命令将文件系统挂载到指定的挂载点上,也可以使用 umount 命令将文件系统卸载
  • 使用 loop 设备创建虚拟磁盘:通过 loop 设备,可以轻松地创建虚拟磁盘。用户可以创建一个空文件,然后将其与 loop 设备绑定,并在其上创建文件系统,从而形成一个虚拟磁盘,用于存储数据。
  • 挂载镜像文件:将镜像文件挂载到文件系统中。例如,可以将 ISO 镜像文件挂载到 /dev/loop 上,以便浏览其内容或执行其中的程序
  • 容器技术:创建容器的根文件系统,Docker 等容器平台会使用 loop 设备来挂载容器镜像。

2. 内存满了

一共有两种方案,要么清空要么扩增

2.1 清空

df -h查看,发现

/dev/loop

系列的都满了
在这里插入图片描述

自动删除不再需要的 Snap 软件包以及它们的配置文件,并彻底清除 Snap 守护程序 snapd :

sudo apt autoremove --purge snapd

在这里插入图片描述

再次查看:

在这里插入图片描述

2.2 扩增

1. 查看挂载文件

losetup

命令来查看loop设备挂载的哪个文件,相应进行扩增

2. 扩增文件

dd if=/dev/loop1 bs=4M count=1024 >> /xx/yy/xx.img

,( 4M * 1024 = 4096M )

3. 更新 loop 设备:

losetup -c /dev/loop1

4. 更新 loop 设备:

losetup -c /dev/loop1

3. 彩蛋

对于从无到有的新增,具体如下:

1. 检查可用设备

losetup -a

2. 创建新的loop设备

sudo mknod /dev/loop5 b 7 5

。(b表示该设备是一个块设备,7表示主设备号,5表示次设备号。主设备号7用于loop设备,而次设备号表示具体的loop设备编号)

3. 将文件与新的loop设备关联

sudo losetup /dev/loop5 /path/to/image.img

4. 挂载关联的文件系统

sudo mount /dev/loop5 /mnt

如果后续需要使用新的挂载设备,具体如下:

sudoumount /mnt
sudo losetup -d /dev/loop5
sudorm /dev/loop5
标签: linux 运维 服务器

本文转载自: https://blog.csdn.net/weixin_47872288/article/details/136989044
版权归原作者 码农研究僧 所有, 如有侵权,请联系我们删除。

“【Linux】详细分析/dev/loop的基本知识 | 空间满了的解决方法”的评论:

还没有评论