December 2004EPICS JAERI/ KEK 1 burtSave burtSave Albert Kagarmanov Matthias Clausen.

Slides:



Advertisements
Similar presentations
Epics Configuration Management Steve Hunt v1.0. Goals Maximize control system availability Minimize development cycle time Reduce risk.
Advertisements

BY LECTURER/ AISHA DAWOOD DW Lab # 3 Overview of Extraction, Transformation, and Loading.
1 1999/Ph 514: Channel Access Concepts EPICS Channel Access Concepts Bob Dalesio LANL.
HWg-PDMS: New software Poseidon & Damocles Monitoring System 1 Included on every HWg DVD since September 2009.
Jan Hatje, DESY AMS – Alarm Management System PCaPAC AMS – Alarm Management System and CSS – Control System Studio Update PCaPAC 2008 J.Stefan Institute,
Controls Group New Channel Access Nameserver Joan Sage 12/4/01.
The RIGHT DATA at the RIGHT TIME in the RIGHT PLACE Data Stream Processor Introduction.
14-Nov-2000EPICS Workshop - Oak Ridge1 DESY Matthias Clausen DESY / MKS-2.
A U.S. Department of Energy Office of Science Laboratory Operated by The University of Chicago Argonne National Laboratory Office of Science U.S. Department.
TCP/IP Protocol Suite 1 Chapter 11 Upon completion you will be able to: User Datagram Protocol Be able to explain process-to-process communication Know.
SPEAR PV RDB Database EPICS Collaboration Meeting April 27, SPEAR PV RDB Database Clemens Wermelskirchen.
Asynchronous Solution Appendix Eleven. Training Manual Asynchronous Solution August 26, 2005 Inventory # A11-2 Chapter Overview In this chapter,
V4 – Executive Summary 1.Provide online add/delete of I/O to support continuous operation. 2.Provide redundant control of remote I/O to support improved.
Agenda  Overview  Configuring the database for basic Backup and Recovery  Backing up your database  Restore and Recovery Operations  Managing your.
File Transfer Protocol (FTP)
NovaBACKUP 10 xSP Technical Training By: Nathan Fouarge
DØ Channel Archiver Tutorial V.Sirotenko, 4/4/2001.
PPOUG, 05-OCT-01 Agenda RMAN Architecture Why Use RMAN? Implementation Decisions RMAN Oracle9i New Features.
DONE-10: Adminserver Survival Tips Brian Bowman Product Manager, Data Management Group.
Back to content Final Presentation Mr. Phay Sok Thea, class “2B”, group 3, Networking Topic: Mail Client “Outlook Express” *At the end of the presentation.
1 1999/Ph 514: State Notation Language EPICS State Notation Language (SNL) Ned D. Arnold APS.
XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser Matthias Clausen, DESY XFEL Refrigerator Controls – April Alarm Training Making.
9/15/2015© 2008 Raymond P. Jefferis IIILect Application Layer.
Imperial College Tracker Slow Control & Monitoring.
1 In the good old days... Years ago… the WWW was made up of (mostly) static documents. –Each URL corresponded to a single file stored on some hard disk.
Debby Quock November 13, 2012 IRMIS at CLS. IRMIS Currently at CLS PV Crawler –Perl modules that parse EPICS IOC st.cmd, db, and dbd files. Information.
1 SNL Current State (in transition state) By Matthias Clausen Ron Chestnut.
Exploring an Open Source Automation Framework Implementation.
Managed by UT-Battelle for the Department of Energy Kay Kasemir ORNL/SNS Feb Material copied from the IOC Application Developer's.
Wir schaffen Wissen – heute für morgen Gateway (Redux) PSI - GFA Controls IT Alain Bertrand Renata Krempaska, Hubert Lutz, Matteo Provenzano, Dirk Zimoch.
XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser Matthias Clausen, DESY XFEL Refrigerator Controls – April CSS Core Applications.
3.14 Work List IOC Core Channel Access. Changes to IOC Core Online add/delete of record instances Tool to support online add/delete OS independent layer.
Topics Sending an Multipart message Storing images Getting confirmation Session tracking using PHP Graphics Input Validators Cookies.
An idea for access control enhancement on the EPICS Accelerator Group J-PARC, JAERI April 2004.
Writing a Channel Access Client in EPICS Bob Dalesio, April 5, 2000.
Writing a Channel Access Client in EPICS Bob Dalesio, April 5, 2000.
Managed by UT-Battelle for the Department of Energy CSS Update Matthias Clausen, Helge Rickens, Jan Hatje and DESY Delphy Armstrong, Xihui Chen,
A XML 1 An XML Driven Graphical User Interface and Application Management Toolkit Matthias Clausen (DESY & SLAC) Piotr Bartkiewicz (DESY & FPNT/AGH) Alexei.
Reliability/ Secure IOC / Outlook M. Clausen / DESY 1 CA-Put Logging BurtSave Warm Reboot Matthias Clausen DESY/ MKS.
EPICS Release 3.15 Bob Dalesio May 19, Features for 3.15 Support for large arrays - done for rsrv in 3.14 Channel access priorities - planned to.
1 1999/Ph 514: Flow of Control EPICS Flow of Control Marty Kraimer APS.
18. June 2003EPICS WS Channel Management Andreas Lüdeke Swiss Light Source / PSI 20 May 2003 EPICS Collaboration Meeting.
8 Chapter Eight Server-side Scripts. 8 Chapter Objectives Create dynamic Web pages that retrieve and display database data using Active Server Pages Process.
Marcelo R.N. Mendes. What is FINCoS? A set of tools for data generation, load submission, and performance measurement of CEP systems; Main Characteristics:
EPICS Release 3.15 Bob Dalesio May 19, Features for 3.15 Support for large arrays Channel access priorities Portable server replacement of rsrv.
Advanced Photon Source Channel Access, CaSnooper, and CASW Kenneth Evans, Jr. Presented November 7, 2003 Argonne National Laboratory.
Jan Hatje, DESY CSS – Control System Studio EPICS collaboration meeting CSS – Control System Studio Update EPICS collaboration meeting 2008 Shanghai.
Overview of Oracle Backup and Recovery Darl Kuhn, Regis University.
Matthias Clausen, Jan Hatje, DESY CSS Overview – Alarm System and Management CSS Overview - GSI, 11 Februrary CSS Overview Alarm System and CSS.
1 1999/Ph 514: Lab #1 : CA Clients EPICS Lab #1 CA Clients.
Stanford Linear Accelerator Center Michael Zelazny EPICS Collaboration Meeting Dec 3&4, Channel Watcher Bumpless Reboot Replacement Related Web Page:
Controls Zheqiao Geng Oct. 12, Autosave Additions/Upgrades and Experiences at SLAC Zheqiao Geng Controls Department SLAC National Accelerator Laboratory.
RDB Issues at SLAC Archiver Store General EPICS Support.
1 Channel Access Concepts – IHEP EPICS Training – K.F – Aug EPICS Channel Access Concepts Kazuro Furukawa, KEK (Bob Dalesio, LANL)
STAR Scheduling status Gabriele Carcassi 9 September 2002.
1 EPICS Flow of Control: EPICS Workshop at IHEP, Beijing, August 2001 EPICS Flow of Control Marty Kraimer APS.
The DCS Databases Peter Chochula. 31/05/2005Peter Chochula 2 Outline PVSS basics (boring topic but useful if one wants to understand the DCS data flow)
Matthias Clausen, DESY EPICS Training – Client Tools/ CSS EPICS collaboration meeting EPICS Training Client Tools EPICS collaboration meeting 2008.
Staging Archived Data at DESY December 2008.
Channel Access Security 2006 O AK R IDGE N ATIONAL L ABORATORY U. S. D EPARTMENT OF E NERGY 2 Channel Access Security  The IOC Application.
Introduction to SQL Server  Working with MS SQL Server and SQL Server Management Studio.
Monitoring Dynamic IOC Installations Using the alive Record Dohn Arms Beamline Controls & Data Acquisition Group Advanced Photon Source.
z/Ware 2.0 Technical Overview
EPICS Training Client Tools
Relational Database Collaboration
Channel Access, CaSnooper, and CASW
Nate Nelson I*LEVEL, Inc.
Alarm Training Making the transition from alh to CSS Alarm Tools
Channel Access Concepts
Channel Access Concepts
Presentation transcript:

