Что может записывать nginx (логи отключены)?

Драсте всем. Есть сервер linux/centos 6.5, программный 10 RAID 4xTB,32GB RAM, CPU Intel i5
Производительность серва начала упираться в винт и появился overhead. В atop-e busy прыгает порой до 70-80%, в среднем 30-40%, avio 4-8 ms. В iotop-е частенько мелькает nginx c записью на винт до 10 M/s.

error_log/access_log логи nginx-a идут в /dev/null

Все HTTP запросы ходят на apache через nginx, на php реализован REST API: вставку в базу некоторой инфы и аплоад файлов. Файлы записываются на винт(не в базу). Думал, что ноги растут отсюда и переделал на Java сервлете момент сохранения файлов на винт с очередью (2 потока на запись). Nginx-ом перенаправил на tomcat. Итог — не помогло. Очень буду рад любым советам, мозг кипит, спасибо.

Почему не работает mount при загрузке?

Добрый день.
Пытаюсь установить на Ubuntu Server lxc виртуализацию.
Во всех инструкция пишут первым шагом нужно примонтировать cgroups, вот примеры инструкций ссылка 1 и ссылка 2.

Так как /sys/fs/cgroup считается дефолтной папкой для монтирования я пытаюсь примонтировать в неё:
В файл /etc/fstab добавляю
cgroup /sys/fs/cgroup cgroup defaults 0 0
И делаю
> mount /sys/fs/cgroup
тот не ругается, lxc-checkconfig говорит всё ок, namespases в порядке.
Далее reboot, перезагрузка происходит удачно, делаю lxc-checkconfig пишет ошибку подключения namespases — повторное монтирование (> mount /sys/fs/cgroup) решает проблему и так после каждой перезагрузки.

Я решил попробовать сделать как в примере из других статей и поменять положение cgroup монтирования.
> mkdir /cgroup
В /etc/fstab установил новые пути
cgroup /cgroup cgroup defaults 0 0
> mount /cgroup
Читать дальше

Почему на VDS отображается, что закончилось диск. пространство?

Изпользую VDS в качестве файлового хранилища для картинок сайта. Столкнулся с проблемой. На VDS диск на 512Gb. Занято 19Gb. При копировании картинок на этот VDS выдает ошибку, что закончилось диск. пространство.
Выполнил команду: df -h:

root@vds1:~# df -h Filesystem Size Used Avail Use% Mounted on /dev/root 20G 19G 64K 100% / devtmpfs 988M 4.0K 988M 1% /dev none 4.0K 0 4.0K 0% /sys/fs/cgroup none 198M 520K 198M 1% /run none 5.0M 0 5.0M 0% /run/lock none 988M 0 988M 0% /run/shm none 100M 0 100M 0% /run/user /dev/sda2 439G 71M 417G 1% /home

Сайт расположен по пути: /var/www/html/site.ru
Я так понял он сейчас в этом разделе: /dev/root
А как его перенести в этот: /dev/sda2
?

Как организовать резервное копирование виртуальных машин с общими дисками?

Вводные данные:

Есть ESXi сервера, есть VCenter (v5.1), на них крутятся виртуальные машины. К ESXi подключено несколько СХД, на которых нарезаны LUN и отданы виртуальным машинам. Внутри виртуальных машин подключено дисков от разных СХД. В качестве системы резервного копирования используется Acronis Backup & Recovery 11.5, агенты которого установлены внутри всех VM. Время начала резервного копирования виртуальных машин привязано к сервисам, которые на них расположены. Резервное копирование каждой машины выполняется 7 раз в неделю (1 полная копия и 6 дифференциальных). Работа виртуальных машин вне времени резервного копирования оптимальна, и диски не являются узким местом. Выделить каждой VM свой LUN целиком нельзя, т.к. на всех места не хватит.

Проблема:

Резервное копирование более двух VM одновременно с общими дисками чревато провалом производительности обеих машин и сервисов, на них находящихся.

Вот схема для наглядности:

На схеме изображено 4 VM и 3 LUN, но на деле виртуальных машин около 100, а LUN около 15. LUN разного размера и производительности.
Читать дальше

Как продвинуть хостинг?

Хочется получить совет от опытных и знающих людей.
Чуть более пары лет назад создали шаред хостинг. Сделали украинский ЧП, прикупили лицензии, настроили сервера. Сервера не на Украине.
Сами сисадмины с большим опытом, наняли еще двоих — техподдержка на высшем уровне (никаких девочек со стандартными ответами «почистите кеш»), отвечают всегда сисадмины, среднее время ответа 11 минут. Все, кто обращаются в поддержку, остаются довольны.
Манибек делаем по первому запросу. Все удивляемся, что дает хостинг-провайдерам выкручивание клиенту рук при возврате денег.
На серверах CloudLinux, чтоб клиенты не мешали друг другу, но лимиты поставили большие, чтоб не упирались.
Есть всякие плюшки типа кеширований, тюнинги mysql, ssd. Оптимизаций для скорости работы сделано много.
Каждый день сканируем сайты на вирусы, шеллы и прочую дрянь, результаты сканирований рассылаются клиентам. Сами в контент не вмешиваемся.
Цены установили минимальные. Один сайт, одна бд и т.д. — меньше доллара в мес.
Регулярно делаем акции, закидываем на форумы.

Суть вопроса:
У нас уже достаточно клиентов, хостинг — наше основное дело, но большого прироста нет. Почему?
Пробовали гугл и яндекс рекламу — цена за одного постетителя от них превышает цену на один мес у нас, а клиентами становятся не больше 10-20%.
Пробовали рефереальную программу, увеличивали процент — на потоке клиентов не сказывается.
Так как продвинуть хостинг?

