Резервное копирование Centos при запуске сервера

Я написал сценарий bash , который делает резервную копию некоторых файлов из удаленной папки при запуске системы.

Итак, при запуске системы он монтирует удаленный общий ресурс в файл модуля:

[Unit]
Description=CIFS Share from spr1-backup01
After=network-online.target

[Mount]
What=//192.168.18.12/oracle_backup
Where=/mnt/smb
Type=cifs
Options=ro,vers=2.1,credentials=/root/creds/.cred_oralocalsys

[Install]
WantedBy=multi-user.target

И после этого запускается модуль резервного копирования (/root/nas/sender.sh - мой сценарий резервного копирования)

[Unit]
Description=Backup oracle database
After=mnt-smb.mount

[Service]
Type=simple
ExecStart=/root/nas/sender.sh
StandardOutput=journal

[Install]
WantedBy=multi-user.target

Проблема в том, что запускается автоматически при запуске - он пропускает фактический процесс резервного копирования (я имею в виду часть rsync в сценарии bash, упомянутом ранее).

Я использую конфигурацию php7.0-fpm по умолчанию.

Моя конфигурация vhost выглядит так:

<VirtualHost  192.168.2.10:80>
    ServerName mdo.ka.dev
    ServerAlias mdo.ka.dev

    DocumentRoot /var/www/git_websites/MDO
    SuexecUserGroup myuser mygroup

    ServerAdmin info@myemail

    UseCanonicalName Off
  DirectoryIndex index.htm index.html index.php

  AddType application/x-httpd-fastphp7---mdo .php
  Action application/x-httpd-fastphp7---mdo /php7-fcgi---mdo
  Alias /php7-fcgi---mdo /usr/lib/cgi-bin/php7-fcgi---mdo
  FastCgiExternalServer /usr/lib/cgi-bin/php7-fcgi---mdo -socket /run/php/php7.0-fpm.sock -idle-timeout 900 -pass-header Authorization

    <Directory /var/www/git_websites/MDO>
        AllowOverride FileInfo
    </Directory>
</VirtualHost>

И я получаю следующие ошибки:

[Mon Apr 10 10:02:37.341218 2017] [fastcgi:error] [pid 20539]  (104)Connection reset by peer: [client 192.168.2.54:60604] FastCGI: comm with server "/usr/lib/cgi-bin/php7-fcgi---mdo" aborted: read failed, referer: http://mdo.ka.dev/kontakt/distributoren/
[Mon Apr 10 10:02:37.341271 2017] [fastcgi:error] [pid 20539] [client 192.168.2.54:60604] FastCGI: incomplete headers (0 bytes) received from server "/usr/lib/cgi-bin/php7-fcgi---mdo", referer: http://mdo.ka.dev/kontakt/distributoren/

Я не понимаю, в чем проблема. Я получаю ту же ошибку 500 / сообщение журнала sam, когда останавливаю службу PHP FPM. Поэтому я подумал, что «он» не может подключиться к серверу FPM. Но когда я увеличиваю процессы в конфиге или переключаюсь из динамического в статический режим, ничего не меняется. Я единственный пользователь, использующий этот веб-сервер на этой машине - так что не может быть слишком мало процессов.

Я также отключил Zend Opcode и модуль APCU. Также ничего не изменилось.

Надеюсь, кто-то может помочь - работать с этими ошибками очень утомительно. изменяет страницу, помечает старую как « none valid / stale », а затем записывает новую в другом месте и обновляет LBA.

Итак, через пару операций записи, даже если физические адреса были выровнены с логическими, этот порядок будет нарушен!

Почему тогда последовательная запись имеет лучшую производительность, чем случайная запись?

Править

Отсутствие производительности между последовательной и произвольные записи производились независимо от размера блока или глубины очереди.

6
задан 11 April 2017 в 00:29
2 ответа

Достаточно краткое объяснение Seagate того, как сборка мусора отвечает за разницу в производительности SSD при случайной и последовательной записи:

... необходимость в мусоре сборка влияет на производительность SSD, потому что любая операция записи на «полный» диск (тот, чье начальное свободное пространство или емкость были заполнены хотя бы один раз) должна ожидать появления нового свободного пространства, созданного в процессе сборки мусора. Поскольку сборка мусора происходит на уровне блоков, также существует значительная разница в производительности в зависимости от того, используются ли последовательные или случайные данные. Последовательные файлы заполняют целые блоки, что значительно упрощает сборку мусора. Ситуация совсем другая для случайных данных.

Поскольку случайные данные записываются, часто несколькими приложениями, страницы записываются последовательно через блоки флэш-памяти.
Проблема в следующем: эти новые данные заменяют старые данные, распределенные случайным образом в других блоках. Это приводит к тому, что потенциально большое количество небольших «дыр» недопустимых страниц разбрасывается среди страниц, все еще содержащих действительные данные. Во время сборки мусора этих блоков все действительные данные должны быть перемещены (т. Е. Считаны и перезаписаны) в другой блок.
Напротив, при замене последовательных файлов целые блоки часто недействительны, поэтому перемещать данные не требуется. Иногда часть последовательного файла может разделять блок с другим файлом, но в среднем нужно будет переместить только около половины таких блоков, что делает это намного быстрее, чем сборка мусора для случайно записанных блоков. ...

9
ответ дан 3 December 2019 в 00:15

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

1
ответ дан 3 December 2019 в 00:15

Теги

Похожие вопросы