VMware vSphere Round Robin CommandsToSwitchPath

Konuya girmeden multipath konusunda daha önce yazmış olduğum aşağıdaki makaleyi okumanızı öneririm. Bu makalemde round robin policy üzerindeki CommandsToSwitchPath değerinde nasıl değişiklik yapabileceğimizi anlatmaya çalışacağım.

Yukarıdaki makalemde belirttiğim gibi, storage ünitelerindeki donanımların gelişimi ile birlikte VMware de varsayılan CommandsToSwitchPath değeri olan 1000’in, daha yüksek performans ve yük dengelemesi için bir çok storage üreticisinin best practice dokümanında 1’e indirilmesi önerilmekte.

CommandsToSwitchPath Nedir?

Bu değer round robin olarak ayarlanmış multipath policyde aktif pathler arası geçişin kaç IO aralıklarla yapılacağını belirler. Default değer 1000 dir, her 1000 IO’da bir aktif path değiştirilir. Bu değeri 1 e indirirseniz, her 1 IO farklı pathlere gönderilecektir. IO olarak belirttiğim yerler aslında vmkernel’dan datastore’a gönderilen komutlar olsa da temelde aynı şey oldukları için bu tabiri kullandım.

Daha önce tecrübe ettiğim DellEMC, PureStorage, HPe gibi üreticiler neredeyse tüm ürünlerinde bu değerin 1 e indirilmesini önerirken Hitachi eğer LUN sayınız az ve path sayınız çok ise bu değerin 20 nin altına indirilmesini önermiyor.

Bu ayar da aynı round robin policy ayarı gibi her bir host üzerinden her bir datastore için yapılmalı ve arayüzden bu ayar yapılamıyor. Shell ve ssh bağlantısı ile hostunuza bağlanarak komutlar ile yapmanız gerekiyor. Ya da aşağıdaki powercli komutları ile topluca bu işin üstesinden gelebilirsiniz.

Yine önceki makalemde belirttiğim gibi VMware 6.5 sonrasında bu işlemleri yapmanıza gerek kalmayabiliyor, işlemlere başlamadan önce mevcut değerleri kontrol edip arzu ettiğiniz şekilde olup olmadığını kontrol etmenizi öneririm. Eğer ne yaptığınızı bilmiyorsanız bu kısımdan sonra devam etmeyin.

Bu işlemi yapabilmeniz için datastore multipath policynizin round robin olması gerekmektedir. Bunu nasıl yapacağınızı bilmiyorsanız aşağıdaki makaleye göz atabilirsiniz.

PowerCLI

PowerCLI ile vCenter’a bağlandıktan sonra aşağıdaki satırlarda kırmızı renkte belirttiğim alanları ortamınıza ve tercihinize göre düzenleyerek çalıştırıp mevcut değerlerin ne olduğunu kontrol edin;

Get-Cluster “FS” | Get-VMHost | Get-ScsiLun -LunType Disk | Where-Object {$_.MultiPathPolicy -like ‘RoundRobin’} | Select-Object CanonicalName, MultipathPolicy, CommandsToSwitchPath

Şimdi de FS clusterı için datastore canonical name’i naa.600 olarak başlayan tüm datastoreların commandstoswitchpath değerini 1 yapalım.

$ESXiHosts = Get-Cluster “FS” | Get-VMHost foreach ($ESXi in $ESXiHosts) { Get-VMhost $ESXi | Get-ScsiLun -LunType Disk | Where-Object {$_.CanonicalName -like ‘naa.600*’ -and $_.MultipathPolicy -like ‘RoundRobin’} | Set-ScsiLun -CommandsToSwitchPath 1 }

esxcli

İkinci yöntem ise esxcli komutları ile esxi hostunuza shell ya da ssh ile bağlanılarak aşağıdaki komut çalıştırılarak yapılabilir.

for i in ‘esxcfg-scsidevs -c |awk ‘{print $1}’ | grep -i naa.600’; do esxcli storage nmp psp roundrobin deviceconfig set –type=iops –iops=1 –device=$i; done

Yukarıdaki komut bağlandığınız host üzerindeki datastore canonical name’i naa.600 ile başlayan tüm datastoreların commandstoswitchpath değerini 1 yapar.

Mevcut değerleri kontrol etmek için aşağıdaki komutu çalıştırabilirsiniz.

esxcli storage nmp device list | grep -A 5 ‘naa.600’

İyi çalışmalar.

İLGİNİZİ ÇEKEBİLİR

VMware ESXi ve Horizon DaaS Kritik OpenSLP Güvenlik Açığı

VMware ESXi kritik güvenlik açığı 2019 Tianfu Cup Pwn yarışmasında 360Vulcan takımının bulmuş olduğu ESXi ...

PowerCLI 11.5.0 Yenilikleri

PowerCLI 11.5.0 sürümü ile 20 den fazla cmdlet eklendi, mevcut cmdletler üzerinde zengin geliştirmeler yapıldı. ...

VMware vCenter Server (VCSA) Hostname Değiştirme

VMware vCenter Server 5.0 sürümü öncesinde yalnızca Microsoft Windows işletim sistemleri üzerine kurulabilen bir yazılımdı. ...

VMware Project Pacific

Bu yıl VMware VMworld 2019 da bir çok ürün için büyük yenilikler duyuruldu ama benim ...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

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

error: İçerik Korumalıdır !!