Cách bẻ khóa giới hạn iSCSI 1 Gbit giữa ESXi và VNXe


15

Tôi đang gặp rắc rối lớn với mạng iSCSI của mình và dường như không thể khiến nó hoạt động nhanh nhất có thể.

Vì vậy, tôi đã cố gắng khá nhiều thứ để đạt được hiệu suất đầy đủ từ SAN của mình, có sự tham gia của các chuyên gia về VMware và EMC.

Mô tả ngắn về thiết bị của tôi: 3x HP DL360 G7 / vSphere 5.5 / 4 trên bo mạch chủ / 4 PCIe Intel cho iSCSI 2x HP 2510-24G 1x Bộ xử lý lưu trữ EMC VNXe 3100/2, mỗi bộ xử lý 2 iSCSI / RAID 15k SAS RAID10 / 6x 7.2k SAS RAID6

Tôi đã thực hành tốt nhất và đặt các nhóm lưu trữ đồng đều trên cả hai Máy chủ iSCSI. Tôi đã tạo 2 máy chủ iSCSI, một trên mỗi bộ xử lý lưu trữ. Vui lòng xem hình ảnh cho cấu hình iSCSI của tôi.

cấu hình iSCSI

Lưu lượng iSCSI được phân tách thông qua Vlan (cấm đặt cho các Vlan khác), tôi thậm chí đã thử nó với một công tắc HP khác của dòng 29xx. Kiểm soát luồng được bật (cũng đã thử tắt), Jumbo bị tắt. Không có định tuyến liên quan.

Trên máy chủ ESX, tất cả các NIC iSCSI đang được sử dụng khi tôi sử dụng cài đặt Round Robin cho mọi kho dữ liệu. Tôi cũng đã thử nó với chính sách thay đổi đường dẫn là 1 IO vì rất nhiều người khác dường như đã đạt được hiệu suất theo cách đó. Tôi cũng đã thử các NIC nội bộ (Broadcom), nhưng không có gì khác biệt. Trên các thiết bị chuyển mạch, tôi có thể thấy rằng các cổng đang được sử dụng rất đồng đều, phía ESX và phía VNXe. Tôi có một sự cân bằng tải hoàn hảo, TUY NHIÊN: Tôi không thể vượt qua tổng số 1 Gbit. Tôi hiểu rằng VNXe được tối ưu hóa cho nhiều kết nối và Round Robin cũng cần điều đó, nhưng ngay cả khi tôi thực hiện lưu trữ vMotion giữa 2 máy chủ và 2 kho dữ liệu (sử dụng các máy chủ iSCSI khác nhau), tôi có thể thấy một đường thẳng khoảng 84 MBit / s thông qua giao diện web Unisphere. Tôi có thể thấy dòng đó thường xuyên ở cùng một giá trị mà tôi không thể tin rằng các đĩa của mình sẽ không ' T cung cấp nhiều hơn hoặc các nhiệm vụ không đòi hỏi đủ. Nó thậm chí còn tốt hơn: Chỉ với một cáp trên mỗi máy chủ và mỗi bộ xử lý lưu trữ, tôi đạt được hiệu suất CÙNG. Vì vậy, tôi đã có rất nhiều dư thừa nhưng không có thêm tốc độ.

Như tôi đã thấy khá nhiều người nói về hiệu suất iSCSI của họ, tôi rất muốn tìm hiểu xem có vấn đề gì với cấu hình của tôi (đã được kiểm tra và xác minh bởi những người được đào tạo về VMware và EMC). Tôi biết ơn mọi ý kiến!

BIÊN TẬP:

Có, tôi đã cấu hình vMotion để sử dụng nhiều NIC. Bên cạnh đó, vMotion lưu trữ luôn đi qua các bộ điều hợp iSCSI chứ không phải bộ điều hợp vMotion. Tôi đã đính kèm ảnh chụp màn hình cấu hình của tôi.

ràng buộc cổng iSCSI

Điểm đến iSCSI

Đường dẫn iSCSI

Tôi biết lưu trữ vMotion không có điểm chuẩn, tuy nhiên tôi đã phải làm rất nhiều việc này trong vài ngày qua và giới hạn trên luôn ở mức khoảng 80 MB / s. Một nhóm 6x 15k 600 GB SAS trong RAID 10 sẽ dễ dàng có thể đưa ra nhiều hơn nữa, bạn có nghĩ vậy không? Tôi đã làm một bài kiểm tra IO Meter cho bạn - đã thử một vài trong số chúng, nhanh nhất là 256 KiB 100% Đọc. Tôi đã nhận được 64,45 MB / s - Unisphere của tôi cũng cho thấy tốc độ tương tự. Đó là trong một máy ảo được lưu trữ trên một ổ đĩa 6x 15k 300 GB SAS (RAID 10) mà hầu như không có hoạt động nào khác vào thời điểm này trong ngày.

