From aec67cc604d9792fd5a4ab415e1e90a33cda22d0 Mon Sep 17 00:00:00 2001 From: ebner Date: Wed, 5 Jan 2022 16:39:53 +0100 Subject: [PATCH] removed all non databuffer specific stuff - moved imagebuffer into separate repo --- Readme.md | 6 +- bufferutils.py | 4 +- operation-tools/.DS_Store | Bin 6148 -> 6148 bytes operation-tools/Readme.md | 223 +--------------- operation-tools/Readme_toreview.docx | Bin 11996 -> 0 bytes operation-tools/Readme_toreview.md | 247 ------------------ operation-tools/ansible.cfg | 2 +- .../documentation/BIOSSettings.png | Bin 142741 -> 0 bytes .../documentation/DataBufferNetworkLoad.png | Bin 1441514 -> 0 bytes .../documentation/ImageBufferMemory.png | Bin 587440 -> 0 bytes operation-tools/fetch_validation_logs.yml | 13 - operation-tools/install_cluster.yml | 10 - operation-tools/install_dispatcher_node.yml | 67 ----- .../install_dispatcher_node_jdk8.yml | 66 ----- operation-tools/install_elastic.yml | 57 ---- operation-tools/install_elastic_heartbeat.yml | 66 ----- operation-tools/install_imageapi.yml | 36 --- operation-tools/install_jdk.yml | 7 - operation-tools/install_jdk8.yml | 8 - operation-tools/install_limits.yml | 28 -- operation-tools/install_query_node.yml | 36 --- operation-tools/install_query_node_jdk8.yml | 34 --- operation-tools/install_rest_apis.yml | 40 --- operation-tools/install_user.yml | 14 - operation-tools/inventories/sf | 79 ------ operation-tools/inventories/sf_rf | 30 --- operation-tools/inventories/test | 41 --- operation-tools/inventories/twlha | 40 --- operation-tools/inventory | 20 ++ operation-tools/restart.yml | 23 ++ operation-tools/restart_cluster.yml | 108 -------- operation-tools/restart_data_api_xx.yml | 26 -- operation-tools/restart_databuffer_api3.yml | 38 --- operation-tools/restart_dataretrieval.yml | 54 ---- operation-tools/restart_dataretrieval_all.yml | 79 ------ operation-tools/restart_imageapi.yml | 11 - operation-tools/restart_imagebuffer.yml | 70 ----- operation-tools/restart_imagebuffer_api3.yml | 31 --- operation-tools/start.yml | 18 ++ .../{update_cluster.yml => stop.yml} | 16 +- operation-tools/stop_cluster.yml | 48 ---- .../templates/90-daq_limits.d.conf | 4 - .../templates/90-daq_sysctl.d.conf | 2 - operation-tools/templates/auditbeat.yml | 220 ---------------- .../templates/daq-dispatcher-node.service.j2 | 47 ---- .../daq-dispatcher-node.service_jdk8.j2 | 52 ---- .../templates/daq-dispatcher-rest.service.j2 | 46 ---- .../templates/daq-query-node.service.j2 | 47 ---- .../templates/daq-query-node.service_jdk8.j2 | 52 ---- .../templates/daq-query-rest.service.j2 | 46 ---- .../templates/domain.properties.j2 | 1 - .../templates/elastic-stack-ca.pem | 25 -- operation-tools/templates/heartbeat.yml | 176 ------------- .../templates/imageapi.application.properties | 1 - operation-tools/templates/imageapi.service.j2 | 15 -- operation-tools/templates/iodata.service.j2 | 12 - .../templates/iodata_application.properties | 8 - operation-tools/templates/journalbeat.yml | 192 -------------- operation-tools/templates/metricbeat.yml | 163 ------------ operation-tools/templates/reachable.icmp.yml | 52 ---- operation-tools/templates/system.yml | 41 --- operation-tools/uninstall_dispatcher_node.yml | 20 -- operation-tools/uninstall_query_node.yml | 21 -- sources/image.sources | 196 -------------- 64 files changed, 78 insertions(+), 3057 deletions(-) delete mode 100644 operation-tools/Readme_toreview.docx delete mode 100644 operation-tools/Readme_toreview.md delete mode 100644 operation-tools/documentation/BIOSSettings.png delete mode 100644 operation-tools/documentation/DataBufferNetworkLoad.png delete mode 100644 operation-tools/documentation/ImageBufferMemory.png delete mode 100644 operation-tools/fetch_validation_logs.yml delete mode 100644 operation-tools/install_cluster.yml delete mode 100644 operation-tools/install_dispatcher_node.yml delete mode 100644 operation-tools/install_dispatcher_node_jdk8.yml delete mode 100644 operation-tools/install_elastic.yml delete mode 100644 operation-tools/install_elastic_heartbeat.yml delete mode 100644 operation-tools/install_imageapi.yml delete mode 100644 operation-tools/install_jdk.yml delete mode 100644 operation-tools/install_jdk8.yml delete mode 100644 operation-tools/install_limits.yml delete mode 100644 operation-tools/install_query_node.yml delete mode 100644 operation-tools/install_query_node_jdk8.yml delete mode 100644 operation-tools/install_rest_apis.yml delete mode 100644 operation-tools/install_user.yml delete mode 100644 operation-tools/inventories/sf delete mode 100644 operation-tools/inventories/sf_rf delete mode 100644 operation-tools/inventories/test delete mode 100644 operation-tools/inventories/twlha create mode 100644 operation-tools/inventory create mode 100644 operation-tools/restart.yml delete mode 100644 operation-tools/restart_cluster.yml delete mode 100644 operation-tools/restart_data_api_xx.yml delete mode 100644 operation-tools/restart_databuffer_api3.yml delete mode 100644 operation-tools/restart_dataretrieval.yml delete mode 100644 operation-tools/restart_dataretrieval_all.yml delete mode 100644 operation-tools/restart_imageapi.yml delete mode 100644 operation-tools/restart_imagebuffer.yml delete mode 100644 operation-tools/restart_imagebuffer_api3.yml create mode 100644 operation-tools/start.yml rename operation-tools/{update_cluster.yml => stop.yml} (62%) delete mode 100644 operation-tools/stop_cluster.yml delete mode 100644 operation-tools/templates/90-daq_limits.d.conf delete mode 100644 operation-tools/templates/90-daq_sysctl.d.conf delete mode 100644 operation-tools/templates/auditbeat.yml delete mode 100644 operation-tools/templates/daq-dispatcher-node.service.j2 delete mode 100644 operation-tools/templates/daq-dispatcher-node.service_jdk8.j2 delete mode 100644 operation-tools/templates/daq-dispatcher-rest.service.j2 delete mode 100644 operation-tools/templates/daq-query-node.service.j2 delete mode 100644 operation-tools/templates/daq-query-node.service_jdk8.j2 delete mode 100644 operation-tools/templates/daq-query-rest.service.j2 delete mode 100644 operation-tools/templates/domain.properties.j2 delete mode 100644 operation-tools/templates/elastic-stack-ca.pem delete mode 100644 operation-tools/templates/heartbeat.yml delete mode 100644 operation-tools/templates/imageapi.application.properties delete mode 100644 operation-tools/templates/imageapi.service.j2 delete mode 100644 operation-tools/templates/iodata.service.j2 delete mode 100644 operation-tools/templates/iodata_application.properties delete mode 100644 operation-tools/templates/journalbeat.yml delete mode 100644 operation-tools/templates/metricbeat.yml delete mode 100644 operation-tools/templates/reachable.icmp.yml delete mode 100644 operation-tools/templates/system.yml delete mode 100644 operation-tools/uninstall_dispatcher_node.yml delete mode 100644 operation-tools/uninstall_query_node.yml delete mode 100644 sources/image.sources diff --git a/Readme.md b/Readme.md index 934379e..52d91a0 100644 --- a/Readme.md +++ b/Readme.md @@ -38,7 +38,7 @@ More details on the gitutils command can be found at: https://gitutils.readthedo # Administration -If there are new changes to this configuration (either through a merge request or direct commit) the configuration needs to be uploaded to the Data/ImageBuffer. To do so clone or pull the latest changes from this repository and execute the `./bufferutils upload` script that comes with this repository (you have to be on a machine that have /opt/gfa/python available!). +If there are new changes to this configuration (either through a merge request or direct commit) the configuration needs to be uploaded to the Data/Buffer. To do so clone or pull the latest changes from this repository and execute the `./bufferutils upload` script that comes with this repository (you have to be on a machine that have /opt/gfa/python available!). ## Uploading Sources To upload and start recording of all configured sources use: @@ -70,10 +70,10 @@ _Note:_ Labled sources can be individually stopped and/or restarted by the stop/ ## Stopping a sources by backend -Sources of a specific backend can be stopped like this (currently only the "sf-imagebuffer" backend is supported) +Sources of a specific backend can be stopped like this (currently only the "sf-databuffer" backend is supported) ```bash -./bufferutils stop --backend sf-imagebuffer +./bufferutils stop --backend sf-databuffer ``` ## Stopping all sources diff --git a/bufferutils.py b/bufferutils.py index 3c3e2a5..b2310b3 100644 --- a/bufferutils.py +++ b/bufferutils.py @@ -13,8 +13,8 @@ logging.basicConfig( ) base_directory = Path(".") -upload_url = "https://dispatcher-api.psi.ch/sf/configuration/upload" -delete_url = "https://dispatcher-api.psi.ch/sf/configuration/delete" +upload_url = "https://dispatcher-api.psi.ch/sf-databuffer/configuration/upload" +delete_url = "https://dispatcher-api.psi.ch/sf-databuffer/configuration/delete" # upload_url = "http://localhost:1234" diff --git a/operation-tools/.DS_Store b/operation-tools/.DS_Store index a5fec24270389d6426f1d72bfe9305c46034e34e..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 100644 GIT binary patch delta 70 zcmZoMXfc=|#>AjHu~2NHo+1YW5HK<@2y9kle#WxdfcX^DW_AvK4xj>{$am(+{342+ UKzW7)kiy9(Jj$D6L{=~Z02rPQkN^Mx delta 353 zcmZoMXfc=|#>B)qF;Q%yo}wrd0|Nsi1A_nqLk>eCLkUAFLvd31#>C}}^&lBeut+XL z0kUjyK~heB5>WPJQbA5;afyM!bw(y;7FITP4h}93E?%zK;Eeq8;F83W(qgB?qG%8= zAh9GP3Ca%1&(DFg6O+O+Q_JH8M4a>UN)j{kQj5TvGgInQfofvHGxJjN%boH|^HPez z1_fuPfFw9LI5{}u1thAgO-wCy6buavYjqT=&CLyT6ikfGYHK+;#8nM#Jri;(tEy{i z>t+I73j~ZnpMn8Dl!j5WfDAOh3V?#5EVw8yCqFM8D9yMr@g2)#0}+w&zlb6$D4-N38;VG84iMSG3;^}KS@-|| diff --git a/operation-tools/Readme.md b/operation-tools/Readme.md index 017e15c..ced875a 100644 --- a/operation-tools/Readme.md +++ b/operation-tools/Readme.md @@ -49,13 +49,6 @@ A healthy network load looks something like this: If more than 2 machines does not show this pattern - the DataBuffer has an issue. -Check memory usage and network load ImageBuffer: -https://hpc-monitor02.psi.ch/d/TW0pr_bik/gl2?refresh=30s&orgId=1 - -A healthy memory consumption is between 50GB and 250GB, any drop below 50GB indicates a crash. -![image](documentation/ImageBufferMemory.png) - - Check disk free DataBuffer: http://gmeta00.psi.ch/?r=hour&cs=&ce=&c=sf-daqbuf&h=&tab=m&vn=&hide-hf=false&m=disk_free_percent_data&sh=1&z=small&hc=4&host_regex=&max_graphs=0&s=by+name @@ -64,36 +57,9 @@ http://gmeta00.psi.ch/?r=hour&cs=&ce=&c=sf-daqbuf&h=&tab=m&vn=&hide-hf=false&m=d Checks on the cluster can be performed via ansible ad-hoc commands: ```bash -ansible databuffer_cluster -m shell -a 'uptime' +ansible databuffer -m shell -a 'uptime' ``` -Check whether time are synchronized between the machines: -```bash -ansible databuffer_cluster -m shell -a 'date +%s.%N' -``` - -Check if the ntp synchronization is enabled and running -```bash -ansible databuffer_cluster -b -m shell -a "systemctl is-enabled chronyd" -ansible databuffer_cluster -b -m shell -a "systemctl is-active chronyd" -``` - -Check if the tuned service is running: -```bash -ansible databuffer_cluster -b -m shell -a "systemctl is-active tuned" -``` - -Check latest 10 lines of the dispatcher node logs -```bash -ansible databuffer_cluster -b -m shell -a "journalctl -n 10 -u daq-dispatcher-node.service" -``` - -Check for failed compactions -```bash -ansible -b databuffer -m shell -a "journalctl -n 50000 -u daq-dispatcher-node.service | grep \"Exception while compacting\" | grep -oP \"\\'\K[^\\']+\" | sort | uniq" -``` - - ## Find Sources With Issues Find sources with bsread level issues @@ -125,8 +91,6 @@ Find channels that send corrupt MainHeader: https://kibana.psi.ch/s/gfa/app/discover#/view/cb725720-ca89-11ea-bc5d-315bf3957d13?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-15m,to:now))&_a=(columns:!(bsread.error.type,bsread.source,message),filters:!(('$state':(store:appState),meta:(alias:!n,disabled:!f,index:'2e885ee0-c5d0-11ea-82c0-2da95a58e9d4',key:systemd.unit,negate:!f,params:(query:daq-dispatcher-node.service),type:phrase),query:(match_phrase:(systemd.unit:daq-dispatcher-node.service)))),index:'2e885ee0-c5d0-11ea-82c0-2da95a58e9d4',interval:auto,query:(language:kuery,query:MainHeader),sort:!(!('@timestamp',desc))) - - # Maintenance ## Restart Procedures @@ -142,65 +106,7 @@ bash -c 'caqtdm -noMsg -stylefile sfop.qss S_OP_Messages_all_stations_small.u Inform the sf-operations@psi.ch mailing list before the restart! -### Restart Data Retrieval -If there are issues with data retrieval (DataBuffer, ImageBuffer, Epics Channel Archiver) but all checks regarding the DataBuffer shows normal operation use this procedure to restart the SwissFEL data retrieval services. This will only affect the data retrieval of SwissFEL at the time of restart but there will be no interrupt in the recording of the data. - -- login to sf-lca.psi.ch -- clone the databuffer repository (if you haven't yet- https://git.psi.ch/archiver_config/sf_databuffer.git), change to the `operation-tools` directory and/or pull the latest changes -```bash -cd operation-tools -``` - -- call the restart_dataretrieval script -```bash -ansible-playbook restart_dataretrieval.yml -``` - -### Restart Data Retrieval All -If the method above doesn't work try to restart all of the data retrieval services via this procedure. This will not interrupt any data recording __but this restart will, beside SwissFEL also affect the data retrieval of GLS, Hipa and Proscan__! - -- login to sf-lca.psi.ch -- clone the databuffer repository (if you haven't yet - https://git.psi.ch/archiver_config/sf_databuffer.git), change to the `operation-tools` directory and/or pull the latest changes -```bash -cd operation-tools -``` - -- call the restart_dataretrieval script -```bash -ansible-playbook restart_dataretrieval_all.yml -``` - -### Restart ImageBuffer -If the DataBuffer looks healthy but the ImageBuffer seems to be in a buggy state the restart of the ImageBuffer only can be triggered as follows: - -- login to sf-lca.psi.ch (_sf-lca.psi.ch is the machine in the machine network !!!!_) -- clone the databuffer repository (if you haven't yet), change to the repository directory and/or pull the latest changes - -```bash -git clone https://git.psi.ch/archiver_config/sf_databuffer.git -cd sf_databuffer -# and/or -git pull -``` - -- stop the sources belonging to the imagebuffer -```bash -./bufferutils stop --backend sf-imagebuffer -``` - -- change to the operation-tools directory and call the restart_imagebuffer script -```bash -cd operation-tools -ansible-playbook restart_imagebuffer.yml -``` - -- Afterwards restart the recording of the image sources: -```bash -cd .. -./bufferutils upload -``` - -### Restart DataBuffer Cluster +### Restart DataBuffer This is the procedure to follow to restart the DataBuffer in an emergency. After checking whether the restart is really necessary do this: @@ -215,132 +121,13 @@ cd sf_databuffer/operation-tools git pull ``` -- call the restart_cluster script +- call the restart script ```bash -ansible-playbook restart_cluster.yml +ansible-playbook restart.yml ``` - Afterwards restart the recording again: ```bash cd .. ./bufferutils upload -``` - - -## Manual Restart Procedures (Experts Only) - -### Restart query-node Services - -Restart daq-query-node service: -```bash -ansible databuffer_cluster --forks 1 -b -m shell -a "systemctl restart daq-query-node.service" -``` - -__Important Note:__ To be able to start the query node processes the dispatcher nodes need to be up and running! After restarting all query nodes you have to restart the data-api service as well. A single restart of a Query Node server should work fine (as there is no complete shutdown of the Hazelcast cluster). - - -### Restart dispatcher-node Services - -Restart daq-dispatcher-node service: -```bash -ansible databuffer_cluster --forks 1 -b -m shell -a "systemctl restart daq-dispatcher-node.service" -``` - -This restart should also restart all recordings and reestablish streams. If there are issues, this recording restart can be enabled/disabled by setting dispatcher.local.sources.restart=false in /home/daqusr/.config/daq/dispatcher.properties. An other option is to delete the restart configurations as follows: -```bash -ansible databuffer_cluster -b -m shell -a "rm -rf /home/daqusr/.config/daq/stores/sources; rm -rf /home/daqusr/.config/daq/stores/streamers" -``` - -__Note:__ After restarting all dispatcher nodes you have to restart the dispatcher-api service as well. A single restart of Dispatcher Node server should work fine (as there is no complete shutdown of the Hazelcast cluster). - - -# Installation - -## Prerequisites - -To be able to install a new version of the daq system, the binaries need to be build and available in the Maven repository. (details see toplevel [Readme](../Readme.md)) - -## Pre-Checks - -Make sure that the time is in sync within the machines: -```bash -ansible databuffer_cluster -m shell -a 'date +%s.%N' -``` - -Check if the ntp synchronization is enabled and running -```bash -ansible databuffer_cluster -b -m shell -a "systemctl is-enabled chronyd" -ansible databuffer_cluster -b -m shell -a "systemctl is-active chronyd" -``` - -On the ImageBuffer nodes check that the MTU size of the 25Gb/s interface is set to 9000 -```bash -ip link -``` - -On the ImageBuffer nodes test the connection to camera servers with iperf3. As all the camera servers only have a 10Gb/s interface the overall throughput (SUM) should be around 9Gb/s. While testing connecting to two servers simultaneously should show 9Gb/s for each stream. -``` -# Start iperf server on the camera servers -iperf3 -s -``` - -``` -# Check speed to different camera servers via -iperf3 -P 3 -c daqsf-sioc-cs-02 -iperf3 -P 3 -c daqsf-sioc-cs-31 -iperf3 -P 3 -c daqsf-sioc-cs-73 -iperf3 -P 3 -c daqsf-sioc-cs-85 -``` - -Check whether all the firmware of the servers are on the same level: -```bash -ansible databuffer_cluster -b -m shell -a "dmidecode -s bios-release-date" -``` - -Check whether the Power Regulator Settings in the bios is set to __Static High Performance Mode__ ! -![documentation/BIOSSettings.png](documentation/BIOSSettings.png) - -## Steps - -Add daqusr user and daq group on all nodes: -```bash -ansible-playbook install_user.yml -``` - -Install file and memory limits for the _daqusr_ on all nodes: -```bash -ansible-playbook install_limits.yml -``` - -Install the current JDK on all nodes: -```bash -ansible-playbook install_jdk.yml -``` - -Install dispatcher node: -```bash -ansible-playbook install_dispatcher_node.yml -``` - -Install query node: -```bash -ansible-playbook install_query_node.yml -``` - -The installation of the dispatcher and query nodes does not start the services. See above how to start them. - -## Post-Checks - -Check if the tuned service is running: -```bash -ansible databuffer_cluster -b -m shell -a "systemctl is-active tuned" -``` - -Check whether all CPUs are set to performance: -```bash -ansible databuffer_cluster -b -m shell -a "cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor | uniq -c" -``` - - - - +``` \ No newline at end of file diff --git a/operation-tools/Readme_toreview.docx b/operation-tools/Readme_toreview.docx deleted file mode 100644 index a5c9db8a00da42c5e2b41537a8983fe8e0ad2f89..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11996 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 diff --git a/operation-tools/Readme_toreview.md b/operation-tools/Readme_toreview.md deleted file mode 100644 index 4c9902b..0000000 --- a/operation-tools/Readme_toreview.md +++ /dev/null @@ -1,247 +0,0 @@ -# Troubleshooting - -Find sources with issues in validation log: -``` -tail -n 10000 /opt/dispatcher_node/latest/logs/data_validation.log | grep "Invalid and drop" | awk -e '{print($4)}' | sort | uniq -``` - -# Overview -Following are the step to setup the imagebuffer from scratch: - -- Install Users -```bash -for THE_HOST in $(sort -u ../hostlists_daqbufs/ImageBufferHosts.txt); do cat user_settings.sh ../hostlists_daqbufs/env_settings.sh add_user.sh | ssh -i ${HOME}/.ssh/id_rsa_daq root@${THE_HOST} ; done -``` - -- Install Java -```bash -for THE_HOST in $(sort -u ../hostlists_daqbufs/ImageBufferHosts.txt); do cat user_settings.sh ../hostlists_daqbufs/env_settings.sh install_java.sh | ssh -i ${HOME}/.ssh/id_rsa_daq root@${THE_HOST} ; done -``` - -- Install Query Nodes - ImageBuffer -```bash -for THE_HOST in $(sort -u ../hostlists_daqbufs/ImageBufferHosts.txt); do cat user_settings.sh ../hostlists_daqbufs/env_settings.sh install_query_node.sh | ssh -i ${HOME}/.ssh/id_rsa_daq root@${THE_HOST} ; done -``` - -- Install Dispatcher Nodes ImageBuffer -```bash -for THE_HOST in $(sort -u ../hostlists_daqbufs/ImageBufferHosts.txt); do cat user_settings.sh ../hostlists_daqbufs/env_settings.sh install_dispatcher_node.sh | ssh -i ${HOME}/.ssh/id_rsa_daq root@${THE_HOST} ; done -``` - -- Create Required Config File -``` -[root@sf-daq-5 /]# cat /home/daqusr/.config/daq/domain.properties -backend.default=sf-imagebuffer - -chown -R daqusr:daq /home/daqusr/.config/daq/domain.properties -chown -R daqusr:daq /home/daqusr/.config/daq/dispatcher.properties -``` - - -- Restart Services (if needed) -``` -for THE_HOST in $(sort -u ../hostlists_daqbufs/ImageBufferHosts.txt); do echo -e "systemctl stop daq-query-node.service" | ssh -i ${HOME}/.ssh/id_rsa_daq root@${THE_HOST} ; done -for THE_HOST in $(sort -u ../hostlists_daqbufs/ImageBufferHosts.txt); do echo -e "systemctl stop daq-dispatcher-node.service" | ssh -i ${HOME}/.ssh/id_rsa_daq root@${THE_HOST} ; done -``` - -``` -for THE_HOST in $(sort -u ../hostlists_daqbufs/ImageBufferHosts.txt); do echo -e "hostname \n systemctl start daq-dispatcher-node.service \n sleep 20" | ssh -i ${HOME}/.ssh/id_rsa_daq root@${THE_HOST} ; done -for THE_HOST in $(sort -u ../hostlists_daqbufs/ImageBufferHosts.txt); do echo -e "hostname \n systemctl start daq-query-node.service \n sleep 10" | ssh -i ${HOME}/.ssh/id_rsa_daq root@${THE_HOST} ; done - -``` - - -Monitoring of the system is available via telegraf and grafana: -https://hpc-monitor01.psi.ch/d/TW0pr_bik/gl2?refresh=30s&orgId=1 - - ----- -TODO CONVERT DOCUMENTATION - -## Dispatcher - - - -### Dispatcher Nodes - -#### Install -1. Go to ch.psi.daq.buildall and execute: `./gradlew dropItDispatcherNode -x test` -2. Login to master node and follow [these instructions](Readme.md#clone_git) to setup the git environment. -3. Multihost command: `for THE_HOST in $(sort -u ../hostlists/DispatcherNodeHosts.txt); do cat user_settings.sh ../hostlists/env_settings.sh install_dispatcher_node.sh | ssh -i ${HOME}/.ssh/id_rsa_daq root@${THE_HOST} ; done` - -#### De-Install - -Multihost command: `for THE_HOST in $(sort -u ../hostlists/DispatcherNodeHosts.txt); do echo -e "systemctl stop daq-dispatcher-node.service \n systemctl disable daq-dispatcher-node.service \n rm /usr/lib/systemd/system/daq-dispatcher-node.service \n rm -rf /opt/dispatcher_node \n systemctl daemon-reload" | ssh -i ${HOME}/.ssh/id_rsa_daq root@${THE_HOST} ; done` - - - -### Dispatcher REST Server - -#### Install -1. Go to ch.psi.daq.buildall and execute: `./gradlew dropItDispatcherREST -x test` -2. Login to master node and follow [these instructions](Readme.md#clone_git) to setup the git environment. -3. Multihost command: `for THE_HOST in $(sort -u ../hostlists/DispatcherRESTHost.txt); do cat user_settings.sh ../hostlists/env_settings.sh install_dispatcher_rest.sh | ssh -i ${HOME}/.ssh/id_rsa_daq root@${THE_HOST} ; done` - -4. Check if ui is running by using a browser: http://sf-nube-13.psi.ch:8080/ - -#### De-Install - -Multihost command: `for THE_HOST in $(sort -u ../hostlists/DispatcherRESTHost.txt); do echo -e "systemctl stop daq-dispatcher-rest.service \n systemctl disable daq-dispatcher-rest.service \n rm /usr/lib/systemd/system/daq-dispatcher-rest.service \n rm -rf /opt/dispatcher_rest \n systemctl daemon-reload" | ssh -i ${HOME}/.ssh/id_rsa_daq root@${THE_HOST} ; done` - - - -## Querying - - - -### Query Nodes - -#### Install -1. Go to ch.psi.daq.buildall and execute: `./gradlew dropItQueryNode -x test` -2. Login to master node and follow [these instructions](Readme.md#clone_git) to setup the git environment. -3. Multihost command: `for THE_HOST in $(sort -u ../hostlists/QueryNodeHosts.txt); do cat user_settings.sh ../hostlists/env_settings.sh install_query_node.sh | ssh -i ${HOME}/.ssh/id_rsa_daq root@${THE_HOST} ; done` - -#### De-Install - -Multihost command: `for THE_HOST in $(sort -u ../hostlists/QueryNodeHosts.txt); do echo -e "systemctl stop daq-query-node.service \n systemctl disable daq-query-node.service \n rm /usr/lib/systemd/system/daq-query-node.service \n rm -rf /opt/query_node \n systemctl daemon-reload" | ssh -i ${HOME}/.ssh/id_rsa_daq root@${THE_HOST} ; done` - - - - -### Query REST Server - -#### Install -1. Go to ch.psi.daq.buildall and execute: `./gradlew dropItQueryREST -x test` -2. Login to master node and follow [these instructions](Readme.md#clone_git) to setup the git environment. -3. Multihost command: `for THE_HOST in $(sort -u ../hostlists/QueryRESTHost.txt); do cat user_settings.sh ../hostlists/env_settings.sh install_query_rest.sh | ssh -i ${HOME}/.ssh/id_rsa_daq root@${THE_HOST} ; done` - -#### De-Install - -Multihost command: `for THE_HOST in $(sort -u ../hostlists/QueryRESTHost.txt); do echo -e "systemctl stop daq-query-rest.service \n systemctl disable daq-query-rest.service \n rm /usr/lib/systemd/system/daq-query-rest.service \n rm -rf /opt/query_rest \n systemctl daemon-reload" | ssh -i ${HOME}/.ssh/id_rsa_daq root@${THE_HOST} ; done` - - -## DAQLocal - - - -### DAQLocal - -#### Install -1. Go to ch.psi.daq.buildall and execute: `./gradlew dropItDAQLocal -x test` -2. Login to master node and follow [these instructions](Readme.md#clone_git) to setup the git environment. -1. Multihost command: `cat user_settings.sh ../hostlists/env_settings.sh ../hostlists/stream_sources.sh install_daqlocal.sh | bash` - -#### De-Install - -Multihost command: `systemctl stop daq-daqlocal.service; systemctl disable daq-daqlocal.service; rm -rf /usr/lib/systemd/system/daq-daqlocal.service; rm -rf /opt/daqlocal` - - -## Helpful Commands - - -Dispatcher Node service: -`for THE_HOST in $(sort -u ../hostlists/*Host*.txt); do echo -e "echo -e '\n\nHOST:${THE_HOST}' && ls /usr/lib/systemd/system/daq-dispatcher-node* | xargs -n1 basename | xargs -n1 systemctl stop" | ssh -i ${HOME}/.ssh/id_rsa_daq root@${THE_HOST} ; done` - -### Miscellaneous - -Remove log files: -`for THE_HOST in $(sort -u ../hostlists/*Host*.txt); do echo -e "find /data_meta -name "*.log*" | grep "logs" | xargs rm" | ssh -i ${HOME}/.ssh/id_rsa_daq root@${THE_HOST} ; done` - - -Monitor log messages - -systemd: -`journalctl -f -u daq-dispatcher-rest.service` - -`journalctl --since=today -u daq-dispatcher-rest.service` - -CPU/Disk usage: -`dstat -d -D sdb1,sda5,total -cm -n` - - - -### Docker Issues - -``` -systemctl stop docker -rm -rf /var/lib/docker -systemctl start docker -systemctl start nginx -``` - -### Modify Logging - -1. Modify logback-server.xml (e.g. in /opt/dispatcher_node/latest/lib/) -2. Run JConsole - a. /usr/java/latest/bin/jconsole - b. /usr/java/latest/bin/jconsole and use `Remote Process` (application needs to be started with `-Dcom.sun.management.jmxremote.port=3334 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false`) - a. localhost:3334 for DispatcherNode - b. localhost:3335 for DispatcherRest - c. localhost:3336 for QueryNode - d. localhost:3337 for QueryRest. -3. Go to ch.qos.logback.classic -> ... -> Operations -4. Press `reloadDefaultConfiguration` - -### Profiling - -1. Run `/usr/java/latest/bin/jvisualvm` (use `/usr/java/latest/bin/jvisualvm -J-Dnetbeans.logger.console=true` for debuging). -2. Add `JMX Connestion` (see [here](Readme.md#modify_logging) for `hostname:port` settings - -Note: You might need to install `yum install xorg-x11-xauth libXtst` - - -### Folder Crawler - -The NAS system needs incredibly long to list folders. Current workaround is to use a folder crawler that periodically lists the folder structure and thus keeps it in the cache. - -1. `mkdir /home/daqusr/scripts && cp ../scripts/folder_crawler.sh /home/daqusr/scripts && chown -R daqusr:daq /home/daqusr/scripts` -2. `cp ../hostlists/systemd/folder-crawler.service /etc/systemd/system/ && systemctl enable folder-crawler.service && systemctl daemon-reload` -3. `cp ../hostlists/systemd/folder-crawler.timer /etc/systemd/system/ && systemctl enable folder-crawler.timer && systemctl daemon-reload && systemctl start folder-crawler.timer` - - - - -## Maintenance Utils - -### Find Largest Files - -`find /data/sf-databuffer/daq_swissfel/daq_swissfel_3 -mtime +5 -printf "%s %n %m %u %g %t %p" \( -type l -printf ' -> %l\n' -o -printf '\n' \) | sort -k1,1 -n` - -### Count Disk Usage - -`find /data/sf-databuffer/daq_swissfel/daq_swissfel_3 -type f -mtime +5 -printf '%s\n' | awk '{a+=$1;} END {printf "%.1f GB\n", a/2**30;}'` - -`find /data/sf-databuffer/daq_swissfel/daq_swissfel_3 -type f -newerct "2000-01-01" ! -newerct "2018-06-27 23:00" -printf '%s\n' | awk '{a+=$1;} END {printf "%.1f GB\n", a/2**30;}'` - -### Delete Specific Files (do not forget -empty if needed!!!) - -`find /data/sf-databuffer/daq_swissfel/daq_swissfel_3 -type f -mtime +5 -regextype sed -regex '.*LOSS_SIGNAL_RAW.*' -delete` - -`find /data/sf-databuffer/daq_swissfel/daq_swissfel_3 -type d -empty -delete` - -`find /gpfs/sf-data/sf-imagebuffer/daq_swissfel/daq_swissfel_4 -type f -newerct "2000-01-01" ! -newerct "2018-06-25 23:00" -delete` - -`find /gpfs/sf-data/sf-imagebuffer/daq_swissfel/daq_swissfel_4 -type d -empty -delete` - -### Delete empty files in parallel - -```bash -# use 32 threads -find /gls_data/gls-archive/daq_local/daq_local_*/byTime/ -maxdepth 1 | tail -n +2 | xargs -I {} -P 32 -n 1 find {} -type f -empty -delete -``` - -### Parallel rsync - -```bash -# see: https://stackoverflow.com/a/46611168 - -# SETUP OPTIONS -export SRCDIR="/home/maerki_f/Downloads/rsync_test/.snapshot/data/test" -# export SRCDIR="/gls_data/.snapshot/daily.2018-07-18_0010/gls-archive/daq_local/daq_local_2/byTime" -export DESTDIR="/home/maerki_f/Downloads/rsync_test/data/test" -# export DESTDIR="/gls_data/gls-archive/daq_local/daq_local_2/byTime" - - -# use 32 threads -ls -1 $SRCDIR | xargs -I {} -P 32 -n 1 rsync -auvh --progress $SRCDIR/{} $DESTDIR/ -``` diff --git a/operation-tools/ansible.cfg b/operation-tools/ansible.cfg index 519228b..2020ff1 100755 --- a/operation-tools/ansible.cfg +++ b/operation-tools/ansible.cfg @@ -2,7 +2,7 @@ # this controls whether an Ansible playbook should prompt for a sudo password by default when sudoing. Default: False #ask_sudo_pass=True -inventory=inventories/sf +inventory=inventory host_key_checking = False [ssh_connection] diff --git a/operation-tools/documentation/BIOSSettings.png b/operation-tools/documentation/BIOSSettings.png deleted file mode 100644 index 8ee19d5af251450e8f91d4790c9f470dd5104495..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 142741 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/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