Trong VMware vSphere, bạn có thể dùng ổ đĩa iSCSI làm datastore chia sẻ cho các ESXi host. ESXi host truy cập iSCSI storage qua mạng cục bộ dùng giao thức TCP. Trong bài viết này, chúng ta sẽ xem cách thêm iSCSI LUN vào VMware ESXi host và tạo shared VMFS datastore trên nó.
Giả sử bạn đã tạo, cấu hình, và publish iSCSI target (ổ đĩa) trên thiết bị lưu trữ (mảng) của mình. Ngoài ra, bạn có thể dùng ổ đĩa ảo (VHDX) lưu trữ trên Windows Server làm iSCSI target.
Đảm bảo bạn cho phép ESXi host (iSCSI initiators) kết nối với iSCSI target trong cấu hình storage. Bạn có thể định địa chỉ iSCSI target dùng IQN (cách lấy IQN của iSCSI adapter trong ESXi được chỉ dưới), tên DNS, IP, hoặc địa chỉ MAC.
Trong ví dụ này, chúng ta dùng host độc lập chạy VMware ESXi 6.7 (bạn cũng có thể dùng ESXi Hypervisor miễn phí). Đây có thể là host vật lý hoặc máy ảo (đây là ví dụ chạy ESXi trong VM Hyper-V). Có hai giao diện mạng trong host (thứ nhất cho quản trị và thứ hai cho lưu lượng iSCSI).
Cấu hình mạng cho lưu lượng iSCSI trên VMware ESXi
Mở giao diện web quản lý ESXi host (https://YOUR_ESXI_HOST/ui/#/login).
Trước hết, tạo một giao diện mạng VMkernel riêng sẽ được dùng bởi ESXi host để truy cập iSCSI storage. Mở Networking → VMkernel NICs → Add VMkernel NIC.
Ngoài cổng vmk, tạo một port group mới (New port group). Chỉ định tên nhóm (iSCSI) và gán địa chỉ IP tĩnh cho giao diện vmkernel.

Sau đó mở cài đặt vSwitch0 mặc định (Networking -> Virtual Switches). Đảm bảo giao diện vật lý thứ hai (vmnic1) của host đã được thêm vào cấu hình và đang active (ngược lại, nhấp Add uplink để thêm).

Trong phần NIC Teaming, đảm bảo cả hai giao diện vật lý đều Active.

Sau đó trong cài đặt port group iSCSI, bạn cần cho phép chỉ giao diện thứ hai dùng cho lưu lượng iSCSI. Đi đến Networking → Port groups → iSCSI → Edit settings. Mở rộng phần NIC teaming và chọn Override failover order = Yes. Để vmnic1 active và đặt Unused cho cổng vmnic0.

Kết quả, ESXi host sẽ chỉ dùng một giao diện mạng để truy cập iSCSI LUN.
Cấu hình iSCSI Software trên VMware ESXi
iSCSI software adapter mặc định bị tắt trong ESXi. Để bật nó, mở Storage → Adapters. Nhấp Software iSCSi.

Thay đổi iSCSI enable thành Enabled.
Lưu ý ở đây bạn có thể lấy IQN của iSCSI adapter (initiator). Bạn có thể dùng nó để cấu hình truy cập iSCSI LUN trong cài đặt mảng lưu trữ.
Sau đó thêm địa chỉ IP iSCSI storage và cổng kết nối (mặc định TCP Port 3260 dùng cho lưu lượng iSCSI) trong phần Dynamic targets. ESXi sẽ quét tất cả iSCSI target trên storage và hiển thị chúng trong danh sách Static Targets.
Ở đây bạn có thể cấu hình xác thực CHAP, nhưng nó là tùy chọn trong môi trường test.
Lưu cài đặt. Lưu ý rằng một iSCSI Software Adapter HBA mới vmhba65 xuất hiện trong tab Storage → Adapters.

Nếu ESXi host kết nối với vCenter, mở Configure → Storage → Storage Adapters để thêm iSCSI LUN. Chọn Software iSCSI adapter và chỉ định tên hoặc IP iSCSI storage trong tab Dynamic Discovery. Nhấp Rescan. Danh sách iSCSI target khả dụng sẽ xuất hiện trong tab Static Discovery.

Nếu bạn không thấy danh sách iSCSI target trong storage, bạn có thể chẩn đoán tính khả dụng ổ iSCSI từ console ESXi.
Bật SSH trên ESXi host và kết nối bằng bất kỳ SSH client nào (tôi dùng SSH client tích hợp Windows 10):
ssh root@192.168.113.50
Dùng lệnh dưới để kiểm tra khả dụng iSCSI storage (192.168.113.10) từ vmkernel port chỉ định (vmk1):
# vmkping -I vmk1 192.168.113.10

Trong ví dụ này, iSCSI storage phản hồi ping.
Sau đó kiểm tra cổng TCP 3260 iSCSI có sẵn trên storage dùng netcat (trong ví dụ này, 192.168.113.60 là IP của giao diện vmk1):
# nc -s 192.168.113.60 -z 192.168.113.10 3260
Connection to 192.168.113.10 3260 port [tcp/*] succeeded!

Đảm bảo software iSCSI được bật trên ESXi host:
# esxcli iscsi software get
true
Bật nếu cần:
# esxcli iscsi software set -e true
Software iSCSI Enabled
Bạn cũng có thể lấy cài đặt hiện tại của software iSCSI HBA adapter như sau:
# esxcli iscsi adapter get -A vmhba65

vmhba65 Name: iqn.1998-01.com.vmware:srv-esx1-1234abcd Alias: Vendor: VMware Model: iSCSI Software Adapter Description: iSCSI Software Adapter Serial Number: Hardware Version: Asic Version: Firmware Version: Option Rom Version: Driver Name: iscsi_vmk Driver Version: TCP Protocol Supported: false Bidirectional Transfers Supported: false Maximum Cdb Length: 64 Can Be NIC: false Is NIC: false Is Initiator: true Is Target: false Using TCP Offload Engine: false Using ISCSI Offload Engine: false
Tạo VMFS Datastore trên iSCSI LUN trong VMware ESXi
Sau đó bạn có thể tạo VMFS (Virtual Machine File System) datastore để lưu file máy ảo trên iSCSI LUN đã kết nối.
Mở Storage → Datastores → New datastore.

Nhập tên VMFS datastore và chọn iSCSI LUN để tạo.

Chọn VMFS 6 làm hệ thống file và chỉ định bạn muốn dùng toàn bộ thể tích ổ iSCSI cho datastore. Sau vài giây, VMFS datastore mới sẽ có sẵn trên ESXi.

Nếu VMFS datastore đã được tạo trên LUN này, nó sẽ ngay lập tức xuất hiện trong danh sách Storage Devices khả dụng trên host.

Vậy là bạn đã kết nối ổ iSCSI với ESXi host và tạo VMFS datastore trên nó. Nhiều ESXi server có thể truy cập đồng thời datastore này. Bây giờ bạn có shared storage, và nếu cấu hình VMware vCenter server, bạn sẽ có thể dùng vMotion để di chuyển VM đang chạy giữa các host.