

Trong các hệ thống máy chủ, dữ liệu không phải lúc nào cũng được lưu trên ổ cứng gắn trực tiếp vào server. Doanh nghiệp có thể đặt tài nguyên lưu trữ trên một hệ thống riêng và cho nhiều máy chủ truy cập thông qua mạng. iSCSI là một trong những công nghệ giúp thực hiện mô hình này.
Vậy iSCSI là gì, hoạt động như thế nào và khác gì so với NAS hay Fibre Channel? Bài viết dưới đây sẽ giúp bạn hiểu rõ những khái niệm quan trọng của iSCSI cũng như trường hợp nên sử dụng giao thức này.
iSCSI (Internet Small Computer System Interface) là giao thức cho phép truyền các lệnh của giao thức SCSI qua mạng IP, phổ biến nhất là TCP/IP trên Ethernet.
Nói đơn giản hơn, thay vì máy chủ phải kết nối trực tiếp với ổ đĩa thông qua SATA, SAS hoặc một kết nối lưu trữ vật lý khác, iSCSI cho phép server truy cập tài nguyên lưu trữ nằm ở một thiết bị khác thông qua mạng.
Ví dụ, một hệ thống storage có thể cấp cho server một vùng lưu trữ 2 TB thông qua iSCSI. Sau khi kết nối thành công, hệ điều hành trên server có thể nhận vùng lưu trữ này như một block device và tiến hành tạo partition, filesystem cũng như lưu trữ dữ liệu trên đó.

Để hiểu iSCSI, trước tiên cần hiểu sơ lược về SCSI.
SCSI (Small Computer System Interface) là một tập hợp các giao thức được sử dụng để giao tiếp giữa máy tính với các thiết bị I/O, đặc biệt là thiết bị lưu trữ.
Điểm đặc biệt của iSCSI nằm ở chữ “i” – Internet.
Thay vì yêu cầu một kết nối SCSI vật lý truyền thống, iSCSI đóng gói các lệnh SCSI để truyền qua mạng TCP/IP.
Có thể hiểu:
Nhờ đó, server và storage không nhất thiết phải nằm trong cùng một thiết bị.
Mục tiêu chính của iSCSI là cung cấp block storage qua mạng.
Thay vì mỗi server sở hữu một lượng ổ đĩa riêng biệt, doanh nghiệp có thể xây dựng hệ thống lưu trữ tập trung rồi phân bổ tài nguyên cho nhiều máy chủ.
Một số ứng dụng phổ biến của iSCSI gồm:

