東證交易系統大當機過程示意圖:2020年10月1日早上7:04,東京證交所Arrowhead證券交易系統中,用來儲存共用資料(例如用戶資訊)的NAS系統1號主機發生記憶體模組故障①,預設的NAS備援自動切換無效②,得存取NAS系統的股市行情發布系統無法送出資訊,交易監視系統螢幕異常③,東證在8:36展開人工切換作業④,因為無法預期復原時間,東證決定中止全部交易,在8:39正式對外公告早上交易全面中止。因為交易監視系統無法執行交易系統關機程序⑤,改在8:56直接切斷交易系統對外網路⑥,最後順利在9:26完成切換到2號主機恢復NAS,但只有少數券商,有能力重新發送在8:56前上傳的委託單,東證在11:45決定一整天的交易都全面中止。(iThome整理製表)

全球第三大規模的東京證券交易所(簡稱東證),突然在10月1日早上開市前發生系統大當機,甚至緊急宣布中止了一整天東證所有股票的交易服務,3,700多家公司的股票買賣都全部停止,向來一天平均高達3兆日元的股票買賣也都全泡湯了,甚至有3家預計當天上市掛牌的企業也因此而延期。

不只是東證交易服務停擺,連帶採用東證交易資訊的札幌證券交易所、名古屋證券交易所、福岡證券交易所都因此同步停止了當日股票交易。只有以衍生性金融商品市場為主的大阪交易所依舊正常。

突如其來的全日服務中止宣布,不只衝擊日本股市,各國證券交易市場也大受影響,打亂了不少投資者的計畫。

這起十一大當機事件,不只是東證20年來,最嚴重的交易系統事故,甚至是東證有史以來第一次,全天停止交易的重大事故。

東證上一次重大交易系統事故,是2005年11月的系統交易出錯事故,導致東證全面停止交易長達四個半小時,但也在當天下午13:30後恢復。

當時東證的交易系統誤將一股61萬日元的售價,錯誤標記為61萬股只賣1日元,東證發現異常爆量交易後,才驚覺出錯而緊急停止交易,後來,東證總裁還因此400億日元規模的錯誤交易而辭職下臺。另一起全面停止交易的重大事故是,2006年1月日本Livedoor公司因醜聞而出現巨量交易,幾乎塞爆交易系統,但東證也只是宣布,停止當天下午的全面交易而已。

過去這兩起事故,都促成了東證後來重新改造核心證券交易系統,在2010年啟用了第一代證券交易系統Arrowhead,並在2015年進行了一次大改版,升級到第二代,去年11月再次完成一波軟硬體大升級,就是目前使用的第三代Arrowhead證券交易核心系統。

最新版的Arrowhead證券交易系統,採用了超過350臺2U雙路伺服器組成叢集,不只大幅強化了效能,還在核心交易系統上,採取了三重冗餘、持續鏡射的備用伺服器設計,來保護在記憶體中處理的大量高頻交易資料。

東證過去那2次重大IT事故,都是開市後才發現出狀況,緊急宣布關市,然而,在今年10月1日這一天,早在9點開市之前,東證就發現交易系統出狀況,但最後,仍舊不得不宣布全日取消交易。2周後,10月19日,東證更詳細的事故調查報告出爐,造成大當機的導火線,竟是Arrowhead產品文件上的參數功能描述錯誤。為什麼?這個錯誤資訊,竟造成日本股市電子化交易20年來,第一次全日交易停擺的事故,這得從當天早上七點發生的事,開始說起。

 2020年10月1日 

 07:04 

東證發現大量系統錯誤通報,顯示NAS共享儲存系統中的1號主機故障。東證發現出錯,開始調查出錯原因。東證也發現內部交易監控系統螢幕無法顯示,定期發布的股市行情資訊也無法順利送出,例如證券公司沒有收到原訂7:00發布的行情資訊。證券公司也開始意識到股市行情資訊顯示異常。

 07:55 

向Arrowhead開發商富士通確認情況後,東證發現,問題出自NAS的1號主機中的記憶體模組故障,導致1號主機的控制機制失效,無法自動切換(SwitchOver)到備用的2號主機來接手,導致該座NAS系統無法運作,進而導致股市行情發布系統出狀況。

 08:00 

證券公司可以開始上傳委託買賣單。儘管股市行情發布系統故障,但處理買賣撮合的交易系統一切正常,也如常可以接收券商上傳的委託單。

 08:01 

東證發現許多券商沒有收到定期的股市行情資訊。也有不少券商發現自家行情資訊顯示異常。

 08:20 

ToSTneT盤外交易系統如常開始進行交易(例如,個別投資人可用前一天收盤價買賣)

 08:36 

診斷出問題後,東證開始進行人工切換到2號主機的作業,但是,因為無法確定何時可以完成2號主機的切換作業,因此依舊無法發布正確的行情資訊,8:36時,東證決定從9:00開市後全面停止交易,也開始向證券公司通知停止交易的訊息。

 08:39 

第一次公告,正式在東證網站宣布交易停止公告,也停止收單,先前上傳的買賣單則暫停。

 08:54 

依照東證的系統設計,正常作業時,需要透過內部交易控制螢幕,才能正常關閉交易系統。

但是,東證發現,這項作業需要存取NAS上的資料才能運作。因此,東證在8:54時決定,採取非正常流程的替代作法,直接關閉Arrowhead證券交易系統對外與交易參與者(如券商)間的網路,來阻斷委託單的傳輸,達到關閉交易的目的。

 08:56 

中斷證券交易系統對外網路,包括券商上傳委託單系統的網路和行情發布系統的網路都中斷。

 09:01 

第二次公告,ToSTNeT盤外交易系統也宣布停止交易。

 09:08 

第三次公告,宣布當日已發布的行情資訊無效。

 09:26 

東證成功完成手動切換作業,順利將NAS切換到2號主機,讓所有功能恢復正常。東證開始討論,是否要將核心系統重新開機,來恢復當天後續的交易作業。不過,對外網路雖然關閉了,但在8:54之前仍接收到大量委託單。因為負責撮合的核心交易系統正常,在9點之後,這些委託單已經完成撮合,每一張單的執行通知都累積在Arrowhead系統中,只是還沒有發送給那些送出委託的交易對象。東證判斷,從撮合處理角度來看,為了維持價格連續性,也能處理掉已經累積的執行動作,將證券系統重新開機是一個適當的作法。

所以,東證開始聯繫國內外的券商、交易參與者或相關業者,確定對方是否能重新上傳委託單,以及重新作業需要多少時間。但是,詢問後發現,只有少數交易參與者有能力重新上傳委託單。這個結果意味著,重新開機後,東證無法保證市場上的公平性和價格資訊的可靠性。

還有另外一個問題,重新啟動交易可能會造成一些混亂情況,例如券商已經接受的大量委託買賣單該如何處理?

 11:45 

東證決定整天交易全面中止,也發布第四次公告,宣布股市交易和ToSTNeT盤外交易都全天停止交易。東證也將故障的NAS系統1號主機的主機板(內建CPU和記憶體),整組換新,來確保隔天交易能夠正常運作,並將故障設備和相關日誌記錄,送到廠商端鑑定原因。東證也重新開機測試,確定1號主機和2號主機可以正常運作。

 14:30 

第五次公告首度揭露硬體當機,備援切換失敗導致行情資訊無法發布,將更換硬體確保隔日作業正常。也解釋為何決定全日停止交易,是擔心系統重開後,交易參與者難以順暢執行交易。

 15:01 

說明當日交易有效的買賣,如8:56前上傳至ToSTNeT盤外交易的委託單成交者有效。

 16:30 

召開事故說明記者會。東京證交所社長宮原幸一郎和負責核心系統的日本交易所集團(JPX)資訊長等人,出面說明事故過程和全天停止交易的理由。東證也在記者會上澄清,發生故障的NAS位於內部網路環境,沒有對外連線,東證系統也沒有遭遇到DDoS攻擊。宮原幸一郎也宣布,東證將負起市場影響的全部責任,不會對廠商求償。

 16:58 

說明隔日交易恢復後的作業基準值,例如前日價格計算基礎。

 19:25 

正式公告隔天恢復正常交易。

 10月2日 

 07:00 

確認系統重新開機後正常運作,在官網宣布當天交易正常進行。日本金融廳也要求東證提出檢討報告。

 10月4日 

東證調查事故原因後發現,Arrowhead所用的NAS系統1號主機的記憶體模組故障,維運團隊預期會自動切換到備用的2號主機,但沒有如預期發揮作用。原因是原有NAS主機所用的自動切換設定參數,在記憶體出錯不會自動切換。東證在10月4日,改導入自動切換的新參數設定,測試後發現,遇到類似故障時,自動切換功能可以正常運作。

 10月5日 

東證母公司日本交易所集團JPX宣布成立內部事故調查委員會(全部由外部董事組成),也公布第一份NSA故障調查結果,坦言NAS自動切換的參數設定出錯。JPX表示,將調查參數設定錯誤的原因。東證也已經在10月4日變更Arrowhead的NAS系統的參數,改為可自動切換的設定參數。

 10月16日 

東證向日本金融廳提交出事故檢討報告書。

 10月19日 

東證與系統開發商富士通,共同公布系統當機原因,解釋自動切換參數為何設定錯誤。東證也宣布要成立一個「再發防止策檢討協議會」組織,涵蓋交易參與者、投資者和系統廠商的組織,來提出防範類似事故再發生的對策。

Arrowhead系統所用NAS產品,是富士通OEM自NetApp的全快閃儲存陣列。

東證報告指出,在第一代Arrowhead系統所用的NAS機種中,自動切換採用的預設參數值是OFF,遇到故障會在15秒後切換到備用設備。

但是到了2015年升級為第二代Arrowhead時,第二代NAS機種的自動切換預設參數的功能已經變更,不像是第一代的OFF設定可以15秒後自動切換,第二代的OFF參數的功能則不會自動切換,得採用ON值才可以提供即時自動切換功能,因此,第二代NAS機種的預設參數也改為ON,而非第一代所用的OFF值。

可是,這個OFF參數值的功能異動資訊,富士通沒有同步更新到提供給東證的NAS操作手冊上。

東證坦言,雖然第二代Arrowhead所用的NAS機種自動切換的預設值是ON,但東證對NAS備援自動切換的要求標準是30秒內完成切換,為了怕影響Arrowhead證券交易系統,所以,東證繼續沿用第一代NAS的設定值,也就是OFF值。

因為當時,東證參考了沒有更新的手冊資訊,誤以為第二代NAS的這個「OFF值」,也可以提供15秒後自動切換的能力,當時就放心改用OFF值來作為NAS自動切換的參數。

到了2019年11月升級第三代Arrowhead時,第三代NAS的自動切換參數預設值和功能都和第二代一樣,也都是預設值是ON,而且OFF值沒有提供自動切換功能。而新版NAS操作手冊,也沒有修正,繼續套用前一版的錯誤資訊。所以,東證再度沿用的第二代NAS的參數,也就是OFF值,也仍舊誤以為可以做到15秒自動切換。

今年10月1日當天發生的記憶體故障事件,根據廠商事後查驗過事故主機的設備後,確定這是一起不可預期的硬體故障,但是,NAS系統在OFF參數設定下,不會自動進行切換,所以,才導致了Arrowhead的股市行情發布系統出錯的事故。

東證強調,第三代系統上線測試時,也有進行NAS備援測試,但只針對網路環境斷網時的NAS自動切換進行測試,他們坦言,要實測NAS設備內部記憶體硬體故障的自動切換不易,也相信富士通會做好產品出貨測試。

但是為何第三代NAS系統,改用手動切換時,手冊上說明可以在15秒內完成,但東證實際上花了近50分鐘才完成切換,甚至一開始還無法預估,何時可以完成切換,這是後來東證高層決定全面停止交易的主因之一。

因為,東證坦言,他們這個對於OFF值的錯誤認知,衍生了一個考量不足的作業設計。因為東證預期OFF值的設定可以做到自動切換,所以,在設計證券交易系統的中斷作業程序時,也是以NAS自動切換成功為前提,來設計所有的流程。

這就導致,在這次事件中,當NAS自動切換失敗時,也無法使用正常的中斷程序,得改用非預期的斷網措施,這帶來了其他的衍生問題,例如斷網前上傳的買賣單,已經完成撮合而回復困難的挑戰。

簡單來說,去年升級第三代系統時,NAS手冊資訊對Off值的說明仍舊是錯誤內容,沒有修正,導致東證繼續沿用第二代的參數,才在這次事故中釀災。

東證調查,負責開發Arrowhead系統的富士通,針對採用預設值參數的產品,有一套標準的出貨驗證機制,但是東證修改了預設參數值,廠商出貨人員只在文件上查驗產品規格是否符合東證的設計要求,而沒有針對這款NAS實機的實際參數來驗證,才沒有發現這個錯誤。富士通社長也公開道歉,並宣布嚴懲相關人員,修正錯誤手冊資訊,會檢討出貨驗證程序和文件內容異動的維護作業,也通知了所有使用這款NAS機種(型號ETERNUS NR1000 series,作業系統ONTAP 8.0以後版本)的顧客,徹查實際的參數設定。

 10月23日 

東證發布了「再發防止策檢討協議會」的第一次報告,除了針對這起事故,提出系統面檢討修正、針對股市交易停止相關作業的強化,也承諾會針對股市交易中斷後重起交易的相關作業,建立更明確的作業流程和相關資訊發布、溝通方式。

東證系統面未來對策

10月底完成所用NAS的系統參數設定的徹底檢查。11月底前重新確認所有自動切換機制的可用性。2021年1月前,完成NAS自動切換的相關實測,並持續進行其他自動切換備援測試。

東證作業面未來對策

10月底前重新檢討歷年遭成交易中斷的事故原因。11月底前建立必要的作業程序和規範,並且要開發一套不需要NAS的交易系統關機程序。2021年3月前,討論發生類似交易事故時該有那些必要規範,包括當天交易恢復的規範、交易恢復的作業流程、決定交易中斷或恢復的判斷標準、更理想的股市行情資訊發布方式等。

東京證交所十一大當機事故過程:2020年10月1日早上7:04,東京證交所Arrowhead證券交易系統中,用來儲存共用資料(例如用戶資訊)的NAS系統1號主機發生記憶體模組故障,預設的NAS備援自動切換無效,得存取NAS系統的股市行情發布系統無法送出資訊,交易監視系統螢幕異常,東證在8:36展開人工切換作業,因為無法預期復原時間,東證決定中止全部交易,在8:39正式對外公告早上交易全面中止。因為交易監視系統無法執行交易系統關機程序,改在8:56直接切斷交易系統對外網路,最後順利在9:26完成切換到2號主機恢復NAS,但只有少數券商,有能力重新發送在8:56前上傳的委託單,東證在11:45決定一整天的交易都全面中止。(iThome整理製表)


Advertisement

更多 iThome相關內容