The firewall mechanism was updated in version 3.1.1. As a result, please proceed with the following steps with extra caution. Ensure that you perform these actions on each node individually.
Upgrade steps for the SGX server
-
Backup
sgx_data folder and SGX backup key
-
Create new SGX server on Ubuntu 22.04
-
Clone sgxwallet repo
git clone https://github.com/skalenetwork/sgxwallet.git && git checkout stable
-
Install required packages
apt-get install docker.io docker-compose build-essential
-
Enable sgx
cd sgxwallet && sudo ./sgx_enable
-
Install sgx driver
cd scripts; sudo ./sgx_linux_x64_driver_2.11.b6f5b4a.bin; cd ..
-
Configure firewall between nodes and SGX server
-
Upload
sgx_data folder to sgxwallet/run_sgx/sgx_data on the new server
-
Add
-b option in command section of run_sgx/docker-compose.yml
-
Set SGX wallet version to
1.9.0-stable.2 in run_sgx/docker-compose.yml
-
Run sgxwallet
cd run_sgx && docker-compose up -d
Upgrade steps for the node server
-
Turn off the node
skale node turn-off --yes --unsafe
-
Backup the node
Save the data on another machine
-
Upgrade packages
sudo apt update && sudo apt upgrade
sudo reboot
-
Upgrade to Ubuntu 22.04
do-release-upgrade
reboot
-
Turn off docker-lvmpy
systemctl stop docker-lvmpy && systemctl disable docker-lvmpy
-
Make sure nftables is installed
sudo apt install nftables docker-compose-plugin
-
Disable ufw ipv6 configuration
sed -i 's/IPV6=yes/IPV6=no/' /etc/default/ufw.
-
Reload ufw
-
Download new node-cli binary
curl -L https://github.com/skalenetwork/node-cli/releases/download/2.6.0/skale-2.6.0-Linux-x86_64 > /usr/local/bin/skale
-
Verify node-cli binary hash sum
sha512sum /usr/local/bin/skale
Expected checksum
15b2aade24223da4f84ec79bd820d57f852fd7a5d78f10652823629da28aab5db49a5815a2be0c894bb00b99324b00b7d9da2ab1518ddc11f304378af54b427c
-
Make node-cli executable
chmod +x /usr/local/bin/skale
-
Update the following parameters to the new values
CONTAINER_CONFIGS_STREAM=3.1.1
SGX_WALLET_URL=https://[NEW SGX WALLET SERVER IP]:1026
-
Execute update
skale node update .env --yes
-
Restart nftables and docker services
Proceed with the execution in close collaboration with the core team, ensuring that the chains are fully stable beforehand.
systemctl restart nftables && systemctl restart docker