Bug 35730 - Не работает репликация ВМ zfs в PVE
Summary: Не работает репликация ВМ zfs в PVE
Status: CLOSED FIXED
Alias: None
Product: Branch p8
Classification: Distributions
Component: pve-manager (show other bugs)
Version: не указана
Hardware: all Linux
: P3 normal
Assignee: Andrey Cherepanov
QA Contact: qa-p8@altlinux.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-12-06 08:55 MSK by dezzzm
Modified: 2019-03-26 12:00 MSK (History)
6 users (show)

See Also:


Attachments
порядок действий по установке серверов (3.72 KB, text/plain)
2018-12-06 08:55 MSK, dezzzm
no flags Details
лог (118.28 KB, text/plain)
2018-12-06 08:56 MSK, dezzzm
no flags Details
replication (106.29 KB, image/png)
2018-12-07 11:42 MSK, Valery Inozemtsev
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description dezzzm 2018-12-06 08:55:54 MSK
Created attachment 7879 [details]
порядок действий по установке серверов

2 физических сервера. Альт Сервер 8.2 установлен на программный рейд. Создан zfs pool с одинаковыми именами пулов.
Объединил в кластер. Все по инструкции с альт вики https://www.altlinux.org/PVE#.D0.A3.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BA.D0.B0_.D0.B8_.D0.BD.D0.B0.D1.81.D1.82.D1.80.D0.BE.D0.B9.D0.BA.D0.B0_PVE

В ПВЕ добавил zfs pool, создал ВМ, сделал задачу репликации, но она не работает. Статус ОК, Следующая синхронизация: приостановлено. 
В журнал репликации через веб интерфейс зайти не могу,пишет: 
unable to open file - No such file or directory.
Аналогичную проблему нашел на форуме в 17году https://forum.altlinux.org/index.php?topic=39982.0
Я дополнил на форуме своими логами, но логов репликации я найти не могу.
Пробовал в /var/log по содержимому искать ключевые слова replication job ничего не нашел.

pveversion -v
pve-manager: 5.2.3-alt8 (running version: 5.2-3/)
ceph: 12.2.8-alt1.M80P.1
corosync: 2.4.1-alt0.M80P.1
lvm2: 2.02.182-alt1
lxcfs: 2.0.7-alt0.M80P.1
pve-cluster: 5.0.27-alt2
pve-container: 2.0.24-alt8
pve-docs: 5.2.3-alt1
pve-firewall: 3.0.12-alt8
pve-ha-manager: 2.0.5-alt8
pve-xtermjs: 1.0.5-alt1
smartmontools: 6.6-alt1

Я документировал порядок действий установки серверов и добавил во вложении - может это поможет. Лог с сервера также во вложении.
Comment 1 dezzzm 2018-12-06 08:56:46 MSK
Created attachment 7880 [details]
лог

лог с сервера где создана задача репликации
Comment 2 Repository Robot 2018-12-06 16:24:48 MSK
zfs-0.7.12-alt3 -> sisyphus:

