天天看點

搭建iscsi存儲系統

搭建iscsi存儲系統

NAS和SAN伺服器概述

NAS網絡附屬存儲:

     NAS(Network Attached Storage),NAS伺服器是連接配接在網絡上,具備資料存儲功能的伺服器,一種與用資料存儲伺服器。網絡附屬存儲基于标準網絡協定(Tcp/IP)實作資料傳輸,為網絡中的Windows / Linux / Mac OS 等各種不同作業系統的計算機提供檔案共享和資料備仹。

優點:

1. I/O消耗由前端伺服器轉移到後端儲存設備上

2. 擴充友善

缺點:

1. 以前網絡會成為瓶頸。 但是現在使用10G光纖卡,就可以解決這個問題。

SAN存儲:

     存儲區域網絡(Storage Area Network and SAN Protocols,簡寫SAN,即存儲區域網絡,是一種高速網絡,提供在計算機不同存儲系統之間的資料傳輸。儲存設備是指一台或多台用以存儲計算機資料的磁盤裝置,通常指磁盤陣列。 SAN存儲,采用網狀通道(Fibre Channel ,簡稱FC)技術,通過FC交換機連接配接存儲陣列和伺服器主機,建立與用于資料存儲的區域網絡。

    SAN由于其基礎是一個與用網絡,是以擴充性很強,不管是在一個SAN系統中增加一定的存儲空間還是增加幾台使用存儲空間的伺服器都非常友善。

NAS不SAN的差別在兩方面:

第一,從網絡架構來說,本質差別在于:

    NAS,直接使用TCP/IP傳輸資料。SAN使用SCSI戒iSCSI協定傳輸資料。

第二,從檔案讀寫實作方法上來說,本質差別在于:

    NAS采用了NFS和 CIFS技術實作檔案共享。說明NAS是基于作業系統的“檔案級”讀寫操作。

SAN中計算機和存儲間的接口是底層的塊協定,它挄照協定頭的“塊位址+偏移位址”來定位。共享的存儲和前端的作業系統類型沒有關系。仸務伺服器作業系統,都可以正常實别。

運作模式: C/S

target 目标, initiator [n.ietr] 發起人

端口: 3260

------------------------------------------------------------------

一:實驗拓撲

二:實驗目标

實戰:配置IP SAN伺服器

實戰:IP SAN伺服器日常操作

三:實驗環境

服務端:target xuegod63    192.168.1.63

用戶端:initiator xuegod64  192.168.1.64

四:實驗代碼

實戰: 配置一個IP SAN 存儲伺服器

分析:将xuegod63配置成ip san,将xuegod63上的sda4分區,通過ip san 共享出去。

------------------------------------------------------------------------------------------------

配置服務端xuegod63

1)安裝:scsi-target-utils

[root@xuegod63 ~]# yum install -y scsi-target-utils

2)準備一個磁盤分區: sda4 大小5G

[root@xuegod63 ~]# fdisk /dev/sda #劃分出sda4分區

Command (m for help): p

Command (m for help): n

p

Selected partition 4

Last cylinder, +cylinders or +size{K,M,G} (1428-2610, default 2610): +5G

Command (m for help): w

[root@xuegod63 ~]#reboot

9配置target ,把sda4分區共享出去

3)修改配置檔案

[root@xuegod63 ~]# vim /etc/tgt/targets.conf #寫入以下内容

在參考這段内容并在段内容後,追加以下紅色标記内容:

#<target iqn.2008-09.com.example:server.target4>

76 # direct-store /dev/sdb # Becomes LUN 1

77 # direct-store /dev/sdc # Becomes LUN 2

78 # direct-store /dev/sdd # Becomes LUN 3

79 # write-cache off

80 # vendor_id MyCompany Inc.

81 #</target>

為:

<target iqn.2016-11.cn.xuegod.www:target_san1>

backing-store /dev/sda4

initiator-address 192.168.1.64

vendor_id xuegod

product_id target1

</target>

注釋:

default-driver iscsi #此配置檔案預設全部注釋,使用iscsi驅動 

<tarrget iqn.2015-1.cn.xuegod.www:target_san1> # iscsi正規名字格式 : iqn.年-月.主機名倒着寫: target端名字

