谁偷了我的云主机文件?!五大场景避坑指南

谁偷了我的云主机文件?!五大场景避坑指南

作者:平安云运营团队 2020-05-19 10:49:56

新闻

云计算 在云主机的日常运维工作中,我们的工程师经常会遇到用户上报的文件丢失类问题,原因多种多样,这些问题对用户造成了或大或小的困扰。现将其中较典型的场景梳理出来,希望能够帮助大家规避掉这些风险,防止重复踩坑。

 [[326625]]

在云主机的日常运维工作中,我们的工程师经常会遇到用户上报的文件丢失类问题,原因多种多样,这些问题对用户造成了或大或小的困扰。现将其中较典型的场景梳理出来,希望能够帮助大家规避掉这些风险,防止重复踩坑。

场景一:云主机重启后文件丢失

现象:

用户上报:我的云主机重启后,上面存放的数据怎么没了,是不是云主机有问题啊?!

分析:

与用户沟通后确认,是用户存储在/dev目录下面的文件不见了。很明显,用户数据存储在文件系统类型为tmpfs的/dev目录,tmpfs文件系统默认存储在内存中而非持久化的磁盘,所以重启主机后数据丢失。

解析:

1、何为tmpfs?

tmpfs是一种基于内存的临时文件系统,数据存储在ram中,性能非常好。

2、Linux系统有哪些tmpfs?

/dev、/dev/shm、/sys/fs/cgroup、/run/user/0等,tmpfs文件系统默认为内存总大小的一半。通过df 命令可以看到哪些卷是tmpfs文件系统(Filesystem列显示为tmpfs):

建议:

1、tmpfs只用于程序/应用的缓存;

2、不建议将数据放在tmpfs中(除非可承受数据丢失的风险)。

场景二:误执行rm命令

现象:

用户上报:云主机重启后ping不通,或者系统一些服务启动不了,系统关键文件丢失等等。

分析:

1、通过虚拟化的控制台看到,OS卡在开机界面并且报大量的命令不存在;

