2020-10-22 10:16 AM 2020-10-22 10:25 AM 更新
NCS5500 シリーズルータにおいて、OBFL flash の access に何らかの異常が発生した場合、以下のような syslog が 10分ごとに発生します。
下記のメッセージは、OBFL で使用している flash への write access が失敗しており、該当の file system が Read-only file system となっていることを示しています。
0/RP0/ADMIN0:2020 Jun 9 17:56:54.156 JST: mediasvr[2438]: %MEDIASVR-MEDIASVR-4-OBFL_FLASH_ACCESS_FAILED : OBFL flash access failed, error : Read-only file system
0/RP0/ADMIN0:2020 Jun 9 17:56:54.220 JST: mediasvr[2438]: %MEDIASVR-MEDIASVR-4-KERN_OBFL_MSG1 : obfl, kern msg : Kernel UBIFS error message in kernel log, check obfl flash.
0/RP0/ADMIN0:2020 Jun 9 18:06:54.159 JST: mediasvr[2438]: %MEDIASVR-MEDIASVR-4-OBFL_FLASH_ACCESS_FAILED : OBFL flash access failed, error : Read-only file system
0/RP0/ADMIN0:2020 Jun 9 18:06:54.183 JST: mediasvr[2438]: %MEDIASVR-MEDIASVR-4-KERN_OBFL_MSG1 : obfl, kern msg : Kernel UBIFS error message in kernel log, check obfl flash.
OBFL(on board failure logging) とは sysadmin VM 上の機能になり、リロード後も保持されるストレージに対して、以下のような環境情報などを定期的に記録する機能になります。
ASR9000 シリーズルータなど、その他の IOS-XR 機器も OBFL を使用している場合がありますが、アーキテクチャ等が異なっているため、本ドキュメントでは NCS5500 シリーズルータについてのみ記載します。
sysadmin-vm:0_RP0# show logging onboard ? Description: OBFL logging data Possible completions: diag_log OBFL Diag Logs Data information diag_result OBFL Diag Test Results information fabric OBFL FABRIC Data information fia_asic_init_fail FIA ASIC initialization failure information fmea OBFL FMEA Data information fpd OBFL FPD Data information inventory OBFL Inventory Data information np OBFL NP Data information nvram Dump nvram contents prm OBFL PRM Data information temperature OBFL Temperature Data information uptime OBFL Uptime Data information voltage OBFL Voltage Data information sysadmin-vm:0_RP0# show logging onboard voltage Thu Aug 13 01:41:03.687 UTC OBFL Voltage Information For : 0/RP0 ----------------------------------------------------------------------------------- VOLTAGE INFORMATION ----------------------------------------------------------------------------------- Time Stamp (UTC) | mVolts | Type | Scale | Sensor Name (ID) mm/dd/yyyy hh:mm:ss | ----------------------------------------------------------------------------------- 08/12/2020 17:22:34 593 0 8 CPU-ADM1166_VOUT_CH5 (32) 08/12/2020 17:22:57 595 0 8 CPU-ADM1166_VOUT_CH5 (32) 08/12/2020 17:24:43 592 0 8 CPU-ADM1166_VOUT_CH5 (32) 08/12/2020 17:25:09 594 0 8 CPU-ADM1166_VOUT_CH5 (32) 08/12/2020 17:33:30 596 0 8 CPU-ADM1166_VOUT_CH5 (32) 08/12/2020 17:34:23 594 0 8 CPU-ADM1166_VOUT_CH5 (32) 08/12/2020 17:36:03 596 0 8 CPU-ADM1166_VOUT_CH5 (32) 08/12/2020 17:36:27 594 0 8 CPU-ADM1166_VOUT_CH5 (32)
%MEDIASVR-MEDIASVR-4-OBFL_FLASH_ACCESS_FAILED が出力されている状況では、flash への記録ができていませんので、新規のデータを記録することができていない状態ということになります。
ただ、該当の flash は OBFL でのみ使用されていますので、メッセージが出力された場合でも、他の機能や通信への影響はありません。
Read-only file system になってしまう理由は多岐にわたり、S/W 起因で発生する場合も、H/W 起因で発生する場合もあります。
本ドキュメントでは TAC へ調査依頼を行う際のログと、一過性の問題であった場合に有効な復旧方法について記載します。
syslog は Read-only file system が原因であることを示唆していますが、それを実際に確認するためには、sysadmin VM 上で guest OS shell に入る必要があります。
以下が、その実施例です。
sysadmin-vm:0_RP0# run [sysadmin-vm:0_RP0:~]$mount | grep plog
/dev/ubi3_0 on /mnt/plog type ubifs (ro,relatime) <<< ro となっている場合、使用されている file system が read only であることを示します。
本件の事象に関して、TAC に問い合わせる場合は以下のログをあらかじめ取得してください。
kernel 上のログを確認することで、file system が read-only mode に至った原因を確認可能ですが
本ドキュメントでは、更に具体的なログの内容の確認方法については省略します。
sysdmin VM:
show platform
show install active summary
show inventory
show alarms
show logging
show tech-support os show tech-support HBloss show tech-support obfl show tech-support ctrace
※ show tech-support はファイルが生成されますので、そちらを取得してください。
run
mount | grep plog
S/W による一過性の問題で read-only mode に陥った場合などは、該当の file system の format で復旧させることができます。
format にあたっては、特に通信やその他の機能への影響はありません。
以下、復旧のためのコマンドリストと、コメント及び出力例付きのサンプルになります。
コマンドリスト:
sysadmin VM: run mount | grep plog ls -l /mnt/plog umount /mnt/plog/ mount | grep plog arp ssh 10.0.2.16 ubidetach -m 3 ubiformat /dev/mtd3 ubiattach -m 3 -d 3 ubimkvol /dev/ubi3 -N plog -m exit mount /dev/ubi3_0 /mnt/plog -t ubifs mount | grep plog ls -l /mnt/plog echo "test test" > /mnt/plog/test ls -l /mnt/plog/ cat /mnt/plog/test rm /mnt/plog/test ls -l /mnt/plog exit show processes all loc 0/RP0 | inc obfl process restart obfl_mgr location 0/RP0 show processes all loc 0/RP0 | inc obfl run ls -l /mnt/plog/ XR VM: show logging
実施例:
■事前確認 sysadmin-vm:0_RP0# run [sysadmin-vm:0_RP0:~]$mount | grep plog /dev/ubi3_0 on /mnt/plog type ubifs (ro,relatime) <<<<< 手順実施前に、対象の FS が ro であることを再確認 [sysadmin-vm:0_RP0:~]$ls -l /mnt/plog ---snip--- ■フォーマット手順: [sysadmin-vm:0_RP0:~]$ [sysadmin-vm:0_RP0:~]$umount /mnt/plog/ [sysadmin-vm:0_RP0:~]$mount | grep plog [sysadmin-vm:0_RP0:~]$arp ---snip--- [sysadmin-vm:0_RP0:~]$ssh 10.0.2.16 <<< host OS に接続 [host:0_RP0:~]$ ubidetach -m 3 [host:0_RP0:~]$ ubiformat /dev/mtd3 <<< 数分ほど、時間がかかる ubiformat: mtd3 (nor), size 18874368 bytes (18.0 MiB), 144 eraseblocks of 131072 bytes (128.0 KiB), min. I/O size 1 bytes libscan: scanning eraseblock 0 -- 0 % complete libscan: scanning eraseblock 1 -- 1 % complete libscan: scanning eraseblock 2 -- 2 % complete ---snip--- ubiformat: formatting eraseblock 143 -- 100 % complete [host:0_RP0:~]$ [host:0_RP0:~]$ ubiattach -m 3 -d 3 UBI device number 3, total 144 LEBs (18855936 bytes, 18.0 MiB), available 140 LEBs (18332160 bytes, 17.5 MiB), LEB size 130944 bytes (127.9 KiB) [host:0_RP0:~]$ ubimkvol /dev/ubi3 -N plog -m Set volume size to 18332160 Volume ID 0, size 140 LEBs (18332160 bytes, 17.5 MiB), LEB size 130944 bytes (127.9 KiB), dynamic, name "plog", alignment 1 [host:0_RP0:~]$ exit <<< sysadmin VM の guest OS shell に戻る ---snip--- Connection to 10.0.2.16 closed. [sysadmin-vm:0_RP0:~]$mount /dev/ubi3_0 /mnt/plog -t ubifs [sysadmin-vm:0_RP0:~]$mount | grep plog /dev/ubi3_0 on /mnt/plog type ubifs (rw,relatime) <<<< rw となっていることを確認 [sysadmin-vm:0_RP0:~]$ls -l /mnt/plog total 0 [sysadmin-vm:0_RP0:~]$ ■読み書き確認 & 書き込んだファイルを削除 [sysadmin-vm:0_RP0:~]$echo "test test" > /mnt/plog/test [sysadmin-vm:0_RP0:~]$ls -l /mnt/plog/ [sysadmin-vm:0_RP0:~]$cat /mnt/plog/test test test [sysadmin-vm:0_RP0:~]$rm /mnt/plog/test [sysadmin-vm:0_RP0:~]$ls -l /mnt/plog/ total 0 [sysadmin-vm:0_RP0:~]$exit <<<< sysadmin VM に戻る ■obfl_mgr process の再起動 show processes all loc 0/RP0 | inc obfl process restart obfl_mgr location 0/RP0 show processes all loc 0/RP0 | inc obfl run ls -l /mnt/plog/ ■10分以上様子を見た後、syslog の出力が止まるかどうかを確認 XR VM: show logging
上記手順で復旧しないようであれば、H/W 起因で発生した問題の可能性があります。
その場合、S/N と有効なサービス契約を使用し、記録した各種のログとともに、TAC へお問い合わせください。
検索バーにキーワード、フレーズ、または質問を入力し、お探しのものを見つけましょう
シスコ コミュニティをいち早く使いこなしていただけるよう役立つリンクをまとめました。みなさんのジャーニーがより良いものとなるようお手伝いします