LINUX.ORG.RU

Сообщения Fess88

 

MySQL percona master-slave правильный бэкап

Доброго времени суток!

Есть два узла master и slave (Percona), я делаю бэкап с мастера утилитой percona xtrabackup:

 xtrabackup --defaults-file=/etc/my.cnf --user=backup_user --password=password --datadir=/var/lib/mysql --target-dir=/var/lib/mysql/backup/ --backup


затем донакатываю бинарные логи -
 xtrabackup --prepare --target_dir=/var/lib/backup/2019-05-17_09_46


Бэкап по идее готов.

И, в случае если я захочу восстановиться - мне на мастере нужно остановить mysql, очистить весь каталог /var/lib/mysql, и затем
xtrabackup --copy-back --target-dir=/var/lib/backup/2019-05-17_09_46 --datadir=/var/lib/mysql/

Проблема в том, что при создании бэкапа файлы с бинарными логами в копию не включаются, а остаются в /var/lib/mysql. Соответственно при восстановлении я их из /var/lib/mysql убираю.

Собственно вопрос - Как сделать по уму, чтобы при восстановлении мастера из резерной не поломалась реплика, и, в идеале, чтобы на сервер реплики вообще не пришлось заходить.

Возможно ли это, если перед восстановлением вручную перенести файлы бинарных логов в другое место, и после восстановления положить обратно?

Или данный путь изначально неправильный?

 , ,

Fess88 ()

Systemd - рестарт юнита в случае большого потребления памяти

Всем привет! Подскажите, реально ли реализовать средствами systemd автоматический рестарт сервиса, в случае, если он стал потреблять оперативной памяти больше заданного значения?

Либо если в целом в системе свободной памяти осталось менее заданного количества.

Пример юнита:

[Unit]
Description=broker
After=network.target

[Service]
Type=simple
User=serg
ExecStart=/opt/run/broker.py
Restart=always

[Install]
WantedBy=multi-user.target

 ,

Fess88 ()

Запуск php-fpm в Docker

День добрый! Подскажите, такая проблема:

Собираю докер образ по следующему Docker - файлу:

FROM alpine:latest 
RUN apk add --no-cache php7 php7-fpm php7-amqp 
RUN addgroup -S dockerphp && adduser -S dockerphp -G dockerphp 

CMD ["php-fpm7"] 


Собирается без ошибок, после чего стартую командой
docker run -d --name container_7.2 alpine-latest


Контейнер собирается, запускается, и тут же завершается без ошибок (exit (0))

Если я в Dockerfile добавляю строку
CMD ["/bin/sh"]


и запускаю контейнер вот т ак
docker run -it -d --name container_7.2 alpine-latest


то он запускается, php-fpm как процесс в нем висит.

Подскажите, как нормально заюзать php-fpm в контйнере?

 , ,

Fess88 ()

Увеличение времени отклика главной страницы при загрузке. Php-FPM + NGINX + Docker

Всем привет!

Есть облачное хранилище, на базе NextCloud, крутится в докер-контейнере:

Контейнер Nextcloud с PHP-FPM
Контейнер с Nginx
Контейнер с БД

Проблема в том, что при загрузке с хранилища либо закачивания больших объемов файлов на сервер, увеличивается время отклика главной страницы (веб-морды), вплоть до 15 секунд, хотя нагрузка на CPU/память при этом небольшая.

Сервер 8-ядерный, оперативки 8 GB. Канал 1 GB. Подскажите, куда копать, что можно подкрутить? Проблема в конфиге Nginx, или в настройках Docker?

Вот графики:
https://pic4a.ru/iEBh/

