Saya mengalami masalah besar dengan jaringan iSCSI saya dan sepertinya tidak bisa membuatnya bekerja secepat mungkin.
Jadi saya sudah mencoba hampir semuanya untuk mendapatkan kinerja penuh dari SAN saya, setelah melibatkan spesialis VMware dan EMC.
Deskripsi singkat perlengkapan saya: 3x HP DL360 G7 / vSphere 5.5 / 4 NIC onboard / 4 PCIe Intel NIC untuk iSCSI 2x HP 2510-24G 1x EMC VNXe 3100/2 prosesor penyimpanan, masing-masing dengan 2 iSCSI dedicated NICs / 24x 15k SAS RAID10 / 6x 7.2k SAS RAID6
Saya pergi praktik terbaik dan menempatkan kolam penyimpanan secara merata di kedua Server iSCSI. Saya membuat 2 server iSCSI, satu di setiap prosesor penyimpanan. Silakan lihat gambar untuk konfigurasi iSCSI saya.
Lalu lintas iSCSI dipisahkan melalui VLAN (dilarang untuk VLAN lainnya), saya bahkan mencobanya dengan saklar HP lain dari seri 29xx. Kontrol aliran diaktifkan (coba juga dinonaktifkan), Jumbo dinonaktifkan. Tidak ada routing yang terlibat.
Pada host ESX semua iSCSI NIC digunakan karena saya menggunakan pengaturan Round Robin untuk setiap datastore. Saya juga mencobanya dengan kebijakan perubahan jalur 1 IO karena banyak orang lain tampaknya telah mendapatkan kinerja seperti itu. Saya mencoba NIC internal juga (Broadcom), tetapi tidak ada perbedaan. Pada switch saya dapat melihat bahwa port sedang digunakan sangat merata, sisi ESX dan sisi VNXe. Saya memiliki penyeimbangan muatan yang sempurna, NAMUN: Saya tidak bisa melewati 1 Gbit secara total. Saya mengerti bahwa VNXe dioptimalkan untuk banyak koneksi dan Round Robin memang membutuhkannya juga, tetapi bahkan ketika saya melakukan penyimpanan vMotion antara 2 host dan 2 datastore (menggunakan server iSCSI yang berbeda), saya dapat melihat garis lurus sekitar 84 MBit / s via Unisphere webinterface. Saya bisa melihat garis itu begitu sering pada nilai yang persis sama sehingga saya tidak percaya disk saya tidak akan t memberikan lebih banyak atau tugas tidak cukup menuntut. Ini menjadi lebih baik: Dengan hanya satu kabel di setiap host dan setiap prosesor penyimpanan saya mencapai kinerja SAMA. Jadi saya mendapat banyak redundansi tetapi tidak ada kecepatan ekstra sama sekali.
Seperti yang saya lihat beberapa orang berbicara tentang kinerja iSCSI mereka, saya putus asa untuk mencari tahu apa yang salah dengan konfigurasi saya (yang telah diuji dan diverifikasi oleh orang-orang terlatih dari VMware dan EMC). Saya berterima kasih atas setiap pendapat!
EDIT:
Ya, saya telah mengonfigurasi vMotion untuk menggunakan beberapa NIC. Selain itu vMotion penyimpanan selalu melalui adaptor iSCSI, bukan adaptor vMotion. Saya telah memasang tangkapan layar konfigurasi saya.
Saya tahu penyimpanan vMotion bukan tolok ukur, namun saya harus melakukan ini selama beberapa hari terakhir dan batas atas selalu sekitar 80 MB / s. Kumpulan disk SAS 6x15k 600 GB di RAID 10 seharusnya dapat dengan mudah membuat lebih banyak lagi, bukan begitu? Saya melakukan tes IO Meter untuk Anda - mencoba beberapa dari mereka, yang tercepat adalah 256 KiB 100% Baca. Saya mendapat 64,45 MB / s - Unisphere saya menunjukkan kecepatan yang sama juga. Itu dalam VM yang disimpan di kumpulan 6x 15k 300 GB disk SAS (RAID 10) yang hampir tidak ada aktivitas lain saat ini.
EDIT2:
Maaf untuk nama pengguna duplikat, tapi saya menulis pertanyaan ini di tempat kerja dan tidak menggunakan nama pengguna saya, saya sudah punya di Stock Overflow. Namun di sini adalah tangkapan layar yang menunjukkan pengaturan Round Robin saya. Ini sama pada semua host dan semua toko.
sumber
Jawaban:
Ada kemungkinan bahwa Anda tidak menghasilkan cukup IOPS untuk ini benar-benar kick-in.
Lihat di sini tentang cara mengubah pengaturan dari default 1'000 IOPS ke nilai yang lebih kecil. (Ini adalah symmetrix khusus, tetapi Anda dapat melakukan hal yang sama untuk Penyedia Round Robin VMWare)
Namun saya belum yakin apakah ini benar-benar dapat memanfaatkan lebih dari satu tautan secara paralel dengan hanya satu datastore. Saya pikir Anda harus melakukan tes IOMeter pada lebih dari satu datastore secara paralel untuk melihat manfaatnya. (Tidak 100% yakin)
sumber
Buat aturan SATP untuk vendor penyimpanan bernama EMC, tetapkan kebijakan jalur sebagai Round Robine dan IOPS dari default 1000 menjadi 1. Ini akan menjadi persistensi di seluruh reboot dan kapan pun disajikan LUN EMC iSCSI baru, aturan ini akan diambil. Agar ini berlaku untuk EMUN iSCSI LUN yang ada, reboot host.
Saya telah bermain-main dengan mengubah IOPS antara 1 - 3 dan menemukan performa terbaik pada satu VM. Yang mengatakan, jika Anda memiliki banyak VM dan banyak datastore, 1 mungkin tidak optimal ...
Pastikan Anda memiliki setiap antarmuka di VNXe yang diatur ke 9000 MTU. Juga, vSwitch dengan antarmuka iSCSI Anda harus diatur ke 9000 MTU bersama dengan masing-masing VMKernel. Di VNXe Anda, buat dua Server iSCSI - satu untuk SPA dan satu untuk SPB. Kaitkan satu IP untuk masing-masing awalnya. Kemudian lihat detail untuk setiap Server iSCSI dan tambahkan IP tambahan untuk setiap antarmuka aktif per SP. Ini akan memberi Anda kinerja round-robin yang Anda cari.
Kemudian buat minimal dua datastore. Kaitkan satu datastore dengan iSCSIServer-SPA dan satu dengan iSCSIServer-SPB. Ini akan memastikan salah satu SP Anda tidak duduk diam di sana.
Terakhir, semua antarmuka di sisi ESX yang sedang digunakan untuk iSCSI harus pergi ke vSwitch terpisah dengan semua antarmuka aktif. Namun, Anda menginginkan VMkernel untuk setiap antarmuka di sisi ESX dalam vSwitch yang ditunjuk. Anda harus mengganti urutan failover vSwitch untuk setiap VMKernel agar memiliki satu adaptor Aktif dan yang lainnya tidak digunakan. Ini adalah skrip penerapan yang saya gunakan untuk menyediakan host ESX. Setiap host memiliki total 8 antarmuka, 4 untuk LAN dan 4 untuk lalu lintas iSCSI / VMotion.
Sebuah. # DNS jaringan esxcli ip dns pencarian tambahkan --domain = mydomain.net
jaringan esxcli ip dns server tambahkan --server = XXXX
jaringan esxcli ip dns server tambahkan --server = XXXX
b. # atur pembaruan nama host yang sesuai
set hostname sistem esxcli --host = server1 --domain = mydomain.net
c. # tambahkan uplinks ke vSwitch0 jaringan esxcli vswitch standar uplink add --uplink-name = vmnic1 --vswitch-name = vSwitch0
esxcli network vswitch standard uplink add --uplink-name = vmnic4 --vswitch-name = vSwitch0
esxcli jaringan vswitch standar uplink tambahkan --uplink-name = vmnic5 --vswitch-name = vSwitch0
d. # buat vSwitch1 untuk penyimpanan dan atur MTU ke 9000
jaringan esxcli vswitch standar tambahkan --vswitch-name = vSwitch1
jaringan esxcli vswitch standar yang ditetapkan --vswitch-name = vSwitch1 --mtu = 9000
e. # tambahkan uplinks ke vSwitch1
esxcli network vswitch standard uplink add --uplink-name = vmnic2 --vswitch-name = vSwitch1
esxcli jaringan vswitch standar uplink tambahkan --uplink-name = vmnic3 --vswitch-name = vSwitch1
esxcli jaringan vswitch standar uplink tambahkan --uplink-name = vmnic6 --vswitch-name = vSwitch1
esxcli jaringan vswitch standar uplink tambahkan --uplink-name = vmnic7 --vswitch-name = vSwitch1
f. # set NIC aktif untuk vSwitch0
esxcli jaringan vswitch standar set kebijakan failover --vswitch-name = vSwitch0 --active-uplinks = vmnic0, vmnic1, vmnic4, vmnic5
g. # set NIC aktif untuk vSwitch1
jaringan esxcli vswitch standar, set kegagalan kebijakan - vswitch-name = vSwitch1 --active-uplinks = vmnic2, vmnic3, vmnic6, vmnic7
h. # buat grup port untuk iSCSI dan vmkernels untuk ESX01 bukan ESX02
esxcli network vswitch standard portgroup add --portgroup-name = iSCSI-vmnic2 --vswitch-name = vSwitch1
esxcli network ip interface add --interface-name = vmk2 --portgroup-name = iSCSI-vmnic2 --mtu = 9000
esxcli jaringan ip antarmuka set ipv4 --interface-name = vmk2 --ipv4 = 192.158.50.152 --netmask = 255.255.255.0 --type = static
vim-cmd hostsvc / vmotion / vnic_set vmk2
esxcli network vswitch standard portgroup add --portgroup-name = iSCSI-vmnic3 --vswitch-name = vSwitch1
esxcli network ip interface add --interface-name = vmk3 --portgroup-name = iSCSI-vmnic3 --mtu = 9000
esxcli jaringan ip antarmuka set ipv4 --interface-name = vmk3 --ipv4 = 192.158.50.153 --netmask = 255.255.255.0 --type = static
vim-cmd hostsvc / vmotion / vnic_set vmk3
esxcli network vswitch standard portgroup add --portgroup-name = iSCSI-vmnic6 --vswitch-name = vSwitch1
esxcli network ip interface add --interface-name = vmk6 --portgroup-name = iSCSI-vmnic6 --mtu = 9000
esxcli jaringan ip antarmuka set ipv4 --interface-name = vmk6 --ipv4 = 192.158.50.156 --netmask = 255.255.255.0 --type = static
vim-cmd hostsvc / vmotion / vnic_set vmk6
esxcli network vswitch standard portgroup add --portgroup-name = iSCSI-vmnic7 --vswitch-name = vSwitch1
esxcli network ip interface add --interface-name = vmk7 --portgroup-name = iSCSI-vmnic7 --mtu = 9000
esxcli jaringan ip antarmuka set ipv4 --interface-name = vmk7 --ipv4 = 192.158.50.157 --netmask = 255.255.255.0 --type = static
vim-cmd hostsvc / vmotion / vnic_set vmk7
saya. # buat grup port untuk iSCSI dan vmkernels untuk ESX02 bukan ESX01
esxcli network vswitch standard portgroup add --portgroup-name = iSCSI-vmnic2 --vswitch-name = vSwitch1
esxcli network ip interface add --interface-name = vmk2 --portgroup-name = iSCSI-vmnic2 --mtu = 9000
esxcli jaringan ip antarmuka set ipv4 --interface-name = vmk2 --ipv4 = 192.168.50.162 --netmask = 255.255.255.0 --type = static
vim-cmd hostsvc / vmotion / vnic_set vmk2
esxcli network vswitch standard portgroup add --portgroup-name = iSCSI-vmnic3 --vswitch-name = vSwitch1
esxcli network ip interface add --interface-name = vmk3 --portgroup-name = iSCSI-vmnic3 --mtu = 9000
esxcli jaringan ip antarmuka set ipv4 --interface-name = vmk3 --ipv4 = 192.168.50.163 --netmask = 255.255.255.0 --type = static
vim-cmd hostsvc / vmotion / vnic_set vmk3
esxcli network vswitch standard portgroup add --portgroup-name = iSCSI-vmnic6 --vswitch-name = vSwitch1
esxcli network ip interface add --interface-name = vmk6 --portgroup-name = iSCSI-vmnic6 --mtu = 9000
esxcli jaringan ip antarmuka set ipv4 --interface-name = vmk6 --ipv4 = 192.168.50.166 --netmask = 255.255.255.0 --type = static
vim-cmd hostsvc / vmotion / vnic_set vmk6
esxcli network vswitch standard portgroup add --portgroup-name = iSCSI-vmnic7 --vswitch-name = vSwitch1
esxcli network ip interface add --interface-name = vmk7 --portgroup-name = iSCSI-vmnic7 --mtu = 9000
esxcli jaringan ip antarmuka set ipv4 --interface-name = vmk7 --ipv4 = 192.168.50.167 --netmask = 255.255.255.0 --type = static
vim-cmd hostsvc / vmotion / vnic_set vmk7
j. # atur NIC aktif untuk setiap vmkernel iSCSI
jaringan esxcli vswitch standar set kegagalan kebijakan portgroup --portgroup-name = iSCSI-vmnic2 --active-uplinks = vmnic2
jaringan esxcli vswitch standar kegagalan set portgroup kebijakan --portgroup-name = iSCSI-vmnic3 --active-uplinks = vmnic3
jaringan esxcli vswitch standar set kegagalan kebijakan portgroup --portgroup-name = iSCSI-vmnic6 --active-uplinks = vmnic6
jaringan esxcli vswitch standar set kegagalan kebijakan portgroup --portgroup-name = iSCSI-vmnic7 --active-uplinks = vmnic7
k. # buat grup port
esxcli network vswitch standard portgroup add --portgroup-name = VMNetwork1 --vswitch-name = vSwitch0
esxcli network vswitch standard portgroup add --portgroup-name = VMNetwork2 --vswitch-name = vSwitch0
esxcli network vswitch standard portgroup add --portgroup-name = VMNetwork3 --vswitch-name = vSwitch0
l. # atur VLAN ke grup port VM
jaringan esxcli vswitch standar portgroup set -p VMNetwork1 --vlan-id ##
jaringan esxcli vswitch standar portgroup set -p VMNetwork2 --vlan-id ##
jaringan esxcli vswitch standar portgroup set -p VMNetwork3 --vlan-id ###
m. # hapus portgroup VM default
jaringan esxcli vswitch portgroup standar hapus --portgroup-name = "VM Network" -v = vSwitch0
n. # aktifkan Adaptor Perangkat Lunak iSCSI
set perangkat lunak esxcli iscsi --enabled = true
esxcli iscsi networkportal add -A vmhba33 -n vmk2
esxcli iscsi networkportal add -A vmhba33 -n vmk3
esxcli iscsi networkportal add -A vmhba33 -n vmk6
esxcli iscsi networkportal add -A vmhba33 -n vmk7
Hai. # ubah nama datastore lokal
hostname> $ var =
vim-cmd hostsvc / datastore / rename datastore1 local-
$var
hal. #Tentukan Native Multi Path Storage Array Type Plugin untuk EMC VNXe 3300 dan sempurnakan round-robin IOPS dari 1000 hingga 1
aturan satmp nmp penyimpanan tambahan menambahkan --satp = "VMW_SATP_DEFAULT_AA" --vendor = "EMC" -P "VMW_PSP_RR" -O "iops = 1"
q. # menyegarkan jaringan
penyegaran firewall jaringan esxcli
vim-cmd hostsvc / net / refresh
Sebuah. Konfigurasi -> Konfigurasi Waktu -> Properti -> Opsi -> Pengaturan NTP -> Tambah -> ntp.mydomain.net -> Centang "Restart layanan NTP untuk menerapkan perubahan" -> OK -> tunggu ... -> Pilih "Mulai dan berhenti dengan host" -> OK -> Periksa "NTP Client Diaktifkan -> OK
Nyalakan Ulang Host
Lanjutkan dengan Penyediaan Penyimpanan EMC VNXe, kembali ke panduan ini setelah selesai
Masuk ke klien vSphere per host
Tingkatkan setiap Datastore ke VMFS-5
Sebuah. Konfigurasi -> Penyimpanan -> Sorot Datastore -> Tingkatkan ke VMFS-5
sumber
Sayangnya, saya pikir tidak ada yang salah dengan pengaturan Anda. Anda tidak bisa menggunakan lebih dari 1 Gb / s untuk satu VM.
Intinya di sini adalah bahwa Anda tidak ingin hanya menggunakan dua (atau lebih) NIC, Anda ingin menggunakannya secara bersamaan , dalam konfigurasi seperti RAID-0.
802.3ad, standar tentang agregasi level-tautan dan yang saya pikir Anda konfigurasikan pada sakelar Anda, biasanya tidak dapat dikonfigurasikan untuk menghapus satu koneksi di NIC yang berbeda. Ini karena cara pemilihan antarmuka-alg bekerja: ini didasarkan pada src dan dst MACs dan / atau IP / port, dan satu koneksi akan selalu memiliki MACs / IPs / port yang sama .
Ini tidak berarti bahwa pengaturan Anda tidak dapat mendorong angka yang lebih tinggi (baik sebagai tput dan IOPS), tetapi ini memberikan batasan keras pada seberapa banyak kinerja yang dapat diekstrak oleh VM tunggal. Cobalah untuk memuat 2 atau 4 instance IOMeter pada 2/4 VM yang berbeda: Saya bertaruh bahwa agregat tput akan jauh lebih tinggi daripada patokan VM tunggal, tetapi tidak ada satu mesin pun yang akan melewati batas 1 Gb / s.
Linux bridging dan beberapa saklar kelas atas mendukung metode agregasi tautan yang berbeda dan memungkinkan antarmuka jaringan teragregasi penuh. Namun ini memiliki konsekuensi non sepele tentang bagaimana switch / sistem lain berinteraksi dengan metode agregasi "non-standar" ini.
Bagaimanapun, untuk jaringan penyimpanan, Anda harus benar-benar mengaktifkan frame jumbo, jika didukung.
sumber