Linux:Input/Output Error:记一次服务器接外部硬盘拷贝故障排除

这次的任务是从服务器拷贝数据到一块外部硬盘上。

这块外部硬盘是一块家用移动硬盘,磁盘格式是NTFS,很明显是经常搭配Windows系统的家用电脑使用的。我们的Linux系统的服务器无法直接识读NTFS格式的磁盘,因此要安装对应的ntfs-3g工具来识读这块硬盘:

bash 复制代码
yum install ntfs-3g

然后通过以下命令挂载:

bash 复制代码
mount.ntfs-3g /dev/sdb /data

其中/dev/sdb是通过df命令看到的外界磁盘的设备标识符,/data是欲挂载的目录,该目录须提前存在且为空。

在实际使用中,外接存储设备如果经常需要跨不同操作系统读写数据,建议设置为exFAT格式,支持主流的操作系统(Windows,MacOS,Linux)直接识读。

在挂载好硬盘之后,就开始拷贝数据。我们使用nohup把cp命令挂载后台。期间遇到nohup异常退出,以下是问题排查过程:

  1. 这种nohup无法正常挂在后台的问题,通常是在执行的时候遇到错误。看nohup的log(即原始命令的报错信息),发现报错Input/Output Error. 这个错误的原因一般是盘掉了,需要确定是否需要重新mount,甚至去机房重新检查物理链接(重新插一遍)。
  2. 于是通过df首先检查硬盘的识读情况,发现正常识读,盘依然mount在服务器上面。于是确定解决方案为重新mount,即解除挂载后重新挂载。
  3. 在解除挂载的时候发现umount即使加上-f选项也不能umount,说mount盘的那个分区busy. 此时使用ps命令和pkill命令,检查各个进程并关掉使用/data的进程。

知识点:

  • ps列出全部进程并筛选包含特定关键字keyword的进程:
    ps -ef | grep keyword
  • kill所有包含特定关键字keyword的进程:
    ps aux|grep keyword|grep -v grep|cut -c 9-15|xargs kill -15
  • kill所有命令名为keyword的进程:
    pkill keyword
  1. 在这之后就可以umount了,然后重新mount之后可以正常拷贝数据。
相关推荐
bukeyiwanshui5 小时前
20260420 Nginx 服务器
运维·服务器·nginx
xingyuzhisuan5 小时前
警惕“套牌”4090:如何辨别服务器用的是不是真卡?
运维·服务器·gpu算力
艾莉丝努力练剑5 小时前
【Linux线程】Linux系统多线程(八):<策略模式>日志系统的封装实现
linux·运维·服务器·c++·学习·策略模式
HalvmånEver5 小时前
MySQL数据库操作
linux·数据库·学习·mysql
深圳元器猫5 小时前
AI服务器功率电感解决方案_4.7μH电感应对GPU高负载挑战
服务器·dc-dc·新能源汽车·元器猫·功率电感
2301_780789665 小时前
游戏盾是如何防护各个重要的游戏端口呢
服务器·网络·人工智能·游戏·架构·零信任
何中应5 小时前
清理服务器磁盘空间的方法
linux·运维·服务器
RisunJan5 小时前
Linux命令-nfsstat(列出NFS客户端和服务器的工作状态)
linux·服务器
web守墓人7 小时前
【linux】Mubuntu v1.0.11更新日志
linux·前端
哈__8 小时前
Linux生产环境MongoDB部署与安全加固:用户权限、防火墙、远程访问完整方案
linux·安全·mongodb