Конфиг Nginx стандартный, рекомендуемый разработчиком NextCloud (донастраивал там только limit_rate, чтобы после скачивания 50 мегабайт скорость обрезалась до 640 Kb/sec.


# configuration file /etc/nginx/nginx.conf:
user  www-data;
worker_processes 8;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

#   keepalive_timeout 3600;

    #gzip  on;

    upstream php-handler {
        server app:9000;
    }

    server {
        listen 80;
        listen 443 default_server ssl;
        ssl_certificate /etc/nginx/onlyoffice.crt;
        ssl_certificate_key /etc/nginx/onlyoffice.key;
        server_name cloud.domru.ru;

        # Add headers to serve security related headers
        # Before enabling Strict-Transport-Security headers please read into this
        # topic first.
         add_header Strict-Transport-Security "max-age=15768000;
         includeSubDomains; preload;";
        #
        # WARNING: Only add the preload option once you read about
        # the consequences in https://hstspreload.org/. This option
        # will add the domain to a hardcoded list that is shipped
        # in all major browsers and getting removed from this list
        # could take several months.
        add_header X-Content-Type-Options nosniff;
        add_header X-XSS-Protection "1; mode=block";
        add_header X-Robots-Tag none;
        add_header X-Download-Options noopen;
        add_header X-Permitted-Cross-Domain-Policies none;

        root /var/www/html;

        location = /robots.txt {
            allow all;
            log_not_found off;
            access_log off;
        }

        # The following 2 rules are only needed for the user_webfinger app.
        # Uncomment it if you're planning to use this app.
        #rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
        #rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json
        # last;

        location = /.well-known/carddav {
                        limit_rate_after 100m;
                        limit_rate 640k;

            return 301 $scheme://$host/remote.php/dav;
        }
        location = /.well-known/caldav {
                        limit_rate_after 100m;
                        limit_rate 640k;

            return 301 $scheme://$host/remote.php/dav;
        }

        # set max upload size
        client_max_body_size 10G;

# proxy_max_temp_file_size 10G;
#               fastcgi_request_buffering off;
#               fastcgi_buffers 4 256k;
#               fastcgi_busy_buffers_size 256k;
#               fastcgi_temp_file_write_size 256k;

                fastcgi_read_timeout 3600;
                fastcgi_send_timeout 3600;

# Enable gzip but do not remove ETag headers
        gzip on;
        gzip_vary on;
        gzip_comp_level 4;
        gzip_min_length 256;
        gzip_proxied expired no-cache no-store private no_last_modified no_etag auth;
        gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy;

        # Uncomment if your server is build with the ngx_pagespeed module
        # This module is currently not supported.
        #pagespeed off;

        location / {
            rewrite ^ /index.php$uri;
        }

        location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ {
            deny all;
        }
        location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) {
            deny all;
        }

        location ~ ^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+)\.php(?:$|/) {
            fastcgi_split_path_info ^(.+\.php)(/.*)$;
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_param PATH_INFO $fastcgi_path_info;
            # fastcgi_param HTTPS on;
            #Avoid sending the security headers twice
            fastcgi_param modHeadersAvailable true;
            fastcgi_param front_controller_active true;
            fastcgi_pass php-handler;
            fastcgi_intercept_errors on;
            fastcgi_request_buffering off;
                        limit_rate_after 100m;
                        limit_rate 640k;
        }

        location ~ ^/(?:updater|ocs-provider)(?:$|/) {
            try_files $uri/ =404;
            index index.php;
        }

        # Adding the cache control header for js and css files
        # Make sure it is BELOW the PHP block
        location ~ \.(?:css|js|woff|svg|gif)$ {
            try_files $uri /index.php$uri$is_args$args;
            add_header Cache-Control "public, max-age=15778463";
            # Add headers to serve security related headers (It is intended to
            # have those duplicated to the ones above)
            # Before enabling Strict-Transport-Security headers please read into
            # this topic first.
            # add_header Strict-Transport-Security "max-age=15768000;
            #  includeSubDomains; preload;";
            #
            # WARNING: Only add the preload option once you read about
            # the consequences in https://hstspreload.org/. This option
            # will add the domain to a hardcoded list that is shipped
            # in all major browsers and getting removed from this list
            # could take several months.
            add_header X-Content-Type-Options nosniff;
            add_header X-XSS-Protection "1; mode=block";
            add_header X-Robots-Tag none;
            add_header X-Download-Options noopen;
            add_header X-Permitted-Cross-Domain-Policies none;
            # Optional: Don't log access to assets
            access_log off;
        }

        location ~ \.(?:png|html|ttf|ico|jpg|jpeg)$ {
            try_files $uri /index.php$uri$is_args$args;
            # Optional: Don't log access to other assets
            access_log off;
        }
    }

}


# configuration file /etc/nginx/mime.types:

