1. 程式人生 > >centos 6.5環境利用iscsi搭建SAN網路儲存服務及服務端target和客戶端initiator配置詳解

centos 6.5環境利用iscsi搭建SAN網路儲存服務及服務端target和客戶端initiator配置詳解

一、簡介

iSCSI(internet SCSI)技術由IBM公司研究開發,是一個供硬體裝置使用的、可以在IP協議的上層執行的SCSI指令集,這種指令集合可以實現在IP網路上執行SCSI協議,使其能夠在諸如高速千兆乙太網上進行路由選擇。iSCSI技術是一種新儲存技術,該技術是將現有SCSI介面與乙太網絡(Ethernet)技術結合,使伺服器可與使用IP網路的儲存裝置互相交換資料。
iSCSI是一種基於TCP/IP 的協議,用來建立和管理IP儲存裝置、主機和客戶機等之間的相互連線,並建立儲存區域網路(SAN)。SAN 使得SCSI 協議應用於高速資料傳輸網路成為可能,這種傳輸以資料塊級別(block-level)在多個數據儲存網路間進行。SCSI 結構基於C/S模式,其通常應用環境是:裝置互相靠近,並且這些裝置由SCSI 匯流排連線。
iSCSI 的主要功能是在TCP/IP 網路上的主機系統(啟動器 initiator)和儲存裝置(目標器 target)之間進行大量資料的封裝和可靠傳輸過程。
完整的iSCSI系統的拓撲結構如下:


iSCSI簡單來說,就是把SCSI指令通過TCP/IP協議封裝起來,在乙太網中傳輸。iSCSI 可以實現在IP網路上傳遞和執行SCSI協議,使其能夠在諸如高速千兆乙太網上進行資料存取,實現了資料的網際傳遞和管理。基於iSCSI建立的儲存區域網(SAN)與基於光纖的FC-SAN相比,具有很好的價效比。


iSCSI屬於端到端的會話層協議,它定義的是SCSI到TCP/IP的對映(如下圖),即Initiator將SCSI指令和資料封裝成iSCSI協議資料單元,向下提交給TCP層,最後封裝成IP資料包在IP網路上傳輸,到達Target後通過解封裝還原成SCSI指令和資料,再由儲存控制器傳送到指定的驅動器,從而實現SCSI命令和資料在IP網路上的透明傳輸。它整合了現有的儲存協議SCSI和網路協議TCP/IP,實現了儲存與TCP/IP網路的無縫融合。在本文中,將把發起器Initiator稱為客戶端,將目標器Target稱為服務端以方便理解。


二、環境準備



作業系統:CentOS release 6.5


iSCSI Target:192.168.8.42 / scsi-target-utils-1.0.24-12.el6_5.i686


iSCSI Initiator:192.168.8.39 / iscsi-initiator-utils-6.2.0.873-10.el6.i686


防火牆、selinux已關閉
# service iptables status
iptables: Firewall is not running.


# getenforce
Disabled


三、安裝配置iSCSI Target服務端

# yum install -y scsi-target-utils


新增一塊硬碟sdb,並新建兩個分割槽:sdb1、sdb2 模擬san儲存,在initiator看來是兩塊硬碟


# fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0xe714b1f2.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.


Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)


WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').


Command (m for help): p


Disk /dev/sdb: 85.9 GB, 85899345920 bytes
255 heads, 63 sectors/track, 10443 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xe714b1f2


   Device Boot      Start         End      Blocks   Id  System


Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-10443, default 1): 
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-10443, default 10443): +20G


Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (2613-10443, default 2613): 
Using default value 2613
Last cylinder, +cylinders or +size{K,M,G} (2613-10443, default 10443): +30G


Command (m for help): p


Disk /dev/sdb: 85.9 GB, 85899345920 bytes
255 heads, 63 sectors/track, 10443 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xe714b1f2


   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1        2612    20980858+  83  Linux
