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 = 電信網絡監