Kiến trỳc SCSI ủược thiết kế với giả thuyết mụi trường khụng lỗi, Thiết bị
SCSI ủược gắn vào kờnh dành riờng song song, khụng xảy ra hiện tượng giỏn ủoạn kờnh. iSCSI ủược triển khai trờn mạng IP tốc ủộ cao, kiến trỳc truyền thụng khụng tin cậy. Nhưng tầng TCP lại cung cấp tớnh tin cậy cần thiết cho iSCSI. iSCSI cung cấp thờm cỏc cơ chế kiểm tra kết nối TCP và phỏt hiện lỗi trong cỏc gúi số liệu (tại tầng này). iSCSI sử dụng tham sốtimeout và thiết lập phạm vi tỡm lại dữ liệu. Khi gúi số liệu trong một dóy gúi tin liờn tiếp nhau bị lỗi, thỡ bờn ủớch phải phỏt lại cỏc gúi số liệu ủú. Trong mạng Gigabit, việc phỏt lại cả dóy gúi số liệu khụng gõy ảnh hưởng quỏ nhiều ủến tốc ủộ hiệu dụng.
Phương phỏp kiểm soỏt lỗi iSCSI yờu cầu cả bờn nguồn và bờn ủớch phải cú khả năng lưu lệnh và những hồi ủỏp trong bộ ủệm cho ủến khi chỳng ủược xỏc
ứng dụng cho Tổng Cụng ty Bảo hiểm Việt Nam -
___________________________________________________________________ nhận. Vớ dụ với lệnh ghi SCSI, bờn nguồn phải giữ lại trong bộ ủệm dữ liệu ủó chuyển ủi cho ủến khi bờn nguồn nhận ủược thụng bỏo R2T từ bờn ủớch (R2T thụng bỏo dữ liệu chuyển ủi trước ủú ủó ủược nhận và bờn ủớch ủang sẵn sàng nhận dữ
liệu mới). Tối thiểu thiết bị iSCSI phải cú khả năng tạo dựng lại những gúi dữ liệu bị mất hoặc bị hỏng trong quỏ trỡnh truyền ủể thực hiện truyền lại.
Trong quỏ trỡnh truyền, Lỗi cú thể xuất hiện ở phần thụng tin mào ủầu (iSCSI PDUs header) hay ở phần dữ liệu (content) của ủơn vị dữ liệu iSCSI (iSCSI PDUs). Lỗi xuất hiện cú thể chia ra hai loại:
- Lỗi khuụn dạng (format error): lỗi này xảy ra khi một trường trong phần thụng tin mào ủầu bị mất hoặc cỏc trường chứa ủựng những thụng tin trỏi ngược nhau.
- Lỗi nội dung (Digest Content Error): lỗi này xuất hiện khi nội dung của phần thụng tin tiờu ủề hoặc nụi dung dữ liệu mang theo (payload) trong PDUs bị hỏng.
Trong trường hợp lỗi ủịnh dạng, bờn ủớch sẽ gửi hồi ủỏp cú chứa con trỏ
(offset indicator) trỏ tới byte ủầu tiờn bị lỗi trong phần thụng tin mào ủầu. Ngược lại, bờn ủớch sẽ loại bỏ gúi tin lỗi và yờu cầu gửi lại bằng cỏch sửa ủổi giỏ trị trường offset trong R2T PDU.
iSCSI phỏt hiện sự thất lạc dữ liệu bằng cỏch theo dừi số tuần tự của gúi tin (SNACK - Sequence Number Acknowledgment). Trong giao dịch, một hoặc một vài PDUs trong một dóy PDUs cú thể bị thất lạc. Chỉ những PDUs bị thất lạc này mới ủược truyền lại theo lệnh SNACK của bờn ủớch sẽ ủảm bảo hiệu quả kờnh truyền.
Phỏt hiện và khắc phục lỗi iSCSI cú thể xảy ra ở nhiều cấp ủộ. Nú cú thể thực hiện tại tầng SCSI mà cũng cú thể là tầng bờn dưới, tầng TCP. Kết nối TCP ủược sử
dụng ủể chuyển tải dữ liệu cú thể bị lỗi và trong trường hợp này iSCSI sẽ cố khắc phục thụng qua lệnh khởi tạo lại. Một phiờn giao dịch iSCSI lại cú thể gồm nhiều kết nối TCP nờn cú thể khụng phải chỉ một kết nối phải khởi tạo lại. Trong trường
___________________________________________________________________ hợp xấu nhất, khi phiờn giao dịch bị lỗi khụng thể khắc phục ủược, nú sẽủúng tất cả
cỏc kết nối TCP, tạm ngừng tất cả cỏc cụng việc, cỏc lệnh trong hàng ủợi và thực hiện tạo lại giao dịch mới thụng qua quỏ trỡnh ủăng nhập.