rsync Ионис назначения
Чтобы избежать rsync из-за недостатка системы и сети, мы используем ionice
при запуске rsync и установите --bwlimit
параметр. Например:
ionice -c2 -n7 rsync -aH --bwlimit=30000 /foo root@dest.com:/
Это действительно помогает гарантировать, что исходный сервер остается отзывчивым. Тем не менее, сервер назначения становится очень медленным из-за дискового ввода-вывода на 100% (как видно из atop
полезность).
Можно ли как-то использовать ionice
на сервере назначения тоже? Возможно через rsync -e
вариант? Я бы предпочел не запускать демон rsync, если это возможно.
2 ответа
Изменение команды rsync или ее включение в сценарий оболочки для включения команды / параметров ionice является опцией. Кроме того, вы можете использовать --rsync-path
опция, которая сообщает rsync, какую команду выполнить на удаленном сервере. Что-то вроде --rsync-path="ionice -c2 -n7 rsync"
будет гарантировать, что ionice работает в пункте назначения.
Добавлю, что ionice не всегда эффективен, в зависимости от конфигурации сервера. Он работает только с лифтом ввода / вывода CFQ по умолчанию. Если вы выполнили какую-либо настройку системы хранения, этот подход может быть неприменим.
Можете ли вы привести пример загрузки или помочь объяснить, как запускались системы для ресурсов во время копирования? Я хотел бы углубиться в глубину и понять, почему rsync, особенно ограниченный низкой скоростью, указанной вами в вашем примере, может вызвать столько проблем.
Что ты копируешь? Что такое настройка оборудования / ОС?
Ваша команда rsync запускается rsync
команда в удаленном пункте назначения тоже.
Попробуйте указать следующее для корневого пользователя целевого сервера.bashrc, другими словами, чтобы /root/.bashrc
alias rsync="ionice -c2 -n7 rsync"