本發(fā)明涉及ceph集群運(yùn)維技術(shù)領(lǐng)域,更具體地說,涉及一種查詢ceph集群硬件狀態(tài)的方法及裝置。
背景技術(shù):
ceph集群是目前應(yīng)用最廣的分布式文件系統(tǒng),在ceph集群運(yùn)維過程中,要實(shí)時的監(jiān)測集群中各個節(jié)點(diǎn)硬件的硬件狀態(tài),包括硬件的健康狀態(tài)或者使用情況,例如磁盤、網(wǎng)卡等的健康狀態(tài),存儲容量占用、cpu使用率等一系列信息。通常一個節(jié)點(diǎn)(服務(wù)器)具有多塊磁盤,多個cpu,多個槽位裝有內(nèi)存,而一個ceph集群又由多個節(jié)點(diǎn)構(gòu)成;規(guī)模較小的ceph集群,由于硬件數(shù)量不大,采用傳統(tǒng)的逐一遍歷查詢方法勉強(qiáng)可行,查詢結(jié)果返回速度可以接受,但是在規(guī)模較大的ceph集群中,要對這樣的集群硬件狀態(tài)進(jìn)行實(shí)時監(jiān)控,傳統(tǒng)逐一遍歷查詢方法則力不從心,根本無法達(dá)到實(shí)時監(jiān)控的效果。針對此問題,迫切的需要一種查詢優(yōu)化方案來提高查詢速度。
綜上所述,如何提供一種對ceph集群中硬件狀態(tài)的查詢速度較快,能夠達(dá)到實(shí)時監(jiān)控效果的技術(shù)方案,是目前本領(lǐng)域技術(shù)人員亟待解決的問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種查詢ceph集群硬件狀態(tài)的方法及裝置,以提高對ceph集群中硬件狀態(tài)的查詢速度,進(jìn)而達(dá)到實(shí)時監(jiān)控的效果。
為了實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:
一種查詢ceph集群硬件狀態(tài)的方法,包括:
接收查詢指令;
在所述查詢指令的觸發(fā)下指示ceph集群中的各個節(jié)點(diǎn)并行化檢測自身的硬件狀態(tài);
將各個節(jié)點(diǎn)進(jìn)行自身的硬件狀態(tài)檢測所得結(jié)果進(jìn)行匯總,并將匯總得到的查詢結(jié)果存儲至指定位置處,以供獲取。
優(yōu)選的,還包括:
預(yù)先為各個節(jié)點(diǎn)設(shè)置進(jìn)程池,所述進(jìn)程池中包括對應(yīng)節(jié)點(diǎn)用于進(jìn)行自身硬件狀態(tài)檢測的預(yù)設(shè)數(shù)量個進(jìn)程。
優(yōu)選的,指示任一節(jié)點(diǎn)檢測自身的硬件狀態(tài),包括:
指示任一節(jié)點(diǎn)利用該節(jié)點(diǎn)進(jìn)程池內(nèi)的預(yù)設(shè)數(shù)量個進(jìn)程同時對對應(yīng)數(shù)量個硬件進(jìn)行檢測,在完成對任一硬件的檢測后,將該硬件對應(yīng)進(jìn)程由進(jìn)程池中移出,并向進(jìn)程池中加入新的進(jìn)程以利用該新的進(jìn)程為未被檢測過的硬件進(jìn)行檢測,直至完成對該節(jié)點(diǎn)包含全部硬件的檢測為止。
優(yōu)選的,匯總得到查詢結(jié)果之后,還包括:
將所述查詢結(jié)果進(jìn)行顯示。
一種查詢ceph集群硬件狀態(tài)的裝置,包括:
接收模塊,用于:接收查詢指令;
指示模塊,用于:在所述查詢指令的觸發(fā)下指示ceph集群中的各個節(jié)點(diǎn)并行化檢測自身的硬件狀態(tài);
匯總模塊,用于:將各個節(jié)點(diǎn)進(jìn)行自身的硬件狀態(tài)檢測所得結(jié)果進(jìn)行匯總,并將匯總得到的查詢結(jié)果存儲至指定位置處,以供獲取。
優(yōu)選的,還包括:
設(shè)置模塊,用于:預(yù)先為各個節(jié)點(diǎn)設(shè)置進(jìn)程池,所述進(jìn)程池中包括對應(yīng)節(jié)點(diǎn)用于進(jìn)行自身硬件狀態(tài)檢測的預(yù)設(shè)數(shù)量個進(jìn)程。
優(yōu)選的,所述指示模塊包括:
指示單元,用于:指示任一節(jié)點(diǎn)利用該節(jié)點(diǎn)進(jìn)程池內(nèi)的預(yù)設(shè)數(shù)量個進(jìn)程同時對對應(yīng)數(shù)量個硬件進(jìn)行檢測,在完成對任一硬件的檢測后,將該硬件對應(yīng)進(jìn)程由進(jìn)程池中移出,并向進(jìn)程池中加入新的進(jìn)程以利用該新的進(jìn)程為未被檢測過的硬件進(jìn)行檢測,直至完成對該節(jié)點(diǎn)包含全部硬件的檢測為止。
優(yōu)選的,還包括:
顯示模塊,用于:匯總得到查詢結(jié)果之后,將所述查詢結(jié)果進(jìn)行顯示。
本發(fā)明提供了一種查詢ceph集群硬件狀態(tài)的方法及裝置,其中該方法包括:接收查詢指令;在所述查詢指令的觸發(fā)下指示ceph集群中的各個節(jié)點(diǎn)并行化檢測自身的硬件狀態(tài);將各個節(jié)點(diǎn)進(jìn)行自身的硬件狀態(tài)檢測所得結(jié)果進(jìn)行匯總,并將匯總得到的查詢結(jié)果存儲至指定位置處,以供獲取。本申請公開的技術(shù)方案中,在接收到查詢命令后在查詢命令的觸發(fā)下指示ceph集群中的每個節(jié)點(diǎn)并行化檢測自身硬件狀態(tài),從而并行使用各個節(jié)點(diǎn)的計(jì)算資源,不僅能夠均衡負(fù)載,更能夠加快查詢速度,從而達(dá)到實(shí)時監(jiān)控的效果。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例提供的一種查詢ceph集群硬件狀態(tài)的方法的流程圖;
圖2為本發(fā)明實(shí)施例提供的中控機(jī)串行查詢各節(jié)點(diǎn)硬件狀態(tài)示意圖;
圖3為本發(fā)明實(shí)施例提供的一種查詢ceph集群硬件狀態(tài)的方法中多節(jié)點(diǎn)并行查詢硬件狀態(tài)示意圖;
圖4為本發(fā)明實(shí)施例提供的一種查詢ceph集群硬件狀態(tài)的裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
請參閱圖1,其示出了本發(fā)明實(shí)施例提供的一種查詢ceph集群硬件狀態(tài)的方法的流程圖,可以包括以下步驟:
s11:接收查詢指令。
接收到查詢命令,查詢命令即為指示對硬件狀態(tài)進(jìn)行檢測查詢的命令,查詢命令的發(fā)出端可以是與管理人員對應(yīng)的指定終端等,具體可以根據(jù)實(shí)際需要進(jìn)行設(shè)定。
s12:在查詢指令的觸發(fā)下指示ceph集群中的各個節(jié)點(diǎn)并行化檢測自身的硬件狀態(tài)。
接收到查詢命令后可以將查詢命令同時發(fā)送至集群中的每個節(jié)點(diǎn),包括集群中的中控機(jī)及普通節(jié)點(diǎn),從而能夠使得每個節(jié)點(diǎn)接收到該查詢命令后啟動后臺查詢服務(wù)以進(jìn)行自身硬件狀態(tài)的查詢,由于各個節(jié)點(diǎn)接收到查詢命令后是同時進(jìn)行自身硬件的查詢的,也即利用多線程實(shí)現(xiàn)各個節(jié)點(diǎn)的并行化檢測,從而能夠大大縮短檢測時間,加快檢測速度。
s13:將各個節(jié)點(diǎn)進(jìn)行自身的硬件狀態(tài)檢測所得結(jié)果進(jìn)行匯總,并將匯總得到的查詢結(jié)果存儲至指定位置處,以供獲取。
匯總可以是將各個節(jié)點(diǎn)進(jìn)行自身的硬件狀態(tài)檢測所得的結(jié)果以圖表的形式進(jìn)行記錄,當(dāng)然也可以根據(jù)實(shí)際需要設(shè)定其他方式,均在本發(fā)明的保護(hù)范圍內(nèi)。將查詢結(jié)果存儲至指定位置可以是將查詢結(jié)果放置到ceph集群的中控機(jī)內(nèi)存中,以供前端界面的隨時讀取,實(shí)現(xiàn)查詢結(jié)果的秒級返回。且本發(fā)明實(shí)施例提供的上述技術(shù)方案的實(shí)現(xiàn)主體均可以為中控機(jī),從而由主控機(jī)實(shí)現(xiàn)查詢指令的接收、下發(fā)及結(jié)果的獲取、匯總等,當(dāng)然中控機(jī)接收到查詢指令后也需與其他節(jié)點(diǎn)一樣對自身硬件狀態(tài)進(jìn)行檢測,從而實(shí)現(xiàn)各節(jié)點(diǎn)的并行化檢測。本申請公開的技術(shù)方案中,在接收到查詢命令后在查詢命令的觸發(fā)下指示ceph集群中的每個節(jié)點(diǎn)并行化檢測自身硬件狀態(tài),從而并行使用各個節(jié)點(diǎn)的計(jì)算資源,不僅能夠均衡負(fù)載,更能夠加快查詢速度,從而達(dá)到實(shí)時監(jiān)控的效果。
另外可以指示各個節(jié)點(diǎn)循環(huán)檢測自身的硬件狀態(tài),也即指示各個節(jié)點(diǎn)每經(jīng)過預(yù)先設(shè)定的一定時間則執(zhí)行一次檢測自身硬件狀態(tài)的操作,從而保證了檢測的實(shí)時性,同時改善了用戶體驗(yàn)。
本發(fā)明實(shí)施例提供的一種查詢ceph集群硬件狀態(tài)的方法,還可以包括:
預(yù)先為各個節(jié)點(diǎn)設(shè)置進(jìn)程池,進(jìn)程池中包括對應(yīng)節(jié)點(diǎn)用于進(jìn)行自身硬件狀態(tài)檢測的預(yù)設(shè)數(shù)量個進(jìn)程。
為各個節(jié)點(diǎn)設(shè)置進(jìn)程池,從而在各個節(jié)點(diǎn)需要進(jìn)行硬件狀態(tài)的檢測時直接由進(jìn)程池中獲取對應(yīng)進(jìn)程并實(shí)現(xiàn)檢測即可,進(jìn)一步加快了硬件狀態(tài)的檢測速率。另外預(yù)設(shè)數(shù)量可以為預(yù)先設(shè)定的與進(jìn)程池大小對應(yīng)的數(shù)量,如可以為進(jìn)程池最大可以允許存在的進(jìn)程數(shù)量等。
本發(fā)明實(shí)施例提供的一種查詢ceph集群硬件狀態(tài)的方法,指示任一節(jié)點(diǎn)檢測自身的硬件狀態(tài),可以包括:
指示任一節(jié)點(diǎn)利用該節(jié)點(diǎn)進(jìn)程池內(nèi)的預(yù)設(shè)數(shù)量個進(jìn)程同時對對應(yīng)數(shù)量個硬件進(jìn)行檢測,在完成對任一硬件的檢測后,將該硬件對應(yīng)進(jìn)程由進(jìn)程池中移出,并向進(jìn)程池中加入新的進(jìn)程以利用該新的進(jìn)程為未被檢測過的硬件進(jìn)行檢測,直至完成對該節(jié)點(diǎn)包含全部硬件的檢測為止。
需要說明的是,利用多個進(jìn)程對對應(yīng)數(shù)量個硬件進(jìn)行并行檢測時,進(jìn)程與硬件之間是一一對應(yīng)的關(guān)系。如果節(jié)點(diǎn)包含硬件數(shù)量不大于進(jìn)程池中可以包含的進(jìn)程個數(shù),則可以用進(jìn)程池中的進(jìn)程同時對各個硬件實(shí)現(xiàn)硬件狀態(tài)的檢測,如果節(jié)點(diǎn)包含的硬件數(shù)量大于進(jìn)程池中可以包含的進(jìn)程個數(shù),則可以用進(jìn)程池中包含的進(jìn)程同時對對應(yīng)數(shù)量個硬件實(shí)現(xiàn)檢測,進(jìn)而在任一硬件完成檢測后移出其進(jìn)程,添加新的進(jìn)程為其他此次未開始被監(jiān)測的硬件進(jìn)行檢測,可見,在各個節(jié)點(diǎn)內(nèi)部也是使用并行檢測的方法實(shí)現(xiàn)對多個硬件的檢測,進(jìn)一步保證了查詢的速度較快,實(shí)時性較高。另外,通過進(jìn)程池中進(jìn)程個數(shù)的限制,能夠在實(shí)現(xiàn)硬件檢測的同時保證各個節(jié)點(diǎn)能夠正常實(shí)現(xiàn)其他業(yè)務(wù)。
本發(fā)明實(shí)施例提供的一種查詢ceph集群硬件狀態(tài)的方法,匯總得到查詢結(jié)果之后,還可以包括:
將查詢結(jié)果進(jìn)行顯示。
此處的顯示可以是顯示在于管理人員對應(yīng)的指定終端上,從而能夠使得管理人員能夠及時獲知查詢結(jié)果,以實(shí)現(xiàn)對應(yīng)的操作。
另外請參閱圖2和圖3,其中圖2為中控機(jī)串行查詢各節(jié)點(diǎn)硬件狀態(tài)示意圖,圖3為本發(fā)明實(shí)施例提供的技術(shù)方案中多節(jié)點(diǎn)并行查詢硬件狀態(tài)示意圖。由圖2可以看出,所有查詢命令均由中控機(jī)發(fā)出,之后逐一查詢其他各節(jié)點(diǎn)硬件狀態(tài),且查詢命令均在中控機(jī)上執(zhí)行,這樣不僅中控機(jī)計(jì)算壓力大,而且單次遍歷查詢一遍耗時較長,不能滿足實(shí)時要求。而由圖3可以看出各個硬件狀態(tài)的檢測均并行計(jì)算,極大的提高了狀態(tài)檢測的效率,同時充分利用了各個節(jié)點(diǎn)的計(jì)算能力,實(shí)現(xiàn)了實(shí)時檢測大規(guī)模ceph集群硬件狀態(tài)的目的。
本發(fā)明實(shí)施例還提供了一種查詢ceph集群硬件狀態(tài)的裝置,如圖4所示,可以包括:
接收模塊11,用于:接收查詢指令;
指示模塊12,用于:在查詢指令的觸發(fā)下指示ceph集群中的各個節(jié)點(diǎn)并行化檢測自身的硬件狀態(tài);
匯總模塊13,用于:將各個節(jié)點(diǎn)進(jìn)行自身的硬件狀態(tài)檢測所得結(jié)果進(jìn)行匯總,并將匯總得到的查詢結(jié)果存儲至指定位置處,以供獲取。
本發(fā)明實(shí)施例提供的一種查詢ceph集群硬件狀態(tài)的裝置可以集成在集群的中控機(jī),由此中控機(jī)通過該裝置實(shí)現(xiàn)上述操作,當(dāng)然也可以進(jìn)行其他設(shè)置,均在本發(fā)明保護(hù)范圍之內(nèi)。
本發(fā)明實(shí)施例提供的一種查詢ceph集群硬件狀態(tài)的裝置,還可以包括:
設(shè)置模塊,用于:預(yù)先為各個節(jié)點(diǎn)設(shè)置進(jìn)程池,進(jìn)程池中包括對應(yīng)節(jié)點(diǎn)用于進(jìn)行自身硬件狀態(tài)檢測的預(yù)設(shè)數(shù)量個進(jìn)程。
本發(fā)明實(shí)施例提供的一種查詢ceph集群硬件狀態(tài)的裝置,指示模塊可以包括:
指示單元,用于:指示任一節(jié)點(diǎn)利用該節(jié)點(diǎn)進(jìn)程池內(nèi)的預(yù)設(shè)數(shù)量個進(jìn)程同時對對應(yīng)數(shù)量個硬件進(jìn)行檢測,在完成對任一硬件的檢測后,將該硬件對應(yīng)進(jìn)程由進(jìn)程池中移出,并向進(jìn)程池中加入新的進(jìn)程以利用該新的進(jìn)程為未被檢測過的硬件進(jìn)行檢測,直至完成對該節(jié)點(diǎn)包含全部硬件的檢測為止。
本發(fā)明實(shí)施例提供的一種查詢ceph集群硬件狀態(tài)的裝置,還可以包括:
顯示模塊,用于:匯總得到查詢結(jié)果之后,將查詢結(jié)果進(jìn)行顯示。
本發(fā)明實(shí)施例提供的一種查詢ceph集群硬件狀態(tài)的裝置中相關(guān)部分的說明請參見本發(fā)明實(shí)施例提供的一種查詢ceph集群硬件狀態(tài)的方法中對應(yīng)部分的詳細(xì)說明,在此不再贅述。
對所公開的實(shí)施例的上述說明,使本領(lǐng)域技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實(shí)施例的多種修改對本領(lǐng)域技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。