Difference between revisions of "RucioUpdateToNewVersion"

From GridPP Wiki
Jump to: navigation, search
(Update the database -> takes roughly an hour)
 
(6 intermediate revisions by one user not shown)
Line 1: Line 1:
 
== Instructions To Update Rucio ==
 
== Instructions To Update Rucio ==
  
===Pre-steps===
+
=== Pre-steps ===
 +
 
 +
# Get snapshots for VMs
 +
* Edit /etc/sysconfig/network-scripts/ifcfg-eth0 commenting out HWADDR
 +
* Take snapshots
 +
 
 
# Using the daily backup of DB02 move this to DB03 and apply the database
 
# Using the daily backup of DB02 move this to DB03 and apply the database
## Find the latest backup
+
* Find the latest backup
 
  grep  Transferred  /var/log/atlasbackup/atlasbackup.log | tail -1
 
  grep  Transferred  /var/log/atlasbackup/atlasbackup.log | tail -1
## Retrieve the backup
+
* Retrieve the backup
 
  [root@ruciodb02 ~]# tape -r csfserv <BackUpNumber> <location for backup>/tape.<BackUpNumber>
 
  [root@ruciodb02 ~]# tape -r csfserv <BackUpNumber> <location for backup>/tape.<BackUpNumber>
## Move the backup to DB03 using SCP if backup not availale
+
* Move the backup to DB03 using SCP if backup not availale
 
  [root@ruciodb02 ~]# scp -i <Path/To/PrivateKey> /mnt/backfs/ruciodb02_db_backup_202108241613 root@ruciodb03.gridpp.rl.ac.uk:/var/lib/pgsql
 
  [root@ruciodb02 ~]# scp -i <Path/To/PrivateKey> /mnt/backfs/ruciodb02_db_backup_202108241613 root@ruciodb03.gridpp.rl.ac.uk:/var/lib/pgsql
## Move the tape backup to DB03
+
* Move the tape backup to DB03
 
  [root@ruciodb02 ~]# scp -i <Path/To/PrivateKey> <<location for backup>/tape.<BackUpNumber> root@ruciodb03.gridpp.rl.ac.uk:/var/lib/pgsql
 
  [root@ruciodb02 ~]# scp -i <Path/To/PrivateKey> <<location for backup>/tape.<BackUpNumber> root@ruciodb03.gridpp.rl.ac.uk:/var/lib/pgsql
### Unpack the tape backup
+
* Unpack the tape backup
 
  [root@ruciodb03 ~]# tar xf tape.<BackUpNumber>
 
  [root@ruciodb03 ~]# tar xf tape.<BackUpNumber>
 +
* Find the database name on DB03
 +
[root@ruciodb03 ~]# su postgres
 +
bash-4.2$ psql
 +
postgres-# \c
 +
You are now connected to database "<DB_Name>" as user "postgres".
 +
postgres-# \q
 +
bash-4.2$
 +
* Drop the current database
 +
bash-4.2$ dropdb <DB_Name>
 +
* Create a new databse and apply backup
 +
bash-4.2$ createdb -T template0 <DB_Name>
 +
psql  -v  -d <DB_Name> -f  <Path/To/Backup>/ruciodb02_<ID>
 +
This process will take some time (between 40-60 mins)
 +
 +
=== Upgrade Steps ===
 +
 +
==== Update the database -> takes roughly an hour ====
 +
 +
* Connect alembic and rucio.cfg to database
 +
cd /opt/rucio
 +
vi alembic.ini
 +
Edit the path to the database
 +
cd etc
 +
vi rucio.cfg
 +
Edit database default to the database
 +
 +
* Run alembic for a few upgrades
 +
cd /opt/rucio
 +
alembic upgrade c0937668555f
 +
alembic upgrade 8ea9122275b1
 +
* Attempt upgrade to d23d23453595260
 +
alembic upgrade d23453595260
 +
* If this failed find instructions
 +
alembic upgrade d23453595260 --sql
 +
* Run each instruction manually on the database from the database server
 +
* Upgrade to head
 +
alembic upgrade head

Latest revision as of 12:32, 8 September 2021

Instructions To Update Rucio

Pre-steps

  1. Get snapshots for VMs
  • Edit /etc/sysconfig/network-scripts/ifcfg-eth0 commenting out HWADDR
  • Take snapshots
  1. Using the daily backup of DB02 move this to DB03 and apply the database
  • Find the latest backup
grep  Transferred  /var/log/atlasbackup/atlasbackup.log | tail -1
  • Retrieve the backup
[root@ruciodb02 ~]# tape -r csfserv <BackUpNumber> <location for backup>/tape.<BackUpNumber>
  • Move the backup to DB03 using SCP if backup not availale
[root@ruciodb02 ~]# scp -i <Path/To/PrivateKey> /mnt/backfs/ruciodb02_db_backup_202108241613 root@ruciodb03.gridpp.rl.ac.uk:/var/lib/pgsql
  • Move the tape backup to DB03
[root@ruciodb02 ~]# scp -i <Path/To/PrivateKey> <<location for backup>/tape.<BackUpNumber> root@ruciodb03.gridpp.rl.ac.uk:/var/lib/pgsql
  • Unpack the tape backup
[root@ruciodb03 ~]# tar xf tape.<BackUpNumber>
  • Find the database name on DB03
[root@ruciodb03 ~]# su postgres
bash-4.2$ psql
postgres-# \c 
You are now connected to database "<DB_Name>" as user "postgres".
postgres-# \q
bash-4.2$
  • Drop the current database
bash-4.2$ dropdb <DB_Name>
  • Create a new databse and apply backup
bash-4.2$ createdb -T template0 <DB_Name>
psql  -v  -d <DB_Name> -f  <Path/To/Backup>/ruciodb02_<ID> 

This process will take some time (between 40-60 mins)

Upgrade Steps

Update the database -> takes roughly an hour

  • Connect alembic and rucio.cfg to database
cd /opt/rucio
vi alembic.ini

Edit the path to the database

cd etc
vi rucio.cfg

Edit database default to the database

  • Run alembic for a few upgrades
cd /opt/rucio
alembic upgrade c0937668555f
alembic upgrade 8ea9122275b1
  • Attempt upgrade to d23d23453595260
alembic upgrade d23453595260
  • If this failed find instructions
alembic upgrade d23453595260 --sql
  • Run each instruction manually on the database from the database server
  • Upgrade to head
alembic upgrade head