Answers:
您必须在内核更新后重新启动(除非您正在使用KSplice),否则其他任何操作都是可选的。我个人在维护时段内每月一次重新启动,以确保服务器和所有服务都能按预期返回。这样,我可以确定是否必须执行计划外的重新引导(即关键内核更新),以使系统正确恢复。对服务器和服务(即Nagios)的自动监视对帮助完成此过程也有很长的路要走(重新启动,观察指示灯变红,然后希望全部变回绿色)。
PS,如果您定期重新启动,则需要确保调整fsck检查(即,适当地检查之间的最大安装次数),否则,如果服务器开始fsck加载数TB的数据,则2分钟的快速重新启动可能需要30分钟。我通常将安装计数设置为0(tune2fs -c 0),两次检查之间的间隔设置为6个月左右,然后不时地手动强制一次fsck并重置计数。
实际上,无论何时进行重大配置更改,我都会定期重启服务器。重要的是要知道,在紧急情况下,服务器软件将毫无麻烦地出现。您需要做的最后一件事是,要设法从中断中恢复,但又必须弄乱服务器配置,因为在设置时没有对它进行彻底的测试。
除非您绝对需要更改正在运行的内核版本,否则无需重启Linux服务器。通过更改配置文件并使用初始化脚本重新启动服务,可以解决大多数问题。
您需要当心重新启动...如果您在运行中更改了任何内容而未在服务的配置文件中反映出更改,则重新启动后将不会应用这些更改。
我通常在计划的系统更新后重新启动。通常没有必要,但是当没人在办公室时我就去做,那为什么不呢?无论如何,当我要进行更新时,通常会进行内核升级。
我认为如果最近有内核更新或libc更新,您应该重新启动。很多东西都与libc相关联,除非您重新启动,否则实际上不可能从内存中完全卸载该lib并将其替换为新版本。
例如,甚至像/ bin / ls之类的基本事物,以及/ bin中的其他事物也使用libc。如果您只是在运行控制台并使用bash,那么您正在使用libc。
$ ldd /bin/bash
linux-gate.so.1 => (0xffffe000)
libtermcap.so.2 => /lib/libtermcap.so.2 (0xb8029000)
libdl.so.2 => /lib/libdl.so.2 (0xb8025000)
libc.so.6 => /lib/libc.so.6 (0xb7ed9000)
/lib/ld-linux.so.2 (0xb804b000)
$ ldd /bin/ls
linux-gate.so.1 => (0xffffe000)
librt.so.1 => /lib/librt.so.1 (0xb7f3a000)
libacl.so.1 => /lib/libacl.so.1 (0xb7f33000)
libc.so.6 => /lib/libc.so.6 (0xb7de7000)
libpthread.so.0 => /lib/libpthread.so.0 (0xb7dd0000)
/lib/ld-linux.so.2 (0xb7f61000)
libattr.so.1 => /lib/libattr.so.1 (0xb7dcc000)
是的,如果您更改/etc/init.d中的文件以某种方式影响启动,我建议重新启动。当您需要快速启动并再次运行时,您不想发现自己在启动文件中犯了一个小错误。
如果服务器已经运行了许多天而没有重新启动,则实际上意味着无法确保它将再次正常启动。同样,这是因为可能已更改了许多配置文件,并且很长时间没有人重新启动它以确保它启动。另外,如果服务器有大量更新,并且您很长一段时间没有重新引导,请在应用更新之前重新引导,否则,如果存在问题,则不能确定它是由配置错误引起的。很久以前还是您应用的新更新。
最后,如果您在很长一段时间后重新启动关键服务器,则fsck可能意味着您现在必须等待很长时间才能恢复。您可以使用tune2fs避免这种情况,但是我想定期检查它是一个好主意。这就是为什么您不应该仅依赖一台服务器的情况,如果这样,那么整个网站都将消失。您应该有另一个待命。
如果重启的时间这么长,那么重新启动并不是一个坏主意,这样您就可以在根分区上运行磁盘检查(fsck)。您的观点可能是这有助于确保数据完整性。
您还可以编写一些脚本,这些脚本将(尽可能多地)检查计算机的当前状态是否为计算机重启后的状态。
我的意思是...
/etc/init.d/*
/etc/fstab
/etc/mtab
)是否在其中具有相应的条目/etc/fstab
/etc/fstab
当前是否也已挂载。无论如何,这当然不是一个完整的检查,但是它确实降低了重新引导后出现故障的风险。
除此之外,您应该(imo)以合理的顺序设置服务器软件包更新的策略,例如每周1组...
也要有一个总体计划,例如“所有服务器每6个月进行一次完整的操作系统升级”。