December 2004EPICS JAERI/ KEK 1 burtSave burtSave Albert Kagarmanov Matthias Clausen

December 2004EPICS JAERI/ KEK 2 burtSave Outline burSave and caPut logging Monitoring any change using ca caPut logging and iocPutLogServer burtSave and warm reboot Monitoring changes of a give record list ioc reboot options (conditional) burtwb dbloadDatabase

December 2004EPICS JAERI/ KEK 3 burtSave burtSave BurtSave is clone of standard APS BackUp and Restore Tool. Output of burtSave is compatible with BURT so we can use it as input for burtwb. BurtSave works in WS-level (Sun-Solaris). This program write data to disk periodically (program option, default is 20 sec.) or by request (writing a value to special binary-soft-channel, typically by medm).

December 2004EPICS JAERI/ KEK 4 burtSave burtSave BurtSave has 2 main regimes: 1) Full regime and 2) List regime 1) Full regime – all “external” changing of all PVs will be monitored and written (based on CAS-hook) At DESY for a each IOC we have special RSL-record. This is string array-record.(Resident String Logger ) Last CAS request is stored here. Typical RSL-value is 01-DEC-04 11:13:12 epicsg mkk_user fred_ao old=0.12 new=0.13 (min=0.05 max=0.34)

December 2004EPICS JAERI/ KEK 5 burtSave burtSave (monitoring any caPut) burtSave is simply monitoring this record on WS-side. It’s possible to exclude storing some record subset by using special option: burtSave –exclude “*soft*ao CGG_* HNSI61GG_ai “

