一、設備拆箱安裝,網絡部署
1、確定服務器機房上架位置,調試大廳調試工位,配線架走線。要求服務器全部上架,調試大廳只能擺放工作站、交換機等設備。
2、禁止從機房拉長網線,工位與工位之間的網線不可穿越過道區域。
二、操作系統安裝
項目經理協調凝思或麒麟廠家安裝,需提前確認:
1、 操作系統版本號4.2
2、服務器及工作站硬盤大小和分區,特別注意數據庫服務器的硬盤分區、以及源碼編譯服務器的硬盤分區,如果是陣列庫,陣列廠家會負責把磁盤掛載到服務器,數據庫廠家會根據數據庫資源利用分配掛載空間,無需在安裝操作系統時考慮數據庫硬盤分區 /home/d5000 var /home/ /
3、網卡配置是網卡漂移模式還是bond綁定模式,對後續.cshrc配置和源碼編譯有影響
目前來看一般凝思是bond 麒麟是漂移
三、數據庫安裝
項目經理協調達夢或金倉廠家安裝數據庫,完成後需確認:
1、 數據庫文件安裝目錄及硬盤空間利用是否合理
2、 數據庫啟停功能是否正常
3、 數據庫維護客戶端安裝位置及功能是否正常(manger管理軟件功能)
4、 isql命令能否通過SYSDBA用戶成功登陸
四、源碼獲取
1、 確定編譯源碼的服務器,原則不跑重要應用,固定,接口服務器或圖模調試服務器,根據《samba配置.docx》文檔配置samba
2、 將源碼服務器空閒網口連接至研發網,自動獲取192.168.177.XX的IP地址
如無法自動獲取,聯繫安質部張娜要一個空閒的IP手動配置,如上圖,不要自己隨便配,IP地址衝突後果很嚴重
3、 刷源碼前,項目經理需要確認好刷什麼版本的源碼,新一代還是調配一體化,版本號是多少。聯繫範寅秋,張娜刷源碼,完成後源碼一般放在/home/d5000/xxx項目/下
五、配置文件(源碼編譯前)
將src目錄下的conf、data拷貝到/home/d5000/test/下,conf下有個template文件夾,裡面是集成測試環境配置好的配置文件,可用於參考。(test為項目名稱,後面不再做解釋)
1、配置.cshrc環境變量,以下幾處需確認:
a. 數據庫為金倉:setenv DB_TYPE kingbase;達夢:setenv DB_TYPE dm
b. 數據庫版本為6:setenv DB_TYPE_VERSION v6;為7: setenv DB_TYPE_VERSION v7
c. 網卡為綁定模式:setenv NET_MODE;漂移模式:setenv NET_MODE _EXTEND _MODE
d. 如果是Hbase庫,setenv SAMPLE_SRC HBASE需要放開
.cshrc配置完成後運行source .cshrc或csh生效
2、 配置/etc/hosts
以標準hosts為模板,修改機器名,IP地址
如果發現hosts第一行是127.0.0.1 sca1 localhost.localdomain localhost
需將sca1(主機名)刪除,否則系統啟動ss會看不到應用
3、 配置/etc/services
系統服務端口配置,將標準services放入/etc替換
4、 配置/etc/sysctl.conf
系統參數配置,將標準sysctl.conf放入/etc下替換,超戶下:sysctl –p生效,sysctl –a查看
5、 配置db_config.sys、db_config_ext.sys
應用數據庫配置文件,將標準db_config.sys、db_config_ext.sys放入/home/d5000/test/conf下,修改數據庫機器名、IP地址
6、 配置/etc/dm_svc.conf(達夢)、/etc/sys_service.conf(金倉)
數據庫訪問配置文件,將標準dm_svc.conf、sys_service.conf放入/etc下,修改數據庫機器名、IP地址
六、基準庫導入
1、從版本管理刷完源碼後,創建鏈接方式,具體方法如下:(例源碼位置為:/home/d5000/test/oss_src/src)
ln –s /home/d5000/test/oss_src/src /home/d5000/test/src
2、根據/home/d5000/test/src/d5000_db/general_forDM7/forNew-generation/下的readme_forNew_generation.txt文檔說明導入新一代基準庫,需要注意以下幾點:
A、調整forNew_generation.sh腳本,DM_PATH=/home/dmdba/dm/dmdbms/bin核對DM目錄是否正確;
B、調整forNew_generation.sh腳本,版本庫腳本中默認建表語句目錄為:/home/d5000/src/d5000_db/general_forDM7/,要在/home/d5000/後面加上項目名,如改成/home/d5000/test/src/d5000_db/general_forDM7/;
C、執行腳本前測試下isql SYSDBA/SYSDBA@mdb能否正常連接數據庫
D、執行腳本第一步是創建用戶、登錄名、表空間,如果報密碼長度限制,可能是dm庫的密碼限制要求,修改方法:在dm庫文件夾/home/dmdba/dm/dmdbms/bin/dm.ini的/PWD行將參數2改成0,重啟數據庫
3、腳本執行完畢後,在/home/d5000/dm/dm7_log目錄下查看日誌是否有報錯,如果有,需要查看錯誤原因 grep “出現錯誤”/“:Error”/“has error”
4、導入完成後通過isql d5000/d5000@mdb測試d5000用戶是否創建成功,通過達夢管理工具目錄 /home/dmdba/dm/dmdbms/tool/manger,檢查d5000用戶的表是否創建成功,用法類似plsql工具
5、由於範本庫歸併進度推遲,需單獨執行下以下腳本(後續歸併完成後註釋此條目)
路徑:/home/d5000/naripd/src/d5000_db/patch/patch_forNew-generation/patch_forDM7;
涉及腳本ut_forNew_generation_byTest-20180518.sh,patch_v3.0.3_35_bug10081.sql,patch_v3.0.4_03_bug12103.sql,patch_v3.0.3_20161216_123_ems_b13911.sql
七、編譯源碼
1、編譯前建議檢查下各個文件夾權限是否正確,建議將整個/d5000/目錄chown d5000:d5000;chmod 755,以免在編譯的時候因為權限不對導致編譯中斷
2、安裝MQ源碼庫:
MQ作為主站四區主站信息通道的必備組件進行安裝。新建系統如為凝思操作系統時,建議直接複用文件夾內已建設好的lib庫,方法如下:
將activemq-cpp、mq_lib文件夾放置於用戶根目錄下%D5000_HOME%/,mq_lib在/src/tools下,activemq-cpp在/src/mq/下
修改cshrc文件(標準.cshrc已改好)
setenv MQ_HOME $D5000_HOME/mq_lib
setenv LIBPATH 加入 $D5000_HOME/mq_lib/lib
setenv LD_LIBRARY_PATH 加入 $D5000_HOME/mq_lib/lib
如果後續應用編譯發現該lib庫不可用,則可能由於操作系統環境變化造成lib需要重新編譯,方法如下:
1) 將activemq-cpp文件夾放置於用戶根目錄下%D5000_HOME%/
2) 新建mq_lib文件夾
3) 如上文修改cshrc文件
4) 修改compile.sh,把OSP_HOME全部替換成MQ_HOME
運行activemq-cpp文件夾下compile.sh腳本(activemq-cpp編譯大概需要20分鐘)
3、編譯QT,首先將源碼src/tools/qt/qt‐everywhere‐opensource‐src‐4.8.4.tar.gz拷貝到/home/d5000目錄下,依次執行 :
unsetenv QTDIR
unsetenv QMAKESPEC
tar zxvf qt‐everywhere‐opensource‐src‐4.8.4.tar.gz
cd qt‐everywhere‐opensource‐src‐4.8.4
./configure ‐prefix /home/d5000/qt484 ‐debug ‐webkit‐debug ‐nomake examples ‐nomake demos -opensource (這行不要拷貝,請手打)
yes
make
make install
注意:新搭建項目一定要自己編QT,不要圖方便直接用別的項目編好的QT安裝包,如果不是自己編譯的QT,圖形問題研發中心不予技術支持!
編譯完成後用qtconfig驗證qt是否安裝成功!
4、 負荷轉供程序編譯特殊處理,load_trasnfer項目文件夾下包含qwt編譯使用的頭文件及動態庫,屬於qwt6.0版本,編譯load_trasnfer前需要做如下操作:(後續會加到Make腳本,補充後註釋此條目)
從src/advanced/dimds/dms_trasnfer/
①在系統qt主目錄下新建路徑imds,如 ../home/d5000/qt484/imds
②在新建的imds目錄下新建qwt路徑,如 ../home/d5000/qt484/imds/qwt
③將本項目文件夾下qwt路徑下所有文件考入../home/d5000/qt484/imds及qwt對應目錄中,具體如下
拷貝本項目文件夾下qwt/qmake.conf至../home/d5000/qt484/imds
拷貝本項目文件夾下qwt/include文件夾至../home/d5000/qt484/imds/qwt
拷貝本項目文件夾下lib/include文件夾至../home/d5000/qt484/imds/qwt
④拷貝結束後,在本項目load_trasnfer目錄下對本項目進行編譯
5、執行src/script_ex/make_all開始編譯,待編譯完成後,在/src/script_ex/下執行grep_error –all檢查編譯是否有錯誤。如果有大量編譯錯誤請先從第一步開始檢查配置例如.cshrc有沒有錯誤,如果還有大量編譯問題,請聯繫系統生成組,幫助檢查有無配置錯誤。如果系統生產組確認是源碼有問題請和範寅秋聯繫。
6、編譯完成後:
在bin目錄下執行set_priv.sh
在fes_bin目錄下執行init_log.sh、set_caps.sh
在dfes_bin目錄下執行dms_init_log.sh、dms_set_caps.sh
7、如果需要重新編譯整個源碼:
在/src/script_ex/下執行make_all_clean,刪除/src/下bin_linux、lib_linux,重複步驟3
八、系統配置(啟系統準備)
1、為了減輕工程配置工作量,集成測試環境保存了一套配置好的模板,包括:配置文件(一區、三區)、節點信息表、系統應用分佈表、進程信息表,原則上將這些內容替換後,只需要更改其中的機器名、IP地址,系統就能正常運行,由於各種原因,這部分內容暫時沒能併入版本,後續若併入版本,註釋此條目。
更新節點信息表、系統應用分佈表、進程信息表(原內容請備份)
通過達夢客戶端工具操作/home/dmdba/dm/dmdbms/tool/manger導入或通過isql d5000/d5000@mdb '`sql語句'命令導入以下腳本:
mng_node_info_update.sql、mng_sys_distributing_info.sql_update、mng_process_info_update.sql
將一區配置文件放入conf下替換,原conf文件夾註意備份。
2、節點信息表mng_node_info
系統啟動前無法通過dbi修改記錄,建議一種比較方便的方法,通過DM管理工具/home/dmdba/dm/dmdbms/tool/manger
修改、添加、刪除、保存
修改節點名稱,節點類型,系統啟動後可以在dbi節點信息表中直接修改添加。
3、系統應用分佈表mng_sys_distributing_info
在需要啟動的應用後面填寫相應的節點id,節點id對應節點信息表中的節點名。
九、配置文件(啟系統準備)
1、mng_priv_app.ini
修改機器名,NODE_ID(節點信息表中配置的NODE_ID的最後兩位數字減去60),如節點信息表中配置的scada2的NODE_ID=45035996273704965,那麼在mng_pri_app.ini中scada2的NODE配置為5
在系統啟動後,執行bin目錄下的set_node_id命令,程序會將節點信息表中對應的node_id更新到配置文件中
2、msg_node.conf
文件路徑:$D5000_HOME/conf/msgbus_procm/
消息總線的配置文件,修改節點名
3、net_config.sys -----綁定模式
修改機器名、IP地址
注意bond0綁定的是哪兩個網卡,凝思操作系統可通過查看/etc/rc.d/rc.local查看
(該配置文件也可以用於修改bond0地址)
4、net_config_ext.sys -----漂移模式
修改機器名、IP地址
5、netmask_config.sys
子網掩碼配置文件,一定要與ifconfig中bond0顯示的子網掩碼一致
6、locator.conf、locator_host_name.conf、locator.sys、locator_app_name.conf
資源定位服務配置文件
修改資源定位服務節點名,注意locator_app_name.conf一三區不一樣
7、sys_netcard_conf.txt
文件路徑:$D5000_HOME/conf/nic
說明:網卡監視程序(sys_nicmonitor)配置文件。保存網卡監視的相關配置
修改ping bond0 地址
8、domain.sys
TYPEID:分區標識 0表示一區,1表示二區,2表示三區
SYS_ID:不同項目SYS_ID不能一樣
修改Name、LOCAL、節點名、SYS_ID,如果發現應用異常,查不出其他問題,很可能是因為有系統連在一個網裡domain配置一樣。
9、db_config.sys、db_config_ext.sys、db_config_exp.sys
數據庫配置文件,修改數據庫機器名、IP地址
10、dfes_sysx.ini、fes_sysx.ini
修改前置機器節點名
11、file_send.ini、file_send_ac.ini
正向穿區配置文件,file_send.ini配置一區節點在三區的映射地址,file_send_ac.ini配置一區節點在安全接入區的映射地址
12、trans_web.sys
web同步配置文件,填寫一區節點在三區的映射地址
13、一三區同步相關配置文件
配置項較多,詳細請參考《一三區同步工程版配置手冊》,不影響啟系統,可後續單獨部署配置
配置文件時請詳細參考文檔《D5000系統安裝手冊-平臺及應用軟件 V3.0-F4.pdf》第1.6章節!請詳細閱讀,以便理解記憶
以上配置文件、表配置建議先配置一臺,待應用成功啟動,功能驗證通過後再統一配置分發,提高工作效率!
十、系統應用啟動及常見問題分析
服務器:sys_ctl start down
工作站:sys_ctl start fast
常見問題分析:
1、 啟動的時候提示public表下裝失敗
檢查數據庫連接是否正常,isql d5000/d5000@mdb測試
檢查etc/dm_svc.conf /conf/db_config.sys、db_config_ext.sys
將db_monitor進程啟到前臺,檢查數據庫狀態監視是否正常
將down_load_server起到前臺,執行down_load public觀察後臺打印語句
2、 啟動dscada、dfes應用後報故障
用manual_app_stop dscada;manual_app_start dscada –s down檢查在哪一步出錯,如果是部分表下裝失敗導致,如果是高軟的一些不需要的表,可直接在down_load_DSCADA.sys配置文件中將該記錄刪掉
如果是啟動程序失敗導致,單啟該程序,通過後臺報錯情況追溯問題原因
3、 isql d5000/d5000@mdb提示lib錯誤,原因是/lib中的dm類庫版本過舊,需要在考達夢服務器dmserver bin下面的動態庫下執行cp libdm*.so /home/d5000/hangzhou/lib和libdisql_dll.so將新的類庫文件拷貝過來,考過來後cp libdmoci.so libclntsh.so
4、 應用啟動後提示斷網,檢查sys_nicmonitor程序,需要chmod +x sys_nicmonitor,拉起後檢查後臺有沒有報錯,如果提示數據庫的地址不是數據庫服務器的地址,檢查sys_netcard_conf.txt是不是配置錯了
5、 應用啟動後ss看不到輸出,檢查hosts,將127.0.0.1 localhost後面的機器名去掉
6、 如果所屬饋線域不顯示下拉菜單,重啟task_srv程序
7、 刪除記錄時提示可以將參數改成0(去除區域判斷)
然後kp model_modify
8、 配網終端信息表看不到東西,重啟task_srv,然後執行down_load_all dscada 13510 –force
9、鼠標點圖形上設備tip顯示數據庫無此設備
執行keylocator init,然後執行keylocator down
10、圖形上應用下拉菜單沒有DSCADA、DFES應用,檢查app_define.sys、.odb_app.ini配置文件是否增加了DSCADA、DFES配置
再sys_adm檢查參數配置
GRAPH類增加記錄
11、遙控的時候提示參數未定義完整,不可控,如果檢查參數配置都正確了還不行,重編dms_sca_common,make dms
12、商用庫的記錄下不下來,執行del_table dscada -1;然後down_load_all dscada –force
13、在配置都檢查正確的情況下,終端死活接不進來,可能是內存錯誤,清除共享內存:先將系統應用停了,輸入ipcs -m | grep "0x0" | awk '{printf(" -m % d",$2)}' > 1
然後 vi 打開1,在最前面加上 ipcrm ,然後 chmod +x 1;然後執行1,就可以把共享內存都刪了
14、圖形打開在登陸界面卡住然後 core掉
打開qtconfig,在“Appearance”Tab頁中找到GUI Style,將“Select GUI Style”改為“Windows”,然後保存退出。
15、Rtio用法,用於直接檢查實時庫文件
Keylocator test 設備ID確定分片信息
Showtask 查看分片主備機
Rtio 查看實時庫中數據
a/dscada //切到要查看錶的應用
n/13502 //切換到要查找的表
16、下裝
在主備機上執行命令:down_load dscada 表號 –slice 分片號
下裝所有分片: down_load_all dscada 表號 -force
17、未完待續
18、備份報錯,sh /home/d5000/dm/dmClient/exp:沒有哪個文件或目錄,達夢bin目錄中有個dexp。改名。mv出來
19、mng_priv_app.ini 改完需要用set_node_id命令刷一下
閱讀更多 種蘑菇的小題麼 的文章