基于IP的網絡存儲iSCSI
在存儲領域中,有多種多樣的存儲方案,其中我們常見的有SCSI、FC、DAS、NAS、SAN等等。
SCSI
SCSI是小型計算機接口(Small Computer System Interface)的英文縮寫,SCSI作為輸入/輸出接口,主要用于硬盤、光盤、磁帶機、掃描儀、打印機等設備中。
FC
FC是光纖通道(Fibre Channel)的英文縮寫,是一種適合于千兆數據傳輸的、成熟而安全的解決方案。與傳統的SCSI技術相比,FC提供更高的數據傳輸速率,更遠的傳輸距離,更多的連接設備連接支持,更穩定的性能,更簡易的安裝。
DAS
DAS是直連式存儲(Direct-Attached Storage)的英文縮寫,是指將存儲設備通過SCSI接口或光纖通道直接連接到一臺計算機上。當服務器在地理上比較分散,很難通過遠程進行互連時,DAS是比較好的解決方案。但是這種方式的存儲只能通過與之相連的主機進行訪問,不能實現數據與其他主機的共享,同時,DAS會占用服務器操作系統資源,例如CPU資源、IO資源等等,,并且數據量越大,占用操作系統資源就越嚴重。
NAS
網絡接入存儲(Network-Attached Storage,簡稱NAS),它通過網絡交換機連接存儲系統和服務器,建立專門用于數據存儲的私有網絡,用戶通過TCP/IP協議訪問數據,采用業界標準的文件共享協議如NFS、HTTP、CIFS來實現基于文件級的數據共享。NAS存儲使文件共享訪問變得更方便和快捷,并且能很容易地增加存儲容量。通過專業化的文件服務器與存儲技術相結合,NAS為那些需要共享大量文件數據的企業提供了一個高效的、高可靠的、高性價比的解決方案。但是NAS也有一定的局限性,它會受到網絡帶寬和網絡擁堵的影響,在一定程度上限制了NAS的網絡傳輸能力。
SAN
存儲區域網絡(Storage Area Network,簡稱SAN),它是一種通過光纖交換機、光纖路由器、光纖集線器等設備將磁盤陣列、磁帶等存儲設備與相關服務器連接起來的高速專用子網。SAN由三個部分組成,分別是連接設備(如路由器、光纖交換機等)、接口(如SCSI、FC等)、通信協議(如IP和SCSI)。然后再加上存儲設備和服務器,就構建了SAN系統。由于SAN提供了一個靈活的、高性能的和高擴展性的存儲網絡環境,因此它可以更加有效的傳輸海量的數據塊。由于使用了光纖接口,因此SAN還有更高的帶寬,并且SAN便于集中化統一管理,因此在業界使用越來越廣泛。
iSCSI
iSCSI即internet SCSI,是一種基于IP Storage理論的新型存儲技術,它使IP與SCSI相結合,可以在網絡上構建SAN。這種方式可以使一些中小型企業,不使用光纖作為傳輸通道而降低成本;并且,iSCSI技術解決了傳輸效率、存儲容量、兼容性、開放性、安全性等方面的問題;還有因為iSCSI使用TCP/IP協議,因此可以使用完善的IP網絡基礎設施,可以大大降低建設費用和維護成本;也可以在互聯網上進行傳輸數據,無距離限制。
原理圖
提供iSCSI Target
在原始的SCSI協議術語中,Target是指在SCSI總線上***標識的單個可連接的存儲或輸出設備。在iSCSI中,SCSI總線是在IP網絡中仿真,Target可以是網絡附加存儲的專用物理設備,也可以是網絡存儲服務器上iSCSI軟件配置的邏輯設備。
在Target Server上安裝軟件:
運行targetcli進入交互模式。
(備注:targetcli shell支持TAB補全)
創建backstores
以下為幾種類型的backstores:
為Target創建IQN
此步驟還將在IQN下創建一個默認TPG:
在TPG中,創建一個ACL以供客戶端節點稍后使用。由于全局參數auto_add_mapped_luns設置為ture(默認值),TPG中的任何現有LUN在創建后都將映射到每個ACL。
此ACL的目標配置為僅接受iqn.2017-11.cn.com.boxue:host2作為啟動器IQN的客戶端的連接。
在此TPG中,為每個backstores創建一個LUN。此步驟還將激活每個后備存儲,由于TPG存在ACL,因此ACL將自動分配給每個創建的LUN。
創建一個portal以指定偵聽IP地址和端口。如果不指定端口,則使用標準的iSCSI端口3260/tcp
查看整體的配置,如果無誤,則退出即可(targetcli會自動保存配置信息)
添加防火墻規則:
啟動target.service 單元,并添加到系統啟動項中
訪問iSCSI存儲
安裝iSCSI客戶端啟動器
作為iSCSI節點,客戶端需要一個***IQN,默認的/etc/iscsi/initiatorname.iscsi文件包含一個使用紅帽的域生成的IQN。管理員需要根據自己的情況改為相對應的字符串。
修改前
修改后
啟動iscsi客戶端軟件
使用iscsiadm執行發現
發現后,節點記錄保存在/var/lib/iscsi/nodes中,用于后續登錄。
登錄成功后,可在客戶端進行分區、格式化等管理操作,如果將設備寫入/etc/fstab中,注意在選項中添加 _netdev