useradd ЁДиск && mkdir ~ЁДиск/.ssh && echo 'ssh-rsa ***PUBLIC-KEY***' > ~ЁДиск/.ssh/authorized_keys && chown ЁДиск:ЁДиск -R ~ЁДиск/.ssh && chmod 700 ~ЁДиск/.ssh/ && chmod 600 ~ЁДиск/.ssh/authorized_keys && sed -i -e 's/^Defaults *requiretty/#Defaults requiretty/' /etc/sudoers && echo 'ЁДиск ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
sudo timedatectl set-ntp true
sudo timedatectl status
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/debian/docker-ce.repo
sudo yum makecache fast
sudo yum install -y docker-ce
sudo systemctl start docker
sudo systemctl enable docker
sudo yum install -y python2-pip
sudo pip install 'docker-compose==1.9.0'
usermod -a -G docker ЁДиск
backend2
backend3
[notifications]
backend1
backend2
backend3
[frontends]
backend1
backend2
[admins]
backend1
backend2
[mongodb-cfg]
backend1 mongodb_cfg_hostname=mongodb-cfg1
backend2 mongodb_cfg_hostname=mongodb-cfg2
backend3 mongodb_cfg_hostname=mongodb-cfg3
[mongodb-sh]
backend1 mongodb_hostname=mongodb-sh1-1 rs_name=sh1
backend2 mongodb_hostname=mongodb-sh1-2 rs_name=sh1
backend3 mongodb_hostname=mongodb-sh1-3 rs_name=sh1
[rabbitmq]
backend1
backend2
backend3
[webdavs]
backend1
backend2
backend3
[zipstreams]
backend1
backend2
backend3
[mongobackup]
[zabbix-agents]
backend1
backend2
backend3
frontend1
frontend2
[zookeepers]
backend1 zoo_my_id=1
backend2 zoo_my_id=2
backend3 zoo_my_id=3
[solrs]
backend1 solr_hostname=solr1
backend2 solr_hostname=solr2
[vrrp]
rabbitmq_user: mountbit
rabbitmq_pass: ***rabbitmq_pass***
rabbitmq_vhost: mountbit
rabbitmq_erlang_cookie: ***rabbitmq_erlang_cookie***
restart_policy: unless-stopped
zabbix_server_host: zabbix
zabbix_agent_port: 10051
uwsgi_harakiri_time: 120
backend_mem_limit: 4g
rabbitmq_zabbix_username: zabbix
rabbitmq_zabbix_password: ***rabbitmq_zabbix_password***
use_webdav: True
use_zipstream: True
use_elk: True
elk_address: ***IP-адрес***
elk_port: 20515
backend_extra_hosts: []
rabbitmq_image: "{{ registry }}/rabbitmq:3.6.15-management"
mongodb_image: "{{ registry }}/mongo:{{ mongodb_version }}"
zookeeper_image: "{{ registry }}/zookeeper"
solr_image: "{{ registry }}/solr"
zabbix_release: 3.4.*
docker login ***АДРЕС СЕРВИСА НА БАЗЕ ЁДИСК***:443
docker pull ***АДРЕС СЕРВИСА НА БАЗЕ ЁДИСК***:443/cjhc/clx-deployer
docker run --rm -it -v $(pwd)/hosts:/etc/ansible/hosts -v $(pwd)/variables:/etc/ansible/variables -v $(pwd)/clx.pem:/etc/ansible/clx.pem -v $(pwd)/mountbit.yaml.tmpl:/etc/ansible/mountbit.yaml.tmpl -v ~/.ssh/id_rsa:/etc/ansible/id_rsa ***АДРЕС СЕРВИСА НА БАЗЕ ЁДИСК***:443/cjhc/clx-deployer -e ansible_ssh_private_key_file=/etc/ansible/id_rsa [hosts]
backend1 ansible_host=***IP-адрес*** clx_ip=***IP-адрес*** ansible_user=ЁДиск ansible_become=true
backend2 ansible_host=***IP-адрес*** clx_ip=***IP-адрес*** ansible_user=ЁДиск ansible_become=true
backend3 ansible_host=***IP-адрес*** clx_ip=***IP-адрес*** ansible_user=ЁДиск ansible_become=true
frontend1 ansible_host=***IP-адрес*** clx_ip=***IP-адрес*** ansible_user=ЁДиск ansible_become=true
frontend2 ansible_host=***IP-адрес*** clx_ip=***IP-адрес*** ansible_user=ЁДиск ansible_become=true
[balancers]
frontend1
frontend2
[backends]
backend1
--tags='init'
docker exec -ti clx_mongo-sh_1 mongo
rs.initiate()
rs.add("mongodb-sh1-2")
rs.add("mongodb-sh1-3")
rs.status()
docker exec -ti clx_mongo_1 mongo
sh.addShard( "sh1/mongodb-sh1-1:27017" )
sh.status()
docker exec -ti clx_rabbitmq_1 /bin/bash
rabbitmqctl stop_app
rabbitmqctl join_cluster rabbit@rabbitmq-backend1
rabbitmqctl start_app
#check
rabbitmqctl cluster_status
docker exec -ti clx_rabbitmq_1 /bin/bash
rabbitmqctl add_vhost mountbit
rabbitmqctl add_user mountbit ---password---
rabbitmqctl set_permissions -p mountbit mountbit '.*' '.*' '.*'
rabbitmqctl set_policy -p mountbit ha-all "^.*$" '{"ha-mode":"all", "ha-sync-mode": "automatic"}'
[root@hcpvdrap01 ~]# docker exec -ti clx_rabbitmq_1 /bin/bash
root@rabbitmq-backend1:/# rabbitmqctl add_vhost mountbit
Creating vhost "mountbit"
root@rabbitmq-backend1:/# rabbitmqctl add_user mountbit ---password---
Creating user "mountbit"
root@rabbitmq-backend1:/# rabbitmqctl set_permissions -p mountbit mountbit '.*' '.*' '.*'
Setting permissions for user "mountbit" in vhost "mountbit"
root@rabbitmq-backend1:/# rabbitmqctl set_policy -p mountbit ha-all "^.*$" '{"ha-mode":"all", "ha-sync-mode": "automatic"}'
Setting policy "ha-all" for pattern "^.*$" to "{\"ha-mode\":\"all\", \"ha-sync-mode\": \"automatic\"}" with priority "0"
docker run --rm -it -v $(pwd)/hosts:/etc/ansible/hosts -v $(pwd)/variables:/etc/ansible/variables -v $(pwd)/clx.pem:/etc/ansible/clx.pem -v $(pwd)/mountbit.yaml.tmpl:/etc/ansible/mountbit.yaml.tmpl -v ~/.ssh/id_rsa:/etc/ansible/id_rsa ***АДРЕС СЕРВИСА НА БАЗЕ ЁДИСК***:443/cjhc/clx-deployer -e ansible_ssh_private_key_file=/etc/ansible/id_rsa
#!/bin/bash
set -e
ls -c /var/backups/mongodb/*.tar.gz | tail -n +15 | xargs -r rm
rm -rf /var/backups/mongodb/dump/ && mkdir -p /var/backups/mongodb/dump/
docker run --rm --name mongobackup --network="clx_default" -v /var/backups/mongodb/:/var/backups/mongodb/ mongo:2.6 mongodump -h mongo --out /var/backups/mongodb/dump/ 2>&1 > /var/backups/mongodb/dump/dump.log || cat /var/backups/mongodb/dump/dump.log
cd /
tar zcf /var/backups/mongodb/mongodb_dump_`date +%F_%T`.tar.gz /var/backups/mongodb/dump/
chmod +x /root/mongobackup.sh
mkdir -p /var/backups/mongodb
05 01 * * * root /root/mongobackup.sh