Тысячи левых запросов в логах к страницам сайта. Откуда, как бороться?

На виртуальном хостинге в логах идут по несколько десятков тысяч запросов в день к разным страницам интернет магазина. В итоге создаётся повышенная нагрузка и хостинг шлёт письма, что отключит. Обычно она держится почти на пределе ресурсов. Но если + пойдёт куча посетителей то получается, что меня сразу отключат.

site.ru 85.10.200.99 — - [24/Jan/2015:16:25:14 +0300] «GET /orders_export/?uid=8314ebe26221a9437b67f9030717be70 HTTP/1.1» 403 324 «site.ru» «Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)»

и страница /orders_export/ вообще не используется на сайте

site.ru 183.252.52.181 — - [24/Jan/2015:16:25:55 +0300] «GET /адрес страницы магазина/ HTTP/1.1» 200 43381 "-" «Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)»

site.ru 183.252.52.181 — - [24/Jan/2015:16:25:58 +0300] «POST /адрес страницы магазина/ HTTP/1.1» 200 43774 «site.ru/адрес страницы/» «Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)»

Что такое может быть? Впервые с таким столкнулся.
Как с этим бороться?

Можно ли ключ доступа SSH совместить с FTP?

Я работаю с VPS посредством двух программ — FileZilla and Putty (На другие не перейду). Первое — для быстрой заливки файлов, второе — для управления процессами (второе юзаю редко, но юзаю, обычно запускаю кое-какие процессы). Так вот, в Putty захожу под root, ибо не вникал особо на счет каких-то пользователей. Просто захожу под root, постоянно копирую длинный пароль, и авторизуюсь. Делаю свои дела и выхожу. В FTP Также — указываю root, пароль, порт и захожу. Но тут ясное дело не совсем эргономично бесконечно копировать пароль. Есть какие-то ключи… Можно ли их совместить с FileZilla?
И вообще, что ещё полезного посоветуете? Желательно подробнее описать, если можно — то скинуть ссылку на FAQ.

Как восстановить инкрементальный бэкап?

Доброго времени суток!
Появилась необходимость восстановить сохраненный бэкап.
Бэкапилось все при помощи backup-manager на фтп сервер. Сейчас там находятся файлы следующей структуры:
ls… redbrush.ru-home-www-hotels-penza.ru-ru.20141129.tar.gz redbrush.ru-home-www-hotels-penza.ru-ru.20141130.tar.gz redbrush.ru-home-www-hotels-penza.ru-ru.20141201.master.tar.gz redbrush.ru-home-www-hotels-penza.ru-ru.20141202.master.tar.gz redbrush.ru-home-www-hotels-penza.ru-ru.20141202.tar.gz… redbrush.ru-home-www-hotels-penza.ru-ru.20141231.tar.gz redbrush.ru-home-www-hotels-penza.ru-ru.20150101.master.tar.gz redbrush.ru-home-www-hotels-penza.ru-ru.20150102.master.tar.gz redbrush.ru-home-www-hotels-penza.ru-ru.20150102.tar.gz… redbrush.ru-home-www-hotels-penza.ru-ru.20150116.tar.gz

Не могу понять как все это разархивировать. Пробовал так:
tar --extract --listed-incremental=/dev/null --file redbrush.ru-home-www-hotels-penza.ru-ru.20150102.master.tar.gz tar --extract --listed-incremental=/dev/null --file redbrush.ru-home-www-hotels-penza.ru-ru.20150116.tar.gz
Но после распаковки первого количество файлов меньше чем было в директории, которая бэкапилась. При распаковке второго: tar: Невозможно переименовать `` в ``: Каталог не пуст tar: Завершение работы с состоянием неисправности с из-за возникших ошибок
Как дальше жить?)

Что за море доменов в nginx и ошибка 502?

Вдруг резко на сервере появилось море логов с разными именами: clients3.google.com-access.log, 1.gravatar.com-access.log и т.п.
Понятное дело домен пингуется не на ip сервера…
Много повторяющихся ip в запросе, странные урлы и referrers…

Так только запуская nginx сразу вешается сервер, не тянет php-fpm.
Останавливаю nginx и нагрузка падает.
Никакого другого кода вроде не нашел. На сервере работает только один домен.

Откуда такое может быть и что делать?
Спасибо!

UPD:
Помогло вернуть в работу сайт:
if ($host !~ ^(studio.com|www.studio.com)$ ) {
return 444;
}

Но при поднятии nginx в логи сыпятся запросы все равно…

Как отправить запрос с Android на php сервер для вывода одной строки?

Есть один сервер на php где написано: Привет Мир! Нашел один исходник, но не разобрался
SEND HTTP GET REQUEST To send HTTP GET request follow the steps. 1. Create an object of HttpClient HttpClient client = new DefaultHttpClient(); 2. Create an object of HttpGet HttpGet request = new HttpGet(«www.example.com»); 3. Finally make HTTP request HttpResponse response; try { response = client.execute(request); Log.d(«Response of GET request», response.toString()); } catch (ClientProtocolException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } ANDROID HTTP GET EXAMPLE package com.example.httprequestexample; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.List; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.message.BasicNameValuePair; import android.app.Activity; import android.os.Bundle; import android.util.Log; public class HTTPGETActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); makeGetRequest(); } private void makeGetRequest() { HttpClient client = new DefaultHttpClient(); HttpGet request = new HttpGet(«www.example.com»); // replace with your url HttpResponse response; try { response = client.execute(request); Log.d(«Response of GET request», response.toString()); } catch (ClientProtocolException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }