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
sudo -u root systemctl enable nginx
sudo -u root systemctl start nginx
sudo -u root systemctl enable rngd
sudo -u root systemctl start rngd
CONFIGURANDO O ANTI-VIRUS
sudo -u root sed -i 's/^#TCPSocket/TCPSocket/g' /etc/clamd.d/scan.conf
sudo -u root sed -i 's/^Example//g' /etc/clamd.d/scan.conf
Depois disso, podemos ativar e iniciar/reiniciar serviços
sudo -u root systemctl enable archivematica-mcp-client
sudo -u root systemctl start archivematica-mcp-client
sudo -u root systemctl enable fits-nailgun
sudo -u root systemctl start fits-nailgun
sudo -u root systemctl enable clamd@scan
sudo -u root systemctl start clamd@scan
sudo -u root systemctl restart archivematica-dashboard
sudo -u root systemctl restart archivematica-mcp-server
CONFIGURANDO O NGINX
O archivematica-dashboard e o archivematica-storage-service terão um vhost configurado:
/etc/nginx/conf.d/archivematica-dashboard.conf
server {
listen 80 default_server;
client_max_body_size 256M;
server_name _;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_redirect off;
proxy_buffering off;
proxy_read_timeout 172800s;
proxy_pass http://localhost4:7400;
}
}
/etc/nginx/conf.d/archivematica-storage-service.conf
server {
listen 8001 default_server;
client_max_body_size 256M;
server_name _;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_redirect off;
proxy_buffering off;
proxy_read_timeout 172800s;
proxy_pass http://localhost4:7500;
proxy_http_version 1.1;
}
}
Agora iremos configurar o proxy reverso no ha-1 para ativar o https:
/etc/nginx/conf.d/archivematica-scielo-org.conf
upstream archivematica {
server 192.168.2.126:80;
}
server {
listen 443 http2;
server_name archivematica.scielo.org;
ssl_certificate /certificados2/scielo.org/fullchain.pem;
ssl_certificate_key /certificados2/scielo.org/privkey.pem;
ssl on;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_stapling on;
ssl_stapling_verify on;
add_header Strict-Transport-Security max-age=15768000;
keepalive_timeout 150s;
client_max_body_size 100M;
location / {
proxy_set_header Host $host;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-SSL-Protocal $ssl_protocol;
proxy_redirect http:// $scheme://;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://archivematica;
proxy_http_version 1.1;
proxy_read_timeout 900s;
proxy_redirect off;
allow all;
}
gzip on;
access_log /var/log/nginx/archivematica-scielo-org/archivematica-scielo-org.log;
error_log /var/log/nginx/archivematica-scielo-org/archivematica-scielo-org-error.log warn;
}
server {
listen 80;
server_name archivematica.scielo.org;
return 301 https://$server_name$request_uri;
}
MIGRANDO OS DADOS
Os dados que estão em /var/archivematica/ devem ser migrados e as permissões ajustadas para o usuário archivematica.
[root@node01-archivematica ~]# ls -lha /var/archivematica/
total 16K
drwxr-xr-x. 5 archivematica archivematica 75 Sep 18 17:03 .
drwxr-xr-x. 21 root root 4.0K Sep 18 16:58 ..
drwxr-xr-x. 15 archivematica archivematica 4.0K Jul 19 2023 sharedDirectory
drwxrwx---. 2 archivematica archivematica 24 Sep 17 09:47 storage-service
drwxr-xr-x. 172 archivematica archivematica 4.0K Sep 19 16:14 storage_service
REFERÊNCIA
https://www.archivematica.org/en/docs/archivematica-1.12/admin-manual/maintenance/maintenance/
No Comments