iSCSI簡介
1、 scsi和iscsi
- SCSI技術是存儲設備最基本的標准協議,通常需要設備互相靠近並用SCSI總線連接,因此受到物理環境的限制
- iSCSI(Internet Small Computer System Interface),顧名思義,iSCSI是網絡上的SCSI,也就是通過網絡連接的SCSI
- 實現在IP網絡上運行SCSI協議的存儲技術,能夠讓SCSI接口與以太網技術相結合,使用iSCSI協議基於以太網傳送SCSI命令與數據
- 克服了SCSI需要直接連接存儲設備的局限性,使得可以跨越不同的服務器共享存儲設備,並可以做到不停機狀態下擴展存儲容量
- iSCSI實現的是IP SAN,數據傳輸基於以太網
- iSCSI 可共享包括鏡像文件(.img)、分區(partition)、單塊硬盤(無需分區)、raid磁盤陣列、邏輯卷LVM等
- iSCSI 的主要功能是在TCP/IP 網絡上的主機系統(啟動器 initiator)和存儲設備(目標器 target)之間進行大量數據的封裝和可靠傳輸過程
2、 iSCSI數據封裝
- initiator(啟動器)向target(目標器)發起scsi命令后,在數據報文從里向外逐層封裝SCSI協議報文、iSCSI協議報文、tcp頭、ip頭
- 封裝是需要消耗CPU資源的,如果完全以軟件方式來實現iscsi,那么所有的封裝過程都由操作系統來完成
- 除了軟件方式實現,還有硬件方式的initiator(TOE卡和HBA卡),通過硬件方式實現iSCSI
- TOE卡,操作系統首先封裝SCSI和iSCSI協議報文,而TCP/IP頭則交由TOE內的芯片來封裝,這樣就能減少一部分系統資源消耗
- HBA卡,操作系統只需封裝SCSI,剩余的iSCSI協議報文還有TCP/IP頭由HBA芯片負責封裝
- 很顯然,HBA卡實現iSCSI是最好的方案,但是它要花錢,還不便宜
3、 部署iscsi的說明和需求描述
- 說明
- iscsi在target端是工作在套接字上的,監聽端口默認是3260,且使用的是tcp連接。因為要保證數據安全性,使用udp可能會導致丟包
- iscsi對客戶端有身份認證的需要,有兩種認證方式:基於IP認證,基於CHAP認證(雙方都進行驗證,即雙向認證)
- 需求描述
- 找一台服務器A作為iscsi的target,將其中的一塊磁盤或分區/dev/sdb當作要共享的存儲設備共享出去。再找兩台服務器B和C當作iscsi initiator連接到target的共享存儲上
大致拓撲圖如下:
請確保服務器A上已經關閉了防火牆或者允許了3260端口
下圖描述了使用iSCSI的大致過程: