VPS(仮想専用サーバ:CentOS7)でOS再起動をしました

ブログ

2018年1月からさくらインターネットでVPS(仮想専用サーバ)を借りてLinuxの勉強をしたりWordpressでブログを書いている投資混浴エンジニアの すずめ8(@suzume8_vc) です。

IT業界でシステムエンジニア歴は約20年です。社会人になってからLinuxを触ってます。もともとVPS(仮想専用サーバ)を借りたのはWordpressでブログを書くためではなく、LPIC Level3の試験勉強のため自分専用のLinux環境を作りたかったからです。LPIC Level3に合格した後はVPS(仮想専用サーバ)を解約するつもりでしたが、Wordpressでブログを書き始めて今に至ってます♪
2018年7月から純金積立、投資信託、日本株など投資関係と青森県酸ヶ湯温泉の混浴の記事が伸びているため、投資混浴エンジニアと名乗ってますw

借りている環境について(2019年8月1日更新)

; //

俺が借りているサーバのOSは2019年8月時点でCentOS7となります。
ウィキペディアより引用しました。

CentOSとはRed Hat Enterprise Linuxとの完全互換を目指したフリーのLinuxディストリビューションとなります。

基本的に毎日VPS(仮想専用サーバ)へログインして yum update を実行してます。

yum update とはインストール済みのパッケージのアップデートを行うコマンドです。

Windows Updateみたいなものと思って頂いたほうが良いかもです。

基本的にLinux環境はWindows環境よりもOS再起動を行う回数は少ないですが、それでもkernelなどをアップデートするとOS再起動が必要となります。

今借りているサーバ上にWordpressをインストールしてブログを書いてますので、OS再起動を行うとその間にアクセスに来てもブログを見ることができません。

そのため、OS再起動を行うときはなるべくアクセスが少ないと思われる時間帯に行うことをおススメします。

今後のためにOS再起動を行った日付と実行したコマンドを備忘録として書くことにします。

kernel のアップデートを行うときは実施者の責任のもとで行ってください!

OS再起動(2019年8月1日更新)

まずはTeratermを起動してssh 経由でサーバへ接続します。

次に、root権限でコマンドを実行するため su コマンドを実行します。

$ su –
yum update コマンドは一般ユーザでは実行できません。root権限で実行するようメッセージが出ます。

次にインストール済みのパッケージがあるか確認を行います。

# yum update
yum updateコマンドを実行する前に、yum check-update コマンドで事前に更新されるパッケージを調べることもできます。
アップデートがうまくいかない時はyumのレポジトリが壊れている可能性があります。その時はyum clean all を実行することでキャッシュをクリアできます。その後、yum updateを実行するとレポジトリを最初から取得します。

needs-restartingコマンドは再起動が必要なプロセスを調べるコマンドです。

yum-utils に含まれるパッケージで俺が借りたサーバでは最初から入っていました。

# needs-restarting -r
OS再起動が必要な際はその旨のメッセージが出力します。出力したメッセージでOS再起動を行うか判断してください。

lastコマンドは履歴を追うことができるコマンドです。

# last | grep reboot

grep コマンドと組み合わせて過去OS再起動した履歴を纏めてみました。

kernel updateによるOS再起動が多いです。

ちなみに linux-firmware とは一部のデバイスが動作するために必要なファームウェアが含まれるファイルのようです。

git.kernel.org の記事を読み、自分なりに纏めてみました。

解釈が間違っているようであれば指摘いただけると幸いです。

rebootコマンドでOS再起動を行います。

本当はシステムコンソールで行うのが良いのですが、今回はsshで接続したままで行いました。(^^;

# reboot
サーバ再起動はreboot もしくはshutdown -r now コマンドで実行できます。シャットダウンはhalt もしくは shutdown -h now です。

OS再起動した日と理由を纏めてみました。

“kernel update” と “linux-firmware update”が多いです。

OS再起動した日 OS再起動した理由
2018年1月15日 kernel update
2018年3月9日 kernel update
2018年5月12日 kernel update
2018年5月23日 kernel update
2018年6月2日 linux-firmware update
2018年6月15日 linux-firmware update
2018年6月16日 kernel update
2018年7月5日 kernel update
2018年7月18日 kernel update
2018年8月17日 kernel update
2018年9月29日 kernel update
2018年12月4日 kernel update
2019年2月3日 kernel update
2019年3月19日 kernel update
2019年4月30日 kernel update
2019年5月16日 kernel update
2019年6月12日 kernel update
2019年6月20日 kernel update
2019年8月1日 kernel update
2018年7月18日よりRedHat Product Errata(不具合の修正報告)のURLを張ってます。

OS再起動してsshで接続し、kernelのバージョンが上がっていることを確認します。

# uname -r
linux-firmwareの場合は rpm コマンドで確認できます。
# rpm -qa | grep linux-firmware

再度、needs-restarting コマンドを実行します。

今回は再起動が必要なプロセスは見つかりませんでした。

# needs-restarting -r
最後に起動時にエラーがないかログを確認します。
# cat /var/log/messages
CentOS7よりjournalctl コマンドにてログの管理ができますが、俺が借りているサーバはjournalctlコマンドで永続的にログを取得する設定をしてないので、以前のバージョンから使用できるcat コマンドで/var/logディレクトリ配下のテキストファイルを参照する方法で確認してます。

CVE-2018-3665について

2018年6月16日にOS再起動したのは CVE-2018-3665 と呼ばれるIntel製プロセッサの脆弱性に対応したkernelがリリースされたためです。

詳しくはリンクを張ったので参照してください。

2018年6月16日時点でRedHat社のリリース分は英語のみです。
一通り読んだのですが、日本語で詳しく説明したサイトは少なかったです。
MeltdownやSpectreと異なり、kernel updateしてもパフォーマンスに影響はないといわれてます。
Meltdown、Spectreについては@ITさんのサイトが詳しかったためリンクを張らせて頂きました。

まとめ

  • Linux(CentOS)でもOS再起動が必要となることがある!
  • RedHat系だとneeds-restartingコマンドで再起動の有無が確認できるのでおススメ!

コメント

タイトルとURLをコピーしました