Назад | Перейти на главную страницу

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

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

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

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

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

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

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

После перехода на 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/old\.cloud\.server/new\.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