/dev/sdb2            2613        6529    31463302+  83  Linux


Command (m for help): w
The partition table has been altered!


Calling ioctl() to re-read partition table.
Syncing disks.


使配置生效
# partx -a /dev/sdb
BLKPG: Device or resource busy
error adding partition 1
BLKPG: Device or resource busy
error adding partition 2
# cat /proc/partitions
major minor  #blocks  name


   8        0  125829120 sda
   8        1     512000 sda1
   8        2  125316096 sda2
   8       16   83886080 sdb
   8       17   20980858 sdb1
   8       18   31463302 sdb2
 253        0    4096000 dm-0
 253        1   20480000 dm-1
 253        2   25600000 dm-2
 253        3   30720000 dm-3


啟動target服務,通過ss -tnl可以看到3260埠已開啟
# service tgtd start

四、服務端配置管理工具tgtadm的使用

1、建立一個target id 為1 name為iqn.2016-04.com.chinasoft.san:1d
# tgtadm -L iscsi -o new -m target -t 1 -T iqn.2016-04.com.chinasoft.san:1


2、顯示所有target
# tgtadm -L iscsi -o show -m target


3、向某ID為1的裝置上新增一個新的LUN,其號碼為1,且此裝置提供給initiator使用。/dev/sdb1是某“塊裝置”的路徑,此塊裝置也可以是raid或lvm裝置。lun0已經被系統預留
# tgtadm -L iscsi -o new -m logicalunit -t 1 -l 1 -b /dev/sdb1


4、定義某target的基於主機的訪問控制列表,192.168.8.0/24表示允許訪問此target的initiator客戶端的列表:
如開放給192.168.8.0/24網路中的主機訪問:
# tgtadm -L iscsi -o bind -m target -t 1 -I 192.168.8.0/24


再次向ID為1的裝置上新增一個新的LUN,號碼為2
# tgtadm -L iscsi -o new -m logicalunit -t 1 -l 2 -b /dev/sdb2
# tgtadm -L iscsi -o show -m target


5、解除target的基於主機的訪問控制列表許可權


# tgtadm -L iscsi -o unbind -m target -t 1 -I 192.168.8.0/24
# tgtadm -L iscsi -o show -m target


6、刪除target中的LUN
# tgtadm -L iscsi -o delete -m target -t 1
# tgtadm -L iscsi -o show -m target


五、客戶端initiator配置iscsiadm工具的使用

安裝iscsi-initiator-utils工具
# yum install -y iscsi-initiator-utils


# echo "InitiatorName=`iscsi-iname -p iqn.2016-04.com.chinasoft`" > /etc/iscsi/initiatorname.iscsi
# echo "InitiatorAlias=initiator1" >> /etc/iscsi/initiatorname.iscsi
# cat /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2016-04.com.chinasoft:59b0936b38a3
InitiatorAlias=initiator1

# service iscsi start
# chkconfig iscsi on
# chkconfig --list iscsi
iscsi           0:off1:off 2:on3:on 4:on5:on 6:off

iscsiadm是個模式化的工具,其模式可通過-m或--mode選項指定,常見的模式有discovery、node、fw、session、host、iface幾個,如果沒有額外指定其它選項,則discovery和node會顯示其相關的所有記錄;session用於顯示所有的活動會話和連線,fw顯示所有的啟動韌體值,host顯示所有的iSCSI主機,iface顯示/var/lib/iscsi/ifaces目錄中的所有ifaces設定。


