專利名稱:控制系統(tǒng)和日志遞送方法
技術(shù)領(lǐng)域:
在本文中所討論的實(shí)施例涉及一種控制系統(tǒng)和日志遞送方法。
背景技術(shù):
通常,一些存儲(chǔ)裝置具有定期的日志遞送功能以定期地遞送日志(諸如關(guān)于裝置故障的信息) 作為日志文件。例如,具有定期的日志遞送功能的存儲(chǔ)裝置監(jiān)控已安裝的部件(諸如用于存儲(chǔ)數(shù)據(jù)的磁盤)中的故障或故障的征兆以獲取日志,并且基于已獲取的日志生成日志文件。然后,存儲(chǔ)裝置通過(guò)網(wǎng)絡(luò)將日志文件遞送至被稱為遠(yuǎn)程支持中心的維護(hù)中心。參照?qǐng)D20將描述存儲(chǔ)裝置中所包括的定期的日志遞送功能。圖20是示出存儲(chǔ)裝置的定期的日志遞送功能的示例的圖。圖20中所示的存儲(chǔ)裝置910至930各個(gè)包括定期的日志遞送功能,并且通過(guò)網(wǎng)絡(luò)連接至遠(yuǎn)程支持中心900。另外,在圖20中所示的示例中,假定對(duì)于存儲(chǔ)裝置910和920啟用了定期的日志遞送功能,并且對(duì)于存儲(chǔ)裝置930禁用了定期的日志遞送功能。每天,存儲(chǔ)裝置910將通過(guò)日志的獲取而生成的日志文件940遞送至遠(yuǎn)程支持中心900。另外,每周,存儲(chǔ)裝置920將通過(guò)日志的獲取而生成的日志文件950遞送至遠(yuǎn)程支持中心900。然后,在遠(yuǎn)程支持中心900的管理員分析日志文件以檢測(cè)代表在存儲(chǔ)裝置910至930中異常和故障征兆的報(bào)警的可能性。接下來(lái),參照?qǐng)D21將描述存儲(chǔ)裝置的日志獲取處理。圖21是示出存儲(chǔ)裝置的日志獲取處理的示例的圖。如在圖21中所示,存儲(chǔ)裝置910在其中包括8個(gè)控制器模塊(在下文中,被稱為CM)CM#0至CM#7。另外,每個(gè)CM包括主要(main)CPU#0 (中央處理器單元)和輔助(sub) CPU# I ο每個(gè)CPU管理故障信息的日志。另外,8個(gè)CM中的一個(gè)CM被設(shè)置為用作存儲(chǔ)裝置910中的主(master) CM。該主CM主管整個(gè)存儲(chǔ)裝置。另外,在圖21中所示的示例中,CM#0被設(shè)置為主CM。然后,作為主CM的CM#0中的主要CPU#0啟動(dòng)定期地獲取日志的處理,在所有CPU的日志獲取之后生成日志文件,以及使用遠(yuǎn)程支持功能將日志文件940遞送至遠(yuǎn)程支持中心900。另外,遠(yuǎn)程支持功能是CPU中所包括的與遠(yuǎn)程支持中心進(jìn)行通信的功能。另外,在以下描述中,主CM中所包括的主要CPU將被稱為主CPU。接下來(lái),參照?qǐng)D22將描述通過(guò)存儲(chǔ)裝置所生成的日志文件的格式。圖22是示出通過(guò)存儲(chǔ)裝置所生成的日志文件的示例性格式的圖。如在圖22中所示,主CPU在日志文件中存儲(chǔ)表示其自身日志文件的報(bào)頭部分和包括系統(tǒng)配置信息的配置信息。然后,主CPU從具有較小的CM號(hào)碼起以升序來(lái)存儲(chǔ)從每個(gè)主要CPU#0所獲取的日志,并且然后從具有較小的CM號(hào)碼起以升序來(lái)存儲(chǔ)從每個(gè)輔助CPU#1所獲取的日志。另外,就每個(gè)CPU的日志而言,主CPU以管理目標(biāo)的日志類型的順序來(lái)存儲(chǔ)日志。例如,日志類型被編號(hào)為(I)至(21),其是以施加在故障信息上的重要性的順序而布置的。另外,日志類型(17)作為缺失的號(hào)碼而保留。專利文獻(xiàn)1:第2010-152469號(hào)日本特開(kāi)專利公布
專利文獻(xiàn)2:第2011-158966號(hào)日本特開(kāi)專利公布專利文獻(xiàn)3:第6-324916號(hào)日本特開(kāi)專利公布然而,上述的相關(guān)技術(shù)具有可能丟失有用的日志的問(wèn)題。具體地,由于資源的原因,從多個(gè)存儲(chǔ)裝置接收日志文件的遠(yuǎn)程支持中心將從每個(gè)存儲(chǔ)裝置所接收的日志文件的大小限制為每個(gè)日志1.44MB。另外,由于遠(yuǎn)程支持中心的資源的原因,難以將該大小增加至超過(guò)1.44MB。出于此原因,存儲(chǔ)裝置不能遞送從每個(gè)CPU所獲取的日志信息中超過(guò)1.44MB的日志。例如,在存儲(chǔ)裝置被配置為包括2個(gè)CM (4個(gè)CPU)的情況下,在許多情況中定期的日志超過(guò)1MB。出于此原因,在存儲(chǔ)裝置被配置為最大程度包括8個(gè)CM (16個(gè)CPU)的情況中,難以在日志文件中存儲(chǔ)所有CPU的日志。結(jié)果,在以指定的次序以格式存儲(chǔ)日志的情況中,存在很強(qiáng)的可能性發(fā)生以下情況:存儲(chǔ)裝置在日志文件中不能存儲(chǔ)從具有較高的CM號(hào)碼的CPU所獲取的日志,或不能存儲(chǔ)從輔助CPU#1所獲取的日 志。在這種情況中,丟失了所有不能存儲(chǔ)在日志文件中的CPU的日志。因此,本發(fā)明的實(shí)施例的一個(gè)方面的目的是提供一種控制系統(tǒng)和日志遞送方法,該控制系統(tǒng)和日志遞送方法可以防止有用信息的丟失。
發(fā)明內(nèi)容
根據(jù)實(shí)施例的方面,一種控制系統(tǒng)設(shè)置有多個(gè)控制裝置,該多個(gè)控制裝置中的每一個(gè)包括算術(shù)處理裝置和用于存儲(chǔ)算術(shù)處理裝置的日志的存儲(chǔ)單元。該控制系統(tǒng)包括:第一生成單元,其生成第一日志文件,以使得在每個(gè)控制裝置的存儲(chǔ)單元中所存儲(chǔ)的算術(shù)處理裝置的多個(gè)日志以基于優(yōu)先級(jí)的順序被存儲(chǔ)在基于控制系統(tǒng)中的算術(shù)處理裝置的總數(shù)而確定的日志容量的上限內(nèi);第二生成單元,其生成第二日志文件,第二日志文件包括算術(shù)處理裝置的多個(gè)第一日志文件;以及遞送單元,其將第二日志文件遞送至外部裝置。
圖1是示出根據(jù)第一實(shí)施例的存儲(chǔ)裝置的配置的框圖;圖2是示出根據(jù)第一實(shí)施例的CM的配置的框圖;圖3是示出日志格式表格中所存儲(chǔ)的信息的示例的圖;圖4是示出根據(jù)第一實(shí)施例的存儲(chǔ)裝置的日志文件遞送處理中的處理序列的流程圖;圖5是示出根據(jù)第二實(shí)施例的CM的配置的框圖;圖6是示出在分?jǐn)?shù)相加(point addition)表格中所存儲(chǔ)的信息的示例的圖;圖7是示出用于事件的分?jǐn)?shù)相加方法的示例的圖;圖8是示出在磁盤相關(guān)的事件發(fā)生在CM#2的CPU#1中的情況下分?jǐn)?shù)相加處理的示例性操作的圖;圖9是示出在重啟CM#5的情況下分?jǐn)?shù)相加處理的示例性操作的圖;圖10是示出在RAID組相關(guān)的事件發(fā)生在CM#7的CPU#0中的情況下分?jǐn)?shù)相加處理的示例性操作的圖11是示出關(guān)于事件作為改變優(yōu)先級(jí)的目標(biāo)的日志類型的示例的圖;圖12是示出通過(guò)變更單元所執(zhí)行的改變?nèi)罩靖袷奖砀裰兴薅ǖ拇鎯?chǔ)順序的處理的示例的圖;圖13是示出通過(guò)第一生成單元所生成的日志文件的示例的圖;圖14是示出用于初始值的分?jǐn)?shù)相加方法的示例的圖;圖15是示出分?jǐn)?shù)相加表格的整合結(jié)果的示例的圖;圖16是示出從上限計(jì)算處理所獲得的結(jié)果的示例的圖;圖17是示出日志大小變更處理的示例的圖;圖18是示出 根據(jù)第二實(shí)施例的存儲(chǔ)裝置的處理操作的示例的圖;圖19是示出根據(jù)第二實(shí)施例的存儲(chǔ)裝置的日志文件遞送處理中的處理序列的流程圖;圖20是示出存儲(chǔ)裝置的定期的日志遞送功能的示例的圖;圖21是示出存儲(chǔ)裝置的日志獲取處理的示例的圖;以及圖22是示出通過(guò)存儲(chǔ)裝置所生成的日志文件的示例性格式的圖。
具體實(shí)施例方式參照附圖將說(shuō)明本發(fā)明的優(yōu)選實(shí)施例。另外本發(fā)明不限于這些實(shí)施例。各個(gè)實(shí)施例可以在不導(dǎo)致處理內(nèi)容不一致的范圍內(nèi)適當(dāng)?shù)亟M合。[a]第一實(shí)施例在第一實(shí)施例中,存儲(chǔ)裝置將被例示為控制系統(tǒng)。存儲(chǔ)裝置設(shè)置有多個(gè)CM,并且多個(gè)CM中的每個(gè)CM包括CPU和存儲(chǔ)CPU的日志的存儲(chǔ)單元。例如,存儲(chǔ)裝置在基于存儲(chǔ)裝置中的CPU的總數(shù)而確定的日志容量的上限內(nèi)并且以基于優(yōu)先級(jí)的順序來(lái)存儲(chǔ)每個(gè)CM的存儲(chǔ)單元中所存儲(chǔ)的多個(gè)CPU日志,并且因此生成第一日志文件。另外,存儲(chǔ)裝置在各個(gè)CPU中生成包括多個(gè)第一日志文件的第二日志文件。然后,存儲(chǔ)裝置將第二日志文件遞送至遠(yuǎn)程支持中心。根據(jù)第一實(shí)施例的存儲(chǔ)裝置的配置圖1是示出根據(jù)第一實(shí)施例的存儲(chǔ)裝置的配置的框圖。如在圖1中所示,存儲(chǔ)裝置 100 包括 FER (前端路由器)101、DE (裝置附件(Device Enclosure)) 102、DE103、DE104、DE105以及BER (后端路由器)106。另外,存儲(chǔ)裝置100包括CM (控制器模塊)110、CM120、CM130、CM140、CM150、CM160、CM170以及CM180。另外,存儲(chǔ)裝置100中所包括的CM的數(shù)量可能是任意的多個(gè)數(shù)量而不限于附圖中所示的數(shù)量。另外,存儲(chǔ)裝置100中所包括的DE的數(shù)量不限于附圖中所示的數(shù)量。另外,存儲(chǔ)裝置100通過(guò)網(wǎng)絡(luò)連接至主機(jī)(未示出)(諸如主體)。另外,存儲(chǔ)裝置100通過(guò)網(wǎng)絡(luò)連接至遠(yuǎn)程支持中心(未示出)。另外,遠(yuǎn)程支持中心相當(dāng)于管理從存儲(chǔ)裝置所遞送的日志文件的維護(hù)中心。FERlOl提供與主機(jī)和遠(yuǎn)程支持中心的接口連接。DE102包括磁盤(未示出)。磁盤處于RAID (廉價(jià)磁盤冗余陣列)中以存儲(chǔ)用戶數(shù)據(jù)。BER106 包括 Exp (擴(kuò)展器)107 和 Expl08。Expl07 將 CMllO 至 180 與 DE102 和103連接,并且作為CMllO至180與DE102和103之間的中繼以交換數(shù)據(jù)。另外,Expl08將CMllO至180與DE104和105連接,并且作為CMllO至180與DE104和105之間的中繼以交換數(shù)據(jù)。另外,BER106中所包括的Exp的數(shù)量不限于附圖中所示的數(shù)量。CMllO至180中的每個(gè)通過(guò)BER106執(zhí)行輸入/輸出處理,其中,通過(guò)FERlOl從主機(jī)所接收到的數(shù)據(jù)關(guān)于DE102至105而被輸入或輸出。如在圖1中所示,CMllO至180中的每個(gè)包括兩個(gè)存儲(chǔ)單元和兩個(gè)CPU (中央處理器單元)。在此,配置每個(gè)CPU以使得為每個(gè)CPU設(shè)置存儲(chǔ)單元。另外,每個(gè)CM中所包括的CPU的數(shù)量不限于附圖中所示的數(shù)量。例如,如在圖1中所示,CMllO包括存儲(chǔ)單元111、存儲(chǔ)單元112、CPUl 13以及CPUl 14。在此,存儲(chǔ)單元111是為CPUl 13而設(shè)置的,并且存儲(chǔ)單元112是為CPUl 14而設(shè)置的。類似地,CM120包括存儲(chǔ)單元121、存儲(chǔ)單元122、CPU123以及CPU124。在此,存儲(chǔ)單元121是為CPU123而設(shè)置的,并且存儲(chǔ)單元122是為CPU124而設(shè)置的。另外,CM130包括存儲(chǔ)單元131、存儲(chǔ)單元132、CPU133以及CPU134。在此,存儲(chǔ)單元131是為CPU133而設(shè)置的,并且存儲(chǔ)單元132是為CPU134而設(shè)置的。另外,CM140包括存儲(chǔ)單元141、存儲(chǔ)單元142、CPU143以及CPU144。在此,存儲(chǔ)單元141是為CPU143而設(shè)置的,并且存儲(chǔ)單元142是為CPU144而設(shè)置的。另外,CM150包括存儲(chǔ)單元151、存儲(chǔ)單元152、CPU153以及CPU154。在此,存儲(chǔ)單元151是為CPU153而設(shè)置的,并且存儲(chǔ)單元152是為CPU154而設(shè)置的。另外,CM160包括存儲(chǔ)單元161、存儲(chǔ)單元162、CPU163以及CPU164。在此,存儲(chǔ)單元161是為CPU163而設(shè)置的,并且存儲(chǔ)單元162是為CPU164而設(shè)置的。另外,CM170包括存儲(chǔ)單元171、存儲(chǔ)單元172、CPU173以及CPU174。在此,存儲(chǔ)單元171是為CPU173而設(shè)置的,并且存儲(chǔ)單元172是為CPU174而設(shè)置的。另外,CM180包括存儲(chǔ)單元181、存儲(chǔ)單元182、CPU183以及CPU184。在此,存儲(chǔ)單元181是為CPU183而設(shè)置的,并且存儲(chǔ)單元182是為CPU184而設(shè)置的。另外,CMllO至180中所包括的CPU使用總線通過(guò)FERlOl相連以彼此互相通信。在此,每個(gè)CM中所包括的兩個(gè)CPU中的一個(gè)作為主要CPU,并且另一個(gè)作為輔助CPU。在此,輔助CPU是在主要CPU的處理負(fù)荷繁重的情況中所使用的CPU。另外,在下文中,將通過(guò)如下地分配CM號(hào)碼來(lái)適當(dāng)?shù)孛枋鯟M。CMllO被分配以“CM#0” ; CMl20 被分配以 “CM#1” ; CMl30 被分配以 “CM#2” ;CM140 被分配以 “CM#3” ;以及CMl50被分配以“CM#4”。類似地,CM160被分配以“CM#5” ; CMl70被分配以“CM#6” ;以及CM180被分配以“ CM#7 ”。另外,在以下描述中,將分別地通過(guò)“ CPU#0 ”和“ CPU#I ”來(lái)適當(dāng)?shù)乇硎綜MllO至180中所包括的主要CPU和輔助CPU。另外,CMl 10至180中的任一個(gè)被設(shè)置為存儲(chǔ)裝置100中的主CM。在以下描述中,CMllO將被假定為“主CM”而描述。將通過(guò)被稱為“主CPU”來(lái)描述主CM中所包括的主要CPU。另外,CMllO至180中的每個(gè)所包括的CPU中,除了主CPU之外的CPU將被稱為“其它CPU”。另外,主CM不限于CMl 10,而是可以變更為任何其它CM。在包 括如上所述的多個(gè)CM的存儲(chǔ)裝置100中,多個(gè)CM中所包括的CPU中的每個(gè)使得在每個(gè)CPU中所設(shè)置的存儲(chǔ)單元在CPU中所設(shè)置的存儲(chǔ)單元中存儲(chǔ)對(duì)應(yīng)的CPU的日志。另外,多個(gè)CM中所包括的CPU中的每個(gè)生成日志文件,該日志文件用于在基于多個(gè)CM中所包括的CPU的數(shù)量而確定的日志容量的上限內(nèi)并且以基于限定日志的存儲(chǔ)順序的日志格式的順序來(lái)存儲(chǔ)存儲(chǔ)單元中所存儲(chǔ)的日志。另外,多個(gè)CM中所包括的CPU中,除主CPU之外的其它CPU中的每個(gè)將日志文件傳送至主CPU。另外,主CPU接收來(lái)自其它CPU的日志文件。然后,主CPU生成所有CPU的日志文件,該日志文件包括生成的日志文件和從其它CPU所接收的日志文件。主CPU將所有CPU的日志文件遞送至遠(yuǎn)程支持中心。以這樣的方式,根據(jù)第一實(shí)施例的存儲(chǔ)裝置100生成日志文件以使得能夠防止有用的日志的丟失,其中日志文件包括對(duì)應(yīng)于所有CPU的日志文件。根據(jù)第一實(shí)施例的CM的功能配置接下來(lái),參照?qǐng)D2將描述根據(jù)第一實(shí)施例的CMllO至180的功能配置。在此,作為主CM的CMllO將作為示例。圖2是示出根據(jù)第一實(shí)施例的CM的配置的框圖。如在圖2中所示,根據(jù)第一實(shí)施例的CMllO包括存儲(chǔ)單元111、存儲(chǔ)單元112、CPUl 13以及CPUl 14。另外,在以下描述中,CPU113作為輔助CPU并且CPU114作為主要CPU。因?yàn)镃MllO是主CM,所以CPUl 13對(duì)應(yīng)于“其它CPU”,并且CPUl 14對(duì)應(yīng)于“主CPU”。在這種情況中,CMl20至CM180中所包括的所有CPU對(duì)應(yīng)于“其它CPU”。出于此原因,作為“其它CPU”的示例通過(guò)“CPU300”來(lái)表示CPU113,并且作為“主CPU”的示例通過(guò)“CPU400”來(lái)表示CPU114。另外,存儲(chǔ)單元111和112存儲(chǔ)相同的信息,并且因此通過(guò)“存儲(chǔ)單元200”來(lái)表示。存儲(chǔ)單元200是半導(dǎo)體存儲(chǔ)器元件(諸如RAM (隨機(jī)訪問(wèn)存儲(chǔ)器)和SSD (固態(tài)驅(qū)動(dòng)器)),其包括日志存儲(chǔ)區(qū)域201和日志格式表格202。日志存儲(chǔ)區(qū)域201存儲(chǔ)日志。日志格式表格202存儲(chǔ)表示存儲(chǔ)為日志文件的日志的存儲(chǔ)順序的信息。參照?qǐng)D3將描述通過(guò)日志格式表格所存儲(chǔ)的信息的示例。圖3是示出通過(guò)日志格式表格所存儲(chǔ)的信息的示例的圖。如在圖3中所示,在日志文件中以如下順序存儲(chǔ)日志格式表格202:日志文件報(bào)頭202a、配置信息202b 以及從各個(gè)CPU所獲取的日志202c。另外,如在圖3中所示,日志格式表格202在日志文件中以CM號(hào)碼的升序存儲(chǔ)從各個(gè)主要CPU#0所獲取的日志。然后,日志格式表格202在從各個(gè)主要CPU#0所獲取的日志之后以CM號(hào)碼的升序,在日志文件中存儲(chǔ)從各個(gè)輔助CPU#1所獲取的日志。另外,如在圖3中所示,以日志類型202d中所列的順序存儲(chǔ)從每個(gè)CPU所獲取的日志。日志類型被附以數(shù)字(I)至(21),并且以就故障信息而言的重要性的順序布置。另夕卜,日志類型(17)作為缺失號(hào)碼而保留。在此,代表裝置的故障的日志被存儲(chǔ)在將被存儲(chǔ)為日志類型202d的“DEGRADE(I) ”中。另外,代表應(yīng)急(panic)的日志被存儲(chǔ)在將被存儲(chǔ)為日志類型202d的"PANIC(2) ”中。另外,代表錯(cuò)誤的日志被存儲(chǔ)在將被存儲(chǔ)為日志類型202d的“ERR0R(3) ”中。另外,代表裝置故障的原因的日志被存儲(chǔ)在將被存儲(chǔ)為日志類型202d的“DEG_FACT0R(4)”中。另外,代表用于提示對(duì)于恢復(fù)成功的信息更新失敗的設(shè)定的日志被存儲(chǔ)在將被存儲(chǔ)為日志類型的“REC0VER_ERR(5) ”中。另外,關(guān)于RAID配置的副本的日志被存儲(chǔ)在將被存儲(chǔ)為日志類型202d的“REBUILD_C0PY (6)”中。另外,關(guān)于RAID配置的副本的日志被存儲(chǔ)在將被存儲(chǔ)為日志類型202d的“COPY (7)”中。另外,代表電源、風(fēng)扇等狀態(tài)的日志被存儲(chǔ)在將被存儲(chǔ)為日志類型202d的"ENVIRONMENT(8) ”中。另外,代表通過(guò)監(jiān)控電源而獲得的電源接通時(shí)間等的日志被存儲(chǔ)在將被存儲(chǔ)為日志類型202d的“POWER (9) ”中。另外,代表用于存儲(chǔ)裝置的功能的日志被存儲(chǔ)在將被存儲(chǔ)為日志類型202d的“OPERATION(10) ”中。另外,CM相關(guān)的日志被存儲(chǔ)在將被存儲(chǔ)為日志類型202d的“EVENT_CM(11) ”中。另外,CA相關(guān)的日志被存儲(chǔ)在將被存儲(chǔ)為日志類型202d的“EVENT_CA(12) ”中。另外,MFCA相關(guān)的日志被存儲(chǔ)在將被存儲(chǔ)為日志類型202d的“EVENT_MFCA (13) ”中。另外,磁盤相關(guān)的日志被存儲(chǔ)在將被存儲(chǔ)為日志類型202d的“EVENT_DI (14) ”中。另外,屬于其它事件的日志被存儲(chǔ)在將被存儲(chǔ)為日志類型202d的“EVENT_OTEHR (15) ”中。另外,關(guān)于用于監(jiān)控CM的服務(wù)的MMC (模塊管理控制器)的日志被存儲(chǔ)在將被存儲(chǔ)為日志類型202d的“EVENT-MMC(16) ”中。另外,關(guān)于用于監(jiān)控CM的服務(wù)的FRU(現(xiàn)場(chǎng)可更換部件)的日志被存儲(chǔ)在將被存儲(chǔ)為日志類型202d的“EVENT_INF0 (18) ”中。另外,代表與LINUX(注冊(cè)商標(biāo))上的固件進(jìn)行交換操作的日志被存儲(chǔ)在將被存儲(chǔ)為日志類型202d的“SYSL0G(19) ”中。另外,關(guān)于提示失敗的功能的日志被存儲(chǔ)在將被存儲(chǔ)為日志類型202d的“EVENT_MSG(20) ”中。另外,代表存在未被寫(xiě)入日志文件的日志的日志被存儲(chǔ)在將被存儲(chǔ)為日志類型202d的“OTHERS (21) ”中。返回至圖2,CPU300包括存儲(chǔ)控制單元301、第一生成單元302以及傳送單元303。存儲(chǔ)控制單元301使日志存儲(chǔ)區(qū)域201存儲(chǔ)日志。另外,存儲(chǔ)控制單元301通過(guò)監(jiān)控被分配給日志的惟一的代碼來(lái)監(jiān)控指定的日志。第一生成單元302在基于多個(gè)CM中所包括的CPU的數(shù)量而確定的日志容量的上限內(nèi)并且以基于日志格式表格202的順序,來(lái)生成用于存儲(chǔ)在日志存儲(chǔ)區(qū)域201中所存儲(chǔ)的日志的日志文件。
另外,通過(guò)“(定期的日志的限制值-日志報(bào)頭的大小-配置信息的大小)/CPU的數(shù)量”來(lái)確定用于每個(gè)CPU的日志容量的上限。在此,定期的日志的限制值假定為每個(gè)日志
1.44MB。另外,日志報(bào)頭的大小是固定值。另外,配置信息包括與存儲(chǔ)裝置中所包括的磁盤和RAID相關(guān)的信息,并且對(duì)于每個(gè)存儲(chǔ)裝置被設(shè)定為固定值。換言之,對(duì)于每個(gè)存儲(chǔ)裝置,上限被設(shè)定為預(yù)定的值。另外,定期的日志的限制值1.44MB被假定為存儲(chǔ)裝置100中所管理的1,457,650字節(jié)。傳送單元303將通過(guò)第一生成單元302所生成的日志文件傳送至作為主CPU的CPU400。CPU400包括存儲(chǔ)控制單元301、第一生成單元302、接收單元401、第二生成單元402以及遞送單元403。在此,通過(guò)相同的附圖標(biāo)記來(lái)表示具有與圖2中所示的CPU300中所包括的各個(gè)組件的功能相同功能的功能部件,并且將不提供其詳細(xì)的描述。接收單元401從作為其它CPU的各個(gè)CPU300接收日志文件。第二生成單元402生成所有CPU的日志文件,該日志文件包括通過(guò)主體裝置的第一生成單元302所生成的日志文件和從作為其它CPU的各個(gè)CPU300所接收的日志文件。例如,以基于日志格式表格202的順序,第二生成單元402生成所有CPU的日志文件,該日志文件包括通主體裝置的第一生成單元302所生成的日志文件和從作為其它CPU的各自的CPU300所接收的日志文件。另外,通過(guò)第二生成單元402所生成的日志文件被稱為“所有CPU的日志文件”以區(qū)別于通過(guò)第一生成單元302所生成的日志文件。遞送單元403將通過(guò)第二生成單元402所生成的所有CPU的日志文件遞送至遠(yuǎn)程支持中心。通過(guò)根據(jù)第一實(shí)施例的存儲(chǔ)裝置而執(zhí)行的處理中的處理序列接下來(lái),參照?qǐng)D4將描述根據(jù)第一實(shí)施例的存儲(chǔ)裝置100的日志文件遞送處理中的處理序列。圖4是示出根據(jù)第一實(shí)施例的存儲(chǔ)裝置的日志文件遞送處理中的處理序列的流程圖。如在圖4中所示,在是定期的日志遞送時(shí)間的情況中(步驟SlOl中為是),作為主CPU的CPU400請(qǐng)求來(lái)自作為其它CPU的CPU300的日志文件(步驟S102)。在作為其它CPU的CPU300中的第一生成單元302在日志文件中存儲(chǔ)日志直至達(dá)到上限(步驟S103)。傳送單元303將日志文件傳送至作為主CPU的CPU400 (步驟S104)。另外,在作為主CPU的CPU400中的第一生成單元302在日志文件中存儲(chǔ)日志直至達(dá)到上限(步驟 S105)。在作為主CPU的CPU400中的接收單元401從作為其它CPU的CPU300接收日志文件(步驟S106)。然后,第二生成單元402生成所有CPU的日志文件,該日志文件包括從作為其它CPU的CPU300所接收的日志文件和所生成的日志文件(步驟S107)。遞送單元403將所有CPU的日志文件遞送至遠(yuǎn)程支持中心(步驟S108)。第一實(shí)施例的效果如上所述,根據(jù)第一實(shí)施例的存儲(chǔ)裝置100在基于存儲(chǔ)裝置100中所包括的CPU數(shù)量而確定的日志大小的上限內(nèi)從各自的CPU獲取日志文件,并且然后生成包括所有CPU的日志的日志文件。結(jié)果,根據(jù)第一實(shí)施例的存儲(chǔ)裝置100可以防止重要日志的丟失。[b]第二實(shí)施例 附帶地,存儲(chǔ)裝置可以被設(shè)置為每天或每周遞送定期的日志。在設(shè)置的時(shí)間段內(nèi),各個(gè)CPU中所生成的日志的流量(flow rate)是變化的。另外,日志的流量是隨著各個(gè)CPU中所發(fā)生的事件而變化的。因此,在為各個(gè)CPU設(shè)置一致大小的上限的情況中,例如,當(dāng)某一 CPU中所發(fā)生的事件超過(guò)日志大小時(shí),則丟失日志的可能性增加。在第二實(shí)施例中,將結(jié)合示例進(jìn)行描述,在該示例中存儲(chǔ)裝置基于各個(gè)CPU中所發(fā)生的事件來(lái)計(jì)算用于每個(gè)CPU的上限。根據(jù)第二實(shí)施例的存儲(chǔ)裝置的配置根據(jù)第二實(shí)施例的存儲(chǔ)裝置的配置類似于圖1中所示的根據(jù)第一實(shí)施例的存儲(chǔ)裝置的配置,其區(qū)別在于每個(gè)CM中所包括的CPU的功能配置的一些部件不同。因此,將描述第二實(shí)施例以使存儲(chǔ)裝置100被稱為存儲(chǔ)裝置100a,并且存儲(chǔ)裝置IOOa中所包括的各個(gè)CM 被稱為 CMllOa 至 180a。根據(jù)第二實(shí)施例的CM的功能配置接下來(lái),參照?qǐng)D5將描述根據(jù)第二實(shí)施例的CMllOa的功能配置。圖5是示出根據(jù)第二實(shí)施例的CM的配置的框圖。如在圖5中所示,根據(jù)第二實(shí)施例的CMllOa包括兩個(gè)存儲(chǔ)單元500、CPU600以及CPU700。在此,存儲(chǔ)單元500中的一個(gè)用于CPU600,并且另一個(gè)用于 CPU700。存儲(chǔ)單元500是半導(dǎo)體存儲(chǔ)元件(諸如RAM和SSD),并且包括日志存儲(chǔ)區(qū)域201、分?jǐn)?shù)相加表格501以及日志格式表格202。另外,通過(guò)相同的附圖標(biāo)記來(lái)表示用于存儲(chǔ)與圖2中所示的各個(gè)表格中的信息相同的信息的表格,并且將不進(jìn)行詳細(xì)的描述。
分?jǐn)?shù)相加表格501存儲(chǔ)累積的合計(jì)的分?jǐn)?shù)值,以使得發(fā)生的事件與每個(gè)CPU相關(guān)聯(lián)。另外,分?jǐn)?shù)相加表格501中所存儲(chǔ)的信息的格式是各個(gè)CPU所共有的。當(dāng)事件發(fā)生時(shí),對(duì)于與發(fā)生事件的CPU相關(guān)的事件執(zhí)行加分,并且在事件發(fā)生的CPU的分?jǐn)?shù)相加表格501中存儲(chǔ)累加的分?jǐn)?shù)。參照?qǐng)D6將描述分?jǐn)?shù)相加表格中所存儲(chǔ)的信息的示例。圖6是示出分?jǐn)?shù)相加表格中所存儲(chǔ)的信息的示例的圖。如在圖6中所示,相加的分?jǐn)?shù)的累計(jì)值被存儲(chǔ)在分?jǐn)?shù)相加表格501中,以使得“磁盤相關(guān)”、“RAID組相關(guān)”、“CA相關(guān)”、“MFCA相關(guān)”以及“CM重啟”等作為發(fā)生的事件與“CPU”相關(guān)聯(lián)。在此,分?jǐn)?shù)相加表格501中所存儲(chǔ)的“磁盤相關(guān)”代表與將要安裝的磁盤相關(guān)的事件?!癛AID組相關(guān)”代表與存儲(chǔ)裝置IOOa中所設(shè)置的RAID組相關(guān)的事件。“CA相關(guān)”代表與CA (通道適配器)相關(guān)的事件,其中CA是在存儲(chǔ)裝置IOOa上所安裝以形成與主機(jī)的接口的組件?!癕FCA相關(guān)”代表與MFCA (主體通道適配器)相關(guān)的事件,其中MFCA形成與主機(jī)的接口。另外,在存儲(chǔ)裝置不對(duì)應(yīng)于主體的情況中,不設(shè)置“MFCA相關(guān)”?!癈M重啟”代表當(dāng)軟錯(cuò)誤發(fā)生時(shí),其自身CM的重啟處理。在圖6中所示的示例中,磁盤相關(guān)的事件發(fā)生在CM#0的CPU#0中,并且累計(jì)值為5分。返回至圖5,CPU600包括存儲(chǔ)控制單元601、分?jǐn)?shù)相加單元602、接收單元603、變更單元604、第一生成單元605以及傳送單元606。存儲(chǔ)控制單元601使日志存儲(chǔ)區(qū)域201存儲(chǔ)日志。另外,存儲(chǔ)控制單元601通過(guò)監(jiān)控被分配給日志的惟一的代碼來(lái)監(jiān)控指定的日志。當(dāng)在日志存儲(chǔ)區(qū)域中存儲(chǔ)指定的日志時(shí),存儲(chǔ)器控制單元601對(duì)分?jǐn)?shù)相加單元602通知事件發(fā)生的事實(shí)。分?jǐn)?shù)相加單元602關(guān)于每個(gè)CPU中所發(fā)生的事件,基于與事件相關(guān)的所記錄的日志來(lái)加分。參照?qǐng)D7將 描述通過(guò)分?jǐn)?shù)相加單元602對(duì)于事件所執(zhí)行的分?jǐn)?shù)相加方法的示例。圖7是示出用于事件的分?jǐn)?shù)相加方法的示例的圖。如在圖7中所示,分?jǐn)?shù)相加單元602對(duì)于“磁盤相關(guān)”的事件在警告級(jí)別的情況中加2分;并且在錯(cuò)誤級(jí)別的情況中加5分。另外,分?jǐn)?shù)相加單元602對(duì)于“RAID組相關(guān)”的事件在警告級(jí)別的情況中加2分;并且在錯(cuò)誤級(jí)別的情況中加5分。另外,分?jǐn)?shù)相加單元602對(duì)于“CA相關(guān)”的事件在警告級(jí)別的情況中加2分;并且在錯(cuò)誤級(jí)別的情況中加5分。另外,分?jǐn)?shù)相加單元602對(duì)于“MFCA相關(guān)”的事件在警告級(jí)別的情況中加2分;并且在錯(cuò)誤級(jí)別的情況中加5分。另外,分?jǐn)?shù)相加單元602對(duì)于重啟的CM中所包括的主要CPU中所發(fā)生的“CM重啟”事件加10分;對(duì)于重啟的CM中所包括的輔助CPU中所發(fā)生的“CM重啟”事件加5分;對(duì)于主CPU中所發(fā)生的“CM重啟”事件加5分。接下來(lái),參照?qǐng)D8至10將描述通過(guò)分?jǐn)?shù)相加單元602所執(zhí)行的分?jǐn)?shù)相加處理的操作。圖8是示出磁盤相關(guān)的事件是CM#2的CPU#1中所發(fā)生的情況中分?jǐn)?shù)相加處理的示例性操作的圖。另外,在圖8中所示的示例中,將描述CM#2的CPU#1所發(fā)生的錯(cuò)誤級(jí)別的磁盤相關(guān)的事件的情況。CM#2的CPU#1中所包括的分?jǐn)?shù)相加單元602對(duì)于對(duì)應(yīng)于“CM#2CPU#1”的“磁盤相關(guān)”事件在分?jǐn)?shù)相加表格501中加5分以表示錯(cuò)誤級(jí)別。圖9是示出在CM#5重啟的情況中,在分?jǐn)?shù)相加處理中的操作的示例的圖。在此,因?yàn)橐恍┤罩臼窃谥貑⒌臅r(shí)候所發(fā)生的,所以相加分?jǐn)?shù)被設(shè)置的大。如在圖9中所示,在分?jǐn)?shù)相加表格501中對(duì)于對(duì)應(yīng)于“CM#5CPU#0”的“CM重啟”事件加“10”分;并且對(duì)于對(duì)應(yīng)于“CM#5CPU#1”的“CM重啟”事件加5分。另外,由于重啟監(jiān)控主CPU還執(zhí)行將重啟CM進(jìn)行合并的處理,因此,在分?jǐn)?shù)相加表格501中對(duì)于對(duì)應(yīng)于“CM#0CPU#0”的“CM重啟”事件加“5”分;另外,在導(dǎo)致CM#5重啟的情況中,不能對(duì)于重啟的CM#5執(zhí)行分?jǐn)?shù)相加處理。出于此原因,通過(guò)主CPU中所包括的分?jǐn)?shù)相加單元602來(lái)執(zhí)行重啟情況中的分?jǐn)?shù)相加處理。換言之,因?yàn)樵谥鰿PU中進(jìn)行CM重啟事件的檢測(cè),所以在重啟的時(shí)候更新主CPU的分?jǐn)?shù)相加表格501。圖10是示出RAID組相關(guān)的事件發(fā)生在CM#7的CPU#0中的情況下的分?jǐn)?shù)相加處理的示例性操作的圖。另外,在圖10中所示的示例中,將描述處于警告級(jí)別的RAID組相關(guān)的事件在CM#7的CPU#0中發(fā)生兩次的情況。在分?jǐn)?shù)相加表格501中CM#7的CPU#0中所包括的分?jǐn)?shù)相加單元602對(duì)于對(duì)應(yīng)于“CM#7CM#0”的“RAID組相關(guān)”的事件加“2”兩次以表示警告級(jí)別。結(jié)果,在分?jǐn)?shù)相加表格501中對(duì)于對(duì)應(yīng)于“CM#7CM#0”的“RAID組相關(guān)”的事件累計(jì)的值變?yōu)?分。返回至圖5,接收單元603從作為主CPU的CPU700接收通過(guò)計(jì)算單元702(將在下文中描述)所計(jì)算的上限和通過(guò)合計(jì)單元701 (將在下文中描述)所合計(jì)的分?jǐn)?shù)相加表格。接收單元603將通過(guò)合計(jì)單元701所合計(jì)的分?jǐn)?shù)相加表格輸出至變更單元604。另外,接收單元603將通過(guò)計(jì)算單元702所計(jì)算的上限輸出至第一生成單元605。變更單元604基于通過(guò)合計(jì)單元701所合計(jì)的分?jǐn)?shù)相加表格來(lái)變更在日志格式表格202中所限定的存儲(chǔ)順序。參照?qǐng)D11將描述相加結(jié)果和日志類型之間的對(duì)應(yīng)關(guān)系的示例,其中日志類型是將被關(guān)于事件改變優(yōu)先級(jí)別的目標(biāo)。圖11是示出作為將被關(guān)于事件改變優(yōu)先級(jí)別的目標(biāo)的日志類型的示例的圖。如在圖11中所示,變更單元604將分?jǐn)?shù)相加表格中的“CM重啟”與日志類型“EVENT_CM(11) ”相關(guān)聯(lián)。另外,變更單元604將分?jǐn)?shù)相加表格中的“CA相關(guān)”與日志類型“EVENT_CA(12) ”相關(guān)聯(lián)。另外,變更單元604將分?jǐn)?shù)相加表格中的“MFCA相關(guān)”與日志類型“EVENT_MFCA (13) ”相關(guān)聯(lián)。另外,變更單元604將分?jǐn)?shù)相加表格中的“磁盤相關(guān)”與日志類型“EVENT_DI (14) ”相關(guān)聯(lián)。接下來(lái),參照?qǐng)D12將描述通過(guò)變更單元604變更日志格式表格202中所限定的存儲(chǔ)順序的處理。圖12是示出通過(guò)變更單元變更日志格式表格202中所限定的存儲(chǔ)順序的處理的示例的圖。如通過(guò)圖12中的附圖標(biāo)記12a所表示,假定分?jǐn)?shù)相加表格具有根本沒(méi)有被加分的事件。在這種情況中,日志格式表格202中所限定的存儲(chǔ)順序如下所示:“EVENT_CM(11) ”、“EVENT_CA(12) ”、“EVENT_MFCA(13) ” 以及 “EVENT_DI (14) ”。接下來(lái),將描述從通過(guò)圖12中的附圖標(biāo)記12a所表示的狀態(tài)到圖12中通過(guò)附圖標(biāo)記12b所表示的狀態(tài)的轉(zhuǎn)換的情況。在通過(guò)附圖標(biāo)記12b所表示的狀態(tài)中,在分?jǐn)?shù)相加表格中“磁盤相關(guān)”的事件的累計(jì)值是4分,并且其它事件的累加值是O分。出于此原因,變更單元604提升對(duì)應(yīng)于具有最高的累計(jì)值的“磁盤相關(guān)”的事件的日志類型“EVENT_DI (14) ”的存儲(chǔ)順序。換言之,變更單元604將日 志格式表格202中所限定的存儲(chǔ)順序變更為如下順序:“EVENT_DI (14) ”、“EVENT_CM(11) ”、“EVENT_CA(12) ” 以及 “EVENT_MFCA (13) ”。接下來(lái),將描述從通過(guò)圖12中的附圖標(biāo)記12a所表示的狀態(tài)到通過(guò)圖12中的附圖標(biāo)記12c所表示的狀態(tài)的轉(zhuǎn)換的情況。在通過(guò)附圖標(biāo)記12c所表示的狀態(tài)中,在分?jǐn)?shù)相加表格中的“磁盤相關(guān)”的事件累計(jì)值為10分,“CA相關(guān)”的事件的累計(jì)值為4分以及其它事件的累計(jì)值為O分。出于此原因,變更單元604提升對(duì)應(yīng)于“磁盤相關(guān)”的事件的日志類型“EVENT_DI (14) ”和對(duì)應(yīng)于“CA相關(guān)”的事件的日志類型“EVENT_CA (12) ”的存儲(chǔ)順序以按照累計(jì)值高的順序排列,其中“磁盤相關(guān)”的事件具有最高的累計(jì)值。換言之,變更單元604將日志格式表格202中所限定的存儲(chǔ)順序變更為如下順序:“EVENT_DI (14) ”、“EVENT_CA (12) ”、“EVENT_CM(11) ”、以及 “EVENT_MFCA (13) ”。變更單元604通知第一生成單元605變更的結(jié)果。另外,在不存在變更的情況中,變更單元604通知第一生成單元605在日志格式表格202中所限定的存儲(chǔ)順序中不存在更改的事實(shí)。第一生成單元605以基于日志格式(其限定日志的存儲(chǔ)順序)的順序、在通過(guò)計(jì)算單元702 (將在下文中描述)所計(jì)算的上限內(nèi)生成用于存儲(chǔ)在日志存儲(chǔ)區(qū)域201中所存儲(chǔ)的日志的日志文件。在此,第一生成單元605以通過(guò)變更單元604所變更的存儲(chǔ)順序、在上限內(nèi)生成用于存儲(chǔ)在日志存儲(chǔ)區(qū)域201中所存儲(chǔ)的日志的日志文件。參照?qǐng)D13將描述通過(guò)第一生成單元605所生成的日志文件的示例。圖13是示出通過(guò)第一生成單元所生成的日志文件的示例的圖。另外,在圖13中,將結(jié)合示例進(jìn)行描述,其中在該示例中,第一生成單元605生成處于通過(guò)圖12中的附圖標(biāo)記12b表示的狀態(tài)中的日志文件。如在圖13中所示,第一生成單元605以專利日志格式表格202中所限定的從“DEGRADE (I) ”至 “OPERATION(10) ” 的順序存儲(chǔ)日志。第一生成單元605以通過(guò)變更單元604所變更的順序來(lái)存儲(chǔ)日志。換言之,第一生成單元 605 以如下順序存儲(chǔ)日志:“`EVENT_DI (14) ”、“EVENT_CM(11) ”、“EVENT_CA(12) ”、以及“EVENT_MFCA(13) ”。另外,圖13中所表示的附圖標(biāo)記13a代表通過(guò)計(jì)算單元702所計(jì)算的上限,并且第一生成單元605存儲(chǔ)日志直至到達(dá)上限。然后,第一生成單元605將生成的日志文件輸出至傳送單兀606。傳送單元606將通過(guò)第一生成單元605所生成的日志文件傳送至作為主CPU的CPU700。CPU700包括存儲(chǔ)控制單元601、分?jǐn)?shù)相加單元602、合計(jì)單元701、計(jì)算單元702、傳送單元703、變更單元604、第一生成單元605、接收單元704、第二生成單元705以及遞送單元706。在此,將通過(guò)相同的附圖標(biāo)記來(lái)表示具有與圖5中所示的CPU600中所包括的各個(gè)組件的功能部件相同的功能的功能部件,并且將不提供詳細(xì)的描述。合計(jì)單元701從多個(gè)CM所包括的各個(gè)CPU中獲取分?jǐn)?shù)相加單元602的相加結(jié)果,并且合計(jì)結(jié)果。例如,合計(jì)單元701提取在從其它CPU所獲取的分?jǐn)?shù)相加表格501中和CPU700中所包括的分?jǐn)?shù)相加表格501中所包括的分?jǐn)?shù)相加值。另外,合計(jì)單元701生成通過(guò)增加各個(gè)CPU的初始值而獲得的分?jǐn)?shù)相加表格以合計(jì)各個(gè)CPU的總分?jǐn)?shù)。接下來(lái),參照?qǐng)D14將描述用于初始值的分?jǐn)?shù)相加方法的示例。圖14是示出用于初始值的分?jǐn)?shù)相加的方法的示例的圖。如在圖14中所示,合計(jì)單元701對(duì)于其它CPU每天加I分作為初始值。換言之,在定期的日志的設(shè)置為“每天”的情況中,合計(jì)單元701加I分作為初始值;另外,在定期的日志的設(shè)置為“每周”的情況中,合計(jì)單元701加7分作為初始值。另外,合計(jì)單元701每天為主CPU加2分作為初始值。換言之,在定期的日志的設(shè)置為“每天”的情況中,合計(jì)單元701加2分作為初始值;另外,在定期的日志的設(shè)置為“每周”的情況中,合計(jì)單元701加14分作為初始值。參照?qǐng)D15將描述分?jǐn)?shù)相加表格的整合結(jié)果的示例。圖15是示出分?jǐn)?shù)相加表格的整合結(jié)果的示例的圖。另外,將結(jié)合以下情況對(duì)圖15中所示的示例進(jìn)行描述,在該情況中,合計(jì)單元701合計(jì)圖8至圖10所示的分?jǐn)?shù)相加表格。如在圖15中所示,合計(jì)單元701從對(duì)應(yīng)于“CM#5CPU#0”的“CM重啟”事件中提取“5”;并且從對(duì)應(yīng)于“CM#7CPU#0”的“RAID組相關(guān)”的事件中提取4。另外,合計(jì)單元701從對(duì)應(yīng)于“CM#2CPU#1”的“磁盤相關(guān)”的事件中提取“5” ;并且從對(duì)應(yīng)于“CM#5CPU#1”的“CM重啟”事件中提取“5”。合計(jì)單元701為各個(gè)CPU設(shè)置初始值。例如,如在圖15中所示,作為主CPU的“CM#0CPU#0”被設(shè)置為初始值“ 14”,并且其它CPU被設(shè)置為初始值“7”。然后,合計(jì)單元701將初始值增加至提取的分?jǐn)?shù)相加值的累計(jì)值以合計(jì)用于每個(gè)CPU的總值。以這樣的方式,合計(jì)單元701生成通過(guò)合計(jì)各個(gè)CPU的相加表格所獲得的分?jǐn)?shù)相加表格。另外,合計(jì)單元701將合計(jì)結(jié)果輸出至傳送單元703。另外,因?yàn)樽鳛橹鰿PU的CPU700需要執(zhí)行多個(gè)處理和控制,所以合計(jì)單元701可以相加并且合計(jì)用于主CPU的初始值。例如,合計(jì)單元701對(duì)于主CPU加10分作為初始值。返回至圖5,計(jì)算單元702基于每個(gè)CPU中所發(fā)生的事件計(jì)算用于每個(gè)CPU的上限。例如,計(jì)算單元702基于合計(jì)單元701所合計(jì)的結(jié)果和多個(gè)CM所包括的CPU的數(shù)量來(lái)對(duì)于每個(gè)CPU計(jì)算用于要獲取的 日志的容量的上限。具體地,合計(jì)單元702基于“(定期的日志的上限一日志報(bào)頭大小一配置信息的大小)x (用于每個(gè)CPU的總值/所有CPU的總值)”來(lái)計(jì)算用于每個(gè)CPU的日志容量的上限。在此,定期的日志的限制值被假定為每個(gè)日志1.44MB。另外,日志報(bào)頭大小是固定值。另夕卜,配置信息包括與存儲(chǔ)裝置中所包括的磁盤和RAID相關(guān)的信息等。對(duì)于每個(gè)存儲(chǔ)裝置配置信息被設(shè)置為固定值。參照?qǐng)D16將描述從上限計(jì)算處理所獲得的結(jié)果的示例。圖16是示出從上限計(jì)算處理所獲得的結(jié)果的示例的圖。另外,在圖16中所示出的示例中,將結(jié)合以下情況進(jìn)行描述,在該情況中計(jì)算單元702使用圖15中所示的合計(jì)分?jǐn)?shù)相加表格來(lái)計(jì)算用于每個(gè)CPU的日志容量的上限。另外,定期的日志的限制值1.44MB被假定為存儲(chǔ)裝置IOOa中所管理的1,457,650 (字節(jié))。另外,假定日志報(bào)頭大小是500 (字節(jié))并且配置信息的大小是300,000(字節(jié))。計(jì)算單元702使用合計(jì)的分?jǐn)?shù)相加表格來(lái)合計(jì)各自CPU的總值以計(jì)算所有CPU的總值“148”。例如,計(jì)算單元702基于“(1,457,650 (字節(jié))-500 (字節(jié))_300,000 (字節(jié)))X(19 (分)/148 (分))”,計(jì)算出“148,533 (字節(jié))”作為用于CM#0的CPU#0的日志大小的上限。接下來(lái),參照?qǐng)D17將描述日志大小變更處理的示例。圖17是示出日志大小變更處理的示例的圖。圖17中的參考標(biāo)記17a代表在CPU未發(fā)生事件的情況中所有CPU的日志文件。另外,圖17中的參考標(biāo)記17a表示用于所有CPU的日志文件的容量(在此情況中為1.44MB)。另外,圖17中的參考標(biāo)記17b表示用于存儲(chǔ)CM#0的CPU#0的日志的容量(例如,136,135 字節(jié))。圖17中的參考標(biāo)記17d代表在CM#0的CPU#0中發(fā)生了磁盤錯(cuò)誤事件的情況中所有CPU的日志文件。另外,圖17中的參考標(biāo)記17d表示用于所有CPU的日志文件的容量(在此情況中為1.44MB)。另外,圖17中的參考標(biāo)記17c表示用于存儲(chǔ)CM#0的CPU#0的日志的容量(例如,177,305字節(jié))。以這樣的方式,當(dāng)CM#0的CPU#0中發(fā)生了磁盤錯(cuò)誤事件時(shí),計(jì)算單元702將CM#0的CPU#0的日志大小從136,135字節(jié)增加至177,305字節(jié)。另外,用于所有CPU的日志文件容量沒(méi)有變更而是保持在1.44MB。傳送單元703將通過(guò)計(jì)算單元702計(jì)算出的上限和通過(guò)合計(jì)單元701所合計(jì)的分?jǐn)?shù)相加表格(將在下文 中描述)傳送至作為其它CPU的CPU600。接收單元704從作為其它CPU的CPU600接收日志文件。第二生成單兀705以基于日志格式表格202的順序來(lái)生成所有CPU的日志文件,該日志文件包括主體裝置的第一生成單元605所生成的日志文件和從作為其它CPU的各個(gè)CPU600所接收的日志文件。通過(guò)第二生成單元705所生成的日志文件被稱為“所有CPU的日志文件”以區(qū)別于通過(guò)第一生成單元605所生成的日志文件。遞送單元706將通過(guò)第二生成單元705所生成的所有CPU的日志文件遞送至遠(yuǎn)程支持中心。根據(jù)第二實(shí)施例的存儲(chǔ)裝置的處理操作接下來(lái),參照?qǐng)D18將描述根據(jù)第二實(shí)施例的存儲(chǔ)裝置IOOa所執(zhí)行的處理操作。圖18是示出根據(jù)第二實(shí)施例的存儲(chǔ)裝置的處理操作的示例的圖。如在圖18中所示,作為主CPU的CPU700和作為其它CPU的CPU600執(zhí)行在日志存儲(chǔ)區(qū)域201中存儲(chǔ)日志的日志存儲(chǔ)處理(步驟S201至S203)。另外,在事件發(fā)生在作為主CPU的CPU700或作為其它CPU的CPU600的情況中,執(zhí)行了用于事件的分?jǐn)?shù)相加處理。在圖18中所示的示例中,作為其它CPU的CPU600將分?jǐn)?shù)增加至分?jǐn)?shù)相加表格501 (步驟S204和S205)。在確定為定期的日志遞送時(shí)間的情況中,作為主CPU的CPU700從各個(gè)CPU獲取分?jǐn)?shù)相加表格(步驟S206至S208)。然后,作為主CPU的CPU700合計(jì)分?jǐn)?shù)相加表格,并且計(jì)算用于每個(gè)CPU的日志大小的上限(步驟S209)。根據(jù)第二實(shí)施例的存儲(chǔ)裝置中的處理序列接下來(lái),參照?qǐng)D19將描述根據(jù)第二實(shí)施例的存儲(chǔ)裝置IOOa的日志文件遞送處理中的處理序列。圖19是示出根據(jù)第二實(shí)施例的存儲(chǔ)裝置的日志文件遞送處理中的處理序列的流程圖。如在圖19中所示,在確定為定期的日志遞送時(shí)間的情況中(步驟S301中為是),作為主CPU的CPU700中的合計(jì)單元701從其它CPU獲取分?jǐn)?shù)相加表格501 (步驟S302)。作為其它CPU的CPU600中的分?jǐn)?shù)相加單元602將分?jǐn)?shù)相加表格501傳送至主CPU700 (步驟S303)。在分?jǐn)?shù)相加表格501傳送至主CPU700之后,分?jǐn)?shù)相加單元602清除分?jǐn)?shù)相加表格501 (步驟S304)。作為主CPU的CPU700中的合計(jì)單元701從其它CPU接收分?jǐn)?shù)相加表格501 (步驟S305)。另外,合計(jì)單元701從存儲(chǔ)單元500中讀取分?jǐn)?shù)相加表格501 (步驟S306)。然后,在讀出分?jǐn)?shù)相加表格501之后,合計(jì)單元701清除分?jǐn)?shù)相加表格501 (步驟S307)。合計(jì)單元701合計(jì)分?jǐn)?shù)相加表格501和從其它CPU所接收的分?jǐn)?shù)相加表格501(步驟S308)。另外,合計(jì)單元701將合計(jì)的結(jié)果輸出至計(jì)算單元702。計(jì)算單元702基于合計(jì)的結(jié)果和算術(shù)處理裝置的數(shù)量來(lái)計(jì)算用于要獲取的日志的容量的上限(步驟S309)。計(jì)算單元702將合計(jì)的結(jié)果和計(jì)算的上限傳送至其它CPU (步驟S310)。另外,計(jì)算單元702將合計(jì)的結(jié)果和計(jì)算出的上限傳送至變更單元604。
作為其它CPU的CPU600中的變更單元604接收合計(jì)的結(jié)果和上限(步驟S311)。然后,每個(gè)變更單元604基于合計(jì)的結(jié)果變更優(yōu)先級(jí)(步驟S312)。另外,變更單元604將變更的優(yōu)先級(jí)和上限輸出至第一生成單元605。第一生成單元605存儲(chǔ)日志直至達(dá)到日志文件的上限(步驟S313)。傳送單元606將日志文件傳送至主CPU700 (步驟S314)。另外,作為主CPU的CPU700中的變更單元604基于合計(jì)的結(jié)果變更優(yōu)先級(jí)(步驟S315)。另外,變更單元604將變更的優(yōu)先級(jí)和上限輸出至第一生成單元605。第一生成單元605存儲(chǔ)日志直至達(dá)到日志文件的上限(步驟S316)。作為主CPU的CPU700中的接收單元704從作為其它CPU的CPU600接收日志文件(步驟S317)。然后,第二生成單元生成所有CPU的日志文件,該日志文件包括從作為其它CPU的CPU600所接收的日志文件和通過(guò)主體裝置的第一生成單元所生成的日志文件(步驟S318)。之后,遞送單元706將所有CPU的日志文件遞送至遠(yuǎn)程支持中心(步驟S319)。第二實(shí)施例的效果如上所述,根據(jù)第二實(shí)施例的存儲(chǔ)裝置IOOa基于對(duì)應(yīng)的CPU中所發(fā)生的事件能夠計(jì)算用于各個(gè)CPU的上限,并且生成日志文件。出于此原因,即使當(dāng)某一 CPU中所發(fā)生的事件超出日志大小時(shí),也可以防止有用的日志的丟失。另外,在遞送定期的日志的日志獲取處理開(kāi)始之后,根據(jù)第二實(shí)施例的存儲(chǔ)裝置IOOa清除關(guān)于各個(gè)CPU的分?jǐn)?shù)相加表格。出于此原因,當(dāng)在各個(gè)CPU中創(chuàng)建日志文件時(shí),傳送使用主CPU而合計(jì)的分?jǐn)?shù)相加表格。然后,各個(gè)CPU中的每個(gè)基于從主CPU所接收的分?jǐn)?shù)相加表格來(lái)執(zhí)行變更存儲(chǔ)順序的處理。例如,根據(jù)第二實(shí)施例的存儲(chǔ)裝置IOOa基于4個(gè)基于事件的日志類型的相加分?jǐn)?shù)將存儲(chǔ)順序改變?yōu)槿缦?EVENT_CM、EVENT_CA、EVENT_MFCA以及EVENT_DI。結(jié)果,即使在事件發(fā)生時(shí)基于事件的日志的數(shù)量增加時(shí),也可以使用事件優(yōu)選地保持對(duì)日志分析有用的基于事件的日志。另外,除了主CPU之外的CPU可以僅對(duì)主CPU通知分?jǐn)?shù)相加表格中的總值而不將分?jǐn)?shù)相加表格傳送至主CPU。[c]第三實(shí)施例本發(fā)明可以體現(xiàn)為其它多種形式和上述的實(shí)施例。因此,在第三實(shí)施例中,將描述本發(fā)明中所包括的其它實(shí)施例。系統(tǒng)配置等
可以手動(dòng)地執(zhí)行在上述實(shí)施例中的處理中自動(dòng)執(zhí)行地上述的處理中的一些或所有處理。替選地,手動(dòng)地執(zhí)行上述的處理中的一些或所有處理可以通過(guò)已知的方法自動(dòng)地執(zhí)行。另外,如未指定,則可以任意地改變結(jié)合附圖在以上語(yǔ)句中所描述的處理序列、控制序列以及特定的名稱。另外,所示的存儲(chǔ)單元中所存儲(chǔ)的信息僅為示例性的描述,并且不必如附圖所示的存儲(chǔ)。另外,實(shí)施例中的處理的每個(gè)步驟的處理序列可以根據(jù)不同的負(fù)荷和使用環(huán)境而改變。例如,可以同時(shí)地執(zhí)行圖4中所示的步驟S103和S105的處理。另外,示出的各個(gè)組件以機(jī)械的意義體現(xiàn),并且不必以附圖中所示的物理的意義而配置。例如,可以配置存儲(chǔ)裝置IOOa中所包括的CPU600和700以集成變更單元604和第一生成單元605。另外,在各個(gè)裝置中所執(zhí)行的各個(gè)處理功能中的一些或所有可以使用CPU或程序(通過(guò)CPU所解釋或執(zhí)行的程序)來(lái)實(shí)現(xiàn),或可以實(shí)現(xiàn)為使用連線邏輯的硬件。可以防止有用 的日志的丟失。
權(quán)利要求
1.一種控制系統(tǒng),所述控制系統(tǒng)設(shè)置有多個(gè)控制裝置,所述多個(gè)控制裝置中的每一個(gè)包括算術(shù)處理裝置和用于存儲(chǔ)所述算術(shù)處理裝置的日志的存儲(chǔ)單元,所述控制系統(tǒng)包括: 第一生成單元,其生成第一日志文件,以使得在每個(gè)控制裝置的所述存儲(chǔ)單元中所存儲(chǔ)的算術(shù)處理裝置的多個(gè)日志以基于優(yōu)先級(jí)的順序被存儲(chǔ)在基于所述控制系統(tǒng)中的所述算術(shù)處理裝置的總數(shù)而確定的日志容量的上限內(nèi); 第二生成單元,其生成第二日志文件,所述第二日志文件包括算術(shù)處理裝置的多個(gè)第一日志文件;以及 遞送單元,其將所述第二日志文件遞送至外部裝置。
2.根據(jù)權(quán)利要去I所述的控制系統(tǒng),還包括: 計(jì)算單元,其基于在所述算術(shù)處理裝置中的每一個(gè)中所發(fā)生的事件來(lái)計(jì)算用于每個(gè)算術(shù)處理裝置的上限;和 通知單元,其對(duì)每個(gè)控制裝置中的所述算術(shù)處理裝置通知計(jì)算出的上限。
3.根據(jù)權(quán)利要求2所述的控制系統(tǒng), 其中算術(shù)處理裝置中的每個(gè)還包括: 分?jǐn)?shù)相加單元,其基于要被存儲(chǔ)的、與事件相關(guān)的所述日志,相加對(duì)應(yīng)的算術(shù)處理裝置中所發(fā)生的事件的分?jǐn)?shù),和 合計(jì)單元,其獲取所述分?jǐn)?shù)相加單元的相加結(jié)果,并且合計(jì)所述結(jié)果,以及其中所述計(jì)算單元基于所述合計(jì)單元的合計(jì)結(jié)果和所述控制系統(tǒng)中的算術(shù)處理裝置的所述總數(shù),為每個(gè)算術(shù)處理裝置計(jì)算用于要獲取的日志的容量的上限。
4.根據(jù)權(quán)利要求3所述的控制系統(tǒng), 其中所述算術(shù)處理裝置還包括 變更單元,其基于所述分?jǐn)?shù)相加單元的相加結(jié)果來(lái)變更以所述優(yōu)先級(jí)限定的存儲(chǔ)順序,并且 其中,所述第一生成單元生成所述第一日志文件,以使得在所述存儲(chǔ)單元中所存儲(chǔ)的多個(gè)日志以由所述變更單元變更后的存儲(chǔ)順序被存儲(chǔ)在所述日志容量的所述上限內(nèi)。
5.一種用于控制系統(tǒng)的日志遞送方法,所述控制系統(tǒng)設(shè)置有多個(gè)控制裝置,所述多個(gè)控制裝置中的每一個(gè)包括算術(shù)處理裝置和用于存儲(chǔ)所述算術(shù)處理裝置的日志的存儲(chǔ)單元,所述方法包括: 生成第一日志文件,以使得在每個(gè)控制裝置的所述存儲(chǔ)單元中所存儲(chǔ)的算術(shù)處理裝置的多個(gè)日志以基于優(yōu)先級(jí)的順序被存儲(chǔ)在基于所述控制系統(tǒng)中的所述算術(shù)處理裝置的總數(shù)而確定的日志容量的上限內(nèi); 生成第二日志文件,所述第二日志文件包括算術(shù)處理裝置的多個(gè)第一日志文件;以及 將所述第二日志文件遞送至外部裝置。
全文摘要
本發(fā)明所提供的是一種控制系統(tǒng),該控制系統(tǒng)設(shè)置有多個(gè)控制裝置,多個(gè)控制裝置中的每一個(gè)包括算術(shù)處理裝置和用于存儲(chǔ)算術(shù)處理裝置的多個(gè)日志的存儲(chǔ)單元。該控制系統(tǒng)包括第一生成單元,其生成第一日志文件,以使得在每個(gè)控制裝置的存儲(chǔ)單元中所存儲(chǔ)的算術(shù)處理裝置的多個(gè)日志以基于優(yōu)先級(jí)的順序被存儲(chǔ)在基于控制系統(tǒng)中的算術(shù)處理裝置的總數(shù)而確定的日志容量的上限內(nèi);第二生成單元,其生成第二日志文件,第二日志文件包括多個(gè)算術(shù)處理裝置的多個(gè)第一日志文件;以及遞送單元,其將第二日志文件遞送至外部裝置。
文檔編號(hào)G06F11/34GK103226447SQ20121050630
公開(kāi)日2013年7月31日 申請(qǐng)日期2012年11月30日 優(yōu)先權(quán)日2012年1月27日
發(fā)明者東山崇 申請(qǐng)人:富士通株式會(huì)社