Bir süre önce, bir sürücünün anlık görüntülerini alma özelliğini sunduk. Bu, çalışan sistemlerde bile sürücü durumlarını hızlı ve verimli bir şekilde kaydetmenize olanak tanıyan çok kullanışlı bir özelliktir.
Thanks to ZFS sayesinde, otomatik anlık görüntüler yalnızca mevcut durum ile anlık görüntünün alındığı an arasındaki delta miktarını tüketecektir. Bu, orijinal sürücünüz 15GB ise ve anlık görüntü ile mevcut durum arasında yalnızca 1MB veri değiştiyse, anlık görüntünün boyutunun 1MB olacağı anlamına gelir. Diske bir megabayt daha yazarsanız, anlık görüntü bir megabayt daha büyüyecektir.
Bu sistemin bir diğer güzel yanı da, herhangi bir anlık görüntünün tam bir disk sürücüsüne yükseltilebilmesi (klonlanabilmesi). Bu, tamamen farklı bir depolama sisteminde bile bir sunucuya bağlanabilecek bağımsız bir kopya oluşturabileceğiniz anlamına gelir. Bu haliyle, (iş yükünüze bağlı olarak) bir depolama yönetimi stratejisinin temelini oluşturur.
Bir uyarı
Periyodik anlık görüntüler kullanmak yedekleme stratejinizin bir parçası olabilse de, tek stratejiniz olarak anlık görüntülere güvenmek akıllıca değildir.
Çalışan bir veritabanı sunucusunun anlık görüntüsünü almak gibi, bu anlık görüntüleri kullanmanın işe yaramayacağı çok sayıda durum da vardır. Anlık görüntü işlevi, durdurulmuş veritabanı sunucularında (belirli bir zamana geri yükleme noktası oluşturmak için) yine de yararlı olabilir, ancak yine de tek yedekleme stratejiniz olmamalıdır.
Otomatik anlık görüntüler oluşturma
Using our Python kütüphanemizi kullanarak, anlık görüntüleri otomatikleştirmek gerçekten çok basittir. Ancak, CloudSigma kimlik bilgilerini anlık görüntüleri tetikleyen sistemde depolamamız gerektiğinden, canlı ortam hizmet kimlik bilgilerini güvensiz bir şekilde açığa çıkarmanızı kesinlikle önermiyoruz. Örneğin bunu bir bulut sunucusunda çalıştırmak istiyorsanız, lütfen altyapının geri kalanından korunduğundan (ağ politikaları özelliğimizi kullanmak gibi) ve tamamen kilitlendiğinden emin olun.
Python kütüphanesini kurduktan sonra, betiği aşağıdaki gibi indirip çalıştırabilirsiniz:
[bash light=”true”] $ wget https://raw.githubusercontent.com/cloudsigma/pycloudsigma/master/samples/snapshot.py$ python snapshot.py drive-uuid my-snapshot
[/bash]
snapshot.py iki argüman alır:
- Anlık görüntüsünü almak istediğiniz sürücünün UUID'si
- Anlık görüntü için kolay anlaşılır bir ad
Manuel olarak bir anlık görüntü oluşturup çalıştığını doğruladıktan sonra (bunu sürücünün ‘snapshot’ bölümünde görebilirsiniz), artık bunu otomatikleştirebiliriz.
Bunun gibi bir görevi çalıştırmanın en uygun ve standartlaştırılmış yolu crontab kullanmaktır (Linux veya Mac OS X kullandığınızı varsayarsak).
Yukarıda anlık görüntüyü oluşturduğunuz kullanıcıyla şunu çalıştırın:
[bash light=”true”]
$ crontab -e
[/bash]
Her gece saat 01:00'de anlık görüntü almak istiyorsanız aşağıdaki satırı ekleyin:
|
1 |
0 1 * * * python /path/to/snapshot.py drive-uuid my-snapshot >> $HOME/snapshot.log 2>&1 |
Betiğin, betiği çalıştıran kullanıcının ev dizinindeki snapshot.log adlı bir dosyaya günlük kaydedeceğini de fark edeceksiniz.
Anlık görüntüleri otomatik olarak temizleme
Anlık görüntüler zamanla büyüdüğünden, muhtemelen bir süre sonra bu anlık görüntüleri silmek isteyeceksiniz. Bu sorunu çözmek için bunu sizin yerinize yapabilecek başka bir betik oluşturduk. Betiğin adı snapshot_purge.py ve iki argüman alır:
- Sürücünün UUID'si
- Saklamak istediğiniz anlık görüntülerin gün sayısı
Örneğin, 30 günlük anlık görüntüyü saklamak istiyorsanız, sadece şunu çalıştırabilirsiniz:
[bash light=”true”]
$ wget https://raw.githubusercontent.com/cloudsigma/pycloudsigma/master/samples/snapshot_purge.py
$ python snapshot_purge.py drive-uuid 30
[/bash]
Elbette bunu da otomatikleştirebilirsiniz. Örneğin, 30 günden eski anlık görüntüleri temizlemek istiyorsak, crontab dosyamıza aşağıdakini ekleyebiliriz (bu işlem gece 01:30'da çalışacaktır):
|
1 |
30 1 * * * python /path/to/snapshot_purge.py sürücü-uuid 30 >> $HOME/snapshot_purge.log 2>&1 |
Özet
İşte bu kadar, millet. Bu iki betiği kullanarak sürücü anlık görüntülerinizi otomatikleştirebileceksiniz. Birden fazla sürücünün anlık görüntüsünü almanız gerekiyorsa, crontab’inize farklı UUID’lere sahip daha fazla snapshot.py satırı eklemeniz yeterlidir.
Elbette anlık görüntülerle yapabileceklerimizin sadece yüzeyine dokunuyoruz, ancak umarım bu, depolama yönetimi rutinleriniz için anlık görüntüleri kullanma konusunda hızlı bir hızlandırılmış kurs işlevi görür.
Daha gelişmiş veri saklama ihtiyaçlarınız varsa, umarım yukarıdaki betiklerdeki kodların bazılarını yeniden kullanabilirsiniz.
Yorumlar
Henüz yorum yapılmamış. İlk siz olun.