Нам нужно горячо клонировать службу Linux, когда она жива, а не только потому, что мы не можем перезагрузиться или что-то еще; это просто из-за нашего особого сценария (да, я уже читал этот ответ, но он немного отличается от моего Clone с работающим сервером Linux ).
У нас есть расчетный узел, можно сказать, расчетный узел НЛП, на котором запущены некоторые модели. Когда мы запускаем узел (конечно, с сервисом), вычисления будут ужасно медленными, пока мы не подадим его несколько раз. Мы назвали это разминкой.
К сожалению, на прогревание у нас уходит много времени (может быть, наши вычисления закончились до того, как узел прогрелся).
Итак, проблема в том, существует ли стабильный способ горячего клонирования сервера Linux, чтобы обеспечить максимальную производительность узла, чтобы мы могли клонировать его и подключить к сети в более короткие сроки?
Ответы:
Возможно, вы не можете «горячо клонировать» целый сервер (вы можете, но только если это виртуальная машина), но вы можете заморозить и восстановить один процесс с помощью команды Criu , Checkpoint / Restore в Userspace.
Это позволяет сохранить внутреннее состояние программы на диск и остановить программу, а затем восстановить программу до этого состояния из сохраненных файлов.
Для поддержки желаемой операции вы можете скопировать файлы, представляющие сохраненную программу, на другой сервер и восстановить их там.
Для criu требуется свежее ядро с скомпилированными различными функциями, поэтому старые дистрибутивы Linux могут не работать. Вы можете запустить
criu check
на определенном компьютере, чтобы определить наличие предварительных условий для criu.источник
Может быть, это немного выходит за рамки вашей текущей среды, но стандартный способ сделать это - виртуализировать ваш сервер. Многие хосты виртуализации (VMware, virtualbox и т. Д.) Допускают «моментальные снимки», которые сохраняют состояние сервера, которые затем могут быть клонированы в новые экземпляры. Эти новые экземпляры будут иметь точно такое же состояние, что и исходные, вплоть до запущенных процессов. Конечно, вы захотите убедиться, что программное обеспечение, которое вы используете, будет по-прежнему работать корректно в виртуальной среде (на ум приходит расчет CUDA / GPU).
источник
Упомянутый вами вопрос относится к ссылке http://www.linuxfocus.org/English/March2005/article370.shtml , в которой описываются все способы, которые я представлял для выполнения ваших запросов.
То, что варианты есть, не значит много для того, что работает на сервере. Необходимо учитывать, что все файлы, которые могут измениться в процессе клонирования, могут быть несовместимыми файлами на целевом компьютере. В этом посте вы сообщаете, что они говорят о базах данных, и их клонирование не дает никакой гарантии целостности данных.
Не совсем понятно, что вы имели в виду, «пока мы не покормим его несколько раз» .
Но если я хорошо понял, что вы спрашиваете, вы должны учитывать, что для клонирования системы требуется время для копирования и расчета ресурсов.
Чтобы выполнить «ON / OF» или, лучше сказать, «активную / резервную среду», сервер должен быть правильно настроен в кластере.
Извините, если вы не ожидаете ответа, но варианты, которые вы получаете, таковы.
источник
Существует множество потенциальных проблем с тем, что вы пытаетесь сделать, и, конечно, как вы знаете, было бы лучше отключить сервер и клонировать его, пока данные не будут динамически храниться.
Однако то, что вы стремитесь сделать, вполне правдоподобно, как я делал это раньше. Если вы используете,
dd
вы можете клонировать полный сервер на уровне блоков на другой диск или другой сервер. Однако на новом сервере потребуются некоторые дополнительные настройки, и вы, вероятно, не сможете просто выключить другой и включить новый. Чтобы мы могли это понять, нам нужно знать кое-что об аппаратном и программном обеспечении вашего сервера.Во-первых, для определения наилучшей стратегии обработки данных было бы полезно знать, что регулярно обновляется. У вас есть SQL-сервер, который динамически обновляется, но имеет статический контент? В качестве альтернативы, у вас есть команда разработчиков через систему подрывной деятельности, такую как git, отправляющая постоянные обновления данных в ваш контент? В зависимости от того, что обновляет, будет определяться лучший полный курс действий.
Если, например, регулярно обновляется только SQL, вы можете перейти на новый сервер, пока этот сервер работает следующим образом:
dd
клонировать все данные на новый сервер.Возможно, вам придется временно отключить исходный сервер, чтобы не пропустить ни одной из данных. В качестве альтернативы, чтобы иметь нулевое время простоя, вы могли бы запустить вторую работу, указать dns на новый сервер, а затем вручную обновить все записи dns на новом сервере, чтобы фактически нулевое время простоя. Это более хлопотно, чем несколько минут простоя, хотя для резервного копирования SQL и восстановления на новый сервер, но может быть необходимо для нулевого времени простоя.
Это, конечно, только один пример использования, и в зависимости от вашей конфигурации и нескольких переменных вам может потребоваться создать собственную стратегию миграции на основе вашего конкретного случая.
Другая проблема связана с конфигурацией оборудования сервера. Является ли новый сервер на 100% идентичным по оборудованию старому серверу? Если так, то настройка проще. Однако, если, с другой стороны, это совершенно иная аппаратная конфигурация, вам может потребоваться реализовать другую стратегию, которая заключается в том, чтобы просто настроить второй сервер заранее, а затем выполнить резервное копирование всех ваших данных и баз данных sql на первый сервер и вручную перенести их, меняя конфигурацию по желанию.
Миграция серверов ни в коем случае не является тривиальной задачей, и для успешного перемещения вам необходимо иметь глубокие знания о серверах или имеющемся у них персонале. В любом случае настоятельно рекомендуется немедленно создать полную резервную копию и сохранить ее в третьем источнике, даже на локальном компьютере, чтобы в случае наихудшего сценария (оба сервера аварийно завершали работу и умирали непоправимо), у вас все еще была другая копия ваших данных, чтобы восстановить ваши серверы с.
Надеюсь, что это поможет, и удачи в перемещении вашего сервера!
источник