types {
    text/html                                        html htm shtml;
    text/css                                         css;
    text/xml                                         xml;
    image/gif                                        gif;
    image/jpeg                                       jpeg jpg;
    application/javascript                           js;
    application/atom+xml                             atom;
    application/rss+xml                              rss;

    text/mathml                                      mml;
    text/plain                                       txt;
    text/vnd.sun.j2me.app-descriptor                 jad;
    text/vnd.wap.wml                                 wml;
    text/x-component                                 htc;

    image/png                                        png;
    image/svg+xml                                    svg svgz;
    image/tiff                                       tif tiff;
    image/vnd.wap.wbmp                               wbmp;
    image/webp                                       webp;
    image/x-icon                                     ico;
    image/x-jng                                      jng;
    image/x-ms-bmp                                   bmp;

    application/font-woff                            woff;
    application/java-archive                         jar war ear;
    application/json                                 json;
    application/mac-binhex40                         hqx;
    application/msword                               doc;
    application/pdf                                  pdf;
    application/postscript                           ps eps ai;
    application/rtf                                  rtf;
    application/vnd.apple.mpegurl                    m3u8;
    application/vnd.google-earth.kml+xml             kml;
    application/vnd.google-earth.kmz                 kmz;
    application/vnd.ms-excel                         xls;
    application/vnd.ms-fontobject                    eot;
    application/vnd.ms-powerpoint                    ppt;
    application/vnd.oasis.opendocument.graphics      odg;
    application/vnd.oasis.opendocument.presentation  odp;
    application/vnd.oasis.opendocument.spreadsheet   ods;
    application/vnd.oasis.opendocument.text          odt;
    application/vnd.openxmlformats-officedocument.presentationml.presentation
                                                     pptx;
    application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
                                                     xlsx;
    application/vnd.openxmlformats-officedocument.wordprocessingml.document
                                                     docx;
    application/vnd.wap.wmlc                         wmlc;
    application/x-7z-compressed                      7z;
    application/x-cocoa                              cco;
    application/x-java-archive-diff                  jardiff;
    application/x-java-jnlp-file                     jnlp;
    application/x-makeself                           run;
    application/x-perl                               pl pm;
    application/x-pilot                              prc pdb;
    application/x-rar-compressed                     rar;
    application/x-redhat-package-manager             rpm;
    application/x-sea                                sea;
    application/x-shockwave-flash                    swf;
    application/x-stuffit                            sit;
    application/x-tcl                                tcl tk;
    application/x-x509-ca-cert                       der pem crt;
    application/x-xpinstall                          xpi;
    application/xhtml+xml                            xhtml;
    application/xspf+xml                             xspf;
    application/zip                                  zip;

    application/octet-stream                         bin exe dll;
    application/octet-stream                         deb;
    application/octet-stream                         dmg;
    application/octet-stream                         iso img;
    application/octet-stream                         msi msp msm;

    audio/midi                                       mid midi kar;
    audio/mpeg                                       mp3;
    audio/ogg                                        ogg;
    audio/x-m4a                                      m4a;
    audio/x-realaudio                                ra;

    video/3gpp                                       3gpp 3gp;
    video/mp2t                                       ts;
    video/mp4                                        mp4;
    video/mpeg                                       mpeg mpg;
    video/quicktime                                  mov;
    video/webm                                       webm;
    video/x-flv                                      flv;
    video/x-m4v                                      m4v;
    video/x-mng                                      mng;
    video/x-ms-asf                                   asx asf;
    video/x-ms-wmv                                   wmv;
    video/x-msvideo                                  avi;
}

# configuration file /etc/nginx/fastcgi_params:

fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;

fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;
fastcgi_param  REQUEST_SCHEME     $scheme;
fastcgi_param  HTTPS              $https if_not_empty;

fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;

fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;

# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param  REDIRECT_STATUS    200;



Параметры PHP-FPM
upload_max_filesize=4096M
post_max_size=511M
memory_limit=4096M
mbstring.func_overload=0
always_populate_raw_post_data=-1
default_charset='UTF-8'
output_buffering=0

 , ,

Fess88 ()

Nginx + PHP-FPM - ограничение скорости загрузки файлов на сервер

Всем привет!

Знатоки nginx, подскажите пожалуйста, как можно ограничить скорость загрузки файлов на сервер?

Скачку ограничил путем добавления директив

limit_rate_after 100m; // первые 100 мб скачиваются без ограничений
limit_rate 640k; // затем скорость обрезается до 640к/сек


в location, которые обрабатывает php-страницы.

Но upload на сервер это не обрезает по скорости.

Подскажите, можно ли подобным образом как-то ограничить именно upload?

 ,

Fess88 ()

Клонирование траффика на уровне L2

Всем привет!

Коллеги, подскажите пожалуйста, можно ли средствами ebtables организовать клонирование траффика с хостового сетевого интерфейса на Mac-адрес другой машины?

Iptables не подошел, ввиду того, что трафф нужно остылать именно на мак.

 , ,

