セーフコンフィグ「安全な設定(Safe Configuration)」について
Meraki デバイスにはセーフコンフィグ「安全な設定(Safe Configuration)」の概念があります。
※以降セーフコンフィグと呼称
これはMeraki デバイスが安定的に接続できている、実績のあるコンフィグをMerakiデバイス内部に保存され、
以降、このセーフコンフィグがデフォルトの構成として利用されます。
こちらの記事は、Meraki ノード上に存在するセーフコンフィグについて理解を深めることを目的としております。
セーフコンフィグの概要
ダッシュボード上で変更された設定内容はダッシュボードに同期したタイミングでデバイス上にダウンロードされ、保持されるものとなります。
このとき、変更された設定をダウンロードした後、30分間再起動が行われなかった場合に対象の設定はセーフコンフィグとしてマークされ、次回再起動後にこの設定ファイルを読み込む動作となります。
※この時点で、セーフコンフィグとランニングコンフィングは同じものとなります。
一方、変更後30分以内に再起動が発生した場合、最後に同期された設定は上記のセーフコンフィグとしてマークされないため、
次回再起動後は最後にセーフコンフィグとしてマークされた設定内容を読み込み起動するものとなります。
よくあるパターンとして、導入前のキッティングなどで上記のセーフコンフィグとしてマークされていない状態で、デバイス再起動やオフラインとしてしまい、設定内容がキッティング前に巻き戻ってしまうなどです。
※セーフコンフィグが一つもない場合は工場出荷状態のものを使用します
※事例については後ほどの「よくある失敗事例」をご参考にください。
セーフコンフィグで起動した場合でも、デバイスがダッシュボードに同期したタイミングで、ダッシュボード上の最新のコンフィグがダウンロードされ、読み込まれるものとなります。
こちらについて、再起動後の同期まで10分〜1時間ほどかかる場合がございます。
お急ぎの場合、他の箇所の設定変更を行うことで最新の状態が反映される場合がございますが、
多くの場合自動的にダッシュボードの最新の状態を反映していくものとなります。
セーフコンフィグに保存されるまでの時間は?
安定的な接続の実績としてサポートより1時間や2時間、4時間など回答に差がある場合があります。
これはモデルによってセーフコンフィグになるまでの時間が異なるほか、デバイスがダッシュボードに同期したタイミングで、ダッシュボード上の"最新の設定がデバイスに読み込まれて"から、タイマーがスタートするためです。
そしてタイマーがスタートした後で行われる、"次回"の設定の同期時にセーフコンフィグとして保存されます。
上記により、セーフコンフィグに保存されるまでに、30分以上の時間がかかることが想定されます。
そのため、確実にセーフコンフィグに保存されるように、安全をみて1時間〜4時間とサポートから案内を行う場合もあります。
公式のドキュメントには30分と記載があるが。。。
公式のドキュメントでは、下記のように記載がありますが、これは説明としては不十分な内容ではありますので、確実にセーフコンフィグとして構成したい場合には上記を参考にホールドタイムを確保いただけますと幸いでございます。
Note: 安全な構成とは 、「デバイスがクラウドに接続されており、構成変更後 30 分間再起動されていない」ことを意味します。つまり、安全な構成とは、デバイスがクラウドから受信した最後の構成であり、その後 30 分以内に再起動されていません。
新しいコンフィグが反映されない
Meraki デバイスはセーフコンフィグを使用しており、構成の変更によってデバイスがオフラインになったり再起動したりした場合に、最後の正常な構成ファイルとして、セーフコンフィグに戻る動作を取ります。
※一連の動作をコンフィグの検証とされています
この時、ダッシュボードからダウンロードした新しいコンフィグに「問題」があると判断された新しいコンフィグはバットコンフィグとみなされます。
バットコンフィグでは、ランニングコンフィグおよびセーフコンフィグになれません。
この時、ダッシュボード上の設定ステータスはOut of date (reverted to safe config) になります。
セーフコンフィグが消えることはあるの?
工場出荷時設定にリセット(初期化)すると前述の構成ファイルがすべて削除され、プロセスが新規として開始されます。
これ以外ではセーフコンフィグが削除されることはありません。
よくある失敗事例
以下、工場出荷状態からのダッシュボードを使ったキッティングを想定
検証環境と現場環境のサブネットが違うことを想定
1、事前キッティングの際に、ダッシュボード上で構成しオンラインとせずに実装した
→デバイスには設定はダウンロードされていないため、初期状態で起動します。
2、事前キッティングの際に、オンラインとしたが、セーフコンフィグに保存される前にオフラインとした
→セーフコンフィグがないため、初期状態で起動します。
3、事前キッティングの際に、検証環境の構成でオンラインを維持しセーフコンフィグに保存、出荷前に現場環境の構成に変更しホールドタイムを設けずオフラインにした
→セーフコンフィグには検証環境の構成となり、現場環境では検証環境の構成で起動します。
4、事前キッティングの際に、検証環境の構成でオンラインを維持しセーフコンフィグに保存、検証環境で出荷前に現場環境の構成に変更してホールドタイムを設けてから実装した。
→検証環境と現場環境のサブネットが異なり、Out of date (reverted to safe config) となり、セーフコンフィグとして保存されず、セーフコンフィグには検証環境の構成で起動します。
セーフコンフィグが保存されるまで待ちたくない! [打開策]
MRに固定IPアドレスを割り当てたい場合を想定
最も確実な方法としては、ローカルスタータスページに直接設定を行うことです。
ローカルステータスページの設定内容はセーフコンフィグとは別で管理されており、ローカルコンフィグとして使用されます。
Using the Cisco Meraki Device Local Status Page - Cisco Meraki Documentation
https://documentation.meraki.com/General_Administration/Tools_and_Troubleshooting/Using_the_Cisco_Me...
ゼロタッチで実装したい場合、現地環境にキッティング用のDHCPサーバーを設け、ダッシュボード上に投入したい構成を事前に設定いただくことです。
現地環境でオンラインとなり次第設定が反映され、そのまま現地環境で稼働させる方法です。
キッティング用のDHCPサーバーは以後撤去で問題はありません。
あるいは、実装環境にDHCPサーバーを実装している場合、DHCPサーバーから固定IPアドレスを払い出すことでも、ゼロタッチでの構成が可能です。
関連するドキュメント
Cisco Meraki クラウドへの接続が失われたときの動作 - Cisco Meraki ドキュメント
https://documentation.meraki.com/General_Administration/Cross-Platform_Content/Behavior_during_Conne...