December 2004EPICS JAERI/ KEK 6 burtSave burtSave (monitoring any caPut) Advantages of this method: Capture all changes written to IOC Keep overview of all fields ever changed in a single file Disadvanatages of this method: The file might not be useful for writeback (the order things have been changed is not necessarily the right order to write them back during reboot) Internal changes (record record/ SNL-> records) are not captured

December 2004EPICS JAERI/ KEK 7 burtSave burtSave and ioc(Put)LogServer CAS caPut rslRecord WS Caput-call WS BurtSave(1) RngLog Task MQ

December 2004EPICS JAERI/ KEK 8 burtSave burtSave (monitoring list of records – 2nd regime) 2) List regimen – a list of PVs is monitored Monitor any desired field of any record ( Capture also IOC-internal changes) Setup the list in a way that records and fields are written in the ‘right’ order

December 2004EPICS JAERI/ KEK 9 burtSave burtSave and ioc(Put)LogServer CAS caPut rslRecord WS Caput-call WS BurtSave(1) RngLog Task MQ WS BurtSave (2)

December 2004EPICS JAERI/ KEK 10 burtSave burtSave (and the problem during IOC reboot) If IOC is disconnected or switch off: We also add special saveEnable binary record. If this PV is unavailable or it’s value is equal zero burtSave does nothing. In IOC initialization script this value is set to 1. This allows us to not store the first value which is coming from static db-file during initialization, and also stop all store activity during shutdown or power off.

December 2004EPICS JAERI/ KEK 11 burtSave Bumpless Reboot: Special output for burtSave Standart burtwb does not allow really smooth warm reboot. Why? Because for any PVs we set value twice in dbLoad (before ioc_init()) and in burtwb after ioc_init().Actually we can have some gap in data (see next picture)

December 2004EPICS JAERI/ KEK 12 burtSave Bump’full’ reboot using burtwb

December 2004EPICS JAERI/ KEK 13 burtSave Bumpless Reboot using db files A real bumpless rebot is possible if the desired data are either written to the loaded database, or of the databases is ‘overloaded’ by the desired settings. burSave can also create db files Typical db-output created by burtSave: # unix-time this is commentary line record(diglog,"HZF:V17_dlog") { field(CMD,"0") } ….. record(diglog,"HZF:V21_dlog") { field(CMD,“3") }

December 2004EPICS JAERI/ KEK 14 burtSave Bumpless Reboot loading db files (conditional loading) Then we can overload db files by using the dbLoadRecord(filename) – call. There might be cases where stored data are too old for a smooth reboot. If the conditions changed Loading db files with most recent changes only if the data are not too old.

December 2004EPICS JAERI/ KEK 15 burtSave Bumpless Reboot (loading db file on time condition) To allow (time) conditional loading we use a small C-program which checks the difference between the current ioc time (T1=now) and the file time T2 which comes from comment line of db-file (written by burtSave). For example If |T1 – T2| < 20 min. dbLoadRecord(burtSaveDB-file) Else do nothing, default values from the ioc database files will not be overwritten.

December 2004EPICS JAERI/ KEK 16 burtSave caPut logging and IocLogMsgServer Communication between IOC part and WS level is simple TCP/IP-socket based client –server mechanism. WS caPutLogger and IOCLogMsgServer is one executable Unix server task with different ports: Export EPICS_IOC_CA_PUT_LOG_PORT=7010 Export EPICS_IOC_LOG_MSG_PORT=7004

