Traffic Shaping
Traffic shaping là khả năng kiểm soát số lượng lưu lượng được phép đi qua một liên kết. Nghĩa là, thay vì để lưu lượng truy cập đi nhanh nhất có thể, bạn có thể đặt giới hạn về số lượng lưu lượng truy cập có thể được gửi
Trong vSwitch Standard, chỉ có thể thực thi việc định hình lưu lượng truy cập trên lưu lượng gửi đi đang được gửi ra khỏi một đối tượng (ví dụ như port VMkernel hoặc port VM đến một đối tượng khác). Vmware gọi đây là lưu lượng truy cập xâm nhập “ingress traffic” (dữ liệu đi vào vSwitch thông qua các port ảo)
NIC Teaming
Load Balancing
Cân bằng tải cho phép phân phối lưu luọng truy cập từ máy ảo đến vSwitch và NIC
Có 4 thuật toán cân bằng tải khác nhau:
1. Route Based on Originating Virtual Port: là tùy chọn mặc định. Mỗi máy ảo chạy trên máy chủ ESXi đều có mã định danh riêng trên vSwitch. Để gán cổng uplink cho máy ảo, vSwitch sử dụng mã định danh cổng tương tự trên card mạng hoặc một nhóm card mạng. Khi một cổng uplink được gán, vSwitch phân phối lưu lượng cho một máy ảo thông qua cùng một cổng uplink miễn là máy ảo này hoạt động trên switch đó. vSwitch chỉ tính toán các uplink cho máy ảo một lần, trừ khi các uplink được thêm hoặc xóa khỏi nhóm NIC.
Nếu bạn di chuyển hoặc tắt máy ảo, mã nhận dạng của máy ảo trên vSwitch sẽ trở nên khả dụng, vSwitch ngừng gửi lưu lượng đến cổng này làm giảm lưu lượng tổng thể được phân phối đến uplink được kết nối với nó
Ví dụ:
Nếu VM B off , thay vào đó bật VM F, sau đó bật lại VM B khi đó các kết nối của VM đến NC sẽ trở thành:
2. Route Based on Source MAC Hash
vSwitch lựa chọn uplink cho máy ảo dựa trên địa chỉ MAC của máy ảo theo công thức
Uplink = HEX(LSB of VM MAC Address) mod (Number of uplinks)
Ví dụ: Giả sử có 3 uplink và 6 VM có địa chỉ MAC như bảng sau:
Kết quả là:
3. Route Based on IP Hash
Để tính toán uplink cho máy ảo, vSwitch lấy octet cuối cùng của cả địa chỉ IP nguồn và đích trong gói, đặt chúng thông qua thao tác XOR, sau đó chạy kết quả thông qua một phép tính khác dựa trên số lượng uplink trong máy ảo
Ví dụ: VM-A (10.120.80.10) cần giao tiếp lần lượt với VM-B (10.120.80.11), VM-C (10.120.80.12)
Vậy VM-A qua VM-B qua NIC 1, VM-A qua VM-C qua NIC 0
4. Use Explicit Failover Order
Xác định thủ công những NIC nào sẽ được sử dụng ở chế độ Active và NIC nào sẽ được sử dụng ở chế độ Stanby trong trường hợp xảy ra lỗi. Điều này được thực hiện bằng cách tạo danh sách các NIC Active và NIC Stanby khi cấu hình Failover Order nhóm NIC.
Network Failure Detection
Bạn có thể chỉ định một trong các phương pháp sau mà switch ảo sử dụng để phát hiện chuyển đổi dự phòng
Notify Switches
Mặc định tùy chọn này sẽ được đặt thành “Yes”
Tất cả các thiết bị switch vật lý đều có bảng địa chỉ MAC mà chúng sử dụng để ánh xạ các cổng tới địa chỉ MAC. Khi một MAC address đích trong frame không xuất hiện trong bảng MAC của switch nó sẽ gửi frame đến tất cả các cổng (trừ cổng mà nó nhận được frame), điều có thể làm tràn các cổng (flood)
Điều gì xảy ra khi một trong các uplink trong vSwitch bị lỗi và tất cả các máy ảo bắt đầu sử dụng uplink mới? Switch vật lý sẽ không biết VM hiện đang sử dụng cổng nào và sẽ phải dùng đến cách làm tràn các cổng hoặc đợi VM gửi một số lưu lượng để nó có thể tìm hiểu lại cổng mới. Thay vào đó, tùy chọn Notify Switches sẽ tăng tốc mọi thứ bằng cách gửi các khung Reverse Address Resolution Protocol (RARP) tới Switch vật lý thay mặt cho VM hoặc VM để switch cập nhật bảng địa chỉ MAC của nó. Tất cả điều này được thực hiện trước khi các khung bắt đầu đến từ máy ảo vMotioned mới, máy ảo mới được bật nguồn hoặc từ các máy ảo phía sau cổng uplink bị lỗi và đã được thay thế. Một cách dễ hiểu hơn rằng máy chủ ESXi sẽ gửi một bản cập nhật đặc biệt để cho switch vật lý biết rằng địa chỉ MAC hiện nằm trên một uplink mới để switch vật lý sẽ cập nhật bảng địa chỉ MAC của nó trước khi thực sự cần gửi khung đến địa chỉ MAC đó.
Failback
Nếu bạn có NIC dự phòng (standby) trong nhóm NIC, nó sẽ chuyển sang trạng thái “active” nếu không còn NIC hoạt động (active) nào trong nhóm.
Về cơ bản, nó sẽ cung cấp một số phần cứng dự phòng trong khi bạn tìm hiểu xem điều gì đã xảy ra với NIC bị lỗi. Khi bạn khắc phục sự cố với NIC active bị lỗi, cài đặt Failback sẽ xác định xem liệu NIC active bị lỗi trước đó có nên được đưa trở lại nhiệm vụ “Active” hay không.
Nếu bạn đặt giá trị này thành Có, NIC hiện đang hoạt động sẽ ngay lập tức trở lại trạng thái Active và NIC dự phòng sẽ trở lại trạng thái Standby. Mọi thứ được đưa trở lại như trước lỗi. Nếu bạn chọn “No”, NIC được thay thế sẽ không hoạt động cho đến khi một NIC khác bị lỗi hoặc bạn đưa nó về trạng thái “active”.
Failover Order
Nếu bạn muốn sử dụng một số uplink nhưng dành những số khác cho trường hợp khẩn cấp trong trường hợp các uplink sử dụng không thành công, hãy sử dụng các phím mũi tên lên và xuống để di chuyển các liên kết lên vào các nhóm khác nhau.
Traffic shaping là khả năng kiểm soát số lượng lưu lượng được phép đi qua một liên kết. Nghĩa là, thay vì để lưu lượng truy cập đi nhanh nhất có thể, bạn có thể đặt giới hạn về số lượng lưu lượng truy cập có thể được gửi
Trong vSwitch Standard, chỉ có thể thực thi việc định hình lưu lượng truy cập trên lưu lượng gửi đi đang được gửi ra khỏi một đối tượng (ví dụ như port VMkernel hoặc port VM đến một đối tượng khác). Vmware gọi đây là lưu lượng truy cập xâm nhập “ingress traffic” (dữ liệu đi vào vSwitch thông qua các port ảo)
- Average bandwidth (Kbps): Lượng băng thông trung bình, được đo bằng kilobit trên giây (Kbps), mà bạn cho phép bộ chuyển mạch gửi. Có thể có những khoảng thời gian ngắn mà lưu lượng truy cập vượt quá giá trị này một chút vì đây là giá trị trung bình theo thời gian nhưng trong hầu hết các trường hợp, giá trị này sẽ được thực thi và lưu lượng truy cập sẽ không nhanh hơn giới hạn tốc độ đã xác định được đặt ở đây
- Peak bandwidth (Kbps): Số bit tối đa mỗi giây cho phép qua một cổng khi nó gửi một lượng lớn lưu lượng. Cài đặt này vượt quá băng thông mà một cổng sử dụng bất cứ khi nào nó sử dụng burst bonus. Tham số này không bao giờ có thể nhỏ hơn băng thông trung bình.
- Burst size (KB): Burst size là số byte tối đa cho phép trong một cụm. Nếu tham số này được đặt, một cổng có thể nhận được burst bonus khi nó không sử dụng hết băng thông được phân bổ. Bất cứ khi nào cổng cần nhiều băng thông hơn băng thông trung bình chỉ định (Average bandwidth), cổng có thể tạm thời truyền dữ liệu ở tốc độ cao hơn nếu có burst bonus.
NIC Teaming
Load Balancing
Cân bằng tải cho phép phân phối lưu luọng truy cập từ máy ảo đến vSwitch và NIC
Có 4 thuật toán cân bằng tải khác nhau:
1. Route Based on Originating Virtual Port: là tùy chọn mặc định. Mỗi máy ảo chạy trên máy chủ ESXi đều có mã định danh riêng trên vSwitch. Để gán cổng uplink cho máy ảo, vSwitch sử dụng mã định danh cổng tương tự trên card mạng hoặc một nhóm card mạng. Khi một cổng uplink được gán, vSwitch phân phối lưu lượng cho một máy ảo thông qua cùng một cổng uplink miễn là máy ảo này hoạt động trên switch đó. vSwitch chỉ tính toán các uplink cho máy ảo một lần, trừ khi các uplink được thêm hoặc xóa khỏi nhóm NIC.
Nếu bạn di chuyển hoặc tắt máy ảo, mã nhận dạng của máy ảo trên vSwitch sẽ trở nên khả dụng, vSwitch ngừng gửi lưu lượng đến cổng này làm giảm lưu lượng tổng thể được phân phối đến uplink được kết nối với nó
Ví dụ:
Nếu VM B off , thay vào đó bật VM F, sau đó bật lại VM B khi đó các kết nối của VM đến NC sẽ trở thành:
2. Route Based on Source MAC Hash
vSwitch lựa chọn uplink cho máy ảo dựa trên địa chỉ MAC của máy ảo theo công thức
Uplink = HEX(LSB of VM MAC Address) mod (Number of uplinks)
Ví dụ: Giả sử có 3 uplink và 6 VM có địa chỉ MAC như bảng sau:
Tên VM | LSB MAC (hex) | LSB MAC (dec) | mod (Number of uplinks) | NIC |
VM-A | xxxx:39 | 57 | 57 mod 3 | 0 |
VM-B | xxxx:16 | 22 | 22 mod 3 | 1 |
VM-C | xxxx:0A | 10 | 10 mod 3 | 1 |
VM-D | xxxx:7A | 122 | 122 mod 3 | 2 |
VM-E | xxxx:BA | 186 | 186 mod 3 | 0 |
VM-F | xxxx:F5 | 245 | 245 mod 3 | 2 |
Kết quả là:
3. Route Based on IP Hash
Để tính toán uplink cho máy ảo, vSwitch lấy octet cuối cùng của cả địa chỉ IP nguồn và đích trong gói, đặt chúng thông qua thao tác XOR, sau đó chạy kết quả thông qua một phép tính khác dựa trên số lượng uplink trong máy ảo
Ví dụ: VM-A (10.120.80.10) cần giao tiếp lần lượt với VM-B (10.120.80.11), VM-C (10.120.80.12)
Source | Dest | XOR (SrcIP, DestIP) | (XOR (SrcIP, DestIP)) mod (number of uplink) | NIC | |
VM-A | VM-B | 10 -> 11 | 10 xor 11=1 | 1 mod 3 | 1 |
VM-A | VM-C | 10 -> 12 | 10 xor 12=6 | 6 mod 3 | 0 |
Vậy VM-A qua VM-B qua NIC 1, VM-A qua VM-C qua NIC 0
4. Use Explicit Failover Order
Xác định thủ công những NIC nào sẽ được sử dụng ở chế độ Active và NIC nào sẽ được sử dụng ở chế độ Stanby trong trường hợp xảy ra lỗi. Điều này được thực hiện bằng cách tạo danh sách các NIC Active và NIC Stanby khi cấu hình Failover Order nhóm NIC.
Network Failure Detection
Bạn có thể chỉ định một trong các phương pháp sau mà switch ảo sử dụng để phát hiện chuyển đổi dự phòng
- Link status only: Dựa vào link status của network adapter. Phát hiện các lỗi chẳng hạn như cáp bị tháo và lỗi nguồn trên switch vật lý. Link status only không phát hiện các lỗi cấu hình sau: cổng physical switch bị chặn bởi spanning tree hoặc cấu hình vlan sai, cáp kết nối switch vật lý với thiết bị switch khác
- Beacon probing: Gửi đi và lắng nghe các khung Ethernet broadcast hoặc các beacon probing mà các NIC vật lý gửi để phát hiện lỗi liên kết trong tất cả các NIC vật lý trong nhóm. Máy chủ ESXi gửi gói beacon mỗi giây.
Notify Switches
Mặc định tùy chọn này sẽ được đặt thành “Yes”
Tất cả các thiết bị switch vật lý đều có bảng địa chỉ MAC mà chúng sử dụng để ánh xạ các cổng tới địa chỉ MAC. Khi một MAC address đích trong frame không xuất hiện trong bảng MAC của switch nó sẽ gửi frame đến tất cả các cổng (trừ cổng mà nó nhận được frame), điều có thể làm tràn các cổng (flood)
Điều gì xảy ra khi một trong các uplink trong vSwitch bị lỗi và tất cả các máy ảo bắt đầu sử dụng uplink mới? Switch vật lý sẽ không biết VM hiện đang sử dụng cổng nào và sẽ phải dùng đến cách làm tràn các cổng hoặc đợi VM gửi một số lưu lượng để nó có thể tìm hiểu lại cổng mới. Thay vào đó, tùy chọn Notify Switches sẽ tăng tốc mọi thứ bằng cách gửi các khung Reverse Address Resolution Protocol (RARP) tới Switch vật lý thay mặt cho VM hoặc VM để switch cập nhật bảng địa chỉ MAC của nó. Tất cả điều này được thực hiện trước khi các khung bắt đầu đến từ máy ảo vMotioned mới, máy ảo mới được bật nguồn hoặc từ các máy ảo phía sau cổng uplink bị lỗi và đã được thay thế. Một cách dễ hiểu hơn rằng máy chủ ESXi sẽ gửi một bản cập nhật đặc biệt để cho switch vật lý biết rằng địa chỉ MAC hiện nằm trên một uplink mới để switch vật lý sẽ cập nhật bảng địa chỉ MAC của nó trước khi thực sự cần gửi khung đến địa chỉ MAC đó.
Failback
Nếu bạn có NIC dự phòng (standby) trong nhóm NIC, nó sẽ chuyển sang trạng thái “active” nếu không còn NIC hoạt động (active) nào trong nhóm.
Về cơ bản, nó sẽ cung cấp một số phần cứng dự phòng trong khi bạn tìm hiểu xem điều gì đã xảy ra với NIC bị lỗi. Khi bạn khắc phục sự cố với NIC active bị lỗi, cài đặt Failback sẽ xác định xem liệu NIC active bị lỗi trước đó có nên được đưa trở lại nhiệm vụ “Active” hay không.
Nếu bạn đặt giá trị này thành Có, NIC hiện đang hoạt động sẽ ngay lập tức trở lại trạng thái Active và NIC dự phòng sẽ trở lại trạng thái Standby. Mọi thứ được đưa trở lại như trước lỗi. Nếu bạn chọn “No”, NIC được thay thế sẽ không hoạt động cho đến khi một NIC khác bị lỗi hoặc bạn đưa nó về trạng thái “active”.
Failover Order
Nếu bạn muốn sử dụng một số uplink nhưng dành những số khác cho trường hợp khẩn cấp trong trường hợp các uplink sử dụng không thành công, hãy sử dụng các phím mũi tên lên và xuống để di chuyển các liên kết lên vào các nhóm khác nhau.
- Active adapters: Tiếp tục sử dụng uplink nếu adapter đang up và đang hoạt động
- Standby adapters: Sử dụng các uplink này nếu một trong các “active adapter” bị hỏng
- Unused adapters: Không bao giờ được vSwitch sử dụng, ngay cả khi tất cả các Active adapter và Standby adapter đều bị lỗi.