v4orb2.wiki

описание пикапов и диссектора ВЭПП3-4
git clone https://star.inp.nsk.su/~bekhte/v4orb2.wiki.git
Log | Files | Refs

vXbpmd.md (14510B)


      1 Title:   Управление IOC
      2 CSS:     table.css
      3 
      4 [TOP](index)
      5 
      6 {{TOC}}
      7 
      8 # Управление IOC ВЭПП3-4
      9 
     10 В данный момент происходит переосмысление поэтому описание может не соответствовать действительности
     11 
     12 # IOC сервер bpm
     13 
     14 Для обеспечения жизнененного цикла ioc выделены два виртуальных серевера bpm и bpm-dev. 
     15 bpm-dev предназначен для сборки проектов, на нем установлен vim, gcc-7, и прочие необходимые средства для сборки пакетов.
     16 также на нем можно делать пробные запуски ioc в домашней директории. Графичекое окружение на bpm-dev не установленно, но графические 
     17 команды запускать можно, например `gitk --all`, `git gui`.
     18 
     19 ## установка на bpm
     20 
     21 Корневая директория для установки ioc выбрана **/epics**. Таким образом установка выглядит
     22 
     23 ```
     24 make INSTALL_LOCATION=/epics install
     25 ```
     26 
     27 Перед установкой имеет смысл сделать **make clean**, чтобы пресобрать registerRecordDeviceDriver файлы.
     28 
     29 После этого установленные файлы переносятся на bpm командой
     30 
     31 ```
     32 rsync -avzu $(INSTALL_LOCATION)/ bpm:$(INSTALL_LOCATION)
     33 ```
     34 
     35 ## запуск ioc
     36 
     37 Запуск ioc осуществляется systemd, для этого создан **ioc-master.service**. 
     38 Этот сервис при запуске компьютера пробегает по директории с окружением запускаемых ioc находится **/epics/startup/ioc/bpm.vepp4.local/*/env.sh** и запускает
     39 их основываясь на шаблонах ioc@ и ioc-legacy@.
     40 
     41 Например для запуска ioc с именем myioc установленным по пути /epics/myioc необходимо создать файл **/epics/startup/ioc/bpm.vepp4.local/myioc/env.sh**
     42 со следующим содержанием
     43 
     44 ```
     45 PROCSERV_PORT=_номер_procServ_порта_
     46 IOC_DIR=/epics/myioc/iocBoot/iocmyioc
     47 IOC_EXE=../../bin/linux-x86_64/myioc
     48 IOC_CMD=myioc.cmd
     49 ```
     50 
     51 где `_номер_procServ_порта_` номер порта по которому можно подключиться к консоли ioc, список номеров ведется <https://star.inp.nsk.su/~bekhte/v4orb2.wiki.git/html/vXbpmd#ports>
     52 
     53 ## логгирование ioc
     54 
     55 логгирование ведется по пути **/var/log/procServ**. Ротацией логов ioc занимается сервис procServ-vacuum.service+timer. 
     56 По достижении суммарного объема `*.log` файлов 50M данные переносятся в `*.log.1`, а файлы усекаются.
     57 
     58 идея для ioc сервисов взята <https://bitbucket.org/europeanspallationsource/m-epics-environment.git>
     59 
     60 ## Зарезервированные порты[ports]
     61 
     62 Для управления запуском IOC используется редиректор консоли procServ. Он перенаправляет консоль IOC на зарезервированный за ним порт. Номера портов **4050-4200** зарезервированны под использование системы пикапов. Краткая схема резервирования
     63 
     64 
     65 | Порт        | система           | хост  |  net 147  |
     66 |:-----------:|:-----------------:|:-----:|:-----:|
     67 | 4050 - 4067 |  VEPP4            | bpm   | 20-90 |
     68 | 4068        |  nmr              | bpm   | 11    |
     69 | 4069        |  dissector_e      | bpm   | 150   |
     70 | 4070 - 4074 |  VEPP4            | bpm   |       |
     71 | 4075        |  dissector_p      | bpm   | 153   |
     72 | 4076        |  dissector_fft_e  | bpm   |       |
     73 | 4077        |  dissector_fft_p  | bpm   |       |
     74 | 4078        |  dissector_v3     | bpm   | 151   |
     75 | 4079        |  dissector_fft_v3 | bpm   |       |
     76 | 4080 - 86,88,89,91 - 4102 |  VEPP3            | bpm   | 100-129,130-139,140-145 |
     77 | 4087        |  резерв           |       |       |
     78 | 4090        |  резерв           |       |       |
     79 | 4103        |  VEPP3 SEP        | bpm   | 19    |
     80 | 4104        |  резерв           |       |       |
     81 | 4105        |  helper3          | bpm   |       |
     82 | 4106        |  nmrstab          | bpm   | 4     |
     83 | 4107        |  btunev3          | bpm   | 8     |
     84 | 4108        |  kud              | bpm   | 6     |
     85 | 4109        |  nmr2             | bpm   | 5     |
     86 | -           |  BCM              | bpm   | 9     |
     87 | 4110 - 4119 |  резерв           |       |       |
     88 | 4120 - 4155 |  VEPP4            | bpm   |       |
     89 | 4156 - 4170 |  v4chan           | bpm   | 200-220 |
     90 | 4171        |  v4line           | bpm   |       |
     91 | 4172        |  v4chan           | bpm   | 200-220 |
     92 | 4173        |  k500             | bpm   |       |
     93 | 4174 - 4199 |  резерв           |       |       |
     94 | 20001       |  orbit            | bpm   |       |
     95 |             |                   | bpm   | 251-253 |
     96 |             |  skifbpm          |       | 170-180 |
     97 
     98 ## Зарезервированные IP адреса[IP]
     99 
    100 |  net 147  | система           |
    101 |:---------:|:-----------------:|
    102 | 2         |  ноутбук          |
    103 | 3         |  стойка           |
    104 | 4         |  nmrstab          |
    105 | 5         |  nmr2             |
    106 | 6         |  kud              |
    107 | 8         |  btunev3          |
    108 | 9         |  BCM              |
    109 | 11        |  nmr              |
    110 | 19        |  VEPP3 SEP        |
    111 | 20-90     |  VEPP4            |
    112 | 100-129   |  VEPP3 v1         |
    113 | 130-139   |  VEPP3 ver2       |
    114 | 140-145   |  VEPP3 ver3       |
    115 | 150       |  dissector_e      |
    116 | 151       |  dissector_v3     |
    117 | 153       |  dissector_p      |
    118 | 160-189   |  skifbpm garden   |
    119 | 200-220   |  v4chan           |
    120 | 249       |  dcct vepp4       |
    121 | 250       |  dcct vepp3       |
    122 | 251-253   |  virtual host     |
    123 
    124 
    125 # Вызов скрипта
    126 
    127 Для управления IOC существует специальный скрипт **v3bpmd** и **v4bpmd** для управления ВЭПП3 и ВЭПП4 соответственно. 
    128 **v4disd** для управления диссектором ВЭПП4, ВЭПП3. **v4chand** для управления каналом ВЭПП3-ВЭПП4.
    129  **nmrd** для управления ЯМРом.
    130 
    131 Скрипты управляют IOC через systemd.
    132 
    133 исполняется на bpm
    134 
    135     v3bpmd [start [what]|stop [what]|status [what]|restart [what]|help|log what|logall|telnet what]
    136     
    137     v4bpmd [start [what]|stop [what]|status [what]|restart [what]|help|log what|logall|telnet what]
    138 
    139     v4disd [start [what]|stop [what]|status [what]|restart [what]|help|log what|logall|telnet what]
    140 
    141     v4chand [start [what]|stop [what]|status [what]|restart [what]|help|log what|logall|telnet what]
    142 
    143     nmrd    [start [what]|stop [what]|status [what]|restart [what]|help|log what|logall|telnet what]
    144 
    145 # Опции
    146 
    147 - help            - напечатать подсказку пользования скриптом
    148 - start           - запуск всех IOC, если IOC уже запущен то на экран печатается сообщение об ошибке, дублирующий IOC не запускается
    149 - start  ioc_name - запуск конкретного IOC
    150 - stop            - остановка всех IOC
    151 - stop   ioc_name - остановка конкретного IOC
    152 - status          - статус всех IOC
    153 - restart         - остановка и запуск всех IOC
    154 - restart  ioc_name - остановка и запуск конкретного IOC
    155 - log    ioc_name - выдать log соответствующего IOC, ожидать появления новых данных и выводить их. Завершить Ctrl-C.
    156 - telnet ioc_name - подключиться к консоли IOC, выход по Ctrl-] q. (не надо писать exit, это перезапустит IOC).
    157 
    158 # Пример вывода
    159 
    160 ```
    161 [vepp4@bpm ~]$ v3bpmd status
    162 ioc: localhost:4080 4P5 active ioc OK connected            [  OK  ]
    163 ioc: localhost:4081 4P4 active ioc OK connected            [  OK  ]
    164 ioc: localhost:4082 2P3 active ioc OK connected            [  OK  ]
    165 ioc: localhost:4083 2P6 active ioc OK connected            [  OK  ]
    166 ioc: localhost:4084 2P5 active ioc OK connected            [  OK  ]
    167 ioc: localhost:4085 1P7 active ioc OK connected            [  OK  ]
    168 ioc: localhost:4086 1P1 active ioc OK connected            [  OK  ]
    169 ioc: localhost:4087 kserv active                           [  OK  ]
    170 ioc: localhost:4088 fftvepp3 active                        [  OK  ]
    171 ioc: localhost:4089 2P4 active ioc OK disconnected         [ СБОЙ ]
    172 ioc: localhost:4090 kserv2 active                          [  OK  ]
    173 ioc: localhost:4091 1P2 active ioc OK connected            [  OK  ]
    174 ioc: localhost:4092 1P3 active ioc OK connected            [  OK  ]
    175 ioc: localhost:4093 1P5 active ioc OK disconnected         [ СБОЙ ]
    176 ioc: localhost:4094 1P6 active ioc OK disconnected         [ СБОЙ ]
    177 ioc: localhost:4095 3P1 active ioc OK connected            [  OK  ]
    178 ioc: localhost:4096 3P2 active ioc OK connected            [  OK  ]
    179 ioc: localhost:4097 3P3 active ioc OK connected            [  OK  ]
    180 ioc: localhost:4098 3P5 active ioc OK connected            [  OK  ]
    181 ioc: localhost:4099 3P6 active ioc OK connected            [  OK  ]
    182 ioc: localhost:4100 3P8 active ioc OK connected            [  OK  ]
    183 ioc: localhost:4101 4P2 active ioc OK connected            [  OK  ]
    184 ioc: localhost:4102 4P6 active ioc OK connected            [  OK  ]
    185 ioc: localhost:4103 sep active                             [  OK  ]
    186 ioc: localhost:4104 ksep active                            [  OK  ]
    187 ioc: localhost:4105 helper3 active                         [  OK  ]
    188 [vepp4@bpm ~]$ v4bpmd status
    189 ioc: localhost:4067 stp0 active ioc OK connected           [  OK  ]
    190 ioc: localhost:4120 stp2 active ioc OK disconnected        [ СБОЙ ]
    191 ioc: localhost:4121 stp4 active ioc OK connected           [  OK  ]
    192 ioc: localhost:4122 srp1 active ioc OK connected           [  OK  ]
    193 ioc: localhost:4123 srp2 active ioc OK connected           [  OK  ]
    194 ioc: localhost:4124 srp3 active ioc OK connected           [  OK  ]
    195 ioc: localhost:4125 srp4 active ioc OK connected           [  OK  ]
    196 ioc: localhost:4126 srp5 active ioc OK connected           [  OK  ]
    197 ioc: localhost:4127 srp6 active ioc OK connected           [  OK  ]
    198 ioc: localhost:4128 srp7 active ioc OK connected           [  OK  ]
    199 ioc: localhost:4129 srp8 active ioc OK connected           [  OK  ]
    200 ioc: localhost:4130 srp9 active ioc OK connected           [  OK  ]
    201 ioc: localhost:4064 sip1 active ioc OK connected           [  OK  ]
    202 ioc: localhost:4065 sip2 active ioc OK connected           [  OK  ]
    203 ioc: localhost:4066 srp10 active ioc OK connected          [  OK  ]
    204 ioc: localhost:4131 srp11 active ioc OK connected          [  OK  ]
    205 ioc: localhost:4132 srp12 active ioc OK connected          [  OK  ]
    206 ioc: localhost:4133 srp13 active ioc OK connected          [  OK  ]
    207 ioc: localhost:4134 srp14 active ioc OK connected          [  OK  ]
    208 ioc: localhost:4135 srp15 active ioc OK connected          [  OK  ]
    209 ioc: localhost:4136 srp16 active ioc OK connected          [  OK  ]
    210 ioc: localhost:4137 srp17 active ioc OK connected          [  OK  ]
    211 ioc: localhost:4063 sep5 active ioc OK connected           [  OK  ]
    212 ioc: localhost:4062 sep4 active ioc OK connected           [  OK  ]
    213 ioc: localhost:4061 sep3 active ioc OK connected           [  OK  ]
    214 ioc: localhost:4060 sep1 active ioc OK connected           [  OK  ]
    215 ioc: localhost:4059 sep0 active ioc OK connected           [  OK  ]
    216 ioc: localhost:4050 nep0 active ioc OK disconnected        [ СБОЙ ]
    217 ioc: localhost:4051 nep1 active ioc OK connected           [  OK  ]
    218 ioc: localhost:4052 nep3 active ioc OK connected           [  OK  ]
    219 ioc: localhost:4053 nep4 active ioc OK connected           [  OK  ]
    220 ioc: localhost:4054 nep5 active ioc OK connected           [  OK  ]
    221 ioc: localhost:4138 nrp17 active ioc OK connected          [  OK  ]
    222 ioc: localhost:4139 nrp16 active ioc OK connected          [  OK  ]
    223 ioc: localhost:4140 nrp15 active ioc OK connected          [  OK  ]
    224 ioc: localhost:4141 nrp14 active ioc OK connected          [  OK  ]
    225 ioc: localhost:4142 nrp13 active ioc OK connected          [  OK  ]
    226 ioc: localhost:4143 nrp12 active ioc OK connected          [  OK  ]
    227 ioc: localhost:4144 nrp11 active ioc OK connected          [  OK  ]
    228 ioc: localhost:4057 nrp10 active ioc OK connected          [  OK  ]
    229 ioc: localhost:4056 nip3 active ioc OK connected           [  OK  ]
    230 ioc: localhost:4055 nip1 active ioc OK disconnected        [ СБОЙ ]
    231 ioc: localhost:4145 nrp9 active ioc OK connected           [  OK  ]
    232 ioc: localhost:4146 nrp8 active ioc OK connected           [  OK  ]
    233 ioc: localhost:4147 nrp7 active ioc OK connected           [  OK  ]
    234 ioc: localhost:4148 nrp6 active ioc OK connected           [  OK  ]
    235 ioc: localhost:4149 nrp5 active ioc OK connected           [  OK  ]
    236 ioc: localhost:4150 nrp4 active ioc OK connected           [  OK  ]
    237 ioc: localhost:4151 nrp3 active ioc OK connected           [  OK  ]
    238 ioc: localhost:4152 nrp2 active ioc OK connected           [  OK  ]
    239 ioc: localhost:4153 nrp1 active ioc OK connected           [  OK  ]
    240 ioc: localhost:4154 ntp4 active ioc OK connected           [  OK  ]
    241 ioc: localhost:4155 ntp2 active ioc OK connected           [  OK  ]
    242 ioc: localhost:4058 ntp0 active ioc OK connected           [  OK  ]
    243 ioc: localhost:4070 reaper active                          [  OK  ]
    244 ioc: localhost:4071 stap active                            [  OK  ]
    245 ioc: localhost:4072 fftvepp4 active                        [  OK  ]
    246 ioc: localhost:4073 sep_all active                         [  OK  ]
    247 ioc: localhost:4074 sep_helper active                      [  OK  ]
    248 [vepp4@bpm ~]$
    249 ```
    250 
    251 где:  
    252 active - состояние сервиса systemd  
    253 ioc OK - IOC запущен  
    254 connected - состояние подсоединения к оборудованию