Как сделать резервную копию и восстановить Open edX с одного сервера на другой?

У меня есть система Open edX, работающая полностью только на одном сервере, но производительность системы плохая. Его потребление оперативной памяти увеличивается день ото дня, теперь я хочу сделать резервную копию и восстановить ее на другом более крупном сервере.

В документе Open edX трудно найти эту информацию, и я некоторое время искал, но не получил того, что хочу. Если вы знаете это, пожалуйста, помогите мне с этой проблемой

Большое спасибо,


person grabtasker    schedule 31.03.2016    source источник


Ответы (2)


Вам необходимо сделать резервную копию базы данных edxapp и cs_comments_service_development в mongodb и всех данных из mysql.

Резервное копирование:

mysqldump edxapp -u root --single-transaction > backup/backup.sql
mongodump --db edxapp
mongodump --db cs_comments_service_development

Восстановление:

mysql -u root edxapp < backup.sql
mongo edxapp --eval "db.dropDatabase()"
mongorestore dump/
У меня сработало. Копирует все курсы, учетные записи, прогресс и обсуждения.

Идея взята из BluePlanetLife/openedx-server-prep, подробнее см. здесь< /а>

person Alik Khilazhev    schedule 19.09.2016

Это может быть не точным ответом и не стандартным решением для производственной среды, но может вам помочь.

Ручной способ может быть следующим:

  1. Вы можете настроить новый экземпляр edX на новом сервере.
  2. Обновите все свои репозитории edx-платформы, пользовательские xblocks до соответствующей ветки, тега.

(Точки замены базы данных 3 и 4 ниже я не тестировал для производственной среды.)

  1. замените базы данных mysql «edxapp», «ora», «xqueue» на новом сервере на более старые.

  2. замените базы данных mongodb «cs_comments_service_development», «edxapp» на новом сервере на более старые.

    Мне удалось заменить базу данных mysql 'edxapp' в стеке разработки.

person Avadhut    schedule 08.04.2016