V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Cbdy
V2EX  ›  站长

服务器(硬件设备)有优雅停机吗?

  •  
  •   Cbdy · 2019-02-15 09:44:37 +08:00 · 4157 次点击
    这是一个创建于 1889 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前有这么一个需求,需要在电力不稳定的地方建立一个机房(需求就是必须那个地方建),但是那个地方电力时断时续,断了甚至不知道什么时候恢复(可能一两小时、可能一两天等)。因此需要一个服务器(等硬件设备)的优雅停机、优雅重启的方案

    我的思路是,在断电和恢复的时候利用 UPS 做一些事情

    • 当发生停电的时候触发 UPS 供电,然后服务器在 UPS 的电力供应的情况下向应用程序发送关机的信号,然后应用优雅关闭,虚拟机关闭,然后服务器关机断电
    • 当监测到电力恢复并稳定的时候,服务器重启,服务器启动服务器上的虚拟机,虚拟机的 init 进程把一个个实际的应用启动起来,然后服务恢复

    这样就可以在不人为干预(或尽可能少认为干预)的情况下完成服务关闭和恢复

    那么有疑问来了

    • 因为电力不稳定,频繁的关闭启动服务器、硬盘什么的会对其寿命和硬件稳定性产生损害吗(家用 PC 天天重启似乎也没啥问题)?
    • 还有什么其他好的方法和建议呢(搬机房不予考虑😂)?
    12 条回复    2019-02-15 13:28:19 +08:00
    ouqihang
        1
    ouqihang  
       2019-02-15 09:54:14 +08:00
    一般家用 ups 都支持的,专业领域更不用说了。后面一个问题是服务器设置问题,可笑的是之前某次服务商半夜大面积重启,一大早 v2 上一堆说服务中断的贴,原因竟然是没有设置开机启动服务。。。
    CallMeReznov
        2
    CallMeReznov  
       2019-02-15 09:57:59 +08:00
    检测 UPS 供电时候关机是比较简单能实现的,WINDOWS 好像就有接口就可以支持,我 Q 群里的大佬之前给自己电脑写过一个玩意儿
    检测电力恢复的话用树莓派这种耗电非常低的设备检测然后发送魔法包可以吗?
    freezex
        3
    freezex  
       2019-02-15 10:11:49 +08:00
    ups 厂商有管理软件,也可以自己 diy,就是你说的这个思路

    另外可以考虑发电机,也实现自动化运行,平时只要关注燃料就行了
    locoz
        4
    locoz  
       2019-02-15 10:44:41 +08:00 via Android
    UPS 支持没电自动关机功能,你只需要把开机自启动做好和关机时安全关闭做好就行了,不过通常应用自己都已经实现了这种功能。
    ckzx
        5
    ckzx  
       2019-02-15 11:01:10 +08:00
    买个专业的 UPS。我的服务器就是这样设置的。给停电信号。然后服务器关机。来电自己启动。
    gamexg
        6
    gamexg  
       2019-02-15 11:16:50 +08:00   ❤️ 1
    看起来是常规功能
    断电后 usp 通知服务器关机,服务器设置为来电自动启动。

    但是有一个坑点,如果断电几分钟,ups 通知服务器关机后,ups 继续用电池给服务器供电途中来电。
    服务器电源一直是通的,这时候服务器恐怕不会来电自动开机了。

    也许专业 ups 有自动唤醒等功能?
    我的普通 ups 无法处理这种情况,恐怕需要加个树莓派等设备做网络唤醒了。

    其实更建议上个发电机,发电机价格挺便宜,就是油费高,不过只是应付临时停电到是没什么问题。
    xenme
        7
    xenme  
       2019-02-15 11:18:23 +08:00
    自建机房。
    多少台服务器、多大的 UPS 容量,断电后坚持几分钟?这么多服务关闭顺序,来得及?

    这个还是找专门机房建设的人看看有没有现成的方案吧,一台服务器么,随便买个 UPS 用用就行。
    iAcn
        8
    iAcn  
       2019-02-15 11:20:39 +08:00 via Android
    可以做到,我这儿的机房买的现成的方案,和 UPS 一个厂家的。
    1423
        9
    1423  
       2019-02-15 11:20:52 +08:00
    runntuu
        10
    runntuu  
       2019-02-15 12:19:57 +08:00   ❤️ 1
    带网络管理卡的 UPS (比如 APC )有对应的管理软件,在停电 x 分钟后可以实现依次自动关机。当电力恢复的时候,服务器自动启动( DELL 服务器是这样),虚拟化平台(ESXi 可以设置)自动启动虚拟机。
    连接拓扑是所有服务器接 UPS,UPS 接市电。当发生停电的时候触发 UPS 供电这个你不用考虑,UPS 会自己判断。
    这些都是现成的方案,不用你造一个轮子。
    yingfengi
        11
    yingfengi  
       2019-02-15 12:33:17 +08:00 via Android
    UPS 可以做低于多少电量关服务器,但是开机不知道行不行
    zingl
        12
    zingl  
       2019-02-15 13:28:19 +08:00
    家用 NAS 和 UPS 都能实现
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   957 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 20:49 · PVG 04:49 · LAX 13:49 · JFK 16:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.