LINUX.ORG.RU

Сообщения apekoff

 

Вопрос про репликацию Mysql

Есть виртуальный сервер , где установлен nginx+php-fpm+mysql . Настало время когда его ресурсов , в частности на mysql, стало не хватать. Решили докупить физический сервер .
1 Какой тип репликации лучше всего использовать при условии что большая часть запросы - SELECT.
2 Если использовать любой из типов репликации , то имеет ли смысл по дробить физический сервер на 3 виртуалки с 3 master/slave репликами . Или же цельный сервер в этом случае лучше?
3. В моем случае при схеме master-slave ,лучше master выносить из первого сервера ( где все в одном ) в отдельную виртуалку? Или оставить mysql-master рядом с php-fpm ?

 ,

apekoff
()

Mariadb 10, io + cpu

Адаптировал конфиг который мне тут недавно посоветовали , закоментировав некоторые опции http://pastebin.com/Nd4XQiBj . забыл упомянуть что размер базы ~3GB .Так же обновил до mariadb10. Так же установил графики мунин. В данный момент беспокоит что обращению к диску стало на порядок чаще с этим конфигом . Нагрузка на процессор возросла тоже . Вот еще графики которые как мне показалось интересы , они пока короткие так как конфиг установил недавно https://yadi.sk/i/eQvvfMrsfXVLt ,https://yadi.sk/i/hLN7NIm5fXVLx , https://yadi.sk/i/DEp-EPg8fXVM3, https://yadi.sk/i/fbN5VsIsfXVM9 , https://yadi.sk/i/6ElB6EWWfXVMD , https://yadi.sk/i/705n5yUgfXVMK .. Среди этого всего есть и плюс , база еще не разу не упала .. Однако можно ли что то сделать на стороне сервера в сторону уменьшения обращений к диску . Оперативной памяти досточно , с данным конфигом используется 4-5 GB ..

 ,

apekoff
()

Nginx + Php-fpm + зависание Mysql

Данные сервера qemu virtual cpu 8 cores + 36GB RAM .На сервере с стоит связка Nginx + Php-fpm + Mysql.

Нагрузка на сервер достаточно большая . Единовременно к php скрипту могут обращаться около 3-4 тысяч пользователей.
Когда пользователей в половину меньше (2 тысячи) приложение работает стабильно..На php-fpm уходит 10%, mysql - 25-30% В пиковые (3-4 тысячи пользователей)моменты происходит вот какая ситуация - Mysql загружает cpu под 90 % , php-fpm загружается на 2-3% и начинает плодить новые потоки . В mysql-slow-log начинают сыпаться запросы от 2 секунд и выше ..
Если я правильно понимаю, то зависает именно mysql. Подскажите как можно оптимизировать со стороны mysql или php . Конфиги прилагаются

root@vm1:~# uname -a
Linux vm1 3.2.0-4-amd64 #1 SMP Debian 3.2.54-2 x86_64 GNU/Linux

root@vm1:~# php -v
PHP 5.4.39-0+deb7u1 (cli) (built: Mar 20 2015 15:16:28)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies
    with eAccelerator v1.0-dev, Copyright (c) 2004-2012 eAccelerator, by eAccelerator

php-fpm config http://pastebin.com/fWtEnnNx php pool config http://pastebin.com/QDbbK73T

root@vm1:~# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 4070440
Server version: 5.5.42-MariaDB-1~wheezy-log mariadb.org binary distribution

mysq config http://pastebin.com/qig4nEtF

root@vm1:~# nginx -v
nginx version: nginx/1.2.1

nginx main config http://pastebin.com/E9cT6kj6 nginx virtual host http://pastebin.com/R6SQxrMP

 , ,

apekoff
()

Openvz bridged public ip маршрутизация

Centos Openvz
Знакомлюсь в срочном порядке с openvz , остановила настройка сетевых интерфейсов. Что имеем и что нужно .
Cхема
Host: inet 1.2.3.4,1.2.3.5,1.2.3.6 local 192.168.1.1
Guest1: local+internet 192.168.1.101 # доступ к из интернета к гостевой через iptables, доступ из гостевой к интернету и доступ к остальным гостевым
Guest2: local 192.168.1.102 internet 1.2.3.5 # доступ к гостевой из интернета на 1.2.3.5, доступ из гостевой к интернету и доступ к остальным гостевым
Guest3: local 192.168.1.103 internet 1.2.3.6 # доступ к гостевой из интернета на 1.2.3.5, доступ из гостевой к интернету и доступ к остальным гостевым
подскажите как разрулить
Хост машина

eth0      Link encap:Ethernet  HWaddr 52:54:00:63:83:3F
          inet addr:1.2.3.4  Bcast:1.2.3.255  Mask:255.255.252.0
          inet6 addr: fe80::5054:ff:fe63:833f/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:76683 errors:0 dropped:0 overruns:0 frame:0
          TX packets:25172 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:156205490 (148.9 MiB)  TX bytes:2248539 (2.1 MiB)