December 2004EPICS JAERI/ KEK 17 burtSave caPut logging and IocLogMsgServer Use CAS implementation as a hook for CA-put loging Info has format 28-Sep-04 14:39:12 kryksunh kagarman HZF:CV 4_pid.KP new=0.2 old=0.3 This info coming from IOC message queue and tcp/ip socket task to WS-level. The same procedure for logMsg-IOC-call. Typical format :37:38 Illegal Request V: HZF:T16P_ai.TIME error detected in routine: db_name_to_addr error :35:01 0x (Seq_Alarms): 33 of 8 0 assigned channels have connected

December 2004EPICS JAERI/ KEK 18 burtSave burtSave and ioc(Put)LogServer CAS caPut rslRecord Put Logging Client WS Caput-call WS BurtSave(1) WS caPutLogServer RngLog Task MQ WS BurtSave (2)

December 2004EPICS JAERI/ KEK 19 burtSave burtSave and ioc(Put)LogServer CAS caPut task rslRecord Put Logging Client WS Caput-call WS BurtSave(1) WS caPutLogServer WS LogMsqServer LogMsg Client RngLog Task MQ logMsg MQ WS BurtSave (2)

December 2004EPICS JAERI/ KEK 20 burtSave caPut logging and IocLogMsgServer Output for ioclogServer is splitted by “logical IOC host” Physical2logical table as static file: epicsGPFC01 mkk10KVA1 epicsGPFC06 mkk10KV2B … epicsPC11 datLog11 epicsPC21 mthKryoStand epicsPC22 heraKryoZeus

December 2004EPICS JAERI/ KEK 21 burtSave Conclusion - burtSave The latest burtSave version provides real warm reboot features using: List of records.fields to be monitored db files time-conditional loading IocName:burtEnable_bi (save files only if this binary record is valid AND not zero)

December 2004EPICS JAERI/ KEK 22 burtSave Conclusion - iocPutLogServer One image for iocLogMessages and iocPutLogServer One logfile for each IOC Mapping IP-Names to logical IOC names Execute command (send mail) on logfile size iocPutLogServer keeps track of any external (caPut) change to the IOC

December 2004EPICS JAERI/ KEK 23 burtSave Appendix: Option for burtSave: burtSave -c confFile -l lockFile -d saveDir [-i interval] [-e=epicsDbFileOutputFacility] [-b=directMonitorFacility] [-x ''formatList'' forSubSetOfRecordExcluding]

December 2004EPICS JAERI/ KEK 24 burtSave Appendix: Config file for burtSave ########################### 1.4 # burtSave version # first 4 uncomment line is special PVs suffixes, then IOC names ########################### :caPutMsgLog_rsl # rsl-record suffix full name is epicsPC04:caPutMsgLog_rsl :setRebootSav_bi # immediately create snap-file :last_burt_str # time for previous :burtEnable_bi # Enable/Disable snap-file writing # applications IOC host alias name here: epicsPC04 heraKryoZeus

December 2004EPICS JAERI/ KEK 25 burtSave Appendix: burtSave Snap-file (as in APS burt) --- Start BURT header Time: Fri Sep 3 11:00: Login ID: archiver (Archiver User) Eff UID: 901 Group ID: 100 Keywords: Comments: Type: Absolute Directory /import/epicsf2/applic/burtSave/bin Req File: /applic/burtSave/conf/burtSave.conf --- End BURT header HZF:P1_ai.HIGH HZF:P1_ai.VAL HZF:V22_dlog.CMD 1 0 HZF:P10_ai.HIGH 1 0 HZF:CV8_ao.VAL 1 0 HZF:V2_dlog.CMD 1 0 HZF:V3_dlog.CMD 1 0 HZF:V17_dlog.CMD 1 0

December 2004EPICS JAERI/ KEK 26 burtSave Appendix: burtSave DB-file # comment line Unix-time for file creation record(diglog,"HZF:V17_dlog") { field(CMD,"0") } record(diglog,"HZF:V18_dlog") { field(CMD,"0") } record(pid,"HZF:CV28_pid") { field(SOUT," e+01" }

