#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.

image 55