backing-store /dev/sda4 # 可以是具體的分區,也可以是DD出來的檔案。不能小于5G。 (後面的檔案系統是GFS,光日志空間就128M)

initiator-address 192.168.1.62 #指定允許通路的此存儲主機

initiator-address 192.168.1.64 #指定允許通路的此存儲主機

vendor_id “xuegod” vendor (vendr供應商 ) 。 供應廠商編号 辨別這個裝置(字元不要過長)

product_id "TARGET1" # 産品編号

4)啟動服務

[root@xuegod63 ~]#service tgtd restart

[root@xuegod63 ~]# netstat -antup | grep 3260

tcp 0 0 0.0.0.0:3260 0.0.0.0:* LISTEN 3130/tgtd

tcp 0 0 :::3260 :::* LISTEN 3130/tgtd

5)檢視狀态tgt-admin --show

[root@xuegod63 ~]# tgt-admin --show

Account information:

ACL information: #允許哪些用戶端可以通路

192.168.1.64

開機啟動:

[root@xuegod63 Desktop]# chkconfig tgtd on

配置用戶端: xuegod64

1)安裝包: iscsi-initiator

[root@xuegod64 ~]# rpm -ivh /mnt/Packages/iscsi-initiator-utils-6.2.0.872-34.el6.x86_64.rpm

2)啟動用戶端服務: 

[root@xuegod64 ~]# /etc/init.d/iscisd start #啟動後沒有反應

注:需要先發現target存儲,再啟動用戶端服務,才有效

[root@xuegod64 ~]# iscsiadm -m discovery -t sendtargets -p 192.168.1.63:3260

Starting iscsid: [ OK ]

192.168.1.63:3260,1 iqn.20116-11.cn.xuegod.www:target_san1

[root@xuegod64 ~]# /etc/init.d/iscsid status

iscsid (pid 2607) is running...

3)target存儲伺服器資訊在用戶端存儲的位置:

[root@xuegod64 ~]# rpm -ivh /mnt/Packages/tree-1.5.3-2.el6.x86_64.rpm

[root@xuegod64 ~]# tree /var/lib/iscsi/

/var/lib/iscsi/

├── ifaces

├── isns

├── nodes

│ └── iqn.2015-01.cn.xuegod.www:target_san1

│ └── 192.168.1.63,3260,1

│ └── default

├── send_targets

│ └── 192.168.1.63,3260

│ ├── iqn.2015-01.cn.xuegod.www:target_san1,192.168.1.63,3260,1,default -> /var/lib/iscsi/nodes/iqn.2015-01.cn.xuegod.www:target_san1/192.168.1.63,3260,1

│ └── st_config

├── slp

└── static

4)重新啟動: 

[root@xuegod64 ~]# /etc/init.d/iscsid restart #先啟動iscsid

[root@xuegod64 ~]# /etc/init.d/iscsi restart # 根據/var/lib/iscsi/ 中發現的資訊,識别裝置

關閉:

[root@xuegod64 ~]# /etc/init.d/iscsi stop

[root@xuegod64 ~]# /etc/init.d/iscsid stop

5)開機自動啟動:

[root@xuegod64 ~]# chkconfig iscsi on

[root@xuegod64 ~]# chkconfig iscsid on

檢視預設開機兩個服務的先後順序:

[root@xuegod64 ~]# grep chkconfig: /etc/init.d/iscsid

# chkconfig: 345 7 89

[root@xuegod64 ~]# grep chkconfig: /etc/init.d/iscsi

# chkconfig: 345 13 89

6)檢視發現到新硬碟: 

[root@xuegod64 ~]# ll /dev/sdb

brw-rw---- 1 root disk 8, 16 Jul 30 19:11 /dev/sdb

解除安裝,挂載儲存設備

解除安裝方法一

1:解除安裝

[root@xuegod64 ~]# iscsiadm -m node -T iqn.2015-01.cn.xuegod.www:target_san1 -u

Logging out of session [sid: 1, target: iqn.2015-01.cn.xuegod.www:target_san1, portal: 192.168.1.63,3260]

Logout of [sid: 1, target: iqn.2015-01.cn.xuegod.www:target_san1, portal: 192.168.1.63,3260] successful.

[root@xuegod64 ~]# ls /dev/sdb

ls: cannot access /dev/sdb: No such file or directory :

2:登入存儲儲存設備

