ネットワークの解説が素晴らしい
Network Manager管理下での操作
RHEL6系と7系での変更点で言えば、Network Managerでのネットワーク管理が推奨になった事です。
RHEL6系では真っ先に停止していたサービスかもしれません。
Network Managerと言えば、有効化しておくと自動でresolv.confを書き換えてしまうなど、システムトラブルの原因になったりすることから、システムでは無効化するのが一般的でした。
Network Manager管理下のNICの管理では、nmcliやnmtuiコマンドを使用して設定をしていく必要があります。
6系のエンジニアはほとんど/etc/sysconfig/network-scripts/ifcfg-ethXXファイルを編集して設定していたと思います。
なので、この変化は中々慣れないものです。
nmtuiの画面ツールを使用すれば基本的な設定はすぐ出来ますが、nmcliコマンドでの設定も漏れなく書いてあります。
設定を実施する機能が複数ある場合、一つ使えるより二つ使えた方が汎用性がありますよね。
また、人によっては使いやすさに違いもあります。
解説の範囲がOSレベルだけではない
Linuxのネットワークについての解説についても、単純な設定方法だけではなく、ケーススタディのように構成図を用いて解説されています。
サーバとネットワークは切っても切れない関係で、そもそもネットワークが上手く出来ていないとサーバは何も出来ません。
特に、知識として大きいのはサーバと接続するL2スイッチ、L3スイッチとのルーティングに関する解説だと思います。
ここが他の書籍と違うのは、スパニングツリー、HSRP、VRRPなどネットワーク機器固有の機能を想定してネットワークの二重化について書いてあるからです。
本来、サーバサイドの技術者であればこれらの知識を有していません。
VLAN、タグなどは知識としてあると思いますし、もちろん紹介する書籍では解説もしておりますが、トランクポートやアクセスポートまで考えている技術者はインフラエンジニアとしても上位の技術者ではないでしょうか。
Bondingではなくチームデバイス
RHEL6系ではよく使用していたNIC冗長化のBonding機能ですが、7系からチームデバイスと言う拡張機能が使える機能が追加されています。
その作成手順から設定、リンク監視の設定方法について記載があります。
こちらの設定はmncliで記載されているので、上記で書いたコマンドの知識が身につけばより設定しやすくなると思います。
こちらの設定で最後のページには、ブレードサーバで使用する際の注意点が書いてあります。
かなり実用的だと思います。
新しい機能故の注意点を記載しているのは非常にありがたいですね。
ストレージは基礎知識から網羅
基礎知識が豊富
ストレージ管理に関しては、本当に基礎知識が豊富です。
基本的にはオンプレが前提ですがクラウドSANストレージを使う前に基礎的な知識は覚えておくと良いでしょう。
FC-SANを構成する際の、WWNとHBA、FCスイッチのゾーンなどインフラを構成するのには必須の用語をしっかりと解説していくれいています。
また、RAIDについても記載がありますし、仮想化での作業でも必要なLUNについても記載があります。
他にもイニシエータやiSCSIなどストレージ側の知識が豊富です。
SAN構成では複数パスを使用する際は、当然マルチパスドライバも使用します。
インフラ経験者としては、基礎知識の再確認になりました。
初心者にとっては、インフラを構成するための必要な知識が得られると思います。
Linux環境下でのインフラ管理はWindowsよりも技術的なハードルが高いです。
Linux下でのストレージ管理なども見つけるとより優秀なエンジニアになれるでしょう。
LVMに関する解説がしっかりされている
Linux特有のファイルシステムとしてLVMという機能があります。
元々はIBM社のUnixディストリビューションであるAIXで生み出された技術です。
おそらく、Linux初心者にとって難しい知識の一つであるのがLVMです。
キーワードとしては、シンプロビジョニングというストレージの容量管理に関する知識を身に着けないといけません。
こちら、VMware ESXiなどで仮想マシンを構築したことがあれば事前知識はあるかもしれません。
そして便利なLVMですが使い方が分からないと勿体ないです。
バックアップの作成やI/Oエラーが発生する状況など、こちらも単なる設定ではなくケーススタディが書いてあります。
PV、VG、LVなど覚えるまでには混乱しそうな用語が細かく挙動まで記載されているので、Linux入門者には絶対読んでおいて欲しいです。
詳細設計などでLinuxを扱う際には、必ずファイルシステムのパラメータを作成します。
そしてLVMの場合はより細かく設定していく事になります。
それこそ上記のようにPVを分ける理由やVGの命名やサイズ、LVの切り方など実際の業務に直結する知識になります。
トラブルシューティングの基礎知識
メモリの仕組みとプロセス管理
LinuxとWindowsでは、トラブルシューティングに関する難易度が全然違うと思います。
というのも、Windows Serverに関してはフリーズやブルースクリーンなどWindowsだからこそ起こるトラブルが多く、調査は基本ログで再起動して障害復旧のケースが多く、リアルタイムでの障害解析は少ないです。
その反面、Linux系のOSは24時間365日の稼働を想定してるシステムに導入されることが多いOSです。
要は、システム停止が許されません。
そんな際のトラブル対応ですが、基本的なプロセス構造について把握しておいた方が良いです。
本書籍で感心したのは、psコマンドのオプションです。
プロセスの確認に使用するpsコマンドのオプションは、教育を受けた環境によって使い方が主に二パターンあります。
1つが ps -ef で、もう一つが ps auxです。
見えるものに関しては大して違いはないのですが、人によって違うのがpsコマンドのオプションでしたが、どちらも記載があったので丁寧だなと。
話が脱線しておりますが、このような形でメモリ構造からプロセスの特定や停止など基礎知識が書いてあります。
トラブル時の確認コマンド一覧
Linux上でのトラブルに関しては「この時はこれ」と決まりきった対応はありません。
もちろん、どんなシステムでも想定外のトラブルはつきものです。
決めきった対応が無いと言うのも、既知の障害でなければアプリケーションかOSかHWか複数のコマンドの結果を複合して判断しないといけないからです。
私は主に、top、iostat、vmstat、mpstatを使用していきましたが、他にも負荷状況などの確認方法はたくさんあります。
本書籍では、そういったトラブルシューティングのコマンドが列挙されているので、障害や調査の際は手元で確認しても良いなと思いました。
特に、RHEL7系からdstatというコマンドがあります。
vmstatとiostatを複合させたコマンドです。
私の得意とするDBでは、特にメモリとI/Oはチェックしていたので、使い方を覚えていきたいと思います。
今回紹介した書籍はこちら↓↓