Thu Dec 06 2018 Anton Farygin <rider@altlinux.ru> 0.7.12-alt3
- fixed buffer overflow during zfs replication (thanks shrek@) (closes: #35730)
Comment 3 dezzzm 2018-12-07 05:22:51 MSK
попробовал сегодня apt-repo add task 217405 
apt-get update && apt-get dist-upgrade
Получено: 1 http://ftp.altlinux.org p8/branch/noarch/classic pciids 20181203-alt1 [236kB]
Получено: 2 http://git.altlinux.org repo/217405/x86_64/task zfs-utils 0.7.12-alt3 [2770kB]
Получено: 3 http://git.altlinux.org repo/217405/x86_64/task libzfs 0.7.12-alt3 [706kB]

перезагрузился - проблема тажа. Статус репликации - "приостановлено". 
При попытке удалить задачу репликации висит в статусе "Отложенное удаление". Перезагрузка не помогла.

[root@pve1srv ~]# pvesr status
JobID      Enabled    Target                           LastSync             NextSync   Duration  FailCount State
102-0      Yes        local/pve0srv                           -              pending          -          0 OK
[root@pve1srv ~]# pvesr list
JobID                Target                 Schedule  Rate  Enabled
101-0                local/pve1srv               */5     -      yes
102-0                local/pve0srv              */30     -      yes
103-0                local/pve1srv               */6     -      yes
[root@pve0srv ~]# pvesr status
JobID      Enabled    Target                           LastSync             NextSync   Duration  FailCount State
101-0      Yes        local/pve1srv                           -              pending          -          0 OK
103-0      Yes        local/pve1srv                           -              pending          -          0 OK
[root@pve0srv ~]# pvesr list
JobID                Target                 Schedule  Rate  Enabled
101-0                local/pve1srv               */5     -      yes
102-0                local/pve0srv              */30     -      yes
103-0                local/pve1srv               */6     -      yes

Может рано пробую? Но вроде писали, что можно. Все равно сервера тестовые.
И журнал репликации так и не заработал из веб морды - также пишет unable to open file - No such file or directory.
В journalctl про replication тоже ноль сообщений.
Comment 4 Anton Farygin 2018-12-07 07:58:53 MSK
zfs обновлён на всех узлах ?
Comment 5 dezzzm 2018-12-07 08:03:18 MSK
да запускал на обоих двух серверах apt-repo add task 217405

[root@pve1srv ~]# rpm -qa libzfs
libzfs-0.7.12-alt3

[root@pve0srv ~]# rpm -qa libzfs
libzfs-0.7.12-alt3
Comment 6 Anton Farygin 2018-12-07 08:04:49 MSK
Андрей, переоткрой если у тебя воспроизведётся.
Comment 7 Valery Inozemtsev 2018-12-07 10:19:03 MSK
# systemctl start pvesr.timer
# systemctl enable pvesr.timer
Comment 8 dezzzm 2018-12-07 10:50:25 MSK
Спасибо Валерий.
После этих команд логи появились. Теперь похоже процесс начинает что-то делать.
Но ВМ не реплицируются и не удаляются задачи репликации.

журнал репликации доступен и пишет: (ошибка как у человека который создавал тему на форуме в 2017году)
2018-12-07 14:32:01 101-0: start replication job
2018-12-07 14:32:01 101-0: guest => VM 101, running => 0
2018-12-07 14:32:01 101-0: volumes => raid1ssd:vm-101-disk-1
2018-12-07 14:32:01 101-0: start job removal - mode 'full'
2018-12-07 14:32:02 101-0: (remote_prepare_local_job) could not activate storage 'raid1ssd', zfs error: Insecure $ENV{ENV} while running with -T switch at /usr/share/perl5/IPC/Open3.pm line 281.
2018-12-07 14:32:02 101-0: (remote_prepare_local_job) 
2018-12-07 14:32:02 101-0: end replication job with error: command '/usr/bin/ssh -e none -o 'BatchMode=yes' -o 'HostKeyAlias=pve1srv' root@10.2.2.11 -- pvesr prepare-local-job 101-0 --scan raid1ssd --last_sync 1 --force' failed: exit code 29

systemctl status zfs.target и pvesr.timer Active

в логах journalctl -u pvesr
только
Starting PVE replication runner...
pvesr[3969]: 101-0: got unexpected replication job error - command '/usr/bin/ssh -e none -o 'BatchMode=yes' -o 'HostKeyAlias=pve1srv' root@10.2.2.11 -- pvesr prepare-local-job 101-0 --scan raid1ssd --last_sync 1 --force' failed: exit code 29
pvesr[3969]: 103-0: got unexpected replication job error - command '/usr/bin/ssh -e none -o 'BatchMode=yes' -o 'HostKeyAlias=pve1srv' root@10.2.2.11 -- pvesr prepare-local-job 103-0 --scan raid1sata --last_sync 1 --force' failed: exit code 29
Started PVE replication runner.
Comment 9 mrdrew@altlinux.org 2018-12-07 11:15:42 MSK
У меня тоже воспроизводится..
Comment 10 Valery Inozemtsev 2018-12-07 11:42:41 MSK
Created attachment 7885 [details]
replication

не воспроизводится. p8, давно ничего не обновлял
# # rpmquery zfs-utils
zfs-utils-0.7.9-alt2.M80P.1
Comment 11 dezzzm 2018-12-07 18:05:52 MSK
Нашел в архивах багзилы решение похоже. https://bugzilla.altlinux.org/show_bug.cgi?id=33746
закоментил "ENV=$HOME/.bashrc" в /root/.bashrc
И репликация пошла! На соседнем хосте в хранилище zfs файл raw ВМ появляется, но в списке виртуалок этой ВМ нет. 
Ее нужно вручную добавлять или еще где-то что-то не работает?
Comment 12 Repository Robot 2018-12-14 20:19:48 MSK
zfs-0.7.12-alt3 -> p8:

Thu Dec 06 2018 Anton Farygin <rider@altlinux.ru> 0.7.12-alt3
- fixed buffer overflow during zfs replication (thanks shrek@) (closes: #35730)
Comment 13 Anton Farygin 2018-12-14 20:28:56 MSK
ждём изменений в PVE.
Comment 14 Dmitry V. Levin 2018-12-17 16:15:57 MSK
Зачем меня сюда подписали?
Comment 15 Valery Inozemtsev 2018-12-17 16:17:59 MSK
непосредственно в pve это не исправить. нужно что то делать с
"ENV=$HOME/.bashrc" из /root/.bashrc
Comment 16 Anton Farygin 2018-12-17 16:18:44 MSK
Или в perl ?
Comment 17 Dmitry V. Levin 2018-12-17 16:19:40 MSK
(In reply to comment #15)
> непосредственно в pve это не исправить. нужно что то делать с
> "ENV=$HOME/.bashrc" из /root/.bashrc

Зачем?
Comment 18 Valery Inozemtsev 2018-12-17 16:20:31 MSK
зачем оно там?
Comment 19 Dmitry V. Levin 2018-12-17 16:33:43 MSK
(In reply to comment #18)
> зачем оно там?

Оно имеет право там быть.
Если кому-то оно мешает, значит, этот кто-то делает что-то не то.
Comment 20 Repository Robot 2018-12-24 15:14:16 MSK
zfs-0.7.12-alt3 -> c8.1:

Thu Dec 06 2018 Anton Farygin <rider@altlinux.ru> 0.7.12-alt3
- fixed buffer overflow during zfs replication (thanks shrek@) (closes: #35730)

Tue Nov 20 2018 Anton Farygin <rider@altlinux.ru> 0.7.12-alt2
- changed the source code praparation scheme for kernel-modules-zfs

Tue Nov 20 2018 Anton Farygin <rider@altlinux.ru> 0.7.12-alt1
- 0.7.12

Thu Oct 04 2018 Anton Farygin <rider@altlinux.ru> 0.7.11-alt1
- 0.7.11

Tue Jun 26 2018 Valery Inozemtsev <shrek@altlinux.ru> 0.7.9-alt2
- fixed build kernel modules

Mon Jun 25 2018 Valery Inozemtsev <shrek@altlinux.ru> 0.7.9-alt1
- 0.7.9

Wed Dec 20 2017 Valery Inozemtsev <shrek@altlinux.ru> 0.7.5-alt2
- update preset service

Tue Dec 19 2017 Valery Inozemtsev <shrek@altlinux.ru> 0.7.5-alt1
- 0.7.5

Sat Nov 18 2017 Anton Farygin <rider@altlinux.ru> 0.7.3-alt1
- 0.7.3

Fri Sep 15 2017 Valery Inozemtsev <shrek@altlinux.ru> 0.7.1-alt2
- fixed build kernel modules

Thu Sep 14 2017 Valery Inozemtsev <shrek@altlinux.ru> 0.7.1-alt1
- 0.7.1

Mon Aug 07 2017 Valery Inozemtsev <shrek@altlinux.ru> 0.7.0-alt1
- 0.7.0

Thu Jul 20 2017 Valery Inozemtsev <shrek@altlinux.ru> 0.6.5.11-alt0
- backport to p8 branch

Thu Jul 13 2017 Valery Inozemtsev <shrek@altlinux.ru> 0.6.5.11-alt1
- 0.6.5.11

Thu Jun 15 2017 Valery Inozemtsev <shrek@altlinux.ru> 0.6.5.10-alt1
- 0.6.5.10
Comment 21 Anton Farygin 2018-12-24 15:20:07 MSK
Дубль три :)
Comment 22 Repository Robot 2019-01-21 21:34:43 MSK
pve-common-5.0.31-alt2 -> p8:

Tue Dec 18 2018 Valery Inozemtsev <shrek@altlinux.ru> 5.0.31-alt2
- fixed error in perl during zfs replication (closes: #35730)
Comment 23 Константин 2019-01-22 15:48:55 MSK
Исправлено в pve-common 5.0.31-alt2
Comment 24 Anton Farygin 2019-03-26 12:00:59 MSK
Забыли закрыть исправленную ошибку