一 . 環(huán)境
操作系統(tǒng): redhat? RHEL7.0??
服務(wù)端程序:targetd?? 服務(wù)端管理程序:targetcli????
客戶(hù)端程序:Linux < iscsi-initiator-utils > ?? Windows < 自帶 iSCSI 客戶(hù)端程序 >
二 . 基礎(chǔ)知識(shí)
1:網(wǎng)絡(luò)存儲(chǔ)分類(lèi)
DAS:直連式存儲(chǔ) (顧名思義楼熄,直接連接外存儲(chǔ)設(shè)備)
適用于中小型企業(yè)竣况,存儲(chǔ)系統(tǒng)被直連到應(yīng)用的服務(wù)器中赃承,在中小企業(yè)中顷帖,許多的數(shù)據(jù)應(yīng)用是必須安裝在直連的DAS存儲(chǔ)器上。DAS存儲(chǔ)的更多的以來(lái)服務(wù)器主機(jī)操作系統(tǒng)進(jìn)行數(shù)據(jù)的I/O讀寫(xiě)和存儲(chǔ)維護(hù)管理穷躁、數(shù)據(jù)備份和恢復(fù)要求占用服務(wù)器主機(jī)資源忍抽。DAS與服務(wù)器主機(jī)之間的連接通道通常采用SCSI連接,然而SCSI通道在CPU和存儲(chǔ)空間越來(lái)越大的情況下插掂,十分吃力灰瞻。
NAS:網(wǎng)絡(luò)接入存儲(chǔ)
存儲(chǔ)設(shè)備通過(guò)標(biāo)準(zhǔn)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)(例如以太網(wǎng))添加到一群計(jì)算機(jī)上,NAS是文件級(jí)的存儲(chǔ)方法辅甥,重點(diǎn)在于幫助工作組和部門(mén)及機(jī)構(gòu)解決迅速增加存儲(chǔ)容量的需求酝润。如今的用途很廣泛,主要用來(lái)進(jìn)行文檔共享璃弄、圖片共享要销、電影共享等等,并且隨著云計(jì)算的發(fā)展夏块,一些DAS廠商推出了云存儲(chǔ)功能疏咐。NAS設(shè)備一般支持多計(jì)算機(jī)平臺(tái),可以通過(guò)網(wǎng)絡(luò)協(xié)議進(jìn)行文檔等傳輸脐供,挺靈活的凳鬓。不足那,是它需要處理的數(shù)據(jù)比較多患民,包含數(shù)據(jù)傳輸信息還有操作存儲(chǔ)磁盤(pán)請(qǐng)求信息缩举,并且,對(duì)于網(wǎng)絡(luò)帶寬的要求比較高。
SAN:存儲(chǔ)區(qū)域網(wǎng)絡(luò)
設(shè)備通過(guò)光纖通道交換機(jī)連接存儲(chǔ)陣列和服務(wù)器主機(jī)仅孩,最后成為一個(gè)專(zhuān)用的存儲(chǔ)網(wǎng)絡(luò)托猩。目前已經(jīng)成為標(biāo)準(zhǔn)。SAN提供了一種與現(xiàn)在LAN連接的簡(jiǎn)易方法辽慕,并且通過(guò)同一物理通道支持廣泛的SCSI和IP協(xié)議京腥。如今的SAN通常采用兩種形式:光纖信道以及iSCSI或者基于IP的SAN,F(xiàn)C SAN和IP SAN溅蛉。
總結(jié):DAS存儲(chǔ)一般應(yīng)用在中小企業(yè)公浪,與計(jì)算機(jī)采用直連方式。NAS存儲(chǔ)通過(guò)以太網(wǎng)添加到計(jì)算機(jī)上船侧。SAN存儲(chǔ)使用FC接口欠气,提供性能更佳的存儲(chǔ)。
使用場(chǎng)景:DAS雖然歷史久遠(yuǎn)镜撩,但很適用于那些數(shù)據(jù)量不大预柒,對(duì)磁盤(pán)訪問(wèn)速度要求較高的中小企業(yè)。NAS適用于文件服務(wù)器袁梗,用于存儲(chǔ)非結(jié)構(gòu)化數(shù)據(jù)宜鸯,受限于以太網(wǎng)的速度,但部署靈活遮怜,成本低淋袖。SAN適用于大型應(yīng)用或數(shù)據(jù)庫(kù)系統(tǒng),缺點(diǎn)是成本高較復(fù)雜锯梁。
2:iSCSI的基礎(chǔ)知識(shí)
通過(guò)上述簡(jiǎn)單講解即碗,已經(jīng)知道SAN存儲(chǔ)有兩種形式。一種是FC SAN涝桅,基于專(zhuān)用的網(wǎng)絡(luò)設(shè)備拜姿,利用光纖建立光纖通道進(jìn)行傳輸烙样。另一種是IP SAN冯遂,基于以太網(wǎng),將以太網(wǎng)虛擬成系統(tǒng)總線進(jìn)行傳送數(shù)據(jù)谒获「蚣。基于IP SAN的系統(tǒng)比起FC SAN系統(tǒng)價(jià)格優(yōu)越,但是性能上不能比擬批狱。IP SAN系統(tǒng)利用iSCSI的協(xié)議傳送SCSI的命令裸准,從而實(shí)現(xiàn)存儲(chǔ)區(qū)域網(wǎng)絡(luò)SAN的搭建。
三 . 搭建iSCSI環(huán)境
1 > 前期工作 - 創(chuàng)建RAID磁盤(pán)陣列 ??
(1)虛擬機(jī)里赔硫,需要添加4塊SCSI的硬盤(pán)炒俱,或者外接移動(dòng)硬盤(pán)(如果是學(xué)習(xí)的話就沒(méi)必要買(mǎi))
(2)創(chuàng)建 RAID 5磁盤(pán)陣列
?? mdadm? -Cv? /dev/md0? -n? 3? -l? 5? -x? 1 ? /dev/sdb? /dev/sdc? /dev/sdd? /dev/sde
?? mdadm? -D? /dev/md0?? # 查看掛在設(shè)備文件信息
?? #? mdadm 命令詳解
2 > 配置 iSCSI 服務(wù)端
(1)安裝服務(wù)端程序?
?? yum? install? targetd? targetcli ?? # targetd是iSCSI服務(wù)端? targetcli是管理程序
(2)啟動(dòng) iSCSI
?? systemctl? start? targetd ?? # 啟動(dòng)targetd程序 ?
?? systemctl? enable? targetd?? # 將targetd程序設(shè)置為自啟動(dòng)項(xiàng)
(3)配置 iSCSI 服務(wù)端共享資源
?? ls????? # 列出 targetd 的結(jié)構(gòu)
?? cd? /backstores/block??? # /backstores/block為iSCSI服務(wù)端配置共享設(shè)備
?? create? disk0? /dev/md0?? # disk0 是存儲(chǔ)設(shè)備的名字(自己設(shè)置)
(4)創(chuàng)建 iSCSI target 名稱(chēng)及配置共享資源
?? cd? iscsi?? # 進(jìn)入 iscsi 目錄下
?? create?? # 創(chuàng)建一個(gè)存放共享資源
?? cd? tpql/luns?? # 進(jìn)入 /tpql/luns 目錄下,用于存放共享存儲(chǔ)設(shè)備
?? create? /backstores/block/disk0?? # 將原先創(chuàng)建的disk0加載到當(dāng)前目錄
(5)設(shè)置 ACL 訪問(wèn)控制列表
?? # iSCSI 協(xié)議是通過(guò)用戶(hù)端名稱(chēng)進(jìn)行驗(yàn)證的
?? # 用戶(hù)在登陸時(shí)不需要登陸密碼
?? cd? ..??? # 到上一個(gè)目錄? /iscsi/iqn.20.../tpgl
?? cd? acls?? # 存放能夠訪問(wèn)iSCSI服務(wù)共享設(shè)備資源的客戶(hù)端名稱(chēng)
?? create? iqn.20...:client?? #在連接時(shí),需要被用到
(6)檢查并退出
?? ls?? /??? # 查看結(jié)構(gòu)的組成权悟,檢查相應(yīng)的內(nèi)容
?? exit??? # 利用 exit 退出砸王,不要暴力退出,否則不會(huì)保存
?? systemctl? restart? targetd?? # 重啟targetd服務(wù)
?? firewall-cmd? --permanent? --add-port=3260/tcp?? # 修改防火墻
?? firewall-cmd? --reload?? # 重啟防火墻峦阁,使策略立即生效
3 > 配置 Linux 客戶(hù)端
(1)安裝 iSCSI 客戶(hù)端
?? yum? install? iscsi-initiator-utils
(2)配置基本信息
?? vim? /etc/iscsi/initiatorname.iscsi????? # 填入服務(wù)端設(shè)置的用戶(hù)標(biāo)識(shí)符
?? systemctl? restart? iscsid?? # 重啟 iscsi 服務(wù)
?? systemctl? enable? iscsid?? # 將 iscsi 服務(wù)設(shè)置為啟動(dòng)項(xiàng)
(3)利用 iscsiadm 工具管理
?? iscsiadm? -m? discovery? -t? st? -p? <服務(wù)端 ip>???
?? # 用于管理、查詢(xún)驹闰、插入、更新或刪除
?? #? -m? discovery? 目的是掃描并發(fā)現(xiàn)可用的共享存儲(chǔ)資源??
?? #? -t? st? 為執(zhí)行掃描操作的類(lèi)型
?? iscsiadm? -m? node? -T? <發(fā)現(xiàn)的 iSCSI 設(shè)備名>? -p? <服務(wù)端 ip>? --login?
?? #? -m? node? 將客戶(hù)端主機(jī)作為節(jié)點(diǎn)服務(wù)器??
?? #? -T? 指定共享的設(shè)備 ? --login? 進(jìn)行登陸驗(yàn)證
?? mkfs.xfs?? /dev/sdb?? # 格式化登陸的共享存儲(chǔ)硬盤(pán)
?? mkdir? /iscsi??? # 創(chuàng)建掛載文件
?? mount? /dev/sdb? /iscsi?? # 掛載存儲(chǔ)硬盤(pán)
?? df?? -h??? # 查看本機(jī)硬盤(pán)情況
(4)其他有關(guān)命令
?? blkid?? |?? grep?? /dev/sdb???? # blkid 用來(lái)查看設(shè)備的名稱(chēng)嘹朗、文件系統(tǒng)及UUID
?? #? 避免下次掛載時(shí)名稱(chēng)改變,可以將信息存入 /dev/fstab 文件
?? #?? 在? /etc/fstab? 添加如下信息??
?? #? < _netdev 表示系統(tǒng)聯(lián)網(wǎng)后再進(jìn)行掛在操作 >
?? UUID = 存儲(chǔ)硬盤(pán)名稱(chēng)?? 本機(jī)掛載硬盤(pán)的文件(/iscsi) xfs? defaults,_netdev 0 0
(5)關(guān)閉連接
?? iscsiadm?? -m?? node ? -T ? 掛載硬盤(pán)名稱(chēng)?? -u ? ? #? -u參數(shù)將設(shè)備卸載 ?
4 > 配置 Windows 客戶(hù)端
(1)打開(kāi) iSCSI 客戶(hù)端程序
?? iSCSI 位置:??
? 控制面板-> 管理工具 -> iSCSI 發(fā)起程序 -> 配置 -> 目標(biāo) -> 填寫(xiě)目標(biāo) -> 連接
? 管理工具-> 計(jì)算機(jī)管理 -> 存儲(chǔ) -> 首先格式化磁盤(pán)1 -> 右擊磁盤(pán)1新建卷
(2)步驟
附錄:來(lái)自于《 Linux就該這么學(xué) 》筆記