December 2004EPICS JAERI/ KEK 27 burtSave Appendix: Phys2logical.tbl epicsGPFC01 mkk10KVA1 epicsGPFC02 mkk10KVB1 epicsPC11 datLog11 epicsPC12 datLog12 epicsPC13 datLog13 epicsPC14 datLog14 epicsPC15 datLog15 epicsPC21 mthKryoStand epicsPC22 heraKryoZeus epicsPPC01 radmes epicsPPC02 mkkPPC02 epicsPPC03 vacuumCompress2 epicsPPC04 VC2Test epicsPPC05 ttfRadMes epicsPPC11 mkkSender epicsVME07 krykWetter

December 2004EPICS JAERI/ KEK 28 burtSave Appendix: Environment variable for iocLogServer EPICS_IOC_LOG_PORT=7004 EPICS_IOC_LOG_FILE_NAME=$TOP/log/iocLogServer.log EPICS_IOC_LOG_FILE_LIMIT= EPICS_IOC_LOG_CONFIG_FILE_NAME=$TOP/iocLogServer.conf EPICS_IOC_LOG_PHYS2LOG_TBL_NAME=$TOP/phys2log.tbl EPICS_IOC_LOG_MAIL_SUBJECT='iocLogServer output file is too big!' EPICS_IOC_LOG_COMMAND='sh $BIN/smsToLogbook.sh' EPICS_IOC_LOG_COMMAND_HOWTO=23 EPICS_IOC_LOG_COMMAND_SUBJECT='iocLogServer output file is too big'

December 2004EPICS JAERI/ KEK 29 burtSave Appendix: Config file for iocLogServer epicsVME70.desy.de { monthly { logfile=/applic/iocLogServer/mth/mthKryoLT.log; limit= ; } epicsVME35.desy.de { monthly { logfile=/applic/iocLogServer/hera/heraKryoFel.log; limit= ; } epicsVME40.desy.de { monthly { logfile=/applic/iocLogServer/ttf/ttfKryoFV.log; limit= ; }

December 2004EPICS JAERI/ KEK 30 burtSave Appendix: outPut file for iocCaPutLogServer: [epicsPC22 heraKryoZeus] :33:52 09-Aug-04 16:38:54 kryksung claus heraKryoZeus:setRebootSav_bi.VAL new=0 old=0 [epicsPC22 heraKryoZeus] :33:57 09-Aug-04 16:38:54 kryksung claus heraKryoZeus:last_burt_str.VAL new= :16.33 old= :16.36 [epicsPC22 heraKryoZeus] :59:59 10-Aug-04 09:05:05 kryksunh schoeneb HZF:CV4_pid.AM new=M old=A [epicsPC22 heraKryoZeus] :00:06 10-Aug-04 09:05:08 kryksunh schoeneb HZF:CV4_pid.SOUT new=100 old=100 min= max=100 [epicsPC22 heraKryoZeus] :01:00 10-Aug-04 09:06:06 kryksunh schoeneb HZF:CV7_ao.OMSL new=supervisory old=closed_loop [epicsPC22 heraKryoZeus] :01:04 10-Aug-04 09:06:09 kryksunh schoeneb HZF:CV7_ao.VAL new=100 old=100 min= max=100 [epicsPC22 heraKryoZeus] :01:06 10-Aug-04 09:06:11 kryksunh schoeneb HZF:CV7_ao.OMSL new=closed_loop old=supervisory [epicsPC22 heraKryoZeus] :01:07 10-Aug-04 09:06:12 kryksunh schoeneb HZF:CV16_ao.OMSL new=supervisory old=closed_loop

December 2004EPICS JAERI/ KEK 31 burtSave Appendix: outPut file for iocLogMsgServer: [epicsPC22 heraKryoZeus] :05:14 0x74e7e94 (CA_event): rsrv: socket shutdown error was S_errno_EPIPE [epicsPC22 heraKryoZeus] :37:38 filename="../recGbl.c" line number=62 [epicsPC22 heraKryoZeus] :37:38 Illegal Database Request Type P V: HZF:T16P_ai.TIME error detected in routine: db_name_to_addr error [epicsPC22 heraKryoZeus] :37:38 filename="../recGbl.c" line number=62 [epicsPC22 heraKryoZeus] :37:38 Illegal Database Request Type P V: HZF:T16P_ai.TIME error detected in routine: db_name_to_addr error [epicsPC22 heraKryoZeus] :37:38 filename="../recGbl.c" line number 12

December 2004EPICS JAERI/ KEK 32 burtSave burtSave and ioc(Put)LogServer CAS caPut task rslRecord Put Logging Client WS Caput-call WS BurtSave(1) WS caPutLogServer WS LogMsqServer LogMsg Client RngLog Task MQ logMsg MQ WS BurtSave (2)