前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >linux如何优雅的关机

linux如何优雅的关机

原创
作者头像
西门呀在吹雪
发布2022-01-08 15:02:49
5.4K0
发布2022-01-08 15:02:49
举报
文章被收录于专栏:架构之巅架构之巅

常见的关机三大法宝:拔电源、shutdown、poweroff

机械硬部结构
机械硬部结构

断电之前先来看下机械硬盘的内部结构

为了避免磁头和磁盘的接触磨损,现代机械硬盘会有一个磁头复位的装置,机械硬盘不工作时,磁头回到复位位置,磁头复位不是依靠电能的驱动,而是机械力量。 磁头上有个类似弹簧装置,一直试图将磁头拉回复位区,通电时磁头受磁力作用移动至磁盘上方。 如果机械硬盘突然断电,磁力消失,磁头瞬间被拉回,但因磁盘立刻停转,导致盘面形成空气消失以及主机震动等原因,磁头很容易落在盘面,被磁力拉回的瞬间造成磁盘损伤。

那固态硬盘SSD呢

FTL工作示意图
FTL工作示意图

先来普及一个独木桥组件FTL的知识:FTL是固态硬盘中的逻辑地址(LBA,logical block addresses )和物理地址(PBA, physical block addresses)的对应表。简单讲就是操作系统操作LBA逻辑地址,具体写入有FTL控制真正的物理地址在哪里,由此可见FTL这个“阳关大道”的重要性。

FTL表如此重要,没了它,整个SSD/SD卡就没法工作了。如果在FTL写回Flash之前,还在内存的时候,忽然没电了,内存数据丢失,FTL表也就丢失了。有鉴于此,高端SSD和服务器SSD都加上了电容,来作为应急供电方案,让SSD控制器有时间把内存中的FTL表和一些缓存内容存到Flash上

拔电源的对硬件的损坏(机械盘的磁头)相对于数据的丢失是可以忽略的,如数据库正在写入数据、缓存还未持久化、集群数据没有平衡这些对程序员来讲是致命的,直接拔电源不仅够优雅还会有数据丢失风险,pass?

那shutdown、poweroff以及halt有什么区别呢?

网上文章有很多,说的大多都是一个来源,经过调查发现,这三个命令的最大区别如下

half:关机,不关电
poweroff:关机、关电、关机过程不阻止其他用户登录
shutdown:关机、关电、发送命令通知其他用户将要关机,可以通过参数指定定时关机,只有root权限才可以执行,
会创建nologin阻止新用户登录。

参考:

1、为什么固态会掉盘?著名的30分钟大法修复是什么原理?这么做对吗? - 知乎 (zhihu.com)

2、实测:电脑突然断电对硬盘有影响吗? (baidu.com)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档