Modern day technology articulates that a server reboot is mandatory only in certain situations. Situations like updating a system kernel or hardware replacement only needs a system reboot. Most of the system administrators will advertise about their servers getting uptimes of over 365 days. This may be a good thought in terms of stability issues, but concerns regarding security and whether the servers have got specific updates still remain unclear. A neutral stand is always suggested. Regular reboot is always a good practice that needs to be followed for any server for critical security updates or any other upgrades. A reboot can be done either once or twice a month or on a weekly basis.
Why do we reboot servers?
- To apply patches that cannot be implemented without rebooting.
- To reboot after installation or uninstallation processes.
- To check the ability of a server to reboot successfully.
- Memory Leaks.
Applying Patches: Applying patches is one of the main reasons why do we reboot servers. Most of the operating systems receive regular updates that would require a reboot in order to take effect. Most patches are often released for security purposes and stability issues and would require a reboot. For example, if an update is applied on a system library, the files on the disk will be updated immediately. But any running program using the library will be using the old, insecure version. In such cases, the importance of applying a reboot is very high. A reboot is a necessity here to ensure that all important updates have taken effect. It is not a wise idea to make a system unnecessarily vulnerable (without rebooting) in order to maintain the uptime.
Reboot after installation and uninstallation processes: Software programs also would need to reboot your system when you install, uninstall them. For example, if an antivirus program is uninstalled, the uninstaller won’t be able to remove all the files instantly and would require a reboot. The uninstaller will schedule file deletions and operating system will automatically delete the files the next time the system reboots. Same is the case when an antivirus program is installed.
- One reason for the reboot is that the installer needs to clean up itself, i.e. to clean up the files that was used only at the time of installation. For example, the installation program that was running needs to be deleted from a temporary location on the hard disk after installation is completed.
- Another reason why do we reboot servers after installation is to replace or delete a file that is currently open or in use by the running software such as the core component of the system or the executable file used by an application left running during the install.
Checking server’s ability for a successful reboot: One factor which is often overlooked is testing a server’s capacity to reboot successfully. Most of the server incorporates changes to them on a periodical basis. Changes might include patches, new applications, configuration changes and other updates. Any change incorporated often introduces a risk. A server might work fine after a change is applied. But, that does not ensure that the server would work in the same way once a reboot occurs. This exercise is a part of ensuring business continuity assessment as well.
Memory leaks: A memory leak is a type of resource leak that occurs when a software program incorrectly manages the memory allocations. In such cases, the memory which is not needed is not released. This causes a memory drain for other resources. By rebooting everything is reset to its initial state and the operating system begins afresh with the software procedures.
If a server is not rebooted, we would never know if it can reboot successfully. It might cause the below issues:
- Number of changes included to the server would increase by each passing day. Most of the changes would probably be left undocumented. If a reboot fails at this stage, it would be an intractable process to identify the change that lead to the failure.
- If a server is not rebooted intentionally, the probability of a server to restart unexpectedly on its own might increase.
Regular reboots might/might not reduce the frequency of failure. The purpose of a regular reboot here is to make such failures more manageable. It is also to ensure that the reboot happens at a time only when the server is being scheduled for maintenance. Reboot failure during maintenance can be mitigated without business impact.
Advantages of a Regular Reboot
- Regular restart of a server makes the environment more stable and better performing.
- Regular reboots protects the business from outages and downtime can be mitigated with generally little effort and reliable processes.
Rebooting or power cycling to fix the driver issues
Rebooting also allows the fixing of a driver or low-level error issues to a great extent. For example, WiFi router is run on software just like a system. A power cycle, i.e. completely turning the power off for 30 seconds will clear its cache and reset the software.
Types of Reboot
Server can be rebooted in two ways as given below:
- A soft reboot uses the operating system’s reboot methods and the applications are shut down in a stable manner.
- A hard reboot stops the instance and then restarts it, just as we turn a computer on and off.
A soft reboot is recommended on a regular basis and a hard boot is required only when a server is unresponsive.