以前没注意过这个问题,直到最近看一些资料,会提示要卸载硬盘;
但我之前好像从来没卸载过,都是直接关机了(正常关机程序,不是直接断电);
这样不卸载硬盘就关机的操作,对系统有没有影响?对硬盘呢?
最近编辑记录 驿窗 (2018-11-17 10:08:56)
开源/Linux大众化,从驿窗开始~
离线
关机之前内核会同步并卸载所有文件系统的,所以只要正常关机流程走完的话就不会有问题。
ecmascript是世界上最好的语言
离线
关机之前内核会同步并卸载所有文件系统的,所以只要正常关机流程走完的话就不会有问题。
收到,非常感谢!
另外,我想问一下,这个知识点,学习什么东西会学到它?(由浅到深)
我的意思是,对于一个不熟悉Linux的人,有什么教材/资料/wiki是最浅显又能涉及到这个知识点的?
或者,一定要读内核教材才行?
最近编辑记录 驿窗 (2018-11-17 10:08:25)
开源/Linux大众化,从驿窗开始~
离线
实际上 systemd 会按顺序卸载所有文件系统的,关机时能够看到日志。
离线
systemd,谢谢仙子~
开源/Linux大众化,从驿窗开始~
离线
看你关机的姿势,如果走过了Linux内核的关机接口,那么文件系统会被正确卸载,保持了文件系统数据结构一致性(注意不是应用层数据结构一致性,那要求进程和平退出,例如数据库).
如果硬件断电,例如磁盘被突然拔除,那么文件系统一致性可能被破坏。但是现代磁盘硬件很少因此损坏,你地震现代机械硬盘都不要紧,坏不了。
注意,存储于存储设备的数据结构的一致性被破坏,在软件系统重新运行后可能被修复,例如Windows扫描并修复可移动磁盘,见过吧(文件系统一致性)?例如数据库服务器进程因BUG或外部操作系统信号突然死亡或者干脆机房停电,在服务器进程重新启动后未完成的事务自动回滚(应用层数据结构一致性)。
反社会,精神极其不稳定,随时可能炸碎身边所有人
离线
systemd关机如果中途不断电,且所有进程配合工作,在收到信号后赶紧和平退出,几乎能够保证应用层数据结构一致性(或者可能实在来不及了,那边操作系统要我赶着关机,数据库事务非常大,写入量惊人,而10s之后操作系统会直接杀了我的,那时鬼知道写到哪里了,所以赶紧做个标记就退出吧,下次开机启动我再回滚,数据库在运行时依旧是满足ACID的)。
至于对于整个系统的影响,那取决于你的应用(毕竟它是系统的一部分,完成一部分功能),内核尽管能保证文件系统正常工作,应用写的不好,自己需要的应用层数据结构一致性无法保证,就可能无法完成正常功能,那自然表现为整个系统部分功能受到损坏。
反社会,精神极其不稳定,随时可能炸碎身边所有人
离线
比我想象的复杂好多~
开源/Linux大众化,从驿窗开始~
离线