Một hệ thống iSCSI thường có một số thành phần quan trọng như Initiator, Target và LUN.
iSCSI Initiator là thành phần khởi tạo kết nối và gửi yêu cầu truy cập storage.
Initiator thường nằm phía máy chủ cần sử dụng tài nguyên lưu trữ.
Ví dụ, một server chạy Windows Server hoặc Linux cần truy cập 5 TB storage trên một storage array. Phần mềm hoặc phần cứng iSCSI Initiator trên server sẽ chịu trách nhiệm thiết lập kết nối với iSCSI Target.
Initiator có thể được triển khai bằng:
Trong nhiều trường hợp thông thường, software initiator tích hợp trong hệ điều hành đã có thể đáp ứng nhu cầu.
Nếu Initiator là bên yêu cầu storage thì iSCSI Target là phía cung cấp storage.
Target có thể nằm trên:
Target chịu trách nhiệm tiếp nhận yêu cầu từ Initiator và cung cấp những vùng storage đã được phân quyền.
LUN (Logical Unit Number) được sử dụng để nhận diện một logical storage unit mà Target cung cấp cho Initiator.
Ví dụ một hệ thống storage có tổng cộng 100 TB nhưng quản trị viên không muốn cấp toàn bộ dung lượng đó cho một server.
Storage có thể được chia thành:
Mỗi máy chủ chỉ được truy cập những LUN đã được cấp quyền.
Khi server kết nối thành công, hệ điều hành có thể nhìn thấy LUN giống như một thiết bị block storage và sau đó tiến hành định dạng filesystem để sử dụng.
Trong môi trường iSCSI, Initiator và Target cần có định danh riêng.
Một trong những định dạng phổ biến là IQN (iSCSI Qualified Name).
IQN giúp hệ thống xác định chính xác Initiator hoặc Target trong mạng iSCSI, đặc biệt khi môi trường có nhiều server và nhiều thiết bị lưu trữ.
Không. iSCSI và SAN không phải cùng một khái niệm.
SAN là một kiến trúc mạng lưu trữ, trong khi iSCSI là một giao thức truyền dữ liệu block có thể được sử dụng trong SAN.
Một SAN có thể sử dụng nhiều công nghệ khác nhau, chẳng hạn:
Khi SAN sử dụng iSCSI chạy trên mạng IP, mô hình này thường được gọi là IP SAN.
Vì vậy, cách nói chính xác là: iSCSI có thể được sử dụng để xây dựng SAN, thay vì nói “iSCSI chính là SAN”.
iSCSI trở nên phổ biến bởi khả năng cung cấp block storage trên hạ tầng IP quen thuộc.
Một lợi thế đáng chú ý của iSCSI là có thể hoạt động trên Ethernet.
Doanh nghiệp không nhất thiết phải xây dựng một Fibre Channel fabric riêng ngay từ đầu mà có thể tận dụng kiến thức, thiết bị và kỹ năng quản trị mạng IP hiện có.
Ethernet được sử dụng rộng rãi trong trung tâm dữ liệu và hệ thống doanh nghiệp.
Trong nhiều môi trường, tận dụng hạ tầng Ethernet giúp giảm nhu cầu đầu tư các thiết bị mạng lưu trữ chuyên biệt.
Tuy nhiên, điều này không đồng nghĩa hệ thống iSCSI hiệu năng cao có thể sử dụng bất kỳ mạng LAN nào. Các workload quan trọng vẫn cần thiết kế network, redundancy và bandwidth phù hợp.
Một ưu điểm khác là khả năng tương thích.
iSCSI được hỗ trợ trên nhiều:
Đây là một trong những nguyên nhân khiến iSCSI được sử dụng rộng rãi trong hệ thống storage doanh nghiệp.
Một storage system có thể cung cấp nhiều LUN cho nhiều server khác nhau.
Đây là đặc điểm hữu ích đối với:
Khi nhu cầu lưu trữ tăng, doanh nghiệp có thể mở rộng storage tập trung thay vì phải bổ sung ổ cứng riêng cho từng máy chủ.
Cách tiếp cận này giúp việc phân bổ và quản lý tài nguyên storage linh hoạt hơn.

