MIGRANDO O ARCHIVEMATICA PARA UM NOVO SERVIDOR
A migração do archivematica foi de um servidor CentOS 7.9 para Rocky Linux 9.4
A versão do archivematica era o 1.14.1 e foi migrado para 1.16.0
Atualizando o sistema operacional:
sudo yum -y update
Se o seu ambiente usar SELinux, você precisará executar no mínimo os seguintes comandos. Configuração adicional pode ser necessária para sua configuração local.
# Allow Nginx to use ports 81 and 8001
sudo semanage port -m -t http_port_t -p tcp 81
sudo semanage port -a -t http_port_t -p tcp 8001
# Allow Nginx to connect the MySQL server and Gunicorn backends
sudo setsebool -P httpd_can_network_connect_db=1
sudo setsebool -P httpd_can_network_connect=1
# Allow Nginx to change system limits
sudo setsebool -P httpd_setrlimit 1
Alguns repositórios extras precisam ser instalados para cumprir o procedimento de instalação.
sudo -u root yum install -y epel-release yum-utils
sudo -u root yum-config-manager --enable crb
INSTALANDO OS REPOSITÓRIOS DO ELASTICSEARCH E O ARCHIVEMATICA
- Elasticsearch
sudo -u root rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
sudo -u root bash -c 'cat << EOF > /etc/yum.repos.d/elasticsearch.repo
[elasticsearch-6.x]
name=Elasticsearch repository for 6.x packages
baseurl=https://artifacts.elastic.co/packages/6.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF'
- Archivematica
sudo -u root bash -c 'cat << EOF > /etc/yum.repos.d/archivematica.repo
[archivematica]
name=archivematica
baseurl=https://packages.archivematica.org/1.15.x/rocky9/
gpgcheck=1
gpgkey=https://packages.archivematica.org/GPG-KEY-archivematica-sha512
enabled=1
EOF'
sudo -u root bash -c 'cat << EOF > /etc/yum.repos.d/archivematica-extras.repo
[archivematica-extras]
name=archivematica-extras
baseurl=https://packages.archivematica.org/1.15.x/rocky9-extras
gpgcheck=1
gpgkey=https://packages.archivematica.org/GPG-KEY-archivematica-sha512
enabled=1
EOF'
INSTALANDO O ELASTICSEARCH, MARIADB E GEARMAND
Serviços comuns como Elasticsearch, MariaDB e Gearmand devem ser instalados e habilitados antes da instalação do Archivematica.
sudo -u root yum install -y java-1.8.0-openjdk-headless mariadb-server gearmand
sudo -u root yum install -y elasticsearch
sudo -u root systemctl enable elasticsearch
sudo -u root systemctl start elasticsearch
sudo -u root systemctl enable mariadb
sudo -u root systemctl start mariadb
sudo -u root systemctl enable gearmand
sudo -u root systemctl start gearmand
MIGRANDO OS BANCOS NO MARIADB
CRIANDO O DUMP DOS BANCOS
No servidor de origem:
mysqldump -u root -p MCP > ~/am_backup.sql
mysqldump -u root -p storage_service > ~/storage_service.sql
Agora devemos copiá-los para o servidor de destino.
CRIANDO O BANCO DE DADOS DO ARCHIVEMATICA E DO STORAGE SERVICE
Agora que o MariaDB está instalado e funcionando, crie os bancos de dados Archivematica e Storage Service e configure as credenciais esperadas.
sudo -H -u root mysql -hlocalhost -uroot -e "DROP DATABASE IF EXISTS MCP; CREATE DATABASE MCP CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;"
sudo -H -u root mysql -hlocalhost -uroot -e "DROP DATABASE IF EXISTS storage_service; CREATE DATABASE SS CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;"
sudo -H -u root mysql -hlocalhost -uroot -e "CREATE USER 'archivematica'@'localhost' IDENTIFIED BY '<omitida>';"
sudo -H -u root mysql -hlocalhost -uroot -e "GRANT ALL ON MCP.* TO 'archivematica'@'localhost';"
sudo -H -u root mysql -hlocalhost -uroot -e "GRANT ALL ON storage_service.* TO 'archivematica'@'localhost';"
FAZENDO O RESTORE DO BANCO
Uma vez copiados os dumps, devemos restaurá-lo nos bancos recém criados.
mysql -u root -p MCP < ~/am_backup.sql
mysql -u root -p storage_service < ~/storage_service.sql
MIGRANDO O INDICE NO ELASTICSEARCH
CONFIGURANDO O CAMINHO DO REPOSITÓRIO
O repositório dos snapshots no SciELO é um ponto de montagem NFS. Este ponto NFS deve ser montado no novo servidor. Mas antes instale o pacote nfs-utils:
sudo yum install nfs-utils -y
Crie o diretório do repositório:
sudo mkdir /var/lib/elasticsearch/backup-repo
Configure o /etc/fstab para persistir:
storage-scielo-251.scielo.org:/archivematica_es_bkp /var/lib/elasticsearch/backup-repo nfs vers=4,rsize=8192,wsize=8192,timeo=14,intr 0 0
Agora basta montar:
sudo systemctl daemon-reload
sudo mount -a
ADICIONADO O ELASTICSEARCH NA CONFIGURAÇÃO
Edite o arquivo /etc/elasticsearch/elasticsearch.yml e adicione a linha abaixo de path.logs:
path.repo: /var/lib/elasticsearch/backup-repo
Reinicie o elasticsearch
sudo systemctl restart elasticsearch
Devemos garantir que o usuário elasticsearch seja o dono do diretório /var/lib/elasticsearch/backup-repo:
sudo chown elasticsearch. -R /var/lib/elasticsearch/backup-repo
CRIANDO O REPOSITÓRIO
curl -XPUT -H 'Content-Type: application/json' 'http://localhost:9200/_snapshot/es_backup_archivematica' -d '{
"type": "fs",
"settings": {
"compress" : true,
"location": "/var/lib/elasticsearch/backup-repo/es_backup_archivematica"
}
}'
Consulte o repositório:
curl -X GET "localhost:9200/_cat/snapshots/es_backup_archivematica?v&s=id&pretty"
RESTAURANDO O ÚLTIMO SNAPSHOT
curl -X POST "localhost:9200/_snapshot/es_backup_archivematica/20240917-235942/_restore?pretty"
LISTANDO OS INDICES RESTAURADOS
curl -X GET "http://localhost:9200/_cat/indices?v"
MIGRANDO O ARCHIVEMATICA STORAGE SERVICE
Instale o serviço de armazenamento Archivematica Storage Service
sudo -u root yum install -y python-pip archivematica-storage-service
Copie o arquivo /etc/sysconfig/archivematica-storage-service do servidor de origem
Instale o Archivematica Dashboard e o MCP Service e Client:
sudo -u root yum install -y archivematica-common archivematica-mcp-server archivematica-dashboard archivematica-mcp-client
Copie o arquivo /etc/sysconfig/archivematica-dashboard, /etc/sysconfig/archivematica-storage-service e o /etc/sysconfig/archivematica-mcp-client do servidor de origem.
APLICANDO A MIGRAÇÃO DO BANCO DO ARCHIVEMATICA
sudo -u archivematica bash -c " \
set -a -e -x
source /etc/default/archivematica-dashboard || \
source /etc/sysconfig/archivematica-dashboard \
|| (echo 'Environment file not found'; exit 1)
cd /usr/share/archivematica/dashboard
/usr/share/archivematica/virtualenvs/archivematica/bin/python manage.py migrate --noinput
";
APLICANDO A MIGRAÇÃO DO BANCO DO ARCHIVEMATICA STORAGE SERVICE
sudo -u archivematica bash -c " \
set -a -e -x
source /etc/default/archivematica-storage-service || \
source /etc/sysconfig/archivematica-storage-service \
|| (echo 'Environment file not found'; exit 1)
cd /usr/lib/archivematica/storage-service
/usr/share/archivematica/virtualenvs/archivematica-storage-service/bin/python manage.py migrate
";
Reiniciando os serviços:
sudo systemctl restart archivematica-storage-service
sudo systemctl restart archivematica-dashboard
sudo systemctl restart archivematica-mcp-client
sudo systemctl restart archivematica-mcp-server