iscsiadm -m discovery [ -d debug_level ] [ -P printlevel ] [ -I iface -t type -p ip:port [ -l ] ] 
iscsiadm -m node [ -d debug_level ] [ -P printlevel ] [ -L all,manual,automatic ] [ -U all,manual,automatic ] [ [ -T tar-getname -p ip:port -I iface ] [ -l | -u | -R | -s] ] [ [ -o operation ] 


-d, --debug=debug_level   顯示debug資訊,級別為0-8;
-l, --login
-t, --type=type  這裡可以使用的型別為sendtargets(可簡寫為st)、slp、fw和 isns,此選項僅用於discovery模式,且目前僅支援st、fw和isns;其中st表示允許每個iSCSI target傳送一個可用target列表給initiator;
-p, --portal=ip[:port]  指定target服務的IP和埠;
-m, --mode op  可用的mode有discovery, node, fw, host iface 和 session
-T, --targetname=targetname  用於指定target的名字
-u, --logout 
-o, --op=OPEARTION:指定針對discoverydb資料庫的操作,其僅能為new、delete、update、show和nonpersistent其中之一;
-I, --interface=[iface]:指定執行操作的iSCSI介面,這些介面定義在/var/lib/iscsi/ifaces中;


發現裝置
# iscsiadm -m discovery -t st -p 192.168.8.42
Starting iscsid:                                           [  OK  ]
192.168.8.42:3260,1 iqn.2016-04.com.chinasoft.san:1


# iscsiadm -m node -T iqn.2016-04.com.chinasoft.san:1 -p 192.168.8.42 -l
Logging in to [iface: default, target: iqn.2016-04.com.chinasoft.san:1, portal: 192.168.8.42,3260] (multiple)
Login to [iface: default, target: iqn.2016-04.com.chinasoft.san:1, portal: 192.168.8.42,3260] successful.


驗證能否看到服務端裝置
# fdisk -l /dev/sd[a-z]


對裝置sdc分割槽
# fdisk /dev/sdc
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0xe3266877.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.


Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)


WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').


Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-20489, default 1): 
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-20489, default 20489): +3G


Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (3074-20489, default 3074): 
Using default value 3074
Last cylinder, +cylinders or +size{K,M,G} (3074-20489, default 20489): +2G


Command (m for help): w
The partition table has been altered!


Calling ioctl() to re-read partition table.
Syncing disks.


# partx -a /dev/sdc
BLKPG: Device or resource busy
error adding partition 1
BLKPG: Device or resource busy
error adding partition 2
# cat /proc/partitions 
major minor  #blocks  name

   8        0  125829120 sda
   8        1     512000 sda1
   8        2  125316096 sda2
   8       16   83886080 sdb
 253        0   30720000 dm-0
 253        1    4096000 dm-1
 253        2   25600000 dm-2
 253        3   30720000 dm-3
 253        4   10240000 dm-4
   8       48   31463302 sdd
   8       32   20980858 sdc
   8       33    3146736 sdc1
   8       34    2098176 sdc2


格式化
# mke2fs -t ext4 /dev/sdc1
掛載
# mount /dev/sdc1 /mnt
# cd /mnt
# ls
lost+found
# cp /etc/rc.d/rc.sysinit ./
# ls
lost+found  rc.sysinit
# vim rc.sysinit


此時通過檢視服務端target的分割槽情況並沒有發生改變



關閉iSCSI伺服器端
關閉iSCSI在開機重啟或重啟iscsi服務時自動對target進行重新連線,就需要在該客戶機徹底將該target條目資訊刪除:
登出target會話:
# iscsiadm -m node -T iqn.2016-04.com.chinasoft.san:1 -p 192.168.8.42 -u
Logging out of session [sid: 1, target: iqn.2016-04.com.chinasoft.san:1, portal: 192.168.8.42,3260]
Logout of [sid: 1, target: iqn.2016-04.com.chinasoft.san:1, portal: 192.168.8.42,3260] successful.


刪除target條目的記錄:
# iscsiadm -m node -T iqn.2016-04.com.chinasoft.san:1 -p 192.168.8.42 -o delete


在客戶端刪除了之前discovery發現的可用的target條目,則重啟或重啟服務後將不會自動進行重連線。
# ls /var/lib/iscsi/send_targets/
192.168.8.42,3260
# ls /var/lib/iscsi/
ifaces  isns  nodes  send_targets  slp  static
# rm -rf /var/lib/iscsi/*
# ls /var/lib/iscsi/


