亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        web遠(yuǎn)程升級(jí)Solaris及進(jìn)度跟蹤設(shè)計(jì)

        2016-11-29 03:42:43
        軟件 2016年9期
        關(guān)鍵詞:腳本消息升級(jí)

        于 洋

        (北京郵電大學(xué) 通信與信號(hào)處理專業(yè),北京 海淀 100876)

        web遠(yuǎn)程升級(jí)Solaris及進(jìn)度跟蹤設(shè)計(jì)

        于洋

        (北京郵電大學(xué) 通信與信號(hào)處理專業(yè),北京 海淀 100876)

        現(xiàn)代企業(yè)或單位服務(wù)器主機(jī)眾多,如果逐個(gè)對(duì)各個(gè)主機(jī)版本升級(jí)并進(jìn)行系統(tǒng)環(huán)境的配置將產(chǎn)生龐大的工作量,一種可以實(shí)現(xiàn)對(duì)主機(jī)的集成管理[9]的設(shè)計(jì)成為必須。當(dāng)前Solaris操作系統(tǒng)應(yīng)用于許多企業(yè)服務(wù)器,相對(duì)于windows服務(wù)器,其具有穩(wěn)定性高,網(wǎng)絡(luò)完善的優(yōu)點(diǎn),本文是針對(duì)Solaris操作系統(tǒng)的主機(jī)提供的一種版本升級(jí)解決方案,主要闡述通過(guò)web頁(yè)面遠(yuǎn)程控制Solaris主機(jī)對(duì)其進(jìn)行升級(jí)和系統(tǒng)環(huán)境的配置過(guò)程,并且通過(guò)web頁(yè)面實(shí)時(shí)跟蹤進(jìn)度的實(shí)現(xiàn)原理。

        solaris;進(jìn)度跟蹤;集成管理;升級(jí)

        本文著錄格式:于洋. web遠(yuǎn)程升級(jí)Solaris及進(jìn)度跟蹤設(shè)計(jì)[J]. 軟件,2016,37(9):115-117

        0 引言

        Solaris操作系統(tǒng)屬于Unix的一個(gè)分支,由之前SUN公司研發(fā),SUN被收購(gòu)之前的操作系統(tǒng)代碼仍為開(kāi)源。當(dāng)前Solaris操作系統(tǒng)用于許多Oracle服務(wù)器。由于Solaris操作系統(tǒng)集成了SSH(Secure Shell)服務(wù),SSH可以在本地主機(jī)和遠(yuǎn)程主機(jī)之間,建立命令和數(shù)據(jù)的傳輸通道,服務(wù)器端通過(guò)web服務(wù)器來(lái)SSH公鑰登錄[7-8]到需要升級(jí)的Solaris主機(jī),并且傳遞數(shù)據(jù)和命令給Solaris主機(jī)。而Solaris主機(jī)又可以通過(guò)http請(qǐng)求的方式將主機(jī)的重要進(jìn)度信息返回給web服務(wù)器。

        1 系統(tǒng)框架設(shè)計(jì)

        器中,MySQL數(shù)據(jù)庫(kù)存放主機(jī)的信息,包括主機(jī)的硬件類型、域、當(dāng)前最高版本對(duì)應(yīng)的BE(Boot Enviroment啟動(dòng)環(huán)境)名稱等;當(dāng)有新的Solaris主機(jī)注冊(cè)到系統(tǒng)中后,web服務(wù)器通過(guò)SSH公鑰登錄的方式首先為該主機(jī)安裝操作系統(tǒng)升級(jí)和系統(tǒng)環(huán)境配置所需要的Shell腳本。

        圖1 系統(tǒng)整體框架

        圖1 中總體設(shè)計(jì)主要分為兩個(gè)部分,web服務(wù)

        在Solaris主機(jī)群中,設(shè)計(jì)需要的腳本主要包括創(chuàng)建狀態(tài)文件腳本stat-create、更改主機(jī)狀態(tài)的腳本stat-changer、執(zhí)行腳本execution、環(huán)境配置腳本env-conf和狀態(tài)監(jiān)控腳本stat-watch。實(shí)現(xiàn)對(duì)Solaris系統(tǒng)狀態(tài)的監(jiān)控和采集。

        2 主機(jī)狀態(tài)跟蹤設(shè)計(jì)

        2.1系統(tǒng)升級(jí)

        由于Solaris的BE(Boot Environment啟動(dòng)環(huán)境)對(duì)應(yīng)著不同操作系統(tǒng)的版本,安裝的系統(tǒng)包版本不同,每次系統(tǒng)升級(jí)都會(huì)創(chuàng)建一個(gè)新的BE作為最新操作系統(tǒng)版本的啟動(dòng)環(huán)境。但是在Solaris文件系統(tǒng)/export目錄下的文件在各個(gè)BE中的內(nèi)容是相同的,不會(huì)因?yàn)閱?dòng)環(huán)境的不同而改變。在升級(jí)時(shí)最好能在當(dāng)前主機(jī)的最高版本進(jìn)行升級(jí),從而最大程度避免由于依賴而產(chǎn)生的升級(jí)錯(cuò)誤,而更換到主機(jī)最高版本BE需要重新啟動(dòng)主機(jī),為了實(shí)現(xiàn)整個(gè)過(guò)程的自動(dòng)化,可以使系統(tǒng)在重新啟動(dòng)后繼續(xù)完成系統(tǒng)升級(jí)等功能,則在/export目錄下創(chuàng)建隱藏目錄.stat,在.stat目錄下創(chuàng)建一個(gè)隱藏文件,該文件的文件名用于判斷當(dāng)前主機(jī)的狀態(tài),而隱藏文件的內(nèi)容記錄主機(jī)當(dāng)前的最高版本的BE名稱,設(shè)計(jì)stat-changer腳本的功能在于更改.stat目錄下的隱藏文件的名稱,具體名稱與主機(jī)狀態(tài)對(duì)應(yīng)為:.upgrade為主機(jī)為更新?tīng)顟B(tài)、.basic_config為環(huán)境配置狀態(tài)、.finish為升級(jí)和配置完成狀態(tài)、.fail為升級(jí)失敗狀態(tài)。

        圖1中SSH遠(yuǎn)程安裝完成必要腳本后,運(yùn)行stat-create腳本添加注冊(cè)時(shí)該主機(jī)的最高版本的BE名稱作為參數(shù),在/export目錄下創(chuàng)建隱藏目錄.stat,在.stat目錄下創(chuàng)建.finish文件,在文件中寫入作為參數(shù)傳遞來(lái)的主機(jī)最高版本的BE名稱。設(shè)置系統(tǒng)啟動(dòng)后自動(dòng)運(yùn)行execution和stat-watch腳本。

        當(dāng)用戶通過(guò)web網(wǎng)頁(yè)為主機(jī)進(jìn)行升級(jí)后,web服務(wù)器SSH公鑰登錄到主機(jī)并運(yùn)行stat-changer腳本,stat-changer通過(guò)讀取.stat目錄下文件的內(nèi)容獲得主機(jī)最高版本的BE名稱,并且判斷最高版本的BE是否為當(dāng)前運(yùn)行的BE,如果不是則激活主機(jī)最高版本的BE,如果是最高版本則不做任何操作,修改.stat目錄下的文件名為.upgrade,需要升級(jí)主機(jī)操作系統(tǒng)重新啟動(dòng)后,運(yùn)行execution腳本,該腳本程序流程如圖2所示。

        圖2中如果檢測(cè)文件名為.finish則不對(duì)主機(jī)做任何操作,如果是.upgrade則對(duì)主機(jī)執(zhí)行升級(jí)命令,升級(jí)完成后返回0則說(shuō)明升級(jí)成功,修改文件名為.basic_config,并且修改文件內(nèi)容中的主機(jī)最高版本BE名稱為當(dāng)前升級(jí)到的BE的名稱,重啟主機(jī);如果升級(jí)失敗,則把文件名稱改為.fail重啟主機(jī)。重啟后主機(jī)會(huì)在最新版本的BE上啟動(dòng),檢測(cè)文件名為.basic_config則運(yùn)行env-conf腳本對(duì)主機(jī)進(jìn)行系統(tǒng)環(huán)境的配置,具體配置包括log session、創(chuàng)建用戶等基本內(nèi)容,本文不對(duì)該腳本內(nèi)容進(jìn)行詳細(xì)介紹。如果文件名為.fail則向web服務(wù)器報(bào)告升級(jí)失敗狀態(tài),此時(shí)主機(jī)仍可以正常運(yùn)行,只是在升級(jí)之前的版本上運(yùn)行。

        圖2 execution

        2.2狀態(tài)跟蹤

        stat-watch腳本運(yùn)行進(jìn)程開(kāi)啟FIFO管道,實(shí)現(xiàn)與stat-changer、execution和env-conf腳本運(yùn)行進(jìn)程間的通信,由stat-watch進(jìn)程對(duì)主機(jī)的運(yùn)行狀態(tài)了進(jìn)度進(jìn)行監(jiān)控,對(duì)于不同腳本運(yùn)行的進(jìn)程,通過(guò)不同的協(xié)議與stat-watch進(jìn)程進(jìn)行通信,具體協(xié)議設(shè)置如下表,以stat-changer為例。

        圖3 進(jìn)度跟蹤框架

        stat-changer、execution和env-conf腳本進(jìn)程在腳本開(kāi)始運(yùn)行或結(jié)束運(yùn)行時(shí)向有名管道中寫入表1中表示開(kāi)始或結(jié)束的協(xié)議,退出協(xié)議的M值為退出狀態(tài)碼。在重要的進(jìn)度狀態(tài)向管道中寫入表1中表示關(guān)鍵描述的協(xié)議,協(xié)議中的msg即為關(guān)鍵描述部分。當(dāng)操作系統(tǒng)升級(jí)成功后,向管道寫入帶有最新的系統(tǒng)版本號(hào)的消息協(xié)議。

        表1 stat-changer進(jìn)度跟蹤消息協(xié)議

        stat-watch腳本進(jìn)程在發(fā)現(xiàn)有名管道中有數(shù)據(jù)時(shí),讀取管道中的數(shù)據(jù),根據(jù)消息協(xié)議,解析消息的內(nèi)容來(lái)源,通過(guò)對(duì)協(xié)議的解析,了解消息內(nèi)容作用,在原有消息前加入“主機(jī)名”(注:同域中主機(jī)名一般不會(huì)出現(xiàn)重復(fù),可以作為唯一識(shí)別)。對(duì)于需要web服務(wù)器更新數(shù)據(jù)庫(kù)的消息如帶有最新版本號(hào)的消息,在原有消息前加入“主機(jī)名|UPDATE|”協(xié)議頭。stat-watch腳本通過(guò)http協(xié)議POST請(qǐng)求web服務(wù)器用來(lái)接收消息的API,把消息內(nèi)容作為請(qǐng)求的內(nèi)容返回給web服務(wù)器。

        web服務(wù)器接收到消息內(nèi)容,web服務(wù)器的消息處理API對(duì)消息內(nèi)容進(jìn)行解析,同樣采用表1中的消息協(xié)議,對(duì)于不需要更新數(shù)據(jù)庫(kù)信息的消息,根據(jù)主機(jī)名在web服務(wù)器本地文件系統(tǒng)創(chuàng)建日志文件,根據(jù)SC、EXE、ENV來(lái)判斷出當(dāng)前執(zhí)行的腳本和正在進(jìn)行的操作。把返回的重要進(jìn)度分塊存入日志文件。用于監(jiān)控的web頁(yè)面實(shí)時(shí)刷新,從日志文件中讀取處于升級(jí)狀態(tài)的主機(jī)的最新進(jìn)度。由于進(jìn)度信息存在了本地文件系統(tǒng),所有即使退出了用于監(jiān)控web頁(yè)面,之后再次打開(kāi)數(shù)據(jù)依然保留。對(duì)于帶有UPDATE|的消息,web服務(wù)器根據(jù)其主機(jī)名更新主機(jī)在數(shù)據(jù)庫(kù)中的信息。如果消息中顯示的退出碼不是正常退出,則說(shuō)明主機(jī)在升級(jí)過(guò)程中出現(xiàn)了異常,判斷是升級(jí)異常還是環(huán)境配置異常,如果是系統(tǒng)環(huán)境配置異常,用戶根據(jù)狀態(tài)信息可以查看是哪些環(huán)境在配置過(guò)程中出現(xiàn)了錯(cuò)誤。如果是升級(jí)異常,則表示升級(jí)沒(méi)有成功,用戶同樣可以查看具體出現(xiàn)異常的位置了,用戶可以對(duì)出錯(cuò)主機(jī)的操作系統(tǒng)進(jìn)行檢測(cè)后再進(jìn)行升級(jí),或選擇手動(dòng)升級(jí)。

        3 總結(jié)

        本文主要介紹了針對(duì)Solaris操作系統(tǒng)的主機(jī)通過(guò)web頁(yè)面對(duì)其進(jìn)行升級(jí)和系統(tǒng)環(huán)境的配置過(guò)程,并且通過(guò)web頁(yè)面實(shí)時(shí)跟蹤進(jìn)度的實(shí)現(xiàn)原理。本文涉及了Solaris操作系統(tǒng)、Shell腳本、SSH公鑰登錄、進(jìn)程間通信、http協(xié)議、文件I/O、數(shù)據(jù)庫(kù)應(yīng)用等多種技術(shù),該設(shè)計(jì)理論得到了實(shí)踐的驗(yàn)證。該實(shí)現(xiàn)原理不僅僅可以用在系統(tǒng)的升級(jí),同時(shí)還可以用于系統(tǒng)的安裝和測(cè)試等方面,根據(jù)需要可以將更多的需求按照該原理集成到管理系統(tǒng)中,可拓展性強(qiáng)。由于Solaris操作系統(tǒng)是Unix-like的操作系統(tǒng),而本文介紹的設(shè)計(jì)理論幾乎沒(méi)涉及Solaris特殊功能,所以該理論設(shè)計(jì)同樣可以用于Linux或Unix等操作系統(tǒng),實(shí)現(xiàn)跨平臺(tái)運(yùn)行。

        [1] 喻剛, 王國(guó)生, 張磊“基于Solaris的綜合信息系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)”10.3969/j.issn.1006-6675-B.2012.01.029.

        [2] 曹江華, 李巖麗“Solaris10系統(tǒng)管理”, 電子工業(yè)出版社978-7-121-09895-6, 2010.

        [3] 李向群“solaris操作系統(tǒng)原理”, 機(jī)械出版社, 978-7-111-22641-3, 2008.

        [4] SHEN yang “Webmin管理Sun Solaris 10 x86 Unix系統(tǒng)”10.3969/j.issn.1007-5348.2008.12.003.

        [5] Janice Winsor著“SOLARIS系統(tǒng)管理員指南”機(jī)械工業(yè)出版社.

        [6] Arnold Robbins/Nelson H. F. Beebe “SHELL腳本學(xué)習(xí)指南”機(jī)械工業(yè)出版社.

        [7] 黃洋, 宋俊德, 宋美娜, 等. 基于本體與SSH架構(gòu)的異構(gòu)數(shù)據(jù)集成框架的研究[J]. 軟件, 2014, 35(11): 36-41.

        [8] 王雪梅, 郭麗娜. 基于SSH的在線考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 軟件, 2015, 36(12): 132-136.

        [9] 李可, 李昕. 基于Hadoop生態(tài)集群管理系統(tǒng)Ambari的研究與分析[J]. 軟件, 2016, 37(02): 93-97.

        Remote Upgrade of Solaris and Progress Tracking Design

        YU Yang (College of Communication and Signal Processing, Beijing University of Posts and Telecommunications, Haidian District, Beijing)

        Modern enterprises has many unit server hosts , upgrading and configuring the operating system one by one will produce huge workload, one design which can achieve the integrated management of the host[9]becomes necessary. The current Solaris operating system which used in many enterprise servers, compared to windows server, has the advantages of high stability, perfect network, this article host provides a version upgrade solution for the Solaris operating system, mainly through web pages remote control Solaris host to upgrade its system environment and the configuration process, and through the web page to track the progress of real-time principle.

        Solaris; Progress tracking; Integrated management; Upgrade

        TP 311

        A

        10.3969/j.issn.1003-6970.2016.09.027

        于洋,北京郵電大學(xué)研究生(1991-)

        通訊聯(lián)系人: 于洋(1991-)

        猜你喜歡
        腳本消息升級(jí)
        酒駕
        小投入,大升級(jí) Polk Audio Monitor XT系列
        安奇奇與小cool 龍(第二回)
        幸福,在“家門口”升級(jí)
        金橋(2020年12期)2020-04-13 05:51:14
        一張圖看5G消息
        數(shù)據(jù)庫(kù)系統(tǒng)shell腳本應(yīng)用
        回暖與升級(jí)
        快樂(lè)假期
        消息
        消息
        国产丝袜长腿在线看片网站| 欧美三级一区| 亚州毛色毛片免费观看| 日韩三级一区二区三区四区| 久久综合久久美利坚合众国| 米奇777四色精品人人爽| 国产小视频网址| 国产成人av一区二区三区无码 | 亚洲一品道一区二区三区| 私人vps一夜爽毛片免费| 亚洲 欧美 激情 小说 另类| 国产一区二区a毛片色欲 | 尤物网址在线观看| 精品国产亚洲一区二区在线3d| 白色橄榄树在线阅读免费| 国产精华液一区二区三区| 国产电影无码午夜在线播放| 亚洲xxxx做受欧美| 尤物yw午夜国产精品视频 | 中文字幕亚洲五月综合婷久狠狠 | 久久国产乱子伦精品免费强| 亚洲av网站在线免费观看| 国产精品私密保养| 久久精品国产自清天天线 | 欧美嫩交一区二区三区| 免费人成无码大片在线观看| 999久久久免费精品国产牛牛| 国产精品亚洲一二三区| 日本阿v片在线播放免费| 亚洲AV永久无码制服河南实里| 婷婷开心五月综合基地| 蜜桃av在线免费网站 | 激情五月婷婷综合| 日日麻批视频免费播放器| 亚洲乱码无人区卡1卡2卡3| 囯产精品一品二区三区| 亚洲va成无码人在线观看| 亚洲一区二区三区地址| 毛片a级毛片免费观看| 无码一区久久久久久久绯色AV| 偷拍偷窥在线精品视频|