これから始めるインフラエンジニア2

まずネットワーク機器を買ってきたら、最初にすることは家の掃除です。ネットワークを張り巡らせるスペースを作りましょう!

おっと違った、これはガチ運用するときの話だ。

まあ、スイッチを設置したら、とりあえずIPアドレスをセットアップして、管理画面を眺めましょう。たぶん、TCP/IPのお勉強をIPアドレスとは何か~とかOSI参照モデルとは~とかそういう感じでしか記憶がない場合、そもそもこの管理画面で訳が分からなくなること請け合いです。

インフラ屋からするとまあ普通だね、という感じではありますが、それまでがスイッチングハブとブロードバンドルータの世界の人が、たかがハブごときの設定画面にこんな項目あったらわけわかんなくなるんじゃないでしょうか。どうなんでしょうね? 初心は忘れ去るほど昔のことなのでわからないうえに、そもそもGUIなんかなかったから私はGUIを初めて見たとき、「ナニコレすげえ楽じゃん」ってなったんですけど。

まあ下手なブロードバンドルータや無線LANアクセスポイントより設定用の項目が多いですね。全部を理解できる必要はないですが。

とりあえず、IPを設定します。この機器だと、IP Configuration。StaticやDHCPのほかにBOOTPも対応しています。まあいきなりBOOTPサーバが動いているご家庭もないかとは思いますので、素直にStaticあたりで。DHCPで設定しちゃってもいいんですが、VLAN切ったり何かとスイッチの設定画面は見ることが多いので、Staticで見れたほうが楽です。DHCPで動的にする場合は、NetGearさんのクライアントツールとか使ってネットワーク上を検索してアクセス、みたいな流れですが、余計な手間なのでIPを振っています。もちろん、DHCPで固定的に振れるならそれでもかまいませんが、得てしてネットワーク設定ミスってDHCP届かない、なんてことはまれによくあります。

同時にManagement VLAN IDも入れます。たいていvlan1やVLAN ID末尾を使うとこが多いとは思います。別に好きなvlan id使えばいいんですが、そもそもまだVLAN切ってもいないでしょう。IPv6はひとまず横に置いておきます。

次に、SNTPをセットアップします。SNTPとは、NTPからいくつかの機能をそぎ落としてシンプルにしたNTP互換プロトコル。NTPの階層構造なんかを取っ払ったもので、相互にやり取りできるもの。ネットワーク機器なんかは主にこのシンプルなSNTPが用いられます。NTPとの大きな違いはStratumが組めないことでしょうが、ご家庭内にNTP階層構造持たせるとか流石にないでしょう。適当なインターネット上のNTPサーバから時間を取得してもよいですし、ちょっといいルータなんかを使っている場合は、そのルータがSNTPサーバにもなれたりします。できるだけ、システム全体、あるいはネットワーク全体に提供できるNTP/SNTPサーバはどこかに一つ、作ったほうが良いです。

時刻補正の基本は、代表の一人が取りに行って時間を合わせたら、そのネットワーク内ではその代表に合わせる、というのが筋です。全員が全員、インターネット上のNTPサーバに取りに行くのはやめたほうが良いでしょう。問い合わせ先のNTPサーバの負荷が上がるからね。なんだその程度、って思うかもしれませんが、過去に実際これで提供をやめたインターネット上のNTPサーバも存在しますし、たとえ相手に余裕があったとしても、一人ひとりがそういうことに気を配ることによって、そういった事態を生み出さない、というのが大事です。

これは、結局のところ、それによって相手がサービス提供をやめてしまう、といったことが起きてしまえば、迷惑をこうむるのは結局自分なのです。このくらいいいだろう。の精神はインターネットでは推奨されません。その結果は自分自身だけでなく、多くのネット上のユーザーも巻き込んで、多大な迷惑を生み出すためです。インターネット、というものが現状誰かによって提供されているわけではなく、利用者全員によって作り上げられたネットワークである、ということをともすれば現代では忘れがちなので、少なくともインフラの人間はそれを意識していることが肝要ではないかなと思います。

SMTPサーバに気をつけろ、というのもこの辺が理由だったりします。

同様にDNSもセットアップします。これもできればルータなどのフルリゾルバを利用しましょう。まあ、Googleの8.8.8.8が簡単に死ぬとも思えませんが、だからと言って死んでほしいわけではありません。

SystemタブにはほかにもDevice ViewやLicense、SNMP、LLDP、Servicesなどが並びますが、ひとまず横に置いておきます。SNMPはやりたいとこですが、そもそもSNMPを取り扱う子がまだいません。
なので、あとはSecurityタブのUser Configurationでパスワードでもデフォルトから変えておきましょう。その後、各タブにどんな設定があるのかはさらっと見ておくといいかもしれません。

同様に8ポートのアンマネージドプラスのほうも似たような内容でセットアップしておきます。

ここから、各スイッチを接続して、まずはVLANを組みたいところなのですが、VLANがその力を発揮するのは、本来は複数の端末が存在するケースです。この時点で、すでに2台以上の端末が手元にあるならばテストできますが、なかなかそうもいかないでしょう。

そこで、最初にやっておくのはSTPとLAGGを組んでおきます。

24ポートスイッチで、Port23/24あたりを一つのLAGGとしてセットアップします。
Switching->LAG->適当なchannelを選びます。Port Selection Tableを開き、Port 23/24にチェックを入れます。ついでにLAG Nameも好きな名前に変えておきましょう。ちなみにPort25/26はSPFのポートで、23/24との排他使用となります。ご家庭なのでとりあえず忘れておいて大丈夫です。光ファイバくらいあるよ?って方は使用してください。

Applyを実行すると、Port 23/24はLAGメンバーとなり、一つのLAGを形成します。うっかりUnit 1の左のチェックボックスにチェックを入れると、全ポートが選択されるので注意。

デフォルトでは構成したLAGはStaticとなります。GS724Tでは、LAGはStaticのほかにLACPにも対応しています。どちらを用いるのかは、対向(接続先)となるスイッチのサポートするLAGのプロトコルと合わせます。

さて、LAGとは何か、ですが。まず、これは複数のネットワークポートの結線を「一つの線」であるかのように見立てる技術です。こうすることで、束ねた本数分のネットワーク結線を通信に利用します。この場合、二本を束ねるので2Gbpsの帯域を形成してくれます。もちろん、3本、4本と増やせばその分帯域は太くなります。ただし、これは仮想的なデータ転送帯域の話で、物理上は当たり前ですが、一本一本の線は1Gbpsまでのデータ転送能力しか持ちません。あくまで、パケットをバランシングしながら複数のポートを用いて相手側に送り出すことで、見かけ上それ以上の速度が出ているかのように見せる、ということです。

例えば、これから購入するであろうストレージサーバは、ネットワーク内のすべての端末からデータの参照を受けます。つまりアクセスは集中しやすいわけで、当然より大きなデータ転送帯域があることが望ましくなります。10Gbpsなどのより広帯域なインターフェースに切り替えるというのも一つの手ですが、これはスイッチ側にも同様のポートが存在しなければなりません。それが望めない場合、複数のインターフェースを束ねて、より大きな転送帯域を持たせる形で、アクセスに対する転送帯域を確保する、といったことを行うわけです。

もちろん、そのためにはストレージ側にもより多くのインターフェースが必要になるのと、スイッチ側のポートもたくさん使ってしまうので、素直により高い帯域を持つインターフェースとスイッチにするのでもいいんですが、まだまだ今回利用しているようなスマートスイッチ(インテリジェントスイッチ)では10Gbpsは高額です。

LAGは基本的に常にActive-Activeの構成で動作するもので、Active-Standbyにはなりません。

で、どっちがいいんだよ、って話ですが、使えるならLACPにしてください。相手側スイッチが非対応ならStaticで設定しなければなりませんが、LACPを理解する相手なら、LACPを用いたほうがいいです。Linuxなどでインターフェースを設定する場合はBondigと呼ばれ、こちらはもちょっといろいろ設定があります。

LACPだけではなく、Active-Standbyを構成するFault-Trelance(mode=1)などですね。この場合はスイッチではLAGを組みません。Linux側で送信インターフェースを片方しか使わないからです。通常は、mode=4のLACPでセットアップするでしょう。mode=0はいろいろトラップがあるので、使用は気を付ける必要があります。mode=0の場合はStaticLAGを設定しましょう。この辺はLinuxの学習で勉強していく必要があるところですが、そもそもスイッチを知らないとどれが何をするのか実はさっぱりわからないでしょうね。スイッチ同士だと基本的にStatic、もしくはLACPです。

LAGで遊んでみたい方は少なくともSpecificationにLAG(Static/LACP)とか書いてあるものを選びましょう。

で、これ何がありがたいかというと、スイッチ間のリンクを太くすることが出来る、というのが最大のメリットです。いくつかのスイッチで、アップリンクポートのみ帯域が大きいスイッチ(ギガビットだけど25/26アップリンクポートだけ10G)みたいなものがあるのも、同様の理由です。スイッチ間接続を行うポートだけ、帯域の大きなものにして、スイッチ間のパケット転送において輻輳を起こしにくくする、というのが基本です。特に基幹、と呼ばれるコアネットワークは、そのシステム全体のネットワークトラフィックが最終的に集約され、再分配される箇所となりますので、その基幹を形成するスイッチのキャパシティは大きくしておきたい、というわけです。

もう一つは、冗長性の担保、ということになります。意外とネットワークスイッチのポートは壊れますので。LAGGを組んでるポートですと、片方引っこ抜いても通信は継続します。障害起きたから停止しました、というのと障害起きたけど低速化しながらも維持されています、ではどっちがいいか、というお話ですね。後者のほうがありがたいに決まっています。もちろん、発生に気づけなければ、最終的に両方壊れました、はありうるので、そのためにも監視機構と運用保守、というのは大切、ということになります。まあ、セーフティネット、というわけで、ここをけちると基本的には「いつか痛い目を見る」になります。もっとも、すぐに痛い目を見るわけでもないので、ムダ金じゃん、と言われることも多い部分ではありますが、実は最終防衛ラインとしてはかなり大切なことです。

 

次に、STPです。Spanning Tree Protocol。

こちらは何かというと、スイッチのポートダウンなどの障害、あるいはスイッチそのもののダウン時などの場合に、それを検出し、ネットワーク的な迂回路を形成するものです。これは、意図的にスイッチ間の接続をループ(あるいはメッシュ)として形成しておき、検出したループの原因となるポートを遮断することでループ状態を解消するとともに、到達不能を検出するとこの遮断していたポートを開けてネットワーク構造を自律的に再構成しなおす、という仕掛けです。

まあ中身は複雑ではあるんですが、とりあえず使う分にはそんなに難しくありません。

STPにはSTP、Rapid STP(RSTP)、Multiple STP(MSTP)などがあります。3台構成、といったシンプルなネットワークの場合は普通にRSTPで十分です。MSTPはVLAN毎に異なるSTPパスを構成する仕掛けで、VLANが複雑に入り組むネットワークではこちらを用います。VLAN毎で構成スイッチが異なっていて、ネットワークトポロジそのものがVLANによって異なっている、といったようなケースですね。STPはその初回のトポロジーツリーを形成するのに多少時間がかかってしまうため、それを高速化する目的で作られたのがRSTPです。それでも初期構成には少し時間がかかるので、スイッチのリブートなどをすると、スイッチが起動した後もしばらくはネットワークの疎通ができません。

RSTPが使用できるなら、RSTPにしておきます。RSTPはSTPとも下位互換があるので、STPしか対応しないスイッチがネットワークトポロジを構成していても問題はありません。その場合はSTPで収束させるだけです。

細かい説明は省きますが、やってることは単純に各ポートで専用のパケット(BPDU)を送り出し、どっかのポートから送り出したパケットがそのまま帰ってきたら、そのポートは循環している、と判断する、というような仕掛けです。で、このポート情報をスイッチ間でやりとおりし、「誰の」「どのポートを」止めるか決定して、循環しているトポロジをツリートポロジに収束させる、ということをやっています。もちろん、この時に優先度を定めておけば、優先的に止めるポートとか決めておくこともできます。面倒くさいんでやりたくありません。

さて、そんな感じでまずはスイッチを用いたトポロジを形成し、主要なスイッチ間リンクを設計、構築します。

ここまでやったら、とりあえずポート間結線表とか、スイッチのトポロジ図とかネットワーク構成図を描きます。図はVisioがあるならVisioが楽ですが、別にCacooとかでも描けますし、Network Notepadが好きだ、というならそれでもかまいません。NNは優秀なツールですが、見た目がとってもダサいので、顧客向けの図としては見栄えが悪い、ということもあって私はVisioとか使うことが多いですね。

説明資料に乗っける、とかだとPowerPointで書くこともあります。

結線表はもうふつーにExcelで。また、この時やっておいた方がいいのは、各スイッチ間を接続しているLANケーブルにはエフでもラベルでも何でもいいので、一定のルールに基づいた名前を付け、対向のどの名前のポートにつながっているかをケーブルにつけておくことです。Cisco流だとGi1/0/1とかのアレですねアレ。アレっていわれてもわかんないですよね。

これは要するに、Linuxでいうところのeth0とかと同じなんですが、スイッチにはスイッチのポート毎にそれを示す名前があったりします。これはメーカーさんごとによって違ったりします。で、GUIだとこの名前、出てこないことも多いです。実際にはコマンドでやるときに使ったりしますが、そもそもスタックしないスイッチならこんな長い名前である必要もなく…。

スイッチ名+ポート番号、くらいでも全然成り立ちます。

ネットワーク屋さんはこのためだけにテプラのエキスパートになっていきます。超物理の世界。仮想とかどこいったの世界なんですが、インフラとかネットワークの人はだいたいこの辺は常識、の世界でもあります。対向先がスイッチであるとは限らず、いわゆるパッチパネルにつなぐことも多いですね。

どこのご家庭にも一つくらいあってもいいんじゃないでしょうかパッチパネル。私は個人的にはパッチパネル結構好きなんですよね。あの配線がごちゃつく感じが、とても萌えます。

また、まだ一台もPCもサーバもつないでいませんが、この時点で配線計画も立ててしまいます。

どこにスイッチを置いて、どんなふうにケーブルを這わせて、地図(フロア図)とにらめっこして、じゃあケーブル長何メートル必要ですね。みたいなことはここで済ませます。本来は機材買う前に済ませますが、今から始める方が購入前に済ませられるとも思えませんので、ここでやりましょう。ですので、配置場所のお掃除もここで。

ここまでは適当にそのへんに転がして、適当なノートでもつないで設定ぽちぽちやって遊んでみてください。ここからは運用に向けて、実際の環境への落とし込みを開始するわけです。

ここで済ませてしまうのは、配置計画。それは、スイッチだけではなく、スイッチのどのポートをだれにつなぐか、どんなサーバを今後どれだけ導入し、どこにマウントして、どこと結線するか。を計画します。

ESXiモドキであるPROXMOXの導入なんかを検討するのであれば、この時点でProxmoxホストをまずは何台確保するのか、そしてポートはどことつなぎ、いくつポートを余らせておくのか。とかを計画しておきます。もちろん、計画通りにいかないことの方が普通ですが、ガイドラインを形成しておくことが大事です。その時、自分が何を考え、どうしようと思ったからこうなっているのだ、ということが明確に残っていることで、後々の拡張や変更時の助けになります。

例えば

・ストレージがポート2つ、LAGG

・Proxmoxホストを6台、各ポート2でそれぞれ独立、片方がマネジメントVLAN、もう一つがタグVLANで複数のVLANをアタッチ。

・監視系機器は独立したハードウェア、ポート1つ。Syslogもこいつに集約させよう

・PCが4台、各ポート1。うち一つはポート2個あるのでVLANxとVLANyにつなげよう

・PS4が一台、テレビが一台、それぞれポート1。VLANはxx

・ルータ1台、LAN側のLAN1:1でVLANxにつないでLAN1:2でVLANyと。

・無線AP1台、VLAN理解できない子なのでポートベースVLANにつなぐ

みたいな感じでイメージを固め、それぞれのポート配置なんかをざっくり落とし込んでいく感じですかね。この辺は結構楽しいところですね。あーでもないこーでもないってこねくって、最終的に思った通りに動くととてもうれしい(思った通りに行かないことの方が多いですが)。

これらは設計を基に結線表に落とし込んでいき、あとはその結線表をもとに結線作業を実施していきます。ここからただの肉体労働なので何も面白くありません。だるいだけです。その時考えてるのは、だいたい「誰だこんなめんどくさい配線計画立てた奴は。バカじゃねぇのか」ですが、立てたのは自分です。とにかく立ったり座ったりが繰り返されるので腰に来て、まともな理性などどこかへ吹き飛びますが、それでも床下配線とかするよりはずっとマシです。OAフロアの配線引き直しとかを深夜に一人でやってると本当に死にたくなります。電気工事屋に全部「おうやっといて」って言えると幸せなんですが、自宅の環境でそんな贅沢なかなかできないでしょう。

まあ自宅にOAフロアも多分ないでしょうけれど。

 

いやぁ、ネットワークって本当に楽しいですね!(虚ろな目をしながら