六、通過編輯檔案的方式定義target服務端

# cd /etc/tgt/
[# ls
targets.conf
[[email protected] tgt]# vim targets.conf 
新增定義:
<target iqn.2016-04.com.chinasoft.san:2>
    backing-store /dev/sdb2
    initiator-address 192.168.8.0/24
</target>


# service tgtd restart
Stopping SCSI target daemon:                               [  OK  ]
Starting SCSI target daemon:                               [  OK  ]


# tgtadm -L iscsi -o show -m target


至此iscsi服務端target及客戶端initiator工具常用配置已講解完畢


相關推薦

centos 6.5環境利用iscsi搭建SAN網路儲存服務服務target客戶initiator配置

一、簡介 iSCSI(internet SCSI)技術由IBM公司研究開發,是一個供硬體裝置使用的、可以在IP協議的上層執行的SCSI指令集,這種指令集合可以實現在IP網路上執行SCSI協議,使其能夠在諸如高速千兆乙太網上進行路由選擇。iSCSI技術是一種新儲存技術,該技術

CentOS 6.5環境搭建HDFS完全分散式

準備工作        首先需要準備4臺CentOS6.5虛擬機器,並且將網路與JDK配置完全,如需配置JDK詳見上次部落格。        注意:在安裝JDK時需要先確認一下系統中是否自帶JDK,控制檯輸入java -version如果顯示了JDK版本,最好

mysql 5.5.42 更改數據目錄 centos 6.5環境

設置 mysqld 內容 err nod data pid 引擎 檢查 1、新建新數據目錄,檢查目錄屬主機權限,一般情況下屬於mysql組,myql用戶,因為我們安裝mysql的時候會新建該賬戶和組。 2、目錄權限檢查完畢,停止數據庫服務。 3、移動數據目錄 ,我用的是

CentOS 6.5環境配置Arcgis Server 10.3

details 取出 install pin chown 中文 sha ima for 感覺arcgis server在Windows系統下過於消耗資源,現將其配置到linux下,僅用於學習用。文中安裝截圖較多。因水平有限,難免有不周之處,請指教。 一、安裝前準

CentOS 6.5 環境下安裝 Bugzilla

1、安裝所需要的元件 [root@bogon ~]# yum -y install httpd mod_ssl mysql-server mysql php-mysql gcc perl* mod_perl-devel 2、配置httpd.conf,增加藍色一行,隨後啟動h

CentOS 6.5下本地yum源與網路yum源的配置使用

一、本地yum源 系統預設已經安裝了可使用yum的軟體包,所以可以直接配置: [[email protected] ~]# cd /etc/yum.repos.d/                        yum源配置檔案放置目錄 [[email&

關於VMware 15搭建MacOS 10.14後無法播放線上視訊客戶視訊的問題

  最近在自己的電腦上搭建了MacOS10.14系統,搭建是成功了,但是發現一個很坑的事,看視訊發現黑屏。就是那種只有聲音,沒有視訊的問題,在多個瀏覽器上和客戶端都是一樣的。百度了下,總結有2種可能,一是沒安裝視訊外掛,二是可以用谷歌瀏覽器線上觀看。我試了這2種,都失敗了。   後來不知怎麼回事,想起了36

關於在真實物理機器上用cloudermanger或ambari搭建大資料叢集注意事項總結、經驗感悟心得(圖文

寫在前面的話   (1) 最近一段時間,因擔任我團隊實驗室的大資料環境叢集真實物理機器工作,至此,本人秉持負責、認真和細心的態度,先分別在虛擬機器上模擬搭建ambari(基於CentOS6.5版本)和cloudermanager(基於CentOS6.5或Ubuntu14.04版本)。   (2)  大

搭建LNMP環境(基於最小化安裝CentOS 6.5

解壓 hive ima zlib RM opp 客戶 killall 宋體 本文檔主要說明在單臺服務器上手動安裝LNMP環境的操作步驟,本文檔使用的系統版本可能與您的實際使用版本不同,您可以根據實際情況選擇相應版本。一、本文檔LNMP環境版本說明:OS:最小化安裝CentO

CentOS 6.5 搭建 .NET 環境, Mono 5.16.0 + Jexus 5.8

   最近有這樣一個打算,就是準備把以前的有一個.NET 網站部署在Linux 下面,正好試試 .NET 跨平臺的功能,為後續研究 .netCore 方向準備。 搭建環境:   CentOS 6.5 + Mono 5.16.0 + Jexus 5.8.3 (1). Mono 安裝

CentOS 6.5 搭建 .NET 環境, Mono 5.16.0 + Jexus 5.8

curl ubun o-c tab dex 查看 如果 手動 就是 最近有這樣一個打算,就是準備把以前的有一個.NET 網站部署在Linux 下面,正好試試 .NET 跨平臺的功能,為後續研究 .netCore 方向準備。 搭建環境:   CentOS 6.5 + M

centos 6.5 32bit qemu 環境搭建

安裝centos 6.5 32bit software development distribution 解決ssh連線慢的問題 UseDNS no GSSAPIAuthentication no securecrt設定 Options -> Sessi

CentOS 6.5 hadoop 2.7.3 叢集環境搭建

CentOS 6.5 hadoop 2.7.3 叢集環境搭建 所需硬體,軟體要求 使用 virtualbox 構建三臺虛擬機器模擬真實物理環境 作業系統:CentOS6.5 主機列表: master ip: 192.168.3.171 slav

CentOS 6.5 -- Redis 4.0.2環境搭建、安裝例項啟動

關於Redis,不做解釋,主要講操作 一、準備一個純淨版的CentOS 6.5 二、SSH工具連線CentOS 64-bit-Redis 三、安裝curl下載工具包 yum install curl (如果安裝的過程中自動yes,帶上引數  yum-y ins

CentOS 6.5 Python+PostGreSql環境搭建(openerp 7.0)

正式站點伺服器更換,現在需要把原本執行在Ubuntu上的開源ERP軟體openerp 7.0遷移到新的CentOS 6.5的伺服器上。 第一次在生產環境上配置Linux,學習到好多東西,記錄一下,方便以後會用到(比如.net core)。  同時也分享一下遷移過程中學到的東西。需要

CentOS 6.5搭建ELK環境ElasticSearch+Kibana+Logstash

CentOS 6.5搭建ELK環境 ELK工作流程 多個獨立的Agent(Shipper)負責收集不同來源的資料,一箇中心Agent(Indexer)負責彙總和分析資料,在中心Agent前的Broker(使用Redis實現)作為緩衝區,中心Agent後的Elasti

Centos 6.5搭建git服務

ref yum local 5.0 https figure kernel usr tar 安裝依賴 yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel

centos 6.5搭建dhcp+網關

路由器設置 無線網絡 配置文件 客戶端 share 原先公司辦公網絡與無線網絡沒有做物理隔離,所以在物理上面還不是很安全,後來公司網絡整改,雖然起到物理隔離,但做的並不完善,只是用了個小米路由器設置,並做了dhcp,後來訪客加上公司員工手機一起上網,使的負載很高,甚至一大部分人都無法獲取i

CentOS 6.5搭建Smokeping平臺(上)

smokeping1、添加EPEL和RPMForge第三方源如果是i686平臺:rpm -ivh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm rpm -ivh http://ftp.tu-chemnitz.de

CentOS 6.5搭建Smokeping平臺(下)

smokeping1、添加監控點[[email protected]/* */ ~]# vi /usr/local/smokeping/etc/config ##添加以下內容## + Other menu = 三大網絡監控 title = 監控統計 ++ dianxin menu = 電信網絡監