网络驱动器设备:iscsi服务器
1.Ubuntu11.10
2.使用背景:
? ?做為服務(wù)器的系統(tǒng)通常是需要儲(chǔ)存設(shè)備的,而儲(chǔ)存設(shè)備除了可以使用系統(tǒng)內(nèi)建的磁盤之外,如果內(nèi)建的磁盤容量不夠大, 而且也沒有額外的磁盤插槽 (SATA 或 IDE) 可用時(shí),那么常見解決的方案就是增加 NAS (網(wǎng)絡(luò)附加儲(chǔ)存服務(wù)器) 或外接式儲(chǔ)存設(shè)備。再高檔一點(diǎn)的系統(tǒng),可能就會(huì)用到 SAN (儲(chǔ)存局域網(wǎng)絡(luò)) 。
? ?NAS (Network Attached Storage, 網(wǎng)絡(luò)附加儲(chǔ)存服務(wù)器)其實(shí)就是一部設(shè)定好的主機(jī)了,只要將 NAS 連接上網(wǎng)絡(luò),那么在網(wǎng)絡(luò)上面的其他主機(jī)就能夠存取 NAS 上頭的資料了。簡(jiǎn)單的說,NAS 就是一部 file server,由于NAS也接在網(wǎng)絡(luò)上面,所以,如果網(wǎng)絡(luò)上有某個(gè)用戶大量存取 NAS 上的數(shù)據(jù)時(shí),會(huì)很容易造成網(wǎng)絡(luò)停頓,低階的 NAS 通常會(huì)使用 Linux 系統(tǒng)搭配軟件磁盤陣列來提供大容量文件系統(tǒng)。此外,NAS 也通常支持 TCP/IP ,并會(huì)提供 NFS, SAMBA, FTP 等常見的通訊協(xié)議來提供客戶端取得文件系統(tǒng)。
? ?SAN (Storage Area Networks, 儲(chǔ)存局域網(wǎng)絡(luò))可以透過某些特殊的接口或信道來提供局域網(wǎng)絡(luò)內(nèi)的所有機(jī)器進(jìn)行磁盤存取,SAN 是提供『磁盤 (block device)』給主機(jī)用,而不是像 NAS 提供的是『網(wǎng)絡(luò)協(xié)議的文件系統(tǒng) (NFS, SMB...)』!SAN可以進(jìn)行格式化操作而NAS卻不能進(jìn)行此類操作。SAN 開發(fā)的目的是要提供大量的磁盤給用戶,早期的 SAN 大多配合光纖信道 (Fibre Channel) 來提供高速的數(shù)據(jù)傳輸。目前標(biāo)準(zhǔn)的光纖信道是速度是 2GB ,未來還可能到達(dá) 10GB 以上~不過,使用光纖等技術(shù)較高的設(shè)備,當(dāng)然就比較貴一些。現(xiàn)今的以太網(wǎng)絡(luò)媒體 (網(wǎng)絡(luò)卡、交換器、路由器等等設(shè)備) 已經(jīng)可以達(dá)到 GB 的速度了,離 SAN 的光纖信道速度其實(shí)差異已經(jīng)縮小很多~那么是否我們可以透過這個(gè) GB 的以太網(wǎng)絡(luò)接口來連接到 SAN 的設(shè)備呢?這就是我們接下來要提到的 iSCSI 架構(gòu)啦!
3.iSCSI介紹:
? ?iSCSI技術(shù)是一種由IBM公司研究開發(fā)的,是一個(gè)供硬件設(shè)備使用的可以在IP協(xié)議的上層運(yùn)行的SCSI指令集,這種指令集合可以實(shí)現(xiàn)在IP網(wǎng)絡(luò)上運(yùn)行SCSI協(xié)議,使其能夠在諸如高速千兆以太網(wǎng)上進(jìn)行路由選擇。iSCSI技術(shù)是一種新儲(chǔ)存技術(shù),該技術(shù)是將現(xiàn)有SCSI接口與以太網(wǎng)絡(luò)(Ethernet)技術(shù)結(jié)合,使服務(wù)器可與使用IP網(wǎng)絡(luò)的儲(chǔ)存裝置互相交換資料。
? ?iSCSI 主要是透過 TCP/IP 的技術(shù),將儲(chǔ)存設(shè)備端透過 iSCSI target (iSCSI 目標(biāo)) 功能,做成可以提供磁盤的服務(wù)器端,再透過 iSCSI initiator (iSCSI 初始化用戶) 功能,做成能夠掛載使用 iSCSI target 的客戶端,如此便能透過 iSCSI 協(xié)議來進(jìn)行磁盤的應(yīng)用了?。?
? ?iSCSI 這個(gè)架構(gòu)主要將儲(chǔ)存裝置與使用的主機(jī)分為兩個(gè)部分,分別是:
iSCSI target:就是儲(chǔ)存設(shè)備端,存放磁盤或 RAID 的設(shè)備,目前也能夠?qū)?Linux 主機(jī)仿真成 iSCSI target 了!目的在提供其他主機(jī)使用的『磁盤』;
iSCSI initiator:就是能夠使用 target 的客戶端,通常是服務(wù)器。 也就是說,想要連接到 iSCSI target 的服務(wù)器,也必須要安裝 iSCSI initiator 的相關(guān)功能后才能夠使用 iSCSI target 提供的磁盤就是了。
如下圖所示,iSCSI 是在 TCP/IP 上面所開發(fā)出來的一套應(yīng)用,所以得要有網(wǎng)絡(luò)才行啊!
?
4.server端(磁盤供給者)安裝軟件:tgt
5.client 端(磁盤使用者)安裝軟件 ?:open-iscsi
6.實(shí)驗(yàn)條件:在安裝Ubuntu的時(shí)候應(yīng)該規(guī)劃好磁盤配額,最好留出一部分磁盤空間方便后續(xù)的利用和實(shí)驗(yàn)
7.開始試驗(yàn):
? ?server端
? ?
- /etc/tgt/targets.conf:主配置文件;
- /usr/sbin/tgt-admin:線上查詢、刪除target等功能的設(shè)定工具。
? ?mkdir /home/lyang/iscsi
? ?dd if=/dev/zero of=/home/lyang/iscsi/disk1.img bs=1M count=100
? ?chcon -Rv -t tgtd_var_lib_t /home/lyang/iscsi/
? ?vim /etc/tgt/targets.conf
? ? <target iqn.2014-03.ly.Ubuntu:lyangdisk>
? ? ? ? ? ?backing_store /home/lyang/iscsi/disk1.img
? ? ? ? ? ?initiator-address 192.168.2.0/24
? ? ? ? ? ?incominguser lyang 218909
? ? ? ? ? ?write-cache off
? ? </target>?
? ? ?/etc/init.d/tgt start
? ? ?chkconfig tgt on
? ? ?tgt-admin --show
? ? ?client 端
? ? ?apt-get install open-iscsi
? ? ?vim /etc/iscsi/iscsid.conf
? ? ?node.session.auth.username = lyang
? ? ?node.session.auth.passwd ? ?= 218909
? ? ?discovery.sendtargets.auth.username = lyang
? ? ?discovery.sendtargets.auth.password ?= 218909
- 偵測(cè) 192.168.2.4 這部 target 的相關(guān)資料
| [root@clientlinux ~]# iscsiadm -m discovery -t sendtargets -p IP:port 選項(xiàng)與參數(shù): -m discovery :使用偵測(cè)的方式進(jìn)行 iscsiadmin 指令功能; -t sendtargets :透過 iscsi 的協(xié)定,偵測(cè)後面的設(shè)備所擁有的 target 資料 -p IP:port :就是那部 iscsi 設(shè)備的 IP 與埠口,不寫埠口預(yù)設(shè)是 3260 囉!範(fàn)例:偵測(cè) 192.168.2.4 這部 iSCSI 設(shè)備的相關(guān)資料 [root@clientlinux ~]# iscsiadm -m discovery -t sendtargets -p 192.168.2.4 192.168.2.4:3260,1 iqn.2014-03.ly.Ubuntu:lyangdisk # 192.168.2.4:3260,1 :在此 IP, 埠口上面的 target 號(hào)碼,本例中為 target1 # iqn.2014-03.ly.Ubuntu:lyangdisk :就是我們的 target 名稱啊![root@clientlinux ~]# ll -R /var/lib/iscsi/nodes/ /var/lib/iscsi/nodes/iqn.2011-08.vbird.centos:vbirddisk /var/lib/iscsi/nodes/iqn.2011-08.vbird.centos:vbirddisk/192.168.100.254,3260,1 # 上面的特殊字體部分,就是我們利用 iscsiadm 偵測(cè)到的 target 結(jié)果! |
現(xiàn)在我們知道了 target 的名稱,同時(shí)將所有偵測(cè)到的資訊通通寫入到上述 /var/lib/iscsi/nodes/iqn.2011-08.vbird.centos:vbirddisk/192.168.100.254,3260,1 目錄內(nèi)的 default 檔案中, 若資訊有修訂過的話,那你可以到這個(gè)檔案內(nèi)修改,也可以透過 iscsiadm 的 update 功能處理相關(guān)參數(shù)的。
?
- 開始進(jìn)行連線 iSCSI target
因?yàn)槲覀兊?initiator 可能會(huì)連接多部的 target 設(shè)備,因此,我們得先要瞧瞧目前系統(tǒng)上面?zhèn)蓽y(cè)到的 target 有幾部, 然後再找到我們要的那部 target 來進(jìn)行登入的作業(yè)。不過,如果你想要將所有偵測(cè)到的 target 全部都登入的話, 那麼整個(gè)步驟可以再簡(jiǎn)化:
| 範(fàn)例:根據(jù)前一個(gè)步驟偵測(cè)到的資料,啟動(dòng)全部的 target
[root@clientlinux ~]# /etc/init.d/open-iscsi restart
正在停止 iscsi: [ 確定 ]
正在啟動(dòng) iscsi: [ 確定 ]
# 將系統(tǒng)裡面全部的 target 通通以 /var/lib/iscs/nodes/ 內(nèi)的設(shè)定登入
# 上面的特殊字體比較需要注意啦!你只要做到這裡即可,底下的瞧瞧就好。範(fàn)例:顯示出目前系統(tǒng)上面所有的 target 資料:
[root@clientlinux ~]# iscsiadm -m node
192.168.100.254:3260,1 iqn.2014-03.ly.Ubuntu:lyangdisk
選項(xiàng)與參數(shù):
-m node:找出目前本機(jī)上面所有偵測(cè)到的 target 資訊,可能並未登入喔
範(fàn)例:僅登入某部 target ,不要重新啟動(dòng) iscsi 服務(wù)
[root@clientlinux ~]# iscsiadm -m node -T target名稱 --login
選項(xiàng)與參數(shù):
-T target名稱:僅使用後面接的那部 target ,target 名稱可用上個(gè)指令查到!
--login :就是登入啊! [root@clientlinux ~]# fdisk -l |
唯一要注意的,就是 iSCSI target 每次都要比 iSCSI initiator 這部主機(jī)還要早開機(jī),否則我們的 initiator 恐怕就會(huì)出問題。
? ? ? ? ? ? ? ? ? ? iscsiadm -m node -l(Ubuntu用上述登錄命令出錯(cuò),用此命令正常)
- 更新/刪除/新增 target 資料的方法
如果你的 iSCSI target 可能因?yàn)槟承┰虮荒米吡?#xff0c;或者是已經(jīng)不存在於你的區(qū)網(wǎng)中,或者是要送修了~ 這個(gè)時(shí)候你的 iSCSI initiator 總是得要關(guān)閉吧!但是,又不能全部關(guān)掉 (/etc/init.d/iscsi stop), 因?yàn)檫€有其他的 iSCSI target 在使用。這個(gè)時(shí)候該如何取消不要的 target 呢?很簡(jiǎn)單!流程如下:
| [root@clientlinux ~]# iscsiadm -m node -T targetname --logout [root@clientlinux ~]# iscsiadm -m node -o [delete|new|update] -T targetname 選項(xiàng)與參數(shù): --logout :就是登出 target,但是並沒有刪除 /var/lib/iscsi/nodes/ 內(nèi)的資料 -o delete:刪除後面接的那部 target 連結(jié)資訊 (/var/lib/iscsi/nodes/*) -o update:更新相關(guān)的資訊 -o new :增加一個(gè)新的 target 資訊。範(fàn)例:關(guān)閉來自鳥哥的 iSCSI target 的資料,並且移除連結(jié) [root@clientlinux ~]# iscsiadm -m node <==還是先秀出相關(guān)的 target iqn 名稱 192.168.100.254:3260,1 iqn.2011-08.vbird.centos:vbirddisk [root@clientlinux ~]# iscsiadm -m node -T iqn.2011-08.vbird.centos:vbirddisk \ > --logout Logging out of session [sid: 1, target: iqn.2011-08.vbird.centos:vbirddisk,portal: 192.168.100.254,3260] Logout of [sid: 1, target: iqn.2011-08.vbird.centos:vbirddisk, portal:192.168.100.254,3260] successful. # 這個(gè)時(shí)候的 target 連結(jié)還是存在的,雖然登出你還是看的到![root@clientlinux ~]# iscsiadm -m node -o delete \ > -T iqn.2011-08.vbird.centos:vbirddisk [root@clientlinux ~]# iscsiadm -m node iscsiadm: no records found! <==嘿嘿!不存在這個(gè) target 了~[root@clientlinux ~]# /etc/init.d/iscsi restart # 你會(huì)發(fā)現(xiàn)唔!怎麼 target 的資訊不見了!這樣瞭了乎! |
?
? ? ?
? ? ??
轉(zhuǎn)載于:https://www.cnblogs.com/ly565911158/p/3629203.html
總結(jié)
以上是生活随笔為你收集整理的网络驱动器设备:iscsi服务器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Oracle Study之--Oracl
- 下一篇: 解决pathForResource返回n