この記事は、Charles Edge 著の近刊書「Take Control of OS X Server」のプレリリース版の章です。2014 年後半に一般公開が予定されています。第 1 章「OS X Server の紹介」と第 2 章「サーバハードウェアの選択」を除き、これらの章は TidBITS 会員のみご利用いただけます。詳しくは TidBITS でストリーミング配信されている「Take Control of OS X Server」をご覧ください。
本書を順番に読み進めていただいたと仮定すると、おめでとうございます! あなたとユーザーに必要なサービスを提供できる、完全に機能するサーバーが完成しているはずです。本書では、様々なサービスに特化したメンテナンスのヒントを随所に散りばめてきましたが、最後に、サーバーを快適に稼働させるための一般的なアドバイスをいくつかご紹介します。
ここで多くのことをする必要があると決めつけないでください。数年前にOS X Serverをインストールしたクライアントを訪問したところ、サーバーの稼働日数が1,000日を超えました(つまり、3年間再起動が一切なかったということです!)。これは、OS XやServer自体の新しいバージョンをインストールしたり、停電に見舞われたり、サーバーの移動が必要になったりすることがないというだけでも、非常に印象的です。特にオペレーティングシステムが毎年メジャーリリースされるようになったことを考えると、あらゆる状況でこのレベルの安定性を期待すべきではありません。
追加リソース
人は誰も孤立無援で生きているわけではありません。システム管理者も同様です。Appleのシステム管理者には強い連帯感があります。なぜなら、良いことも悪いことも、皆同じ経験をしてきたからです。ですから、何か問題があったり、困ったことがあったりしたら、助けを求めることができる場所はたくさんあります。そしてもちろん、特に役立つヒントを見つけたら、ぜひシェアしてください!私のお気に入りのいくつかをご紹介します。
インターネットリソース:
- AFP548:OS X Server管理者向けの最初の主要サイトであるAFP548は、10年間にわたり重要な存在であり続け、その勢いは衰える気配がありません。元々はブログとしてスタートしましたが、現在ではポッドキャスト、記事、ディスカッションフォーラムを提供しています。
- MacEnterprise: いつも「MacE」と呼んでいるこのリストは、Apple製品全般に関する情報が集まる素晴らしいリソースで、主にシステム管理者にとって役立ちます。このリストには、他の人を助けることに熱心な賢い人がたくさんいます。
- Krypted: これは私の個人 Web サイトですが、OS X Server に関連するコンテンツを多数投稿しています。
- Apple OS X Server + エンタープライズサポート:Appleのメインサーバーサポートサイトには、OS X Serverやその他のエンタープライズ関連製品に関する役立つ記事が掲載されています。また、AppleのOS X Server Advanced Administrationサイトも見逃せません。このサイトでは、分かりやすいインターフェースの説明から、舞台裏の役立つ詳細情報まで、様々な情報が掲載されています。
会議:
- MacTech BootCampとカンファレンス:MacTech BootCampカンファレンスは、北米の様々な都市で開催される1日集中イベントで、コンサルタントやサポート担当者向けの講演が行われます。MacTechカンファレンスは数日間にわたって開催され、ITプロフェッショナル向けのトラックも用意されています。私はMacTechカンファレンスで頻繁に講演しており、Take ControlのAdamとTonya Engstも頻繁に参加しています。ネットワーキングだけでも参加する価値があります。
- MacIT: Macworld/iWorld と同時に開催される MacIT は、OS X ベースのシステム管理とサーバーに焦点を当てたセミナーやセッションを見つけるのに最適な、複数日間にわたるカンファレンスです。
- MacSysAdmin:ヨーロッパで唯一のApple管理者向け大規模カンファレンスであるMacSysAdminでは、OS X、OS X Server、iOS管理に関する数多くのセッションが開催されます。スウェーデンまでお越しいただけない方のために、毎年カンファレンス終了後にセッションがオンラインで無料で公開されます(英語)。
必要に応じて実行するタスク
システム管理者として、予期せぬ事態への対応も重要です。そのため、第3章「準備とインストール」の「アラートの設定」でアラートをオンにしました。Serverは様々な問題が発生すると通知を発するので、発生した問題に対処する必要があります。ディスク容量の不足、OS X Serverのアップデート、証明書の有効期限切れなど、予期せぬ事態が発生する可能性も考えられます。
さらに、ユーザーや外部から問題に関する情報が届くことも間違いありません。例えば、メールサーバーを運用していて、それがRBLに登録された場合、「第8章 メールサービス」の「RBLの確認」で設定した監視サービスからメールアラートが送信されます。また、リリースを延期したアップデートで解決できる可能性のある問題がユーザーから報告された場合(「第12章 ソフトウェアアップデート」の「ソフトウェアアップデートサービスの設定」を参照)、
そのアップデートを有効にするよう直接要求されることもあります。
それでは、よくある状況で何をすべきかについて、いくつかのヒントを紹介します。
OS X Server がアップデートされました
OS X Serverのアップデートは、修正プログラムや新機能が必要な場合にのみインストールしてください。サーバーが正常に動作しているのであれば、わざわざ変更する必要はありません。私が目にした問題のほとんどは、管理者がシステムに加えた変更が原因です。そのため、OS X全般、あるいはOS X Serverに特化したメジャーアップデートをサーバーにインストールする前に、1~2週間の冷却期間を設けることをお勧めします。
アップデートの準備ができたら、まず上記のサイトを見て、アップデートに関連する問題が報告されていないか確認してください。問題が発生していると報告している人がいなければ(問題があれば必ず報告が来ます!)、アップデートを進めてください。できれば、ダウンタイムの影響を受けない時間帯に行うのがよいでしょう。
アップデートをインストールする前に、アップデート中に何か問題が発生した場合や、アップグレードによって予期せぬ問題が発生した場合に備えて、サーバーの起動可能な複製を作成してください。(サーバーのバックアップは定期的に取っていますか?)起動可能な複製は、Carbon Copy ClonerやSuper Duperなどのツールで作成できます。バックアップ用のサーバーのクローンを作成したら、ソフトウェアアップデートを使ってアップデートをインストールしてください。
アップデートが完了したら、すべてが意図したとおりに動作することを確認してください。問題がないように見えても、数日間はサービスを注意深く監視してください。
サーバーのブートドライブの空き容量が少なくなっています
サーバーのブートボリュームがいっぱいになるのは、サービスデータがそのドライブに保存されている場合のみです。サーバーにドライブが1つしかない場合は、その可能性が高いでしょう。このような状況が発生した場合、いくつかの対策を講じることができます。難易度の高い順に以下に挙げます。
- 不要なデータを減らしましょう。最近は誰もが不要なデータを溜め込みすぎています。サーバーからデータを削除するか移動することを検討しましょう。無料のGrandPerspectiveは、ドライブの容量がどこで使用されているかを視覚化できる便利なツールです。
- 共有フォルダを移動します。これは手動で行う必要がありますが、簡単です。次の「共有フォルダのドライブの空き容量が不足する」を参照してください。
- 第 11 章の「キャッシュ」(「キャッシュ サービスを構成する」を参照) と「ソフトウェア更新」(「ソフトウェア更新サービスを構成する」を参照) でソフトウェア更新に使用されるスペースの量を減らします。
- サービスデータを移行します。移行先のドライブは、すべてのデータを保存するのに十分な容量が必要です。また、このプロセスでは多くのサービスの設定が移行されるため、かなりのダウンタイムが発生する可能性があります。続行するには、「サーバー」のサイドバー上部にあるサーバー名をクリックし、「設定」タブをクリックして、「サービスデータ」の横にある「編集」ボタンをクリックします。
- サーバーのクローンを作成し、より大きなボリュームを作成します。最近では、非常に大容量のドライブや、ドライブアレイを購入することもできます。このようなドライブやアレイはブートボリュームとして使用できるため、単一の大容量サーバー環境を維持したい場合は、前述の手順は不要になります。
共有フォルダのドライブの空き容量が少なくなっています
前述の通り、共有フォルダのせいでドライブがいっぱいになった場合、最も簡単な方法はフォルダを移動することです。まず、対象の共有フォルダがしばらく利用できなくなることを全員に知らせます。次に、既存の共有フォルダの設定のスクリーンショットを撮っておくことをお勧めします。こうすることで、フォルダの名前、権限、有効になっているサービスなどを記録できます(図1)。
図 1:共有フォルダーを移動する前に、スクリーンショットで共有フォルダーの設定を記録します。
次に、ファイル共有サービスを完全に停止するか、他に利用可能な共有フォルダがある場合は、選択されている「Share Over」チェックボックスをオフにします。この手順により、データの移動中にファイルが変更されることがなくなります。
次に、新しいドライブに古い共有フォルダと同じ名前のフォルダを作成します(同じ名前を維持する必要はありませんが、通常は維持することをお勧めします)。次に、古い共有フォルダから新しいフォルダにデータをコピーし、同じ設定でサーバーに共有フォルダを再作成します。
すべての設定が完了し、ファイル共有が再び有効になったら、新しい共有フォルダをテストしてください。特に、サーバー上のファイルやフォルダに、ご自身または他のユーザーが作成したエイリアスを必ずテストしてください。
毎週のタスク
サーバーがスムーズに動作していることを確認するために、毎週チェックインすることをお勧めします。しかし、忙しくてこれらのタスクを忘れてしまうこともよくあるので、定期的なイベントをスケジュールに追加することをお勧めします。
マウントされたすべてのドライブの空き容量を確認する
当然のことながら、十分な空き容量がないドライブにファイルを保存することはできません。さらに悪いことに、ブートドライブの容量が不足すると、OS X の動作が遅くなったり、クラッシュしたりする可能性があります。この問題の解決方法については、この章の前半で説明しましたが、理想的には、問題が発生する前に、十分な空き容量が必要になることを予測しておく必要があります。そのためには、サーバーのドライブの空き容量と、空き容量がどのくらいの速さでいっぱいになるかを常に把握しておく必要があります。
一般的に、すべてのドライブには全体の少なくとも10~15%の空き容量が必要です。ただし、ストレージ容量はドライブの使用状況によって異なることに注意してください。例えば、10GBの空き容量があるドライブを小規模なデータベースの共有に使用している場合、その空き容量で十分かもしれません。しかし、ユーザーがビデオ編集を行っている場合、昼食前に10GBの空き容量が消費される可能性があります。
Watchman Monitoring(100種類以上の問題をレポート可能)など、ドライブの空き容量などを追跡できるサービスは数多くあります。しかし、ドライブ容量だけを確認する場合は、ドライブを手動で確認することをお勧めします。Finderでドライブを選択し、「ファイル」>「情報を見る」を選択すれば確認可能ですが、これはご存知でしょう。マウントされているすべてのドライブを素早く確認するには、Serverアプリのストレージ画面を使用するのが最も簡単です。Serverのサイドバーでサーバー名をクリックし、「ストレージ」ボタンをクリックします(図2)。
図 2:サーバーのストレージ画面で、マウントされているすべてのドライブの空き容量を定期的に確認します。
サーバーの統計情報を確認する
空き容量は追跡すべき重要な指標ですが、メモリとCPU使用率も同様に重要です。特に、サーバーにユーザーがフルアクセスしている場合はなおさらです。このために、私はサーバー本体とアクティビティモニターという2つのツールを使うのが好きです。
サーバー統計
週に一度、サーバーの統計画面を確認することをお勧めします。サイドバーの「統計」をクリックするだけです。統計画面では、4つの指標と1時間から7日間までの期間で、サーバーの全体的なパフォーマンスを把握できます(図4)。
図 4: CPU、メモリ、ネットワーク トラフィックの使用状況を定期的に確認します。
統計画面で表示できるグラフ化された指標には次のものが含まれます。
- プロセッサ使用率:プロセッサ使用率が時折80~100%に急上昇する程度であれば、心配する必要はありません。しかし、長期間にわたってその範囲で推移する場合は、別のサーバーを立ち上げ、一部のサービスをそちらに移行することを検討してください(あるいは、ずっと欲しかったMac Proへの移行も検討してみてください。第1章「RAMの増設または新サーバーの購入時期」の補足記事をご覧ください)。また、夜間にサーバーがあまり使用されていない時間帯に過負荷状態になっている場合は、アクティビティモニタで暴走プロセスを探してみてください。
- メモリ使用量:制限内で利用可能なメモリを常に使い切るには、RAMを増設するのが解決策です。しかし残念ながら、この制限は厳しく、Macに増設できるRAMの容量には限りがあります。RAMが上限に達した場合、負荷を軽減する唯一の方法は、一部のサービスを別のサーバーにオフロードすることです。
- ネットワークトラフィック:ネットワークの設計やサーバーの設定によっては、ネットワークトラフィックのグラフが過剰な使用率を示している場合、できることは限られるかもしれません。あるいは、合理的にできることが限られているかもしれません。古いケーブルやギガビット以前のイーサネットスイッチを交換したり、サーバーに複数のネットワークアダプターを追加したりすることは可能ですが、作業環境の物理的な状況によっては、困難または高額になる可能性があります。
- キャッシュ バイト数:この画面には、キャッシュ サーバーがインターネットから受信するデータとクライアント デバイスに送信するデータの量が表示されます。
アクティビティモニター
サーバーの統計画面は、サーバー上で何が起こっているかを履歴で確認するのには便利ですが、現在何が起こっているのか、あるいはどのプロセスが何らかの問題を引き起こしているのかを把握するのには全く役に立ちません。そのためには、OS Xにデフォルトでインストールされているアクティビティモニタをご利用ください/Applications/Utilities
。
アクティビティモニターでは、主にCPUとメモリのパネルを見ています。上部のボタンをクリックして切り替えます(図5)。何が起こっているかを把握するには、CPU画面の「%CPU」列ヘッダーまたはメモリ画面の「メモリ」列ヘッダーをクリックして、プロセスリストをその列で並べ替えます。CPU使用率とRAM使用量が最も高いプロセス(最も多くのメモリを消費しているプロセス)を一番上に表示するには、もう一度クリックする必要があるかもしれません。
図 5:アクティビティ モニターを使用してメモリ使用率を確認する。
その他のペイン (エネルギー、ディスク、ネットワーク) は、問題に関する洞察をときどき提供できますが、CPU やメモリほど有用ではありません。
主要サービスのスキムログ
OS Xのような現代のUnixベースのオペレーティングシステムは非常に頻繁にログに記録され、トラブルシューティングのためにあらゆる種類のメッセージやエラーが記録されます。OS X Serverの様々なサービスを実行するアプリケーションも同様です。特定のサービスに問題がある場合は、必ずそのサービスのログを確認してトラブルシューティングを開始してください。
しかし、ログを定期的にスキャンして、あなたやユーザーがまだ気づいていない何かが起こっていないか確認することも重要です。とはいえ、エラーについてはあまり心配する必要はありません。Unixアプリケーションは冗長なため、多くの「エラー」は通常の使用には無関係です。不明な場合は、エラーテキストでGoogle検索を実行してみてください。サーバー名など、サーバー固有の情報は削除してください。他のユーザーが同じエラーについて議論していて、同じエラーテキストが含まれている場合は、それらのページが、それが興味深いデータなのか、それとも単なるノイズなのかを判断するのに役立ちます。
プロセッサとメモリの使用状況と同様に、Serverにはログ画面があり、各サービスのログとシステムログをわかりやすく表示します。週次チェックにServerのログ画面を使用しても問題ありませんが、問題の原因究明には、OS Xにバンドルされている別のユーティリティであるコンソールを使用することをお勧めします/Applications/Utilities
。
Console は Server よりも優れたログビューアです(Server のように検索語句のみを検索するのではなく、検索語句に一致するログエントリのみにフィルタリングできる点が大きな利点です)。また、ログエントリを同じ時間枠内の類似イベントと関連付ける際にも役立ちます。多くの問題は、OS X Server の外部にある別のサービスやプロセスによって発生するため、これは重要なポイントです。
各サービスには、検索対象となるパターンが異なります。mdworker
ほとんどのログで最も頻繁に表示される で始まるエントリは、Spotlight がドライブのインデックスを作成していることを示しています。そこに問題があっても、おそらく無視して構いません。図 6servermgrd
に示す には、グローバルサービスに関する情報が含まれており、Server のほとんどのログは、影響を受けるサービスによって呼び出されます( の一部でない限り)。servermgrd
図 6:コンソール アプリを使用してログを表示します。
関心のあるログエントリを特定したら、Google検索でそのエントリの意味を推測できるものがないか確認してみましょう。それでも見つからない場合は、先ほど紹介した「追加リソース」のいずれかで質問してみてください。
審査済みのソフトウェアアップデートをリリースする
ソフトウェア更新サービス (第 12 章の「ソフトウェア更新サービスを構成する」を参照) を実行している場合は、ユーザーが週末や水曜日の朝などに更新が表示されることに慣れることができるように、ソフトウェア更新を定期的にユーザーにリリースすることをお勧めします。
バックアップを確認し、バックアップメディアをローテーションする
バックアップにおいて最も重要なのは一貫性です。何年も前に、バックアップ戦略を適切に実行していることを確認するためのチェックリストを作成しました。このチェックリストは、以前勤めていたコンサルティング会社や多くの元クライアントで今でも活用されています。
まず、バックアップログをチェックして、スキップされたファイルがないか確認します。次に、オフサイトのバックアップドライブをローテーション(またはテープを交換する、あるいはクラウドストレージの容量が減っていないか確認)するように指示されます。また、このチェックリストでは、バックアップしたデータのリストアをテストして、バックアップが正常に機能しているかどうかを確認することで、私の正直さを維持しています。
どの環境にも、あなたにとって重要だと考える特定のものがあります。自分にとって何が重要かを決め、毎週チェックリストを作成しましょう。
月間タスク
週単位のスケジュールは、一部のタスクには過剰です。したがって、毎週発生する可能性は低いが、定期的に実行する必要があるタスクについては、毎月決まった時間に数分を確保することを検討してください。
監査ユーザー
ユーザーが退会した場合は、セキュリティホールとなるのを防ぐため、アカウントを無効化する必要があります。ただし、これらのアカウントをシステムに無期限に保持しておくことは避けるべきです。そのため、約1か月の冷却期間を経た後、無効化したアカウントを削除することをお勧めします。
パスワードの変更
これは個人的な好みの問題であり、複数の人がサーバーにアクセスできる状況では特に重要ですが、サーバーを定期的に管理できるアカウントのパスワードは変更することをお勧めします。環境によっては毎月のパスワード変更は過剰かもしれませんが、少なくとも四半期に一度は変更することをお勧めします。
このようなサーバーのセットアップが完了するまでに、ディレクトリ管理者ユーザー、ローカル管理ユーザー、ルートユーザー、ローカルネットワークユーザーなど、管理者権限を持つアカウントが作成されている可能性があります。セキュリティ上の理由からパスワードを変更する場合は、これらのアカウントと、サーバーを管理できるその他のアカウントのパスワードも変更する必要があります。
年間タスク
最後に、極めて頻度の低いタスクについて触れます。例えば、毎年1月に必ず行う必要があるというわけではなく、年に1回程度で済むようなタスクです。
プッシュ通知証明書の更新
Apple Push Notifications の証明書は2年ごとに更新する必要があります。アラートを設定している場合(第3章の「アラートの設定」を参照)、その旨を通知する定期的なアラートが届きます。
更新は簡単です。「サーバー」タブで、サイドバーのサーバー名をクリックし、「設定」ボタンをクリックします。「Appleプッシュ通知を有効にする」の「編集」ボタンをクリックし、「更新」をクリックします(図7)。
図7: Apple Push Notifications証明書の更新
証明書に関連付けられたApple IDの認証情報の入力を求められます。入力し、「OK」をクリックしてプロセスを完了してください。
サーバーのドライブを保守する
ドライブのメンテナンスは、脳の健康を保つためにオメガ3を摂取するようなものです。サーモンはいくら食べても食べ過ぎはよくありませんが、ディスクのメンテナンスは頻繁に行うと、ディスクユーティリティの「アクセス権の修復」や「ディスクの修復」オプションを使いすぎる人もいます。
これらのメンテナンスツールは、サーバーでパーミッション(Appleソフトウェアのみ。「アクセス権の修復」はサードパーティ製ソフトウェアには影響しません)に起因する問題やディレクトリ破損が発生している場合にのみ、一般的にお勧めします。とはいえ、問題が予期せず発生していないことを確認するために、これらのツールを年に1回程度使用することは価値があります。ドライブのメンテナンス手順を実行する前に、必ず完全なバックアップを作成してください。
サーバーを再起動する
3年間サーバーを再起動していないクライアントがいるにもかかわらず、コンピューターは定期的に再起動する必要があります。特定のハウスクリーニングルーチンはサーバーの再起動時にのみ実行されるため、少なくとも年に一度、誰も使用していないときにサーバーを再起動してください。この操作は月に一度行うこともできますし、サーバーの動作に少しでも不具合を感じたら再起動するだけでも構いません。
サーバーをクリーンアップする
本書の締めくくりにこんなことをするのは奇妙に思えるかもしれません。しかし、これは本当に重要なことであり、想像以上に重要です。埃はコンピューターに入り込み、ロジックボードを覆い、ファンを塞ぎ、システムを過熱させ、最終的には故障を引き起こします。ですから、年に一度くらいはサーバーをシャットダウンし、開けて、圧縮空気でしっかりと掃除しましょう。(ついでにMacも掃除しましょう!)
また、この機会にサーバーの周囲を掃除機で掃除し、吸い込みやすい埃を少なくし、サーバーに接続されているケーブルを整理して、うっかり外れてしまうのを防ぎ、周りの雑然としたものを片付けることをお勧めします。少なくとも、サーバーを物理的にも仮想的にも大切に扱っていることを相手に示すことができます。