Máy đo IO

Vô song

EDIT2:

Xin lỗi vì tên người dùng trùng lặp, nhưng tôi đã viết câu hỏi này tại nơi làm việc và nó không sử dụng tên người dùng của tôi mà tôi đã có tại Stock Overflow. Tuy nhiên, đây là ảnh chụp màn hình hiển thị các cài đặt Round Robin của tôi. Nó là như nhau trên tất cả các máy chủ và tất cả các cửa hàng.

Vòng Robin


Tôi không nghĩ bất cứ điều gì là sai. Chính xác những gì bạn đang mong đợi? Bạn đã cấu hình vMotion đa-NIC?
ewwhite

3
Làm vmotion lưu trữ không phải là một chuẩn mực cho các hệ thống lưu trữ, vì vmkernel bị hạn chế đối với việc sử dụng I / O và CPU. Bạn đã thử dùng điểm chuẩn bằng iometer chưa? Loại đĩa nào trong VNXe và loại thiết lập nhóm đột kích / lưu trữ nào?
pauseka

Ngoài ra, bạn có thể đăng ảnh chụp màn hình "đường dẫn quản lý" LUN bên trong vSphere không?
pauseka

Bạn đã đăng nhập với một người dùng khác với bạn đã sử dụng để đặt câu hỏi, do đó, chỉnh sửa của bạn bị kẹt trong hàng đợi.
pauseka

Cảm ơn vì ảnh chụp màn hình, nhưng nó vẫn không phải là cái tôi yêu cầu. Nhấp vào một trong các máy chủ esxi của bạn, tab cấu hình, kho dữ liệu, chọn kho dữ liệu bạn muốn khắc phục sự cố và nhấp vào liên kết "Thuộc tính" ở dưới cùng bên phải. Sau đó bấm vào "quản lý đường dẫn" và gửi cho chúng tôi ảnh chụp màn hình của cửa sổ đó.
pauseka

Câu trả lời:


1

Có thể là bạn không tạo đủ IOPS để điều này thực sự bắt đầu.
Có một cái nhìn ở đây về cách thay đổi các thiết lập mặc định từ 1.000 IOPS đến một giá trị nhỏ hơn. (Đây là đặc trưng đối xứng, nhưng bạn có thể làm tương tự cho Nhà cung cấp Robin Round Round của VMWare)

Tuy nhiên tôi vẫn chưa bị thuyết phục nếu nó thực sự có thể sử dụng nhiều hơn một liên kết hoàn toàn song song với chỉ một kho dữ liệu. Tôi nghĩ rằng bạn phải thực hiện kiểm tra IOMeter trên nhiều kho dữ liệu song song để thấy được lợi ích. (Không chắc chắn 100%)


Như đã nêu trong câu hỏi của tôi, tôi đã đặt chính sách thay đổi đường dẫn thành 1 thay vì 1.000 - không thực sự thay đổi nhiều.
Ryan Hardy

Aah, tôi phải bỏ qua phần đó, xin lỗi.
MichelZ

1

Tạo quy tắc SATP cho nhà cung cấp lưu trữ có tên EMC, đặt chính sách đường dẫn là Round Robine và IOPS từ mặc định 1000 đến 1. Điều này sẽ tồn tại trong suốt quá trình khởi động lại và bất cứ khi nào EMC iSCSI LUN mới được đưa ra, quy tắc này sẽ được chọn. Để áp dụng điều này cho các EMC iSCSI LUN hiện có, hãy khởi động lại máy chủ.

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

Tôi đã chơi xung quanh với việc thay đổi IOPS trong khoảng 1 - 3 và thấy hoạt động tốt nhất trên một VM. Điều đó nói rằng, nếu bạn có nhiều VM và nhiều kho dữ liệu, 1 có thể không tối ưu ...

Hãy chắc chắn rằng bạn có mỗi giao diện trên VNXe được đặt thành 9000 MTU. Ngoài ra, vSwitch với giao diện iSCSI của bạn phải được đặt thành 9000 MTU cùng với mỗi VMKernel. Trên VNXe của bạn, tạo hai Máy chủ iSCSI - một cho SPA và một cho SPB. Liên kết một IP cho mỗi ban đầu. Sau đó xem chi tiết cho từng Máy chủ iSCSI và thêm IP bổ sung cho từng giao diện hoạt động trên mỗi SP. Điều này sẽ cung cấp cho bạn hiệu suất vòng tròn bạn đang tìm kiếm.

