![为什么EIO错误(输入/输出错误)频繁出现,大多用e2fsck解决](https://linux22.com/image/194634/%E4%B8%BA%E4%BB%80%E4%B9%88EIO%E9%94%99%E8%AF%AF%EF%BC%88%E8%BE%93%E5%85%A5%2F%E8%BE%93%E5%87%BA%E9%94%99%E8%AF%AF%EF%BC%89%E9%A2%91%E7%B9%81%E5%87%BA%E7%8E%B0%EF%BC%8C%E5%A4%A7%E5%A4%9A%E7%94%A8e2fsck%E8%A7%A3%E5%86%B3.png)
我们准备了一个定制的Linux系统(15 GB大小的ISO映像,我们需要的所有软件包都安装在其中),我们将此映像复制到具有不同Intel处理器的不同PC上以进行快速安装(使用DD命令)。
这些linux PC用于在其中存储相机图像,我们还编写了一个bash文件,以便在硬盘达到其容量的80%时删除最旧的图像(这样我们就不会耗尽空间)
一段时间后(可能是 Linux 安装后 2 天、1 周或 1 个月)系统中出现输入/输出错误,没有命令无法在终端中运行,除非e2fsck 大多数情况下,运行此命令后,系统会再次开始运行。 (以后还会遇到同样的错误)
以下是某些 PC 上的一些错误消息:
PC1: sh: 1: /usr/bin/xauth: Input/output error
bash: /etc/bash.bashrc: Input/output error
PC2: Entry 'Image88982736' in /home/camera/store/2021/8/21/ (2262038) has deleted/unused inode 7367205.
PC3: Problem in HTREE directory inode 2393154: block #6 has bad max hash
PC4: Unconnected directory inode 8682665 (/home/camera/store/2021/08/16/???)
PC5: /usr/bin/xauth: error in locking authority file /home/anpr/.Xauthority
PC6: Inode 262516 was part of the orphaned inode list
我的问题是为什么会发生这种情况?
A)。是因为我们编写的用于删除最旧文件的 bash 文件吗? (这是一个简单的 bash 文件,它根据创建时间列出图像,然后只需通过以下方式删除它们R M命令)
B)。是不是因为对硬盘进行了多次写入/擦除操作(我们每天写入超过100K个大小为200KB~20GB的数据,每天擦除20GB的数据)
C).是否是因为ext4文件系统的inode限制?
另外值得注意的是,有时它不能解决e2fsck我们必须再次安装操作系统,这就是问题所在!
编辑:
我准备这个定制Linux的方法是,首先在PC上安装一个新的Linux(Xubuntu/Ubuntu),然后在其上安装所有必需的软件包。然后我用实时 Linux 启动并使用 dd 将分区备份到特定文件,例如
sudo dd if=/dev/sda of=/home/media/ExternalHarddisk/Linux.iso bs=1M count=14482 status=progress
然后我将分区大小调整到其最大容量。
我们已经使用这种方法两年多了,甚至 PC 都没有出现启动或文件系统问题。
当我们在项目现场使用这些电脑时,就会出现问题,它们必须存储/删除相机图像