Veeam ve IBM Storage Snapshot entegrasyonu kullananların dikkatine

Merhaba

Uzunca bir süredir Veeam ile IBM’in storage snapshot entegrasyonu kullanılabilir durumda. Fakat bazı şeylerin olması gerektiği gibi çalışmadığını fark ettim. Fark ettim diyorum çünkü kurcalaya kurcalaya iş en sonunda Veeam’e kod geliştirme yaptırmaya kadar gitti.

Müşterimizin NVMe depolama ünitesinde storage snapshot aktifleştirildiğinde latency değerleri çok yükseliyordu. İşin garibi bu latency sadece volume’lerde görülüp, asıl görülmesi gereken yerde MDisk’lerde (RAID6 array) görülmüyordu.

Alttaki resimde görebileceğiniz gibi Volume latency 44 ms olmasına rağmen, MDisk latency ise 0 milisaniye.

latency

Bu yüzden IBM’e arıza kaydı açıp yazılım ekibinin incelemesini istedim. Yazılım ekibi ise snapshot’ların “real capacity size” belirtilerek oluşturulmadığını ve oluşturulan snapshot’ların olması gereken node üzerinde olmadığını, dolayısıyla problemin bundan kaynaklanabileceğini belirtti.

Bu konuda IBM Yazılım Mimarı Andrew Martin‘in bir makalesi bulunuyor: https://barrywhytestorage.blog/2020/01/09/performance-optmization-of-snapshots/

Makalede ise belirtilen iki durum var:
1- Oluşturulan snapshot’lar “real capacity size” denilen bir buffer alanıyla birlikte oluşturulmalı (örneğin 2 GB daha büyük)
2- Oluşturulan snapshot’lar volume’ün sahipliği hangi node’da ise  o node üzerinde oluşturulmalı. (preferred node) Örneğin volume’ün sahipliği node1’deyse snapshot’ın da sahipliği node1’de olmalı.

real

Veeam ise oluşturulan snapshot’ları %0 real capacity size ile oluşturduğu için buffer alanının olmaması nedeniyle write latency inanılmaz artıyordu. Görüldüğü gibi Real Capacity ile Used Capacity birebir aynı. Halbuki Real Capacity’nin daha büyük olup bir buffer alanı sunması gerekli.

Dolayısıyla bu sefer Veeam’e arıza kaydı açtım ve teknik ekibin değerlendirmesi sonrasında real capacity size’ın büyük olduğu durumda sonuca olumlu olup olmayacağının test edilmesi istendi.

Bunu test edebilmem için ise elle %1 real capacity size değeri girilmiş bir snapshot oluşturdum ve IOmeter ile IO testi başlattım.

Çıkan sonuç açıkçası şoke etti.
Real capacity size olmadan IO latency 241 milisaniye iken
Real capacity size ile IO latency sadece 11 milisaniye çıktı.

Bulduğum sonuçları Veeam’e gönderdim ve kısa süre bekleyişin ardından Veeam’in bir sonraki update’inde iki durum hakkında da kod geliştirme isteklerinin yapılacağı bilgisini aldım. Temmuz sonunda Veeam V10 Update1a ile bu sorun çözüldü fakat regedit üzerinde değer tanımlamak gerekiyor.

Gecikme duyarlı (latency sensitive) bir iş yükü çalıştıran tüm kurumların mutlaka bu ayarı tanımlamasını öneririm.

HKEY_LOCAL_MACHINE\SOFTWARE\Veeam\Veeam Backup and Replication\
Type: REG_DWORD 32
Value Name: IbmSnapshotRSizeInGb
Value Data (Decimal): 2

Bu sayede oluşturulacak IBM FlashCopy Snapshot’lar 2 GB fazladan yer kaplayarak oluşacak write latency’yi engelleyecektir. 2 GB’ın yetersiz geleceğini düşünenler bu değeri yükseltebilir fakat gayet yeterli olduğunu düşünüyorum.

Performance sayfası üzerinden daha önce 44ms civarında gördüğümüz değerlerin ise 4ms‘ye düştüğünü görebiliriz.

afterregistry

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.