Sau đó tạo tối thiểu hai kho dữ liệu. Liên kết một kho dữ liệu với iSCSIServer-SPA và một với iSCSIServer-SPB. Điều này sẽ đảm bảo một trong những SP của bạn không ngồi yên ở đó.

Cuối cùng, tất cả các giao diện ở phía ESX đang được sử dụng cho iSCSI sẽ chuyển đến một vSwitch riêng với tất cả các giao diện là hoạt động. Tuy nhiên, bạn sẽ muốn một VMkernel cho mỗi giao diện ở phía ESX trong vSwitch được chỉ định đó. Bạn phải ghi đè thứ tự chuyển đổi dự phòng vSwitch cho mỗi VMKernel để có một bộ điều hợp hoạt động và tất cả các bộ chuyển đổi khác không sử dụng. Đây là kịch bản triển khai của tôi, tôi đã sử dụng để cung cấp máy chủ ESX. Mỗi máy chủ lưu trữ có tổng cộng 8 giao diện, 4 cho LAN và 4 cho lưu lượng iSCSI / VMotion.

  1. Thực hiện cấu hình dưới đây

a. # DNS esxcli mạng ip dns tìm kiếm thêm --domain = mydomain.net

máy chủ mạng esxcli ip máy chủ dns thêm --server = XXXX

máy chủ mạng esxcli ip máy chủ dns thêm --server = XXXX

b. # đặt cập nhật tên máy chủ phù hợp

tên máy chủ hệ thống esxcli được đặt --host = server1 --domain = mydomain.net

c. # thêm liên kết lên mạng vSwitch0 esxcli mạng vswitch tiêu chuẩn đường lên thêm --uplink-name = vmnic1 --vswitch-name = vSwitch0

mạng esxcli vswitch đường lên tiêu chuẩn thêm --uplink-name = vmnic4 --vswitch-name = vSwitch0

mạng esxcli vswitch đường lên chuẩn thêm --uplink-name = vmnic5 --vswitch-name = vSwitch0

d. # tạo vSwitch1 để lưu trữ và đặt MTU thành 9000

mạng esxcli vswitch chuẩn thêm --vswitch-name = vSwitch1

Bộ tiêu chuẩn vswitch của mạng esxcli --vswitch-name = vSwitch1 --mtu = 9000

e. # thêm liên kết lên vSwitch1

mạng esxcli vswitch tiêu chuẩn đường lên add --uplink-name = vmnic2 --vswitch-name = vSwitch1

mạng esxcli vswitch tiêu chuẩn đường lên add --uplink-name = vmnic3 --vswitch-name = vSwitch1

mạng esxcli vswitch tiêu chuẩn đường lên add --uplink-name = vmnic6 --vswitch-name = vSwitch1

mạng esxcli vswitch tiêu chuẩn đường lên add --uplink-name = vmnic7 --vswitch-name = vSwitch1

f. # đặt NIC hoạt động cho vSwitch0

Bộ chuyển đổi dự phòng chính sách tiêu chuẩn vswitch của mạng esxcli --vswitch-name = vSwitch0 --active-uplinks = vmnic0, vmnic1, vmnic4, vmnic5

g. # đặt NIC hoạt động cho vSwitch1

Bộ chuyển đổi dự phòng chính sách vswitch mạng esxcli --vswitch-name = vSwitch1 --active-uplinks = vmnic2, vmnic3, vmnic6, vmnic7

h. # tạo các nhóm cổng cho iSCSI và vmkernels cho ESX01 chứ không phải ESX02

mạng esxcli vswitch portgroup chuẩn add --portgroup-name = iSCSI-vmnic2 --vswitch-name = vSwitch1

Giao diện ip mạng esxcli thêm --interface-name = vmk2 --portgroup-name = iSCSI-vmnic2 --mtu = 9000

Giao diện ip mạng esxcli ipv4 set --interface-name = vmk2 --ipv4 = 192.158.50.152 --netmask = 255.255.255.0 --type = static

máy chủ vim-cmdvc / vmotion / vnic_set vmk2

mạng esxcli vswitch portgroup chuẩn add --portgroup-name = iSCSI-vmnic3 --vswitch-name = vSwitch1

Giao diện ip mạng esxcli thêm --interface-name = vmk3 --portgroup-name = iSCSI-vmnic3 --mtu = 9000

Giao diện ip mạng esxcli ipv4 set --interface-name = vmk3 --ipv4 = 192.158.50.153 --netmask = 255.255.255.0 --type = static

máy chủ vim-cmdvc / vmotion / vnic_set vmk3

mạng esxcli vswitch portgroup chuẩn add --portgroup-name = iSCSI-vmnic6 --vswitch-name = vSwitch1

Giao diện ip mạng esxcli thêm --interface-name = vmk6 --portgroup-name = iSCSI-vmnic6 --mtu = 9000

Giao diện ip mạng esxcli ipv4 set --interface-name = vmk6 --ipv4 = 192.158.50.156 --netmask = 255.255.255.0 --type = static

máy chủ vim-cmdvc / vmotion / vnic_set vmk6

mạng esxcli vswitch portgroup chuẩn add --portgroup-name = iSCSI-vmnic7 --vswitch-name = vSwitch1

Giao diện ip mạng esxcli thêm --interface-name = vmk7 --portgroup-name = iSCSI-vmnic7 --mtu = 9000

Giao diện ip mạng esxcli ipv4 set --interface-name = vmk7 --ipv4 = 192.158.50.157 --netmask = 255.255.255.0 --type = static

máy chủ vim-cmdvc / vmotion / vnic_set vmk7

Tôi. # tạo các nhóm cổng cho iSCSI và vmkernels cho ESX02 chứ không phải ESX01

mạng esxcli vswitch portgroup chuẩn add --portgroup-name = iSCSI-vmnic2 --vswitch-name = vSwitch1

Giao diện ip mạng esxcli thêm --interface-name = vmk2 --portgroup-name = iSCSI-vmnic2 --mtu = 9000

Giao diện ip mạng esxcli ipv4 set --interface-name = vmk2 --ipv4 = 192.168.50.162 --netmask = 255.255.255.0 --type = static

máy chủ vim-cmdvc / vmotion / vnic_set vmk2

mạng esxcli vswitch portgroup chuẩn add --portgroup-name = iSCSI-vmnic3 --vswitch-name = vSwitch1

Giao diện ip mạng esxcli thêm --interface-name = vmk3 --portgroup-name = iSCSI-vmnic3 --mtu = 9000

Giao diện ip mạng esxcli ipv4 set --interface-name = vmk3 --ipv4 = 192.168.50.163 --netmask = 255.255.255.0 --type = static

máy chủ vim-cmdvc / vmotion / vnic_set vmk3

mạng esxcli vswitch portgroup chuẩn add --portgroup-name = iSCSI-vmnic6 --vswitch-name = vSwitch1

Giao diện ip mạng esxcli thêm --interface-name = vmk6 --portgroup-name = iSCSI-vmnic6 --mtu = 9000

Giao diện ip mạng esxcli ipv4 set --interface-name = vmk6 --ipv4 = 192.168.50.166 --netmask = 255.255.255.0 --type = static

máy chủ vim-cmdvc / vmotion / vnic_set vmk6

mạng esxcli vswitch portgroup chuẩn add --portgroup-name = iSCSI-vmnic7 --vswitch-name = vSwitch1

Giao diện ip mạng esxcli thêm --interface-name = vmk7 --portgroup-name = iSCSI-vmnic7 --mtu = 9000

Giao diện ip mạng esxcli ipv4 set --interface-name = vmk7 --ipv4 = 192.168.50.167 --netmask = 255.255.255.0 --type = static

máy chủ vim-cmdvc / vmotion / vnic_set vmk7

j. # đặt NIC hoạt động cho mỗi vmkernel iSCSI

Bộ chuyển đổi dự phòng chính sách portgroup tiêu chuẩn của mạng esxcli - portgroup-name = iSCSI-vmnic2 --active-uplinks = vmnic2

Bộ chuyển đổi dự phòng chính sách nhóm vswitch của mạng esxcli - portgroup-name = iSCSI-vmnic3 --active-uplinks = vmnic3

Bộ chuyển đổi dự phòng chính sách nhóm vswitch của mạng esxcli - portgroup-name = iSCSI-vmnic6 --active-uplinks = vmnic6

Bộ chuyển đổi dự phòng chính sách nhóm vswitch của mạng esxcli - portgroup-name = iSCSI-vmnic7 --active-uplinks = vmnic7

k. # tạo nhóm cổng

mạng esxcli vswitch portgroup chuẩn add --portgroup-name = VMNetwork1 --vswitch-name = vSwitch0

mạng esxcli vswitch portgroup chuẩn add --portgroup-name = VMNetwork2 --vswitch-name = vSwitch0

mạng esxcli vswitch portgroup chuẩn add --portgroup-name = VMNetwork3 --vswitch-name = vSwitch0

l. # đặt Vlan thành các nhóm cổng VM