eth0:0    Link encap:Ethernet  HWaddr 52:54:00:63:83:3F
          inet addr:1.2.3.5  Bcast:1.2.3.255  Mask:255.255.254.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

eth0:1    Link encap:Ethernet  HWaddr 52:54:00:63:83:3F
          inet addr:1.2.3.6  Bcast:1.2.3.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

venet0    Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet6 addr: fe80::1/128 Scope:Link
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
          RX packets:330 errors:0 dropped:0 overruns:0 frame:0
          TX packets:107 errors:0 dropped:3 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:24237 (23.6 KiB)  TX bytes:9585 (9.3 KiB)
vzctl set 101 --save --ipadd 192.168.1.101
на выходе , в гостевой машине получается
vzctl exec 101 ifconfig
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

venet0    Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:127.0.0.2  P-t-P:127.0.0.2  Bcast:0.0.0.0  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:27 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:1431 (1.4 KB)

venet0:0  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:192.168.1.101  P-t-P:192.168.1.101  Bcast:192.168.1.101  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1

 , , , ,

apekoff
()

centos iptables автозагрузка не работает

делаю

service iptables save 
chckonfig iptables on 
после перезагрузки
iptables -t nat --list
выдает список всех правил, однако ни одно из правил не работает .. только после iptables-restore < /etc/sysconfig/iptables правила начиниают работать(до след ребута ) . Добавляю в /etc/rc.local iptables-restore < /etc/sysconfig/iptables - никакого эффекта.. В чем проблема ?

 , ,

apekoff
()

qemu kvm libvirt смена пользователя

Привет ! Сервис qemu-kvm + libvirt запущен из под рута . Везде пишут что не рекомендуется так делать . Как изменить пользователя ? К примеру на qemu , который присутствует в системе . Centos 6 . Спасибо

 , , , ,

apekoff
()

Защита от брутфорса ssh

Следующая ситуация . KVM+ libvirt . с помощью iptables проброшен 22 порт на гостевую машину . В логах при не правильном пароле отображается ip хостовой машины .Каким образом лучше защититься от брутфорса ? fail2ban не получится использовать ?Порт менять нельзя .

 , , , ,

apekoff
()

raid 1 разбить раздел

Привет .Надо разбить диск который в raid1 для гостевых томов. Имею в raid1 том boot 512 mb , swap 16G , / все остальное. Как разбить / на два тома ? Загрузился в rescue диск .выполнил

e2fsck -f /dev/md2
resize2fs /dev/md2 500G
mdadm --grow /dev/md2 --size=524288000
# выдало mdadm: /dev/md2 is performing resync/recovery and cannot be reshaped
ибо не ведаю что творю .. помогите ))

 , , ,

apekoff
()

Перенос содержимого сервера с raid 1 на raid 1

Привет . Навернулись оба диска в raid1 . Не полностью , но раз в месяц вся система подвисает и вырубается . Хостер заявил что проблема в обоих жестких дисках которые в raid 1. Хостер предложил заменить оба диска . Нужно сохранить данные в raid 1. На хост машине уставновлена kvm+libvirt .
Разделы виртуалок созданы с помощью LVM . Каким образом выполнить перенос?
1)Всей системы (хост машина + все виртуалки )
2)или может скопировать каким то образом lvm разделы на новый raid 1. Подскажите как лучше поступить ?

 , , ,

apekoff
()

Проверить из за чего вырубается linux

Физический сервер на hetzner периодически отваливается , в логах последние записи заканчиваются в одно и тоже время . Есть ли какой то механизм выяснить , что именно происходит ? Как узнать от чего выключается или зависает ? т.е. хочется понять проблема с железом или с софтом ..

 ,

apekoff
()

Автосубдомены распределенные по ip nginx или bind9

Подскажите как можно распределить большой объем сабдоменов на разные ip . в частности 100 субдоменов на 1 сервер. В настройках днс крайне хочется поставить *.domain.loc . Сабдомены добавляются постепенно . Грубо говоря , это автосубдомены распределенные на несколько серверов . Еще эти субдомены должны быть явно определены . Пример

server {
    listen 80; 
    server_name *.domain.loc;
    
# подключить список первых 100 доменов
    include /etc/nginx/subdomains/1
    if ( subdomen iz spiska1 = subdomen100 .example.loc$) {
       location / {
                proxy_pass http://1server/;
                include /etc/nginx/proxy.conf;
        }
    }

    include /etc/nginx/subdomains/2
    if ( subdomen iz spiska2 = subdomen150.example.loc$) {
       location / {
                proxy_pass http://2server/;
                include /etc/nginx/proxy.conf;
        }
    }
}

Или может есть какие то альтернативы вроде bind9 .Спасибо

 , ,

apekoff
()

git, gitolite добавление репозитория

На этапе добавления репозитория conf/gitolite.conf

repo test
RW+ = admin
в $HOME/repositories создается папка test.git/ . Клонирую себе на локальный компьютер
git clone ssh://user@server:port/test
#создаю файлик 
touch readme.txt
#пушу
git add .
git commit -am "added readme.txt"
git push
Разъясните пожалуйста , куда залился файлик readme.txt ? хотелось бы чтобы место куда залился файлик из репозитория test находился в $HOME/public_html/project_test. Спасибо !

 , ,

