Сопоставление UUID с новым установленным nextcloud

У меня вопрос о переносе данных на новую установку nextcloud. У меня есть кластер Ganeti с одним узлом и несколькими виртуальными машинами, nextcloud и резервная виртуальная машина - единственные виртуальные машины с внешним хранилищем данных. Мастер Ganeti (хост) и все виртуальные машины работают под управлением Ubutuntu 16.04.

  • Для nextcloud у меня есть рейд 5, прикрепленный через nfs от хоста (Ganeti) к гостю (nextcloud)с 2 ТБ данных
  • Я использую samba 4 AD для управления учетными записями пользователей
  • папка пользователя в каталоге данных - это UUID пользователей

Теперь я хочу перейти с Ubuntu на debian для мастера Ganeti ( host), а также для виртуальных машин (гостей). Это означает, что мне нужно удалить все, сохранить существующий рейд и переустановить хост и гостей. Таким образом, при настройке новой samba 4 AD и повторном создании пользователей у них будет другой UUID. Моя текущая версия samba - 4.3.11-Ubuntu, поэтому я не могу запустить резервную копию домена samba-tool в автономном режиме --targetdir = / backup-dir

Есть ли способ перенести данные существующих учетных записей в новые учетные записи с новым UUID? Или, может быть, переназначение существующего UUID на CN?

Я обнаружил, что UUID пользователей, которые являются их домашними каталогами, хранятся в базе данных mysql.

Я уже задавал этот вопрос в сообществе nextcloud, но ответа пока нет. .

Заранее спасибо

0
задан 24 March 2019 в 19:59
1 ответ

После перехода на Debian я решил для перехода с mysql-5.7 на mariadb-server 10.1.37-0 + deb9u1 из репозитория stretch по умолчанию. Итак, я сделал следующее:

  1. установил все необходимые пакеты из debian pero по умолчанию, которые необходимы для nextcloud
  2. создал мой nextcloud vhost
  3. скопировал каталог / var / www / nextcloud / в папку новый сервер
  4. сделал sqldump со старого сервера и скопировал его на новый сервер

Первая проблема заключается в том, что в mariadb-server 10.1.37 innodb_large_prefix не включен, что вызвало у меня головную боль с некоторыми таблицами при импорте mysqldump. Пока он включен в mysql-server 5.7. Итак, я сделал следующее:

# mysql -u root -p
MariaDB [(none)]> SET GLOBAL innodb_file_format=Barracuda;
MariaDB [(none)]> SET GLOBAL innodb_file_per_table=ON;
MariaDB [(none)]> SET GLOBAL innodb_large_prefix=1;

затем вышел из mysql. Затем я создал таблицу nextcloud, импортировал базу данных и обновил:

mysql -u root -p -e "CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci"
mysql -u root -p nextcloud < /tmp/nextcloud.sql
mysql_upgrade -u root -p --force

затем я добавил сертификат для apache ssl vhost и LDAPS и перезапустил apache2 и mysql.

Последним шагом было добавление нового IP-адреса сервера nextcloud в / etc / exports на главном сервере Ganeti (хост) и автоматическое монтирование общего ресурса в / etc / fstab на новом сервере nextcloud.

И вот, все есть и работает отлично.

ПРИМЕЧАНИЕ :

если новый сервер nextcloud имеет другое имя хоста, вы должны выполнить следующее:

  • замените имя сервера в apache vhost
  • замените имя сервера в /var/www/nextcloud/config/config.php
  • замените все появления старого имени сервера на новое один в дампе nextcloud.sql перед его импортом в базу данных:

     cp nextcloud.slq nextcloud-org.sql
    sed -i 's / старый \ .cloud \ .server / новый \ .cloud \ .server / g' nextcloud.sql
     

Готово

Примечание :

Если вы используете mariadb для debian buster, который является mariadb-server 1: 10.3.13-1, innodb_large_prefix снова активируется из-за совместимости. Хотя я еще не тестировал. https://mariadb.com/kb/en/library/innodb-system-variables/#innodb_large_prefix

0
ответ дан 5 December 2019 в 03:39

Теги

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