esxcli mạng vswitch portgroup set set -p VMNetwork1 --vlan-id ##

esxcli mạng vswitch portgroup set set -p VMNetwork2 --vlan-id ##

nhóm esxcli mạng vswitch tiêu chuẩn thiết lập nhóm -p VMNetwork3 --vlan-id ###

m. # xóa nhóm port VM mặc định

esxcli mạng vswitch portgroup tiêu chuẩn loại bỏ --portgroup-name = "Mạng VM" -v = vSwitch0

n. # kích hoạt Bộ điều hợp phần mềm iSCSI

bộ phần mềm esxcli iscsi --enables = true

esxcli iscsi mạng cổng bổ sung -A vmhba33 -n vmk2

esxcli iscsi mạng cổng bổ sung -A vmhba33 -n vmk3

esxcli iscsi mạng cổng bổ sung -A vmhba33 -n vmk6

esxcli iscsi mạng cổng bổ sung -A vmhba33 -n vmk7

o. # đổi tên kho dữ liệu cục bộ

tên máy chủ> $ var =

vim-cmd hostsvc / datastore / đổi tên datastore1 local-$var

tr. #Define Trình cắm loại mảng lưu trữ đa đường dẫn riêng cho EMC VNXe 3300 và điều chỉnh IOPS vòng tròn từ 1000 đến 1

quy tắc lưu trữ esxcli nmp satp thêm --satp = "VMW_SATP_DEFAULT_AA" --vendor = "EMC" -P "VMW_PSP_RR" -O "iops = 1"

q. # làm mới mạng

làm mới tường lửa mạng esxcli

máy chủ vim-cmdvc / net / refresh

  1. Định cấu hình ứng dụng khách NTP bằng vSphere Client cho mỗi máy chủ

a. Cấu hình -> Cấu hình thời gian -> Thuộc tính -> Tùy chọn -> Cài đặt NTP -> Thêm -> ntp.mydomain.net -> Kiểm tra "Khởi động lại dịch vụ NTP để áp dụng thay đổi" -> OK -> chờ đợi -> Chọn "Bắt đầu và dừng với máy chủ" -> OK -> Kiểm tra "Máy khách NTP được bật -> OK

  1. Khởi động lại máy chủ

  2. Tiếp tục với Cấp phép lưu trữ EMC VNXe, quay lại hướng dẫn này khi hoàn tất

  3. Đăng nhập vào vSphere client trên mỗi máy chủ

  4. Nâng cấp mỗi Kho dữ liệu lên VMFS-5

a. Cấu hình -> Lưu trữ -> Kho dữ liệu nổi bật -> Nâng cấp lên VMFS-5


0

Thật không may, tôi nghĩ rằng không có gì là sai với thiết lập của bạn. Bạn chỉ đơn giản là không thể sử dụng nhiều hơn 1 Gb / s cho một VM.

Vấn đề ở đây là bạn không muốn đơn giản sử dụng hai (hoặc nhiều) NIC, bạn muốn sử dụng chúng đồng thời , trong cấu hình giống như RAID-0.

802.3ad, tiêu chuẩn về tổng hợp cấp độ liên kết và tôi nghĩ rằng bạn đã định cấu hình trên các công tắc của mình, thường không thể được định cấu hình để kết nối một kết nối duy nhất trên các NIC khác nhau. Điều này là do cách lựa chọn alg giao diện hoạt động: nó dựa trên các src và dst MAC và / hoặc IP / cổng, và một kết nối sẽ luôn có cùng MAC / IP / cổng .

Điều này không có nghĩa là thiết lập của bạn không thể đẩy số lượng cao hơn (cả dưới dạng thông số và IOPS), nhưng điều này đặt ra giới hạn cứng về hiệu suất có thể trích xuất một VM. Hãy thử tải 2 hoặc 4 phiên bản IOMeter trên 2/4 VM khác nhau: Tôi cá rằng tỷ lệ tổng hợp sẽ cao hơn so với điểm chuẩn VM đơn, nhưng không có máy đơn lẻ nào sẽ đi qua giới hạn 1 Gb / s.

Cầu nối Linux và một số bộ chuyển mạch cao cấp hỗ trợ các phương pháp tổng hợp liên kết khác nhau và cho phép giao diện mạng tổng hợp, sọc đầy đủ. Tuy nhiên, điều này có sự phân nhánh không tầm thường về cách các công tắc / hệ thống khác tương tác với các phương pháp tổng hợp "không chuẩn" này.

Dù sao, đối với mạng lưu trữ, bạn thực sự nên kích hoạt khung jumbo, nếu được hỗ trợ.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.