[root@xuegod64 ~]# iscsiadm -m node -T iqn.2015-01.cn.xuegod.www:target_san1 -l

Logging in to [iface: default, target: iqn.2015-01.cn.xuegod.www:target_san1, portal: 192.168.1.63,3260] (multiple)

Login to [iface: default, target: iqn.2015-01.cn.xuegod.www:target_san1, portal: 192.168.1.63,3260] successful.

/dev/sdb

解除安裝方法二:

1:解除安裝 

Stopping iscsi: [ OK ]

ls: cannot access /dev/sdb: No such file or directory

[root@xuegod64 ~]# /etc/init.d/iscsi restart

徹底退出:

[root@xuegod64 ~]# rm -rf /var/lib/iscsi/*

在xuegod64上對識别出來的硬碟,分區格式化,挂載使用

1:發現儲存設備

[root@xuegod64 ~]# iscsiadm -m discovery -t sendtargets -p 192.168.1.63:3260 #發現儲存設備

2:啟動伺服器

[root@xuegod64 ~]# /etc/init.d/iscsid restart

[root@xuegod64 ~]# ls /dev/sdb #發現sdb

分區格式化,挂載使用。

[root@xuegod64 ~]# fdisk /dev/sdb 劃分一個分區sdb1

[root@xuegod64 ~]# fdisk /dev/sdb

p primary partition (1-4)

Partition number (1-4): 1

Last cylinder, +cylinders or +size{K,M,G} (1-1019, default 1019): #直接回車使用所有可以使用的空間。  

[root@xuegod64 ~]# ll /dev/sdb*

brw-rw---- 1 root disk 8, 16 Jul 30 21:44 /dev/sdb

brw-rw---- 1 root disk 8, 17 Jul 30 21:44 /dev/sdb1

[root@xuegod64 ~]# mkfs.ext4 /dev/sdb1

[root@xuegod64 ~]# mount /dev/sdb1 /opt 

-------------------------------------------------------------------------------------------

在target服務端,再添加一個存儲用戶端

1:添加如下内容:

[root@xuegod63 ~]# vim /etc/tgt/targets.conf

2:重新開機服務

[root@xuegod63 ~]# /etc/init.d/tgtd restart

Stopping SCSI target daemon: initiators still connected [FAILED]

Starting SCSI target daemon: [FAILED] #報錯

解決:用戶端退出一下 

[root@xuegod64 ~]# umount /opt/

用戶端退出後,再測試啟動: 

Stopping SCSI target daemon: [ OK ]

Starting SCSI target daemon: [ OK ]

3:測試: xuegod64 和xuegod62 都挂載上硬碟,資料同步

[root@xuegod64 ~]#/etc/init.d/iscsi start

[root@xuegod64 ~]# ls /dev/sdb*

/dev/sdb /dev/sdb1

[root@xuegod64 ~]# mount /dev/sdb1 /opt/

[root@xuegod64 ~]# cp /etc/passwd /opt/ #複制一些資料

4:測試:xuegod62 是否資料同步

[root@xuegod62 ~]# rpm -ivh /mnt/Packages/iscsi-initiator-utils-6.2.0.872-34.el6.x86_64.rpm

[root@xuegod62 ~]# iscsiadm -m discovery -t sendtargets -p 192.168.1.63:3260

192.168.1.63:3260,1 iqn.2015-01.cn.xuegod.www:target_san1

[root@xuegod62 ~]# /etc/init.d/iscsi restart

[root@xuegod62 ~]# ls /dev/sdb*

[root@xuegod62 ~]# mount /dev/sdb1 /opt/

[root@xuegod62 ~]#ls /opt/ #可以看到資料已經同步過來了

lost+found passwd

5:測試xuegod64資料是否同步:

[root@xuegod62 ~]# cp /etc/hosts /opt

[root@xuegod62 ~]# ls /opt

hosts lost+found passwd

[root@xuegod64 ~]# ls /opt

# passwd #隻看到passwd ,沒有同步,是因為我們使用的ext4 檔案系統,ext4檔案系統不支援多個用戶端同時使用。 使用GFS檔案系統就可以同步。 

本文轉自 于學康 51CTO部落格,原文連結:http://blog.51cto.com/blxueyuan/1928089,如需轉載請自行聯系原作者