Fess88 ()

OpenShift разворачиваем nginx

Всем привет!

На виртуалке стоит OpenShift Origin, подскажите примерный алгоритм действий, чтобы развернуть на нём nginx.

Я понимаю это примерно так:
Нужно создать сервис, затем в него уже задеплоить nginx с DockerHub, или же есть способ проще?

Затем прикрутить к нему роутер, и через него можно будет выставить наружу какой-либо порт?

Просьба поправить, если в чем-то ошибся.

 , ,

Fess88 ()

Percona DB постепенно поедает память. Zabbix

Всем привет!

Работает Zabbix (около 600 узлов, на отдельном хосте крутится его БД.)

Параметры хоста БД - проц - 4 ядра, 4 гига оперативки.

Проблема - постепенно уменьшается свободная память.


v# free -hm
              total        used        free      shared  buff/cache   available
Mem:           3.9G        3.4G        110M        5.1M        412M        297M
Swap:          2.0G         42M        2.0G



График Zabbix:

https://pic4a.ru/iYEY/

Конфиг my.cnf:

 cat /etc/mysql/my.cnf
#
# The Percona Server 5.7 configuration file.
#
#
# * IMPORTANT: Additional settings that can override those from this file!
#   The files must end with '.cnf', otherwise they'll be ignored.
#   Please make any edits and changes to the appropriate sectional files
#   included below.
#


[mysqld]
bind-address = 0.0.0.0

user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
datadir         = /var/lib/mysql

innodb_buffer_pool_size = 3048M
innodb_buffer_pool_instances=3

innodb_log_files_in_group = 2
innodb_log_file_size = 763M

innodb_flush_log_at_trx_commit = 2
innodb_flush_method = 'O_DIRECT'


[mysqldump]
quick
quote-names
max_allowed_packet              = 16M

[mysql]
#no-auto-rehash # faster start of mysql but no tab completition

[isamchk]
key_buffer                      = 16M



Подскажите, куда копать. Заранее спасибо!

 , , , ,

Fess88 ()

Посоветуйте решение для кластеризации MySQL

Всем привет!

В связи с грядущей кластеризацией MySQL-базы, посоветуйте пожалуйста решение для

1. Для начала планирую 2 узла под БД - 1 master, 1 slave. (в будущем будет увеличиваться).
2. Приложение через MySQL-proxy (MaxScale) будет обращаться к Master на чтение и запись, к Slave - только чтение.
Т.е нужна не просто реплика, но и балансировка нагрузки.

Связка позволяет это реализовать?

Посоветуйте, что безглючнее и более подходит под мои требования:

MySQL Galera + MaxScale или MySQL-cluster + MaxScale?

Либо есть более оптимальные решения?

Заранее спасибо!

 , , ,

Fess88 ()

Docker Compose 2 и Docker Compose 3 работа с сетью

Доброй ночи!

Подскажите, пожалуйста, уже неделю бьюсь с такой проблемой:

Запускаю тестовые контейнеры dockercloud/hello-world и dockercloud-haproxy, в качестве балансера.

Вариант файла docker-compose v.2 (все работает отлично):

version: '2'
services:
  web:
    image: dockercloud/hello-world
  lb:
    image: dockercloud/haproxy
    links:
      - web
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    ports:
      - 80:80


Все работает, балансировка проходит.

Переделываю данный файл на версию Docker Compose v3, и все, не работает. Нужные порты открыты, но при заходе на ip-адрес, ничего не открывается.

version: '3'
services:
  helloworld:
    image: dockercloud/hello-world
    ports:
      - 80
    networks:
      - web

  balancer:
    image: dockercloud/haproxy
    depends_on:
      - helloworld
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    ports:
      - 80:80
      - 1936:1936

    networks:
      - web

networks:
  web:



