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 - состояние подсоединения к оборудованию