Перейти к концу метаданных
Переход к началу метаданных

 

Открывая сообщения, вы можете получить ошибку "невозможно извлечь запрашиваемое сообщение" (англ. failed to retrieve requested message). В этом случае необходимо посмотреть файл debug.log (см. Настройка -> Логи) для получения более детальной информации о том, почему так произошло. Ниже вы прочтете несколько способов решения данной проблемы. Если вы просмотрите файл лога отладки debug.log сразу после того, как попытаетесь открыть сообщение, кликнув по нему, вы должны увидеть ту ошибку, которая к этому привела. Если вы не можете её определить, пришлите нам логи, содержащие информацию об ошибке, и мы сообщим вам, почему это может проиходить.    

В большинстве случаев вы сами можете решить проблему, если её причина - одна из перечисленных ниже.

Несоответсвующий ID тома 

Каждое индексируемое сообщение имеет соответствующий ему ID тома. Архива использует это для поиска тома, где может находится сообщение. Соответствующий ID тома содержится в файле volumeinfo в корне пути к хранилищу.   

Файл volume info содержит следующую информацию о томе: 

ID тома в индексе должен совпадать с ID тома в файле volume info. Если они различаются, то ошибка "невозможно извлечь запрошенное сообщение" появится при просмотре сообщения.  

Совпадающие ID томов

В ранних версиях Архива имелась ошибка, вследствие которой ID разных томов могли совпадать. Если ID разных томов одинаковы, то при открытии сообщения Архива может обратиться к неверному тому. Как следствие, произойдет внутренняя ошибка "файл не найден" и будет выведено сообщение об ошибке "невозможно извлечь запрашиваемое сообщение". Для того, чтобы исправить это, нужно отредактировать каждый из файлов volumeinfo на пути к корневой папке вашего хранилища и вручную поменять ID у томов, где они совпадают. Вы можете произвольно заменить один или несколько символов в ID. К примеру, id:9fba18d6-cf0e-4db1-b4b8-4751f352fc73 измените на id:9fba18d6-cf0e-4db1-b4b8-4751f352fcab, а потом переиндексируйте тома, чьи ID вы поменяли.   

Потеряна взаимосвязь между индексом и хранилищем

Возможно, при импоритировании старого тома вы указали неверное хранилище с неверным индексом. В этом случае ID тома в индексе не будет соответствовать нужному тому, так как том может быть не импортирован.   

Неверные параметры шифрования

Icon

Замечание: Следующая статья устарела. Больше нет необходимости перезашифровывать тома из командной строки. 

Icon

Замечание: Перешифрование теперь может осуществляться непосредственно из терминала Архива. Для подробной информации, как перезашифровать том с данными с помощью другого ключа шифрования, читайте Перешифрование тома

Если письмо было зашифровано с помощью другого пароля шифрования, случайного числа, присоединяемого к паролю (соли), или алгоритма шифрования, возможно, что Архива не сможет прочитать сообщение и выдаст ошибку "невозможно извлечь запрашиваемое сообщение". В этом случае при попытке открыть сообщение в логе отладки debug.log появится ошибка типа "не GZIP формат" (англ.: not in GZIP format) или что-то похожее. Важный момент: письма, при открытии которых выдается ошибка, находятся в каком-то определенном томе или они разбросаны по разным томам? Также следует помнить, что ранние версии OSE используют стандарт шифрования DES вместо 3DES для шифрования сообщений (из-за ограничений экспорта шифра). Возможно, ваши тома зашифрованы с использованием другого алгоритма. Не нужно бояться, в пакете утилит Архива есть утилита recrypt, которая при запуске проходит через весь архив и нормализует его, в случае если у вас есть правильный пароль от обрабатываемого тома. После того как вы воспользовались утилитой recrypt, вы должны переиндексировать том.         

Вы получаете ошибку  "не GZIP формат" (англ.: not in GZIP format). Это означает, что пароль шифрования, соль или алгоритм шифрования неверны. Есть утилита reencrypt, которая используется для перешифрования ваших данных с новым паролем со стандартной солью и настройками алгоритма шифрования. Если вы забыли свой пароль, но у вас есть старый server.conf файл, у утилиты reencrypt есть опция (-pe), которая принимает пароль, взятый из файла server.conf.    

Стратегия состоит в том, чтобы перешифровать данные вашего тома с новым паролем, удалить старый пароль из MA и ввести новый пароль в MA. 

Замечание 1.: Необходимо, чтобы все тома использователи один и тот же пароль. 

Замечание 2.: Если в одном томе у вас есть сообщения, зашифрованные с использованием разных паролей, просто запустите утилиту reencrypt дважды - каждый раз с разным паролем.   

Следующие шаги вам необходимо сделать, чтобы восстановить данные: 

1) Скачайте и распакуйте пакет утилит Архива (archiva_utilities) отсюда: https://archiva.ru/downloads

2) Откройте старую резервную копию server.conf файла, найдите строчку security.passhrase и скопируйте значение.

3) Напечатайте "export MAILARCHIVA_HOME=/usr/local/mailarchiva"

4) Запустите команду "/reencrypt.sh -s /store/store1 -d store/newstore1 -pe encrypted passphrase -x new passphrase", 

где /store/store1 - местонахождение тома в папке хранилища, а encrypted passphrase - значение пароля шифрования, которое вы узнали на шаге 2) в файле server.conf, new passphrase - это выбранный вами новый пароль.     

5) Утилита reencrypt пройдет по всем письмам и перешифрует их с помощью нового пароля. 

6) Если пароль верный, то вы сможете увидеть ошибки, которые выдаст утилита.

7) Отключите журналирования в учетных записях на вашем сервере.

8) Остановите сервер.

9) Переименуйте  "/store/store1" в "/store/store1_bak"

10) Переименуйте "/store/newstore1" в "/store/store1"

Замечание: если у вас несколько томов, то следует запустить утилиту несколько раз (как описано на шаге 4,5,9,10). 

11) В файле server.conf вашей действующей системы (не в резервной копии server.conf!), расположенной в /usr/local/mailarchiva/server/webapps/ROOT/WEB- INF/conf/server.conf, удалите строку, содержащую пароль шифрования (security.passhrase) и сохраните.   

12) Запустите сервер. 

13) Авторизуйтесь на сервер и введите новый пароль шифрования в графическом интерфейсе Настройка

14) Переиндексируйте необходимые тома

15) Теперь вы больше не должны получать ошибки, связанные с GZIP, и можете получить доступ к данным в поиске. 

Сообщение не существует 

Такая ошибка выдается в случае, если письмо не было найдено. Возможно, кто-то удалил письмо из хранилища или оно потерялось при переносе на другое устройство. 

Недоступен удаленный диск

Если хранилище вашего тома находится на удалённом диске, возможно, у Архива нет доступа к диску из-за проблем с сетью или перегруженного ввода/вывода. Необходимо посмотреть, каким образом подсоединено ваше хранилище. Установлено ли надежное соединение с NAS?  Если вы работаете под Linux, попробуйте изменить протокол раздачи/предоставления прав (т.е. NFS на CIFS или наоборот). Может быть, ваш хранилище прегружен. Или же диск, на котором находится хранилище, перегружен. Есть ли у вас возможность установить специализированное устройство?   

 

  • Ни одной