ESXi ve VNXe arasındaki 1 Gbit iSCSI sınırını aşma


15

İSCSI ağımla büyük sorunlar yaşıyorum ve olabildiğince hızlı çalışmasını sağlayamıyorum.

Bu nedenle, VMware ve EMC uzmanlarını dahil ederek SAN'ımdan tam performans elde etmek için hemen hemen her şeyi denedim.

Donanımımın kısa bir açıklaması: Her biri 2 iSCSI ayrılmış NIC / 24x 15k SAS RAID10 bulunan 3x HP DL360 G7 / vSphere 5.5 / 4 yerleşik NIC'ler / 4 PCIe Intel NIC'ler / 6x 7.2k SAS RAID6

En iyi uygulamalara gittim ve depolama havuzlarını her iki iSCSI Sunucusuna da eşit olarak koydum. Her depolama işlemcisinde bir tane olmak üzere 2 iSCSI sunucusu oluşturdum. Lütfen iSCSI yapılandırmamın resmine bakın.

iSCSI yapılandırması

iSCSI trafiği VLAN (diğer VLAN'lar için yasaklanmış) ile ayrılır, hatta 29xx serisinin başka bir HP anahtarıyla da denedim. Akış kontrolü etkinleştirildi (ayrıca devre dışı bırakıldı), Jumbo devre dışı. Hiçbir yönlendirme yok.

ESX ana bilgisayarlarında, tüm veri mağazaları için Round Robin ayarını kullandığım için tüm iSCSI NIC'ler kullanılıyor. Ben de birçok IO bu şekilde performans kazanmış gibi görünüyor 1 IO bir yol değişikliği politikası ile denedim. Dahili NIC'leri de denedim (Broadcom), ancak hiçbir fark yok. Anahtarlarda, bağlantı noktalarının ESX tarafı ve VNXe tarafı çok eşit kullanıldığını görebiliyorum. Mükemmel bir yük dengelemem var, ANCAK: Toplam 1 Gbit'i geçemiyorum. VNXe'nin çoklu bağlantılar için optimize edildiğini ve Round Robin'in de buna ihtiyacı olduğunu anlıyorum, ancak 2 ana bilgisayar ve 2 veri merkezi arasında (farklı iSCSI sunucuları kullanarak) bir depolama vMotion yapsam bile, 84 MBit / Unisphere web arayüzü üzerinden. O çizgiyi o kadar sık ​​görebilirim ki, disklerimin inanamayacağına inanamıyorum. t Daha fazlasını sunma veya görevler yeterince talep etmeme. Daha da iyi hale geliyor: Her ana bilgisayarda ve her depolama işlemcisinde yalnızca bir kablo ile SAME performansını elde ediyorum. Bu yüzden çok fazla yedekliliğim var ama ekstra hız yok.

Bazı insanların iSCSI performanslarından söz ettiklerini gördüğüm gibi, yapılandırmamın (VMware ve EMC'nin eğitimli kişileri tarafından test edildi ve doğrulandı) neyin yanlış olduğunu bulmak için umutsuzum. Her görüş için minnettarım!

DÜZENLE:

Evet, vMotion'ı birden çok NIC kullanacak şekilde yapılandırdım. Ayrıca depolama vMotion, vMotion adaptörlerinden değil her zaman iSCSI adaptörlerinden geçer. Yapılandırmamın ekran görüntülerini ekledim.

iSCSI Bağlantı Noktası bağlama

iSCSI Hedefleri

iSCSI Yolları

Depolama vMotion'ın bir ölçüt olmadığını biliyorum, ancak son birkaç gün içinde bunun çoğunu yapmak zorunda kaldım ve üst sınır her zaman yaklaşık 80 MB / s idi. RAID 10'daki 6x 15k 600 GB SAS disklerden oluşan bir havuz kolayca çok daha fazlasını yerleştirebilmelidir, değil mi? Sizin için bir IO Metre testi yaptım - bazılarını denedim, en hızlısı 256 KiB% 100 Okundu. 64.45 MB / s aldım - Unisphere'im de aynı hızı gösteriyor. Bu, 6x 15k 300 GB SAS disk (RAID 10) havuzunda depolanan ve günün bu saatinde neredeyse hiç başka bir etkinliğe sahip olmayan bir VM'de.

IO Ölçer

Unisphere

EDIT2:

Yinelenen kullanıcı adları için üzgünüm, ancak bu soruyu iş yerinde yazdım ve zaten Stok Taşması'nda aldığım kullanıcı adımı kullanmadı. Ancak, burada Round Robin ayarlarımı gösteren ekran görüntüsü. Tüm ana bilgisayarlarda ve tüm mağazalarda aynıdır.

Yuvarlak Robin


Hiçbir şeyin yanlış olduğunu düşünmüyorum. Tam olarak ne bekliyorsun? Multi-NIC vMotion
ewwhite

3
Vmkernel I / O ve CPU kullanımı ile sınırlı olduğundan, depolama vmotion işlemi depolama sistemleri için bir ölçüt değildir. İometre vb. Kullanarak karşılaştırmayı denediniz mi? VNXe'de ne tür diskler ve ne tür baskın / depolama havuzu kurulumu?
pauska

Ayrıca, vSphere içinde LUN "yönetme yolu" nun ekran görüntüsünü gönderebilir misiniz?
pauska

Soruyu sormak için kullandığınızdan farklı bir kullanıcıyla giriş yaptınız, bu nedenle düzenlemeniz bir kuyruğa takıldı.
pauska

Ekran görüntüleri için teşekkürler, ama hala istediğim değil. Esxi ana bilgisayarlarınızdan birine, yapılandırma sekmesine, veri depolarına tıklayın, sorun gidermek istediğiniz veri deposunu seçin ve sağ alt taraftaki "Özellikler" bağlantısını tıklayın. Ardından "yolları yönet" i tıklayın ve bize o pencerenin ekran görüntüsünü gönderin.
pauska

Yanıtlar:


1

Bunun gerçekten devreye girmesi için yeterli IOPS üretmemeniz mümkündür.
Göz Burada daha küçük bir değere varsayılan 1'000 IOPS ayarını değiştirmek için nasıl. (Bu simetriktir, ancak aynısını VMWare Round Robin Sağlayıcısı için de yapabilirsiniz)

Bununla birlikte, sadece bir veri deposuyla tamamen paralel olarak birden fazla bağlantı kullanabiliyorsa henüz ikna olmadım. Faydaları görmek için IOMeter testini birden fazla veri deposunda paralel olarak yapmanız gerektiğini düşünüyorum. (% 100 emin değilim)


Sorumda belirtildiği gibi, yol değişikliği politikasını 1000 yerine 1 olarak ayarladım - çok fazla değişmedi.
Ryan Hardy

Aah, o kısmı gözden kaçırmış olmalıyım, üzgünüm.
MichelZ

1

EMC adlı depolama satıcısı için bir SATP kuralı oluşturun, yol ilkesini varsayılan 1000'den 1'e Yuvarlak Robine ve IOPS olarak ayarlayın. Bu, yeniden başlatmalarda kalıcı olacaktır ve yeni bir EMC iSCSI LUN sunulduğunda, bu kural alınacaktır. Bunun mevcut EMC iSCSI LUN'lara uygulanması için, ana bilgisayarı yeniden başlatın.

esxcli storage nmp satp rule add --satp="VMW_SATP_DEFAULT_AA" \
  --vendor="EMC" -P "VMW_PSP_RR" -O "iops=1"

IOPS'u 1-3 arasında değiştirerek oynadım ve en iyi performansı tek bir sanal makinede buluyorum. Bununla birlikte, çok fazla VM'niz ve çok fazla veri merkeziniz varsa, 1 en uygun olmayabilir ...

VNXe'deki her arabirimin 9000 MTU olarak ayarlandığından emin olun. Ayrıca, iSCSI arabirimlerinizle vSwitch, her VMKernel ile birlikte 9000 MTU olarak ayarlanmalıdır. VNXe'nizde biri SPA, diğeri SPB için olmak üzere iki iSCSI Sunucusu oluşturun. Başlangıçta her biri için bir IP ilişkilendirin. Ardından, her iSCSI Sunucusu için ayrıntıları görüntüleyin ve her bir SP için her etkin arabirim için ek IP'ler ekleyin. Bu size aradığınız round-robin performansını verecektir.

Sonra en az iki veri merkezinde oluşturun. Bir veri deposunu iSCSIServer-SPA ile diğerini iSCSIServer-SPB ile ilişkilendirin. Bu, SP'lerinizden birinin boşta oturmamasını sağlayacaktır.

Son olarak, ESX tarafında iSCSI için kullanılan tüm arabirimler, tüm arabirimler etkin olarak ayrı bir vSwitch'e gitmelidir. Ancak, belirtilen vSwitch içindeki ESX tarafındaki her arabirim için bir VMkernel isteyeceksiniz. Her VMKernel'in bir Active bağdaştırıcısına ve diğer tüm Kullanılmayan'a sahip olması için vSwitch yük devretme sırasını geçersiz kılmalısınız. Bu, ESX ana bilgisayarlarını sağlamak için kullandığım dağıtım komut dosyası. Her ana bilgisayarda toplam 8 arayüz vardır, 4 LAN ve 4 iSCSI / VMotion trafiği için.

  1. Aşağıdaki yapılandırmayı gerçekleştirin

a. # DNS esxcli ağ ip dns araması ekle --etkialanı = etkialanim.net

esxcli ağ ip dns sunucusu ekleme --server = XXXX

esxcli ağ ip dns sunucusu ekleme --server = XXXX

b. # anasistem adı güncellemesini buna göre ayarla

esxcli sistem ana makine adı kümesi --host = server1 --domain = mydomain.net

c. # vSwitch0 esxcli ağına uplink ekleme vswitch standart uplink add --uplink-name = vmnic1 --vswitch-name = vSwitch0

esxcli network vswitch standart uplink ekleme - uplink-name = vmnic4 --vswitch-name = vSwitch0

esxcli ağ vswitch standart yukarı bağlantı ekleme --uplink-name = vmnic5 --vswitch-name = vSwitch0

d. # depolama için vSwitch1 oluştur ve MTU'yu 9000 olarak ayarla

esxcli network vswitch standardı ekle --vswitch-name = vSwitch1

esxcli ağ vswitch standart seti --vswitch-name = vSwitch1 --mtu = 9000

e. # vSwitch1'e uplink ekleyin

esxcli network vswitch standart uplink ekleme - uplink-name = vmnic2 --vswitch-name = vSwitch1

esxcli ağ vswitch standart yukarı bağlantı ekleme --uplink-name = vmnic3 --vswitch-name = vSwitch1

esxcli ağ vswitch standart yukarı bağlantı ekleme --uplink-name = vmnic6 --vswitch-name = vSwitch1

esxcli ağ vswitch standart yukarı bağlantı ekleme --uplink-name = vmnic7 --vswitch-name = vSwitch1

f. # vSwitch0 için etkin NIC'yi ayarla

esxcli network vswitch standart ilke yerine çalışma seti --vswitch-name = vSwitch0 --active-uplinks = vmnic0, vmnic1, vmnic4, vmnic5

g. # vSwitch1 için etkin NIC'yi ayarla

esxcli network vswitch standart ilke yerine çalışma seti --vswitch-name = vSwitch1 --active-uplinks = vmnic2, vmnic3, vmnic6, vmnic7

h. # ESX02 için değil iSCSI ve ESX01 için vmkernels bağlantı noktası grupları oluşturma

esxcli ağ vswitch standart portgroup ekle - portgroup-name = iSCSI-vmnic2 --vswitch-name = vSwitch1

esxcli ağ ip arayüzü ekle --interface-name = vmk2 --portgroup-name = iSCSI-vmnic2 --mtu = 9000

esxcli ağ ip arayüzü ipv4 seti --interface-adı = vmk2 --ipv4 = 192.158.50.152 --netmask = 255.255.255.0 - tür = statik

vim-cmd hostsvc / vmotion / vnic_set vmk2

esxcli ağ vswitch standart portgroup ekle - portgroup-name = iSCSI-vmnic3 --vswitch-name = vSwitch1

esxcli ağ ip arayüzü ekle --interface-name = vmk3 --portgroup-name = iSCSI-vmnic3 --mtu = 9000

esxcli ağ ip arayüzü ipv4 seti --interface-adı = vmk3 --ipv4 = 192.158.50.153 --netmask = 255.255.255.0 - tür = statik

vim-cmd hostsvc / vmotion / vnic_set vmk3

esxcli ağ vswitch standart portgroup ekle - portgroup-name = iSCSI-vmnic6 --vswitch-name = vSwitch1

esxcli ağ ip arayüzü ekle --interface-name = vmk6 --portgroup-name = iSCSI-vmnic6 --mtu = 9000

esxcli ağ ip arayüzü ipv4 seti --interface-adı = vmk6 --ipv4 = 192.158.50.156 --netmask = 255.255.255.0 - tür = statik

vim-cmd hostsvc / vmotion / vnic_set vmk6

esxcli ağ vswitch standart portgroup ekle - portgroup-name = iSCSI-vmnic7 --vswitch-name = vSwitch1

esxcli ağ ip arayüzü ekle --interface-name = vmk7 --portgroup-name = iSCSI-vmnic7 --mtu = 9000

esxcli ağ ip arayüzü ipv4 seti --interface-adı = vmk7 --ipv4 = 192.158.50.157 --netmask = 255.255.255.0 - tür = statik

vim-cmd hostsvc / vmotion / vnic_set vmk7

ben. # ESX01 için iSCSI ve ESX02 için vmkernels bağlantı noktası grupları oluşturma

esxcli ağ vswitch standart portgroup ekle - portgroup-name = iSCSI-vmnic2 --vswitch-name = vSwitch1

esxcli ağ ip arayüzü ekle --interface-name = vmk2 --portgroup-name = iSCSI-vmnic2 --mtu = 9000

esxcli ağ ip arayüzü ipv4 seti --interface-adı = vmk2 --ipv4 = 192.168.50.162 --netmask = 255.255.255.0 - tür = statik

vim-cmd hostsvc / vmotion / vnic_set vmk2

esxcli ağ vswitch standart portgroup ekle - portgroup-name = iSCSI-vmnic3 --vswitch-name = vSwitch1

esxcli ağ ip arayüzü ekle --interface-name = vmk3 --portgroup-name = iSCSI-vmnic3 --mtu = 9000

esxcli ağ ip arayüzü ipv4 seti --interface-adı = vmk3 --ipv4 = 192.168.50.163 --netmask = 255.255.255.0 - tür = statik

vim-cmd hostsvc / vmotion / vnic_set vmk3

esxcli ağ vswitch standart portgroup ekle - portgroup-name = iSCSI-vmnic6 --vswitch-name = vSwitch1

esxcli ağ ip arayüzü ekle --interface-name = vmk6 --portgroup-name = iSCSI-vmnic6 --mtu = 9000

esxcli ağ ip arayüzü ipv4 seti --interface-adı = vmk6 --ipv4 = 192.168.50.166 --netmask = 255.255.255.0 - tür = statik

vim-cmd hostsvc / vmotion / vnic_set vmk6

esxcli ağ vswitch standart portgroup ekle - portgroup-name = iSCSI-vmnic7 --vswitch-name = vSwitch1

esxcli ağ ip arayüzü ekle --interface-name = vmk7 --portgroup-name = iSCSI-vmnic7 --mtu = 9000

esxcli ağ ip arayüzü ipv4 seti --interface-adı = vmk7 --ipv4 = 192.168.50.167 --netmask = 255.255.255.0 - tür = statik

vim-cmd hostsvc / vmotion / vnic_set vmk7

j. # her iSCSI vmkernel için etkin NIC ayarla

esxcli ağ vswitch standart portgroup ilkesi yerine çalışma seti - portgroup-name = iSCSI-vmnic2 --active-uplinks = vmnic2

esxcli ağ vswitch standart portgroup ilkesi yerine çalışma seti - portgroup-name = iSCSI-vmnic3 - aktif uplinkler = vmnic3

esxcli ağ vswitch standart portgroup ilkesi yerine çalışma seti - portgroup-name = iSCSI-vmnic6 --active-uplinks = vmnic6

esxcli ağ vswitch standart portgroup ilkesi yerine çalışma seti - portgroup-name = iSCSI-vmnic7 - aktif uplinkler = vmnic7

k. # port grubu oluştur

esxcli ağ vswitch standart portgroup ekle - portgroup-name = VMNetwork1 --vswitch-name = vSwitch0

esxcli ağ vswitch standart portgroup ekle - portgroup-name = VMNetwork2 --vswitch-name = vSwitch0

esxcli ağ vswitch standart portgroup ekle - portgroup-name = VMNetwork3 --vswitch-name = vSwitch0

l. # VLAN'ı VM bağlantı noktası gruplarına ayarla

esxcli ağ vswitch standart port grubu seti -p VMNetwork1 --vlan-id ##

esxcli ağ vswitch standart port grubu seti -p VMNetwork2 --vlan-id ##

esxcli ağ vswitch standart port grubu seti -p VMNetwork3 --vlan-id ###

m. # varsayılan VM port grubunu kaldır

esxcli ağ vswitch standart portgroup kaldır --portgroup-name = "VM Network" -v = vSwitch0

n. # enable iSCSI Yazılım Bağdaştırıcısı

esxcli iscsi yazılım seti --enabled = true

esxcli iscsi networkportal ekleme -A vmhba33 -n vmk2

esxcli iscsi networkportal ekleme -A vmhba33 -n vmk3

esxcli iscsi networkportal ekleme -A vmhba33 -n vmk6

esxcli iscsi networkportal ekleme -A vmhba33 -n vmk7

Ö. # yeniden adlandır yerel veri deposu

ana bilgisayar adı> $ var =

vim-cmd hostsvc / datastore / datastore1'i yeniden adlandır$var

s. # EMC VNXe 3300 için Yerel Çok Yollu Depolama Dizisi Tipi Eklentisini tanımlayın ve 1000'den 1'e kadar yuvarlak robin IOPS'yi ayarlayın

esxcli depolama nmp satp kuralı ekleme --satp = "VMW_SATP_DEFAULT_AA" --vendor = "EMC" -P "VMW_PSP_RR" -O "iops = 1"

q. # yenileme ağı

esxcli ağ güvenlik duvarı yenileme

vim-cmd hostsvc / net / refresh

  1. Her ana bilgisayar için vSphere Client kullanarak NTP istemcisini yapılandırma

a. Yapılandırma -> Zaman Yapılandırması -> Özellikler -> Seçenekler -> NTP Ayarları -> Ekle -> ntp.alanadim.net -> "Değişiklikleri uygulamak için NTP hizmetini yeniden başlat" seçeneğini işaretleyin -> Tamam -> bekleyin… -> "Ana bilgisayarla başlat ve durdur" u seçin -> Tamam -> "NTP İstemcisi Etkin -> Tamam'ı işaretleyin

  1. Ana Bilgisayarı Yeniden Başlat

  2. EMC VNXe Depolama Sağlama ile devam edin, tamamlandığında bu kılavuza dönün

  3. Ana bilgisayar başına vSphere istemcisine giriş yapın

  4. Her Veri Deposunu VMFS-5'e yükseltin

a. Yapılandırma -> Depolama -> Veri Deposunu Vurgula -> VMFS-5'e Yükselt


0

Ne yazık ki, kurulumunuzda hiçbir şeyin yanlış olmadığını düşünüyorum. Tek bir VM için 1 Gb / sn'den fazla kullanamazsınız.

Buradaki nokta, iki (veya daha fazla) NIC kullanmak istemediğiniz, bunları aynı anda , RAID-0 benzeri bir yapılandırmada kullanmak istediğinizdir .

Bağlantı düzeyinde toplama hakkında standart olan ve anahtarlarınızda yapılandırdığınızı düşündüğüm 802.3ad, tipik olarak farklı NIC'ler arasında tek bir bağlantıyı kesecek şekilde yapılandırılamaz. Bunun nedeni, arabirim alg seçiminin nasıl çalıştığından kaynaklanır: src ve dst MAC'lerine ve / veya IP / bağlantı noktalarına dayanır ve tek bir bağlantı her zaman aynı MAC / IP / bağlantı noktalarına sahip olacaktır .

Bu, kurulumunuzun daha yüksek sayıları (hem tput hem de IOPS olarak) zorlayamayacağı anlamına gelmez, ancak bu, tek bir VM'nin ne kadar performans elde edebileceği konusunda zor bir sınır oluşturur. 2/4 farklı VM'ye 2 veya 4 IOMeter örneği yüklemeye çalışın: Birleştirilmiş tput'un tek VM karşılaştırmasından çok daha yüksek olacağına bahse girerim, ancak tek bir makine 1 Gb / s sınırını aşmayacaktır.

Linux köprüleme ve bazı üst düzey anahtarlar, farklı bağlantı birleştirme yöntemlerini destekler ve tam şeritli, toplu ağ arabirimlerini etkinleştirir. Bununla birlikte, bunun diğer anahtarların / sistemlerin bu "standart dışı" toplama yöntemleriyle nasıl etkileşime girdiğine dair önemsiz etkileri vardır.

Her neyse, depolama ağı için destekleniyorsa jumbo çerçeveleri gerçekten etkinleştirmelisiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.