apekoff
()

Nginx проверка на наличие папки

Привет ,настраиваю автоподдомены в связке nginx+apache2. На стороне апача все настроено . К nginx-om проксировать только те запросы , под которые есть существующие папки в /var/www/subdomains/ . Имя папки = subdomain.Как можно проверить наличие папки NGINX-ом . Я так представляю что нужно каким то образом вытянуть subdomain из урла , проверить наличие папки . Если папка есть то проксировать дальше ,иначе отдавать 444 вот что есть на данный момент в nginx

 
server {

        listen 80;
        server_name domain.loc *.domain.loc;

        location / {
                proxy_pass http://127.0.0.1:8080/;
                include /etc/nginx/proxy.conf;
        }


        location ~ /\.ht {
                deny all;
        }
}

как представляю
server {
    listen 80;
    server_name domain.loc *.domain.loc;
    #тут как то надо выпарсить название сабдомена
    if (сравнить, если папка не существует,то- ) {
       return 444;
    }

    location / {
                proxy_pass http://127.0.0.1:8080/;
                include /etc/nginx/proxy.conf;
        }  
  
}

 , ,

apekoff
()

mysql импорт

Привет. Пытаюсь залить дамп двумя способами . Первый работает , кодировка корректно отображается . в целом все в норме

mysql -uuser -p db < dump.sql 
Пытаюсь аплоадить с помощью HeidiSQL - кракозябрами отображаются русские символы , куда копать ? Хочется настроить всесторонне . базу создавал
CREATE DATABASE db CHARACTER SET utf8 COLLATE utf8_general_ci;
Спасибо!

 , ,

apekoff
()

ruby script autostart

привет ! подскажите пожалуйста . Установил скрипт на руби. У него есть две команды вкл/выкл

scout_realtime start
scout_realtime stop
хочется чтоб после перезагрузки выполнялся start . Ну или как то поместить его в /etc/init.d/ ,а потом chkconfig scout_realtime on ?

 , , ,

apekoff
()

Chroot + sftp + acl настройка

Привет , подскажите каким образом можно настроить chroot + sftp + acl . Есть два пользователя user1(/sftp/user1/user1) user2(/sftp/user2/user2) . Chroot настроен и оба пользователя коннектятся корректно . Встала задача дать доступ user1 в папку user2 (/sftp/user2/user2)

mount -o /sftp/user2/user2 /sftp/user1/user2
chown user1:sftp /sftp/user1/user1
chown user2:sftp /sftp/user2/user2
доступ дал , записывать могу . т.е.
А как сделать чтобы все файлы создаваемые в папке user2 можно было редактировать . вот что нужно -
папка /sftp/user2/user2 <---> user1 может создавать,редактировать созданные user2 файлы. Так же user2 может редактировать созданные user1 файлы.

 , ,

apekoff
()

Nginx запретить доступ по http к IP

Как запретить доступ по http к Ip адресу на уровне nginx ? Чтобы при доступе к http://ip.ad.re.ss/ ничего не открывалось .

 , ,

apekoff
()

Удобное распределение ресурсов для виртуальных машин

Всем привет ! Хочется как то удобно распределить место под будущие виртуальные машины на сервере . К примеру - есть сервер с 2ТБ software raid1 , 48 GB RAM , 8 cores. Хост машина - vibvirt+kvm Место под разделы выделяю через LVM . К примеру хотят распределить все ресурсы на 2 виртуальные машины . Вопросы собственно в чем .
1 .Насколько логично выделять 1.3 террабайта на 1 виртуальную машину (есть мысль что не будет использована и половина . А также насколько логично выделять под корень такой большой обьем ).
2 . Каким образом лучше всего распределять место под разделы виртуалок (какой минимальный размер под раздел / или какие идеальные размеры разделов / /var /home /usr ).
Хочется в любой момент свободно изменить размер разделов .
Насолько гибко и надежно действует lvresize . Посоветуйте что нибудь , а то пытался изменить раздел в одной из машин .

# resize2fs /dev/sdc5 500G # зашел в recovery mode на виртальной машине , изменил раздел с 1ТБ на 500ГБ
# lvreduce -L 500G /dev/virtual_volumes/vm1-var # изменил на хост машине размер 
в итоге раздел попортился не совпало кол-во блоков

хочется какой то надежной схемы ..

 , ,

apekoff
()

ruby http authorization

Доброй ночи . Поставил вот этот скрипт мониторинга сервера https://github.com/scoutapp/scout_realtime. который на ruby . доступ к нему осуществляется http://host:5555/ . Хотелось бы поставить какой то простейший http auth . Спасибо

 , ,

apekoff
()

Realtime statistics

Подскажите приложение для просмотра загруженности cpu,ram,eth0 и т.д. в realtime через web интерфейс . С авторизацией. И бесплатное ))

 

apekoff
()

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