порты открыты, но не работает(( Подскажите, как исправить под 3-ю версию. Заранее спасибо!



 ,

Fess88 ()

Балансировка docker-контейнера помощью dockercloud/haproxy

Добрые вечер!

Знатоки докера, помогите плиз!

Пытаюсь в режиме роя (Swarm), на одном хосте забалансить контейнер onlyoffice, с помошью контейнера dockercloud/haproxy.


Разворачиваю все командой:

docker stack deploy --compose-file /usr/local/bin/back_docker_compose.yml onlyoffice


Файл back_docker_compose.yml
#Контейнер с OnlyOffice
version: '3'
services:
  onlyoffice:
        
    image: onlyoffice/documentserver
    restart: on-failure:5
    stdin_open: true
    volumes:
      - /mnt/cloud/onlyoffice/log:/var/log/onlyoffice
      - /mnt/cloud/onlyoffice:/var/www/onlyoffice/Data
      - /mnt/cloud/onlyoffice/cache:/var/lib/onlyoffice
    ports:
      - "80"
    networks:
      - overlay
        # deploy:
        #replicas: 2

  balancer:
    image: dockercloud/haproxy
    networks:
      - overlay
    depends_on:
      - onlyoffice
    environment:
      STATS_AUTH: 'stats:stats'
    deploy:
      placement:
        constraints:
          - node.role == manager
            #'constraint:balancer==yes':
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    ports:
      - '80:80'
      - '1936:1936'
networks:
  overlay:



Разворачивается все нормально, но на порту 80 в итоге отбалансенный onlyoffice не открывается, выдается Unable to connect.

Пробовал в compose-файле указывать проброс 80 порта onlyoffice наружу - все работает.

Через haproxy из контейнера - никак(

Подскажите, в чем может быть косяк?

Заранее спасибо!

P.S. OnlyOffice самостоятельно пробрасывает свой 80 порт наружу, на 30000 порт. Странно...

 , ,

Fess88 ()

Ошибка при создании машины в docker-machine

Друзья помогите плиз.

Поставил docker-machine, настролил две виртуалки, для создания мини-кластера.

Создал пользователя dmash, авторизацию по ключам настроил, права на sudo дал, вручную на машины заходит нормально, sudo также срабатывает.

Но при попытке создать машину командой

docker-machine -D create --driver generic --generic-ip-address=10.100.251.104 --generic-ssh-user=dmash --generic-ssh-key /home/dmash/.ssh/id_rsa test-09


выдает:



docker-machine -D create --driver generic --generic-ip-address=10.100.251.104 --generic-ssh-user=dmash --generic-ssh-key /home/dmash/.ssh/id_rsa test-09
Docker Machine Version:  0.6.0, build e27fb87
Found binary path at /usr/local/bin/docker-machine
Launching plugin server for driver generic
Plugin server listening at address 127.0.0.1:46165
() Calling .GetVersion
Using API Version  1
() Calling .SetConfigRaw
() Calling .GetMachineName
(flag-lookup) Calling .GetMachineName
(flag-lookup) Calling .DriverName
(flag-lookup) Calling .GetCreateFlags
Found binary path at /usr/local/bin/docker-machine
Launching plugin server for driver generic
Plugin server listening at address 127.0.0.1:46385
() Calling .GetVersion
Using API Version  1
() Calling .SetConfigRaw
() Calling .GetMachineName
(test-09) Calling .GetMachineName
(test-09) Calling .DriverName
(test-09) Calling .GetCreateFlags
(test-09) Calling .SetConfigFromFlags
Running pre-create checks...
(test-09) Calling .PreCreateCheck
(test-09) Calling .GetConfigRaw
Creating machine...
(test-09) Calling .Create
(test-09) Importing SSH key...
(test-09) DBG | IP: 10.100.251.104
(test-09) Calling .GetConfigRaw
(test-09) Calling .DriverName
(test-09) Calling .DriverName
Waiting for machine to be running, this may take a few minutes...
(test-09) Calling .GetState
Detecting operating system of created instance...
Waiting for SSH to be available...
Getting to WaitForSSH function...
(test-09) Calling .GetSSHHostname
(test-09) Calling .GetSSHPort
(test-09) Calling .GetSSHKeyPath
(test-09) Calling .GetSSHKeyPath
(test-09) Calling .GetSSHUsername
Using SSH client type: external
{[-o BatchMode=yes -o PasswordAuthentication=no -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=quiet -o ConnectionAttempts=3 -o ConnectTimeout=10 -o ControlMaster=no -o ControlPath=none dmash@10.100.251.104 -o IdentitiesOnly=yes -i /home/dmash/.docker/machine/machines/test-09/id_rsa -p 22] /usr/bin/ssh}
About to run SSH command:
exit 0
SSH cmd err, output: <nil>: 
Detecting the provisioner...
(test-09) Calling .GetSSHHostname
(test-09) Calling .GetSSHPort
(test-09) Calling .GetSSHKeyPath
(test-09) Calling .GetSSHKeyPath
(test-09) Calling .GetSSHUsername
Using SSH client type: external
{[-o BatchMode=yes -o PasswordAuthentication=no -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=quiet -o ConnectionAttempts=3 -o ConnectTimeout=10 -o ControlMaster=no -o ControlPath=none dmash@10.100.251.104 -o IdentitiesOnly=yes -i /home/dmash/.docker/machine/machines/test-09/id_rsa -p 22] /usr/bin/ssh}
About to run SSH command:
cat /etc/os-release
SSH cmd err, output: <nil>: NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"


Couldn't set key CPE_NAME, no corresponding struct field found
Couldn't set key , no corresponding struct field found
Couldn't set key CENTOS_MANTISBT_PROJECT, no corresponding struct field found
Couldn't set key CENTOS_MANTISBT_PROJECT_VERSION, no corresponding struct field found
Couldn't set key REDHAT_SUPPORT_PRODUCT, no corresponding struct field found
Couldn't set key REDHAT_SUPPORT_PRODUCT_VERSION, no corresponding struct field found
Couldn't set key , no corresponding struct field found
found compatible host: centos
Provisioning with centos...
No storagedriver specified, using devicemapper

(test-09) Calling .GetMachineName
(test-09) Calling .GetSSHHostname
(test-09) Calling .GetSSHPort
(test-09) Calling .GetSSHKeyPath
(test-09) Calling .GetSSHKeyPath
(test-09) Calling .GetSSHUsername
Using SSH client type: external
{[-o BatchMode=yes -o PasswordAuthentication=no -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=quiet -o ConnectionAttempts=3 -o ConnectTimeout=10 -o ControlMaster=no -o ControlPath=none dmash@10.100.251.104 -o IdentitiesOnly=yes -i /home/dmash/.docker/machine/machines/test-09/id_rsa -p 22] /usr/bin/ssh}
(test-09) Calling .GetSSHHostname
(test-09) Calling .GetSSHPort
(test-09) Calling .GetSSHKeyPath
(test-09) Calling .GetSSHKeyPath
(test-09) Calling .GetSSHUsername
Using SSH client type: external
{[-o BatchMode=yes -o PasswordAuthentication=no -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=quiet -o ConnectionAttempts=3 -o ConnectTimeout=10 -o ControlMaster=no -o ControlPath=none dmash@10.100.251.104 -o IdentitiesOnly=yes -i /home/dmash/.docker/machine/machines/test-09/id_rsa -p 22] /usr/bin/ssh}
installing base package: name=curl
(test-09) Calling .GetSSHHostname
(test-09) Calling .GetSSHPort
(test-09) Calling .GetSSHKeyPath
(test-09) Calling .GetSSHKeyPath
(test-09) Calling .GetSSHUsername
Using SSH client type: external
{[-o BatchMode=yes -o PasswordAuthentication=no -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=quiet -o ConnectionAttempts=3 -o ConnectTimeout=10 -o ControlMaster=no -o ControlPath=none dmash@10.100.251.104 -o IdentitiesOnly=yes -i /home/dmash/.docker/machine/machines/test-09/id_rsa -p 22] /usr/bin/ssh}
(test-09) Calling .GetSSHHostname
(test-09) Calling .GetSSHPort
(test-09) Calling .GetSSHKeyPath
(test-09) Calling .GetSSHKeyPath
(test-09) Calling .GetSSHUsername
Using SSH client type: external
{[-o BatchMode=yes -o PasswordAuthentication=no -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=quiet -o ConnectionAttempts=3 -o ConnectTimeout=10 -o ControlMaster=no -o ControlPath=none dmash@10.100.251.104 -o IdentitiesOnly=yes -i /home/dmash/.docker/machine/machines/test-09/id_rsa -p 22] /usr/bin/ssh}
installing docker
(test-09) Calling .GetSSHHostname
(test-09) Calling .GetSSHPort
(test-09) Calling .GetSSHKeyPath
(test-09) Calling .GetSSHKeyPath
(test-09) Calling .GetSSHUsername
Using SSH client type: external
{[-o BatchMode=yes -o PasswordAuthentication=no -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=quiet -o ConnectionAttempts=3 -o ConnectTimeout=10 -o ControlMaster=no -o ControlPath=none dmash@192.168.0.104 -o IdentitiesOnly=yes -i /home/dmash/.docker/machine/machines/test-09/id_rsa -p 22] /usr/bin/ssh}
(test-09) Calling .GetSSHHostname
(test-09) Calling .GetSSHPort
(test-09) Calling .GetSSHKeyPath
(test-09) Calling .GetSSHKeyPath
(test-09) Calling .GetSSHUsername
Using SSH client type: external
{[-o BatchMode=yes -o PasswordAuthentication=no -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=quiet -o ConnectionAttempts=3 -o ConnectTimeout=10 -o ControlMaster=no -o ControlPath=none dmash@10.100.251.104 -o IdentitiesOnly=yes -i /home/dmash/.docker/machine/machines/test-09/id_rsa -p 22] /usr/bin/ssh}
Error creating machine: Error running provisioning: exit status 1
open : no such file or directory
notifying bugsnag: [Error creating machine: Error running provisioning: exit status 1]



Судя по последним строкам, проблема, вероятно, что он не может открыть какой-то файл - open : no such file or directory
но не факт.

Уже кучу форумов перечитал, но так и не смог завести. Машина по факту создается, вот выхлоп:

docker-machine ls
NAME              ACTIVE   DRIVER    STATE     URL                         SWARM   DOCKER    ERRORS
test-01           -        generic   Running   tcp://10.100.251.104:2376           Unknown   Unable to query docker version: Unable to read TLS config: open /home/dmash/.docker/machine/machines/test-01/server.pem: no such file or directory



но не до конца. TLS-сертификаты мне не нужны, должно по идее работать и без них.

Кто сталкивался, помогите.

 ,

Fess88 ()

Nginx выдает Bad Request при upload'е больших файлов

Всем привет!
Друзья, столкнулся с такой проблемой - на локальном сервере работает nextcloud в docker-контейнере, веб-морда проксируется через nginx.

При попытке загрузить файл более 10 GB (уже в самом конце загрузки), выдает ошибку Bad Request.

Лог nginx:


192.168.48.68 - - [28/Aug/2017:05:30:25 +0000] "PUT /remote.php/webdav/Terminator2.mkv HTTP/1.1" 400 249 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0"




Конфиг проксирующего nginx-a ниже


 server {
  listen 8080;
  server_name cloud.loc;
  return 301 https://$host$request_uri;
}

server {
  listen 4430 ssl;
  server_name cloud.loc;

  ssl_certificate /certs/onlyoffice.crt;
  ssl_certificate_key /certs/onlyoffice.key;

server_tokens off;
ssl on; 
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
#ssl_ecdh_curve X25519:P-521:P-384;



ssl_verify_client off;
ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA128:DHE-RSA-AES128-GCM-SHA384:DHE-RSA-AES128-GCM-SHA128:ECDHE-RSA-AES128-SHA384:ECDHE-RSA-AES128-SHA128:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA128:DHE-RSA-AES128-SHA128:DHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA384:AES128-GCM-SHA128:AES128-SHA128:AES128-SHA128:AES128-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";

ssl_prefer_server_ciphers on; 

ssl_session_cache  builtin:1000  shared:SSL:10m;
ssl_session_timeout 10m;
ssl_session_tickets off;
#keepalive_timeout 60000;
#client_header_buffer_size 128k;
#large_client_header_buffers 32 64k;

#include /etc/nginx/conf/ssl_params;

#include /etc/nginx/conf/headers_params;
#add_header X-Content-Type-Options nosniff;


#add_header X-Frame-Options SAMEORIGIN;
#add_header X-Content-Type-Options nosniff;
#add_header X-XSS-Protection "1; mode=block";

proxy_buffering off;
proxy_max_temp_file_size 30720m;

client_max_body_size 25G; # change this value it according to $UPLOAD_MAX_SIZE



    location / { 
    proxy_pass http://nextcloud:8888;
    include /etc/nginx/conf/proxy_params;
        
   #add_header X-XSS-Protection "1; mode=block";
  }
}

В NextCloud ошибка такая:


Sabre\DAV\Exception\BadRequest: expected filesize 19527210336 got 2603241472


Подозреваю, что нужно допилить конфиг проксирующего nginx, не не знаю, как именно.

Подскажите, пожалуйста!

 , , ,

Fess88 ()

Решение для мониторинга устройств по SNMP

Всем привет!

Посоветуйте пожалуйста какое-либо ПО для мониторинга активки, точек доступа WiFi, и т.д, наподобие Observium'a (у него версия CE что-то совсем уж редко обновляется).

Очень желательно чтобы при добавлении устройства оно автоматически опрашивалось по SNMP, и выдавались все параметры, которые можно мониторить. Observium это умеет.

Смотрю в сторону Munin, Icinga 2 Web.
Кто использует, поделитесь впечатлениями.

 , ,

Fess88 ()

Знаки препинания в русской раскладке XFCE

Друзья, xfce 4, настройки стандартные, но беда со знаками препинания.

По нажатию shift + / в русской раскладке ставится не запятая, а знак вопроса.
В итоге чтобы поставить точку или др. знак приходится переключаться в англ. раскладку (они доступны по комбинациям шифт-шесть и шифт-семь), но для меня это неудобно.


/home/user/.config/xfce4/xfconf/xfce-perchannel-xml/keyboard-layout.xml

<?xml version="1.0" encoding="UTF-8"?>

<channel name="keyboard-layout" version="1.0">
  <property name="Default" type="empty">
    <property name="XkbDisable" type="bool" value="false"/>
    <property name="XkbLayout" type="string" value="us,ru"/>
    <property name="XkbVariant" type="string" value=",legacy"/>
    <property name="XkbOptions" type="empty">
      <property name="Group" type="string" value="grp:alt_shift_toggle"/>
    </property>
    <property name="XkbModel" type="string" value="pc104"/>
  </property>
</channel>

С настройками игрался - безрезультатно. Прошу помочь советом.
Клавиатура стандартная 104-кнопочная, Logitech K120

 

Fess88 ()

Docker - ошибка монтирования из-за SeLinux в CentOs 7.3

Друзья, подскажите, полдня уже колдую:

Стартую через docker-compose контейнер с nginx, на хост пробрасывается папка с настройками (sites-enabled)

 volumes:
   - /mnt/nginx/sites-enabled:/sites-enabled

Когда данная папка пуста, то контейнер стартует нормально, но стоит только мне положить в неё 1 файл с конфигом, как контейнер начинает бесконечно рестартиться.

в dmesg получаю:

[ 1678.134872] SELinux: mount invalid.  Same superblock, different security settings for (dev mqueue, type mqueue)
[ 1682.017761] SELinux: mount invalid.  Same superblock, different security settings for (dev mqueue, type mqueue)


SeLinux выключен,
в /etc/selinux/config стоит - SELINUX=disable
после перезагружался, не могу понять, каким образом она блокирует.

Подскажите, куда копать. Спасибо!

 , ,

Fess88 ()

Arch Linux на нетбук Lenovo s110 (i686 проц)

Друзья, подскажите плиз:

Хочу поставить Arch Linux на старенький нетбук Lenovo s110, с процессором i686.

Последний образ Арча, поддерживаемый данные процессоры:
Release Date: 2017-02-01

Arсh решил поюзать впервые, поэтому подскажите, будет ли возможно поставить новое ПО/обновляться под данную архитектуру?

Натолкнулся, что как-то можно подключить репозитарий seblu.net
но не знаю, как это делается в Арче.

Какие еще могут встретиться подводные камни?

Заранее спасибо!

 ,

Fess88 ()

Управление сервером через email

Доброго времени суток!

Ситуация такая:

Есть комп в локальной сети, без доступа к интернету, нов этой же локалке крутится почтовый сервер, способный принимать/отправлять письма извне.

Вопрос - есть ли какое-либо решение(бэкдор или еще что), которое бы работало на искомом компе, и в случае получения письма с определенного адреса, парсило бы текст, выполняло в шелле команду, посланную в письме, и отправляла результаты на внешний почтовый адрес?

 , ,

Fess88 ()

Посоветуйте аналог Cacti + Weathermap

Всем добрый день!

Есть задача, настроить мониторинг сетевого оборудования по SNMP, с визуализацией графиков, пример - http://pic4a.ru/inOP/

Смотрел в сторону Cacti + плагин WeatherMap, но, к сожалению, он поддерживает только довольно старую версию Cacti - до 0.9.

Поделитесь, кто чем пользуется, как вариант рассматриваю Icinga 2, но к ней нужно что-то для визуализации в стиле WeatherMap.

Заранее спасибо!

 ,

Fess88 ()

Вопрос по rsync

Всем привет!

Переносил с одного сервера на другой неделю назад большое количество файлов, с использованием tar+ssh.

Сейчас хочу синхронизировать данные, которые добавились на исходном хосте, с использованием rsync + ssh.

rsync -zavpruP /cloudfiles/data user@hostname:/mnt/data-cloud/data


Проблема в том, что rsync заново начинает копировать ВСЕ файлы, не пропуская уже существующие. Реально ли как-то сделать синхронизацию?

Заранее спасибо!

 ,

Fess88 ()

RSS подписка на новые темы