Introduction

Administration du catalogue

Mise hors ligne temporaire d’une ressource

# iadmin modresc iphc status down

Attention: Cela nécessite “iexit full” côté client pour qu’il prenne en compte la mise hors ligne.

Remise en ligne d’une ressource

# iadmin modresc iphc status up

Ajout d’une ressource de réplication

# iadmin mkresc test replication

Ajout d’une ressource dans une arborescence

# iadmin addchildtoresc maressource parent

Exemple de réplication entre ressources

# iadmin addchildtoresc test resource1
# iadmin addchildtoresc test resource2
# ilsresc test
  test:replication
├── resource1:unixfilesystem
└── resource2:unixfilesystem

Suppression d’une ressource dans une arborescence

# iadmin rmchildfromresc maressource parent

Test de validité d’un certificat

https://help.mulesoft.com/s/article/How-to-set-up-a-minimal-SSL-TLS-server-from-the-command-line

# cd /tmp; date > DATE
# openssl s_server -accept 24443 -cert ~/hostname.pem -key ~/hostname.key -WWW

Pour tester se connecter sous https://sbgirods1.in2p3.fr:24443/DATE

Migration d’une ressource sur un nouveau serveur

Déplacer les points de montage de sbgires1 vers sbgirods1 en conservant les mêmes noms.

Faire un dump de la base de données:

# time /bin/pg_dump -w ICAT | gzip > /db/backup/daily-dump-ICAT-$(date +%Y-%m-%d).sql.gz
# time /bin/pg_dump -w ICAT --format=custom > /db/backup/daily-dump-ICAT-$(date +%Y-%m-%d).custom

Examiner les champs contenant sbgires1, comme le fichier de dump est trop gros pour être examiné je le découpe:

# split -b 50M daily-dump-ICAT-2020-11-19.sql split_
# grep -Hn sbgires1 split*

Examiner chaque fichier pour trouver les enregistrements et les tables concernées, ici r_resc_main et r_server_load

Pour modifier la base sans risquer d’introduire des incohérences il faut utiliser une transaction:

BEGIN;

UPDATE record
SET record.resc_net = "sbgirods1.in2p3.fr"
FROM r_resc_main record
WHERE record.resc_net = "sbgires1.in2p3.fr";

UPDATE record
SET record.host_name = "sbgirods1.in2p3.fr"
FROM r_server_load record
WHERE record = "sbgires1.in2p3.fr";

COMMIT;