Bên cạnh ưu điểm, iSCSI cũng có những hạn chế cần cân nhắc.
Storage traffic được truyền qua network nên:
đều có thể ảnh hưởng đến hiệu năng I/O.
Vì vậy, hệ thống iSCSI quan trọng thường cần thiết kế mạng storage cẩn thận thay vì sử dụng chung một network đang quá tải.
iSCSI truyền dữ liệu thông qua TCP/IP nên việc xử lý network stack cũng tiêu tốn một lượng tài nguyên nhất định.
Một số network adapter chuyên dụng có thể hỗ trợ TCP hoặc iSCSI offload nhằm giảm tải cho CPU.
Một hệ thống iSCSI nhỏ tương đối dễ triển khai.
Tuy nhiên khi mở rộng lên hàng chục hoặc hàng trăm server, quản trị viên có thể phải xử lý thêm:
Do đó, iSCSI không đơn giản chỉ là “cắm storage vào mạng Ethernet”.
Fibre Channel và iSCSI đều được sử dụng rộng rãi trong block storage và SAN, nhưng cách triển khai có nhiều khác biệt.
Tiêu chí | iSCSI | Fibre Channel |
| Loại truy cập | Block storage | Block storage |
| Hạ tầng phổ biến | Ethernet/IP | Fibre Channel fabric |
| Giao thức | SCSI qua IP/TCP | SCSI qua Fibre Channel |
| Thiết bị mạng | Ethernet switch | Fibre Channel switch |
| Kiến thức quản trị | Gần với IP networking | Cần kiến thức Fibre Channel |
| Chi phí triển khai | Thường dễ tiếp cận hơn | Có thể cao hơn do hạ tầng chuyên dụng |
| Ứng dụng | IP SAN, virtualization, shared storage | Enterprise SAN, workload yêu cầu cao |
Không nên kết luận rằng iSCSI luôn chậm hơn Fibre Channel.
Hiệu năng thực tế phụ thuộc vào:
Ethernet hiện đã có các tốc độ 25GbE, 50GbE, 100GbE và cao hơn, khiến khả năng triển khai iSCSI hiệu năng cao ngày càng tốt hơn. SNIA cũng nhận định sự phát triển của Ethernet tốc độ cao cùng các cơ chế quản lý congestion và QoS đã cải thiện đáng kể tiềm năng hiệu năng của iSCSI.
Đây là hai khái niệm thường bị nhầm lẫn.
Khác biệt quan trọng nhất nằm ở cấp độ truy cập dữ liệu.
iSCSI | NAS |
| Block-level storage | File-level storage |
| Server nhận LUN/block device | Client truy cập file và thư mục |
| Server thường tự tạo filesystem | NAS quản lý filesystem |
| Thường dùng trong SAN | Thường sử dụng SMB hoặc NFS |
| Phù hợp database, VM, shared block storage | Phù hợp file sharing |

iSCSI có thể được triển khai an toàn nếu hệ thống được thiết kế và cấu hình đúng.
Một số biện pháp thường được sử dụng gồm:
Không nên mặc định cho rằng lưu lượng iSCSI đã được mã hóa chỉ vì có cơ chế xác thực.
Với hệ thống chứa dữ liệu quan trọng, doanh nghiệp cần đánh giá thêm yêu cầu encryption, network isolation và các cơ chế bảo vệ phù hợp với kiến trúc thực tế.
Một chi tiết dễ gây nhầm lẫn khi tìm hiểu iSCSI là nhiều tài liệu cũ vẫn nhắc đến RFC 3720.
RFC 3720 là một tiêu chuẩn quan trọng trong lịch sử phát triển iSCSI. Tuy nhiên, RFC Editor cho biết RFC 7143, được công bố vào tháng 4/2014, đã hợp nhất và thay thế RFC 3720 cùng một số RFC iSCSI trước đó.
SNIA hiện cũng tham chiếu iSCSI theo RFC 7143 và RFC 7144.
Vì vậy, khi nghiên cứu tài liệu kỹ thuật hiện nay, không nên chỉ dựa vào RFC 3720.
iSCSI là viết tắt của Internet Small Computer System Interface. Đây là giao thức cho phép truyền các lệnh SCSI qua mạng IP.
iSCSI chủ yếu sử dụng TCP để truyền dữ liệu qua mạng IP.
Cổng mặc định của iSCSI Target Portal là TCP 3260.
Không. iSCSI là một giao thức storage networking. Giao thức này có thể được sử dụng để xây dựng một SAN dựa trên mạng IP, thường được gọi là IP SAN.
Không. iSCSI cung cấp block-level storage, trong khi NAS chủ yếu cung cấp file-level storage thông qua các giao thức như SMB hoặc NFS.
Initiator nằm ở phía yêu cầu tài nguyên lưu trữ, thường là server. Target nằm phía cung cấp tài nguyên storage và chịu trách nhiệm cung cấp LUN cho Initiator được cấp quyền.
iSCSI là giao thức giúp máy chủ truy cập block storage từ xa bằng cách truyền các lệnh SCSI qua mạng IP. Nhờ khả năng hoạt động trên Ethernet và được hỗ trợ rộng rãi trên hệ điều hành, hypervisor cũng như các nền tảng storage, iSCSI trở thành một trong những công nghệ phổ biến để xây dựng IP SAN, hệ thống virtualization và shared storage.