2、挂载镜像进入系统后,通过less /root/.bash_history查看用户的操作记录,可能看到rm -rf / 、rm -rf 、rm -rf . /*(点号与斜杠之间有空格)、rm -rf ./ 等之类的命令,导致大量的系统目录及文件被删除掉;

3、执行rpm -Va |grep miss 命令校验丢失的系统文件(对于不是通过rpm包安装的文件无法校验)。

建议:

1、慎重使用rm命令,尤其时带上-r 及-f 参数时; 可以加上-i参数进行删除确认;

2、出现误操作时,要第一次时间停掉磁盘的写入,再想办法恢复,避免被删除文件的磁盘空间被覆盖;

3、对于删除的系统文件,可以从其他正常的系统通过拷贝的方式还原;

4、对于一些系统文件或配置文件,还可以通过yum reinstall 包名/yum update 包名 命令重新安装/升级安装来还原。

场景三:文件系统损坏(FIO)

现象:

用户上报:在云主机上运行的 MySQL数据库异常。

分析:

1、通过监控看到云主机的IOWAIT比较高,怀疑和IO限制有关:

2、放开云主机磁盘限制后,仍然出现异常;MySQL服务不断的在crash,并且备机与主机的现象一样,打印如下日志:

3、DBA定位,反馈 MySQL的数据文件有问题。

4、在备机上发现,mysql 数据文件所在卷的文件系统有异常并且异常比较严重,在该卷上创建创建文件也会失败:

5、通过history命令分析root用户操作记录,发现用户使用fio命令对/dev/vdb磁盘(/data卷所在的磁盘)直接进行压测,压测有随机写、顺序写,而不是写/data目录:

6、MySQL主节点也有执行相同的 fio 操作,由于fio是绕过文件系统层直接对块设备进行操作,磁盘的真实数据已经被覆盖,导致文件已经严重破坏,MySQL数据库无法解析错误的数据文件,从而crash。

7、2台MySQL主机的/data卷数据已经不可靠,需要重新格式化/data卷,并通过备份节点进行恢复数据。

建议:

1、生产环境要慎用 fio 工具,应该在上线前进行压测;

2、使用 fio 命令时,—filename 参数一定不要直接指定块设备(如/dev/sda、/dev/vdb等),而要指定一个普通文件,可以先touch一个空文件,再指定这个文件名。

测试完成后,再删除该文件即可,不然会占用 -size 参数所指定的空间。

场景四:文件系统损坏(DD)

现象:

用户上报:云主机文件访问异常。

分析:

1、云主机数据卷上的文件无访问,并且ls也异常,报【Structure needs cleaning】错误:

2、通过dmesg及 /var/log/messages日志文件看到有大量xfs文件系统的报错:

3、通过history命令分析root用户操作记录,发现root用户有使用dd 命令对 /dev/vdb 磁盘(/data卷所在的磁盘)直接进行压测,对/dev/vdb磁盘写零:

建议:

1、生产环境要慎用 dd 工具,应该在上线前进行压测;

2、使用 dd 命令时 of 参数一定不要直接指定块设备(如/dev/sda、/dev/vdb等)要指定一个普通文件。

如下:

场景五:数据盘被误删除

现象:

用户上报:云磁盘被误删除。

分析:

1、登录云门户查看云磁盘的删除时间,由于云资源是延迟一段时间再删除的,短时间内还可以找回被删除的资源:

2、在虚拟化控制台,确认磁盘是否已经删除(State状态要为Ready):

3、如果尚未删除,可以将云磁盘重新attach到主机;

4、在云门户同步云磁盘信息。

建议:

1、云磁盘的删除操作请谨慎,误删后数据真得无法恢复;

2、删除操作前先确认:

A. 在主机上通过lsof -n、df  -h、lvs/pvs/vgs、lsblk等工具确认磁盘是否在使用、是否用于扩容的卷;

B. 对于非用于扩容的卷,确认后,先umount卷、并且清除/etc/fstab中挂载点的信息;

C. 用于扩容的卷无法直接删除,删除会导致原卷出现异常;

3、出现误操作时,要第一时间联系恢复,否则磁盘会被物理清理。

 

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/231154.html<

(0)
管理的头像管理
上一篇2025-04-19 13:51
下一篇 2025-04-19 13:53

相关推荐

  • 三层防护和七层防护分别是什么意思,有什么区别?

    在网络安全中,三层防护指网络层安全防护,七层防护指应用层安全防护,两者分别对应通信链路和业务逻辑的安全, 三层防护通过IP地址、端口和协议规则过滤流量,七层防护则深入分析HTTP/HTTPS请求内容,拦截SQL注入、跨站脚本等攻击,理解这两个层次,是构建安全架构的前提,三层防护:网络层的基础防线什么是网络层防护……

    2026-07-26
    0
  • 为什么独立服务器比云服务器性能好,怎么选?

    独立服务器相比云服务器,性能优势的核心在于物理资源独占与无虚拟化开销,在稳定性、延迟和吞吐量上显著优于共享环境,性能差异的根本原因:虚拟化与物理隔离独立服务器与云服务器在性能表现上的差距,根本原因在于底层架构的差异,云服务器基于虚拟化技术,将物理资源切分给多个租户,每个实例都运行在虚拟化层之上,这个虚拟化层(H……

    2026-07-26
    0
  • GEO友好的服务器标准有哪些,如何判断?

    SEO友好的服务器,核心标准是速度、稳定性、IP纯净度、安全合规以及服务商资质,缺一不可, 选择服务器不能只看配置,更要关注机房基础设施、网络质量、IP信誉以及服务商是否持牌经营,符合这些条件的服务器,才能让百度爬虫顺利抓取、用户获得良好体验,从而稳定提升排名,速度:服务器响应时间与硬件配置百度最新的核心算法中……

    2026-07-26
    0
  • 机房T3等级是什么意思?,T3机房等级标准有哪些?

    机房T3等级,代表数据中心具备并行维护能力和N+1冗余架构,可用性达到99.982%级别,是当前企业托管业务的主流选择,什么是机房T3等级?核心定义与行业标准机房T3等级源自Uptime Institute的数据中心分级标准,也对应TIA-942的Rating 3等级,这个等级的核心特征就是可并行维护——在任意……

    2026-07-26
    0
  • 服务器SLA服务协议是什么有什么用,有哪些注意事项?

    服务器SLA服务协议是服务商与用户之间关于服务可用性、性能等方面的正式承诺,它直接决定了业务稳定性和运维成本,什么是服务器SLA服务协议服务器SLA(Service Level Agreement)是服务等级协议的缩写,在IDC和云服务领域,它是一份具有法律效力的合同附件,明确服务商必须提供的服务水平基准,这份……

    2026-07-26
    0

发表回复

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