免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 7576 | 回复: 11
打印 上一主题 下一主题

[系统管理] 系统掉电重启后,文件大小诡异变0 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-04-04 12:32 |只看该作者 |倒序浏览
本帖最后由 abcsai 于 2015-04-04 12:41 编辑

今天,我将tar包里的应用程序的二进制文件都解压了一个目录,然后运行了目录里的应用程序,全部都是正常运行的。状态什么都检查得挺正常的。

解压完后,没过多久,需要人为操作断电重启。这个时候,所有程序都是在运行状态的。

当机器重启完之后,那个目录里所有新解压进去的文件都灵异地文件大小变为0了。

当然,这种情况完全是不能启动这些程序的。也试过重新解压,同样的断电操作,这些文件在系统重启后又变成大小为0了。

不知为何……没啥头绪。各位大神,请给点指示。

补充:解压之前,在目录里的旧程序我都停止了。这种变0的情况也出现过在新复制进 /lib 目录的库文件身上。

论坛徽章:
12
技术图书徽章
日期:2014-07-11 16:27:5215-16赛季CBA联赛之山西
日期:2016-01-08 16:10:11操作系统版块每日发帖之星
日期:2015-08-01 06:20:002015亚冠之武里南联
日期:2015-06-11 01:12:162015年亚洲杯之阿联酋
日期:2015-03-20 11:41:462015年亚洲杯纪念徽章
日期:2015-03-18 18:08:422015年辞旧岁徽章
日期:2015-03-03 16:54:15丑牛
日期:2015-01-10 22:23:32天秤座
日期:2014-08-20 15:53:35水瓶座
日期:2014-08-11 12:08:51午马
日期:2014-07-23 23:03:38IT运维版块每日发帖之星
日期:2016-02-18 06:20:00
2 [报告]
发表于 2015-04-04 23:21 |只看该作者
为啥要断电重启呢?
是正常shutdown后再开电,还是直接断电然后开电?

论坛徽章:
0
3 [报告]
发表于 2015-04-05 11:54 |只看该作者
不是正常重启,是直接断电重启的~

回复 3# phanx


   

论坛徽章:
12
技术图书徽章
日期:2014-07-11 16:27:5215-16赛季CBA联赛之山西
日期:2016-01-08 16:10:11操作系统版块每日发帖之星
日期:2015-08-01 06:20:002015亚冠之武里南联
日期:2015-06-11 01:12:162015年亚洲杯之阿联酋
日期:2015-03-20 11:41:462015年亚洲杯纪念徽章
日期:2015-03-18 18:08:422015年辞旧岁徽章
日期:2015-03-03 16:54:15丑牛
日期:2015-01-10 22:23:32天秤座
日期:2014-08-20 15:53:35水瓶座
日期:2014-08-11 12:08:51午马
日期:2014-07-23 23:03:38IT运维版块每日发帖之星
日期:2016-02-18 06:20:00
4 [报告]
发表于 2015-04-05 14:18 |只看该作者
回复 5# abcsai


    那这很可能导致文件损坏啊

论坛徽章:
0
5 [报告]
发表于 2015-04-05 17:17 |只看该作者
查了一下网上的资料,在Linux/Unix系统中,在文件或数据处理过程中一般先放到内存缓冲区中,等到适当的时候再写入磁盘,以提高系统的运行效率。
可能是文件还没有写入磁盘,就断电了。导致文件丢失~~~做了一下实验,在解压文件后,使用reboot重启系统就可以了。网上说执行两次sync也是可以的,我也试了一下。确实也是可以的。但出现过一次失败的情况~~不知为何。以后还是reboot比较稳妥!

回复 6# phanx


   

论坛徽章:
12
技术图书徽章
日期:2014-07-11 16:27:5215-16赛季CBA联赛之山西
日期:2016-01-08 16:10:11操作系统版块每日发帖之星
日期:2015-08-01 06:20:002015亚冠之武里南联
日期:2015-06-11 01:12:162015年亚洲杯之阿联酋
日期:2015-03-20 11:41:462015年亚洲杯纪念徽章
日期:2015-03-18 18:08:422015年辞旧岁徽章
日期:2015-03-03 16:54:15丑牛
日期:2015-01-10 22:23:32天秤座
日期:2014-08-20 15:53:35水瓶座
日期:2014-08-11 12:08:51午马
日期:2014-07-23 23:03:38IT运维版块每日发帖之星
日期:2016-02-18 06:20:00
6 [报告]
发表于 2015-04-06 20:39 |只看该作者
回复 7# abcsai


   重启是用reboot命令, 关机是shutdown -h 0命令,为啥你会直接关电呢?

求职 : Linux运维
论坛徽章:
203
拜羊年徽章
日期:2015-03-03 16:15:432015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:57:092015小元宵徽章
日期:2015-03-06 15:58:182015年亚洲杯之约旦
日期:2015-04-05 20:08:292015年亚洲杯之澳大利亚
日期:2015-04-09 09:25:552015年亚洲杯之约旦
日期:2015-04-10 17:34:102015年亚洲杯之巴勒斯坦
日期:2015-04-10 17:35:342015年亚洲杯之日本
日期:2015-04-16 16:28:552015年亚洲杯纪念徽章
日期:2015-04-27 23:29:17操作系统版块每日发帖之星
日期:2015-06-06 22:20:00操作系统版块每日发帖之星
日期:2015-06-09 22:20:00
7 [报告]
发表于 2015-04-08 15:55 |只看该作者
本帖最后由 lyhabc 于 2015-04-08 15:56 编辑

首先,你将分区mount到一个挂载点的时候有一个mount选项  mount -o async/sync ,默认不指定的话是async,意思是:写入到磁盘的东西会先缓存在内存,再隔一段时间全部一次过写入到磁盘
这样做的优点是:因为是一次全部写入,减少了IO的调用次数,集中IO而不是分散IO,而且对于写入速度也更快,因为写入到缓存比真正写入到磁盘是更快的

但是带来的隐患是:如果突然掉电,你对系统所做的修改就会全部丢失!!!!!!!!!!!!!!!!!!!!!!!!!!!

所以,一般在关机的时候 ,我们会执行这个命令

sync&& shutdown -h now

总之,不管是重启还是关机,首先要运行sync命令,把内存中的数据写入磁盘中,关机的命令有
shutdown -h now
halt
poweroff
init 0

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
8 [报告]
发表于 2015-04-09 09:39 |只看该作者
sync同步之后应该就不会出现楼主这个情况了

论坛徽章:
0
9 [报告]
发表于 2015-12-24 11:33 |只看该作者
回复 6# phanx


    因为公司的设备是那种一定会有断电重启的设备,所以有这种情况发生。所以,想问问有什么办法从根本上解决这个问题呢?

论坛徽章:
0
10 [报告]
发表于 2015-12-24 11:38 |只看该作者
lyhabc 发表于 2015-04-08 15:55
首先,你将分区mount到一个挂载点的时候有一个mount选项  mount -o async/sync ,默认不指定的话是async,意 ...



       非常感谢您这么详细的回答。确实是这样的,断电重启就会出现这种情况。想问一下您,有什么办法可以从根本上保证这种断电重启不会出现不写入缓存的错误呢?现在也会出现断电重启后,操作系统启动时磁盘错误的情况,只能用fsck修复。但是,作为移动设备,不能出现这种情况。所以,请问一下,您有没有什么办法解决。或者给我一个方向,我好去了解一下相关知识。我们公司使用的操作系统是CentOS。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP