ネットワークスイッチ(Catalyst系)起動時の正常性確認

[1.なぜやるのか](#なぜやるのか)
[2.Layer1：物理層周り](#Layer1：物理層周り)
[3.Layer2：データリンク層周り](#Layer2：データリンク層周り)
[4.Layer3：ネットワーク層周り](#Layer3：ネットワーク層周り)
[5.参考](#参考)

#なぜやるのか
オンプレネットワーク機器は停電時や予期せぬ再起動が発生した場合など、故障している場合が結構起こります。
>そもそも起動しない
>起動しても、一部サービスが死んでいる(ルーティングやSTPなど)
>電源モジュールやFANなどサービスに影響していないところが死んでいる

これらの場合も懸念されるために、再起動した場合には「これだけはみておいたほうがいい」項目をコマンドと実行結果併せてまとめておきます。
OSI参照モデルのLayerの低い項目から確認していきますが、OSI参照モデルと使っているプロトコルが完全に一致していないのでご注意ください。（OSI参照モデルという言葉にご注意ください。）

今回は[Catalyst3850](https://www.cisco.com/c/ja_jp/products/switches/catalyst-3850-series-switches/index.html)を利用しています。

```
switch# show version
...
Switch Ports Model              SW Version        SW Image              Mode
------ ----- -----              ----------        ----------            ----
*    1 56    YYYYYYYYYYYY       16.6.7            XXXXXXXXXXXXXXXXXXXXX INSTALL
```

#Layer1：物理層周り
ここではHWレベルでの確認を行います。
version、FAN、電源モジュールなど

#### - バージョン確認
意図しているバージョンになっていることを確認します。
reloadのタイミングでバージョンが昔のものになっていることがあります。バージョンが異なるとStackが正常に組めなかったりするのでかなり重要です。isoバージョンアップしていなくても、起動したらまず`SW Version`確認したほうがいいです。

```
Switch# show version
... 
Switch Ports Model              SW Version        SW Image              Mode
------ ----- -----              ----------        ----------            ----
*    1 56    YYYYYYYYYYYY       16.6.7            XXXXXXXXXXXXXXXXXXXXX INSTALL
```

#### - 電源やHW周りの確認
起動のタイミングで故障しやすいHWが正常に稼働しているか確認します。
`Switch 1 FAN 1 is OK`や`FAN PS-1 is OK`、`SYSTEM TEMPERATURE is OK`、`Sys Pwr`、`PoE Pwr`などがOKまたは正常かどうか確認します。

```
Switch# show environment all
Switch 1 FAN 1 is OK
Switch 1 FAN 2 is OK
Switch 1 FAN 3 is OK
FAN PS-1 is OK
FAN PS-2 is OK

Switch 1: SYSTEM TEMPERATURE is OK
Inlet Temperature Value: 28 Degree Celsius
Temperature State: GREEN
Yellow Threshold : 46 Degree Celsius
Red Threshold    : 56 Degree Celsius

Hotspot Temperature Value: 55 Degree Celsius
Temperature State: GREEN
Yellow Threshold : 105 Degree Celsius
Red Threshold    : 125 Degree Celsius

SW  PID                 Serial#     Status           Sys Pwr  PoE Pwr  Watts
--  ------------------  ----------  ---------------  -------  -------  -----
1A  YYYYYYYYYYYYY       XXXXXXXXXXX  OK              Good     Good     715
``` 

#### - Stackの確認
StackケーブルやStackモジュールの不具合などでStackが正常に組めていない可能性があるので、こちらも早期に確認したほうがいいです。`Current State`や`Staack Port Satus`、`Role`が思い通りになっていること

```
Switch#show switch detail
Switch/Stack Mac Address : mm.mm.mm.mm - Local Mac Address
Mac persistency wait time: Indefinite
                                             H/W   Current
Switch#   Role    Mac Address     Priority Version  State
-------------------------------------------------------------------------------------
*1       Active   aaaa.aaaa.aaaa     10      V06     Ready
 2       Standby  bbbb.bbbb.bbbb     1       V06     Ready

         Stack Port Status             Neighbors
Switch#  Port 1     Port 2           Port 1   Port 2
--------------------------------------------------------
  1         OK         OK               1        2
  2         OK         OK               2        1

```

また、Stack-ringの設定まで確認できればなお安心です。Stackケーブルの接触不具合や設定が間違っている場合`Stack Ring Configuration`が`Full`になりません。

```
Switch# show switch stack-ring speed

Stack Ring Speed        : 480G
Stack Ring Configuration: Full
Stack Ring Protocol     : StackWise
```

#### - Power inlineの確認
PoE(Power over Etherne)をご利用の場合は、ポート先のホストに対して、電源が共有できているか、電源が足りているかなどを確認してあげる必要があります。

#### - logの確認
これは基本中の基本ですね。
変なところが確認できなくても再起動した際にはログを必ず見たほうがいいです。

```
Switch# show log
```

#Layer2：データリンク層周り
ここではLayer2技術周りの確認をしていきます。
STP, VTP, VLAN, PortChannelなど

#### - VTPの確認
VTP（VLAN Trunking Protocol）を利用されている方はVTPがちゃんと機能しているか確認が必要です。
`VTP version running`や`VTP Operating Mode`が意図しているものになっているかを確認します。

```
Switch# show vtp status
VTP Version capable             : 1 to 3
VTP version running             : 3
VTP Domain Name                 : <DOMAIN NAME>
VTP Pruning Mode                : Disabled
VTP Traps Generation            : Enabled
Device ID                       : mmmm.nnnn.llll

Feature VLAN:
--------------
VTP Operating Mode                : {Primary Server, Client, Trans Parents}
```

#### - STPの確認
STP(Spanning Tree Protocol)を利用している場合は、ステータスを確認します。
blocking portの数やポートが意図しているものになっているかを確認します。

```
Switch# show spanning-tree blockedports

Name                 Blocked Interfaces List
-------------------- ------------------------------------

Number of blocked ports (segments) in the system : 0
```

#### - CDPの確認
Cisco独自のプロトコルであるCDP（Cisco Discovery neighbors）を確認しましょう。
これで隣接のノードが見れない場合はLayer2以下のトラブル(ケーブル障害など)が疑われます。
対向機器のポート番号も確認できるので、CDPだけでネットワーク物理構成図もなんとなくわかります。

```
Switch# show cdp neighbors
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
                  S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone,
                  D - Remote, C - CVTA, M - Two-port Mac Relay

Device ID        Local Intrfce     Holdtme    Capability  Platform  Port ID
Core-Switch      Gig 1/0/9         156        S I         WS-C3850  Gig 1/0/1
```

#### - PortChannelの確認
PortChannelを利用している場合は、意図した状態になっているかを確認します。
`Ports`が`(P)`になっていれば問題ないです。(S)や(D)などになっている場合は、何かしらの影響でネゴシエーションが完了していないことが考えられます。
例えばプロトコルが違っていたり、物理的な配線の問題であったり。。。
詳しくは[PortChannleの設定](https://www.infraexpert.com/study/etherchannelz3.html)を確認してください。

```
Switch# show etherchannel summary
Flags:  D - down        P - bundled in port-channel
        I - stand-alone s - suspended
        H - Hot-standby (LACP only)
        R - Layer3      S - Layer2
        U - in use      f - failed to allocate aggregator

        M - not in use, minimum links not met
        u - unsuitable for bundling
        w - waiting to be aggregated
        d - default port

        A - formed by Auto LAG


Number of channel-groups in use: 1
Number of aggregators:           1

Group  Port-channel  Protocol    Ports
------+-------------+-----------+-----------------------------------------------
1      Po1(SU)         LACP      Gi1/0/23(P) Gi1/0/24(P)
```


#### - interfaceの確認

```
Switch# show interface status
Port      Name               Status       Vlan       Duplex  Speed Type
Gi1/0/1                      connected    trunk      a-full a-1000 10/100/1000BaseTX
Gi1/0/2                      notconnect   10           auto   auto 10/100/1000BaseTX
...
```



#Layer3：ネットワーク層周り
ここではLayer3技術周りを確認していきます。
Routing tableなど

#### - OSPF(v3含む)の確認
OSPFの広報ができているか確認します。

```
Switch# show ip ospf neighbor

Neighbor ID     Pri   State           Dead Time   Address         Interface
<Router ID>       0   Full/           00:00:00:39 xx.xx.xx.xx     GigabitEthernet1/1/1 
...
```

#参考
[PortChannleの設定](https://www.infraexpert.com/study/etherchannelz3.html)