#Hızlı geçiş
Rancher Failover (Docker Persistent Data) #Bölüm 1
Rancher Failover (Syncthing) #Bölüm 2
Rancher Failover (Container Transfer) #Bölüm 3
Rancher Failover (Keep Alived) #Bölüm 4
Aşağıdaki yazımdan daha önce Rancher kurulumuna erişebilirsiniz.
Tek makineye kurduğumuz Rancher’ı 2 adet makineye çıkartıp, yüksek erişilebilirlik (high availability h/a) işlemleri için adımlar atacağız.
İlk kurulumda docker üzerinde rancher’ı kaldırırken volume ayarladıysanız aşağıdaki işlemleri yapmanıza gerek yoktur. Doğrudan 2. bölüme geçebilirsiniz.
Mevcut rancher container’ın yedeğini alacağız. Bu yedek sayesinde daha önce volume mapping yapmadığımız için container içerisindeki rancher verilerini de alacağız. Restore ederken de volume mapping yapacağız. Farklı yöntemler de izlenebilir fakat bu daha kolay geldiği için bu yöntemle yapacağım ben.
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9ebd2d6197a6 rancher/rancher:latest "entrypoint.sh" 4 days ago Up 4 days 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp flamboyant_banzai
docker stop 9ebd2d6197a6
docker create --volumes-from 9ebd2d6197a6 --name rancher_failover rancher/rancher:latest
docker run --volumes-from rancher_failover -v $PWD:/backup:z busybox tar pzcvf /backup/rancher-data-backup-latest-15-01-2022.tar.gz /var/lib/rancher
Bu işlemler sonrasında bulunduğunuz dizine “rancher-data-backup-latest-15-01-2022.tar.gz” dosyası oluşması gerekiyor.
-rw-r--r-- 1 root root 474440081 Jan 15 15:08 rancher-data-backup-latest-15-01-2022.tar.gz
Şimdi restore işlemlerine geçiyoruz.
root@rancher01:~# docker commit 9ebd2d6197a6 rancher_failover
sha256:a5518884aac13d26a6b52edca375bc3ffd0276b8470bcb6451ff34951957a5a1
Docker servislerini durduralım.
systemctl stop docker.socket
systemctl stop docker
Daha sonra ilgili image dan bir container kaldırmadan önce volumme mapping yapacağımız klasöre yedeğini aldığımız rancher datalarını yazıyoruz.
mkdir -p /opt/rancher
cp /root/rancher-data-backup-latest-15-01-2022.tar.gz /opt/rancher/rancher-data-backup-latest-15-01-2022.tar.gz
cd /opt/rancher
tar pzxvf rancher-data-backup-latest-15-01-2022.tar.gz
cd /opt/rancher/var/lib/rancher
mv * .existing /opt/rancher
cd /opt/rancher; rm -rf var;
Docker servislerini tekrar başlatıyoruz.
systemctl start docker.socket
systemctl start docker
Ardından oluşturduğumuz image dan tekrardan bir container çalıştırıp, verileri kopyaladığımız dizine volume mapping yapıyoruz.
docker run -d --restart=unless-stopped \
-p 80:80 -p 443:443 \
-v /opt/rancher:/var/lib/rancher \
--privileged \
rancher_failover
Artık tüm yapılandırmamızı persistent data ‘ya çevirdik. Tekrar kontrol sağladığımızda verilerimizin eskisi gibi durduğunu görebilirsiniz.