Iscsi configureation

Internet iStorage Name Service Server


The Internet Storage Name Service (iSNS) protocol is used for interaction between iSNS servers and iSNS clients. iSNS clients are computers, also known as initiators, that are attempting to discover storage devices, also known as targets, on an Ethernet network. iSNS facilitates automated discovery, management, and configuration of iSCSI and Fibre Channel devices (using iFCP gateways) on a TCP/IP network.


iscsi drvier feature:

支持數據報文首部或數據驗證;CHAP認證;MultiPath;動態target discover


Target(目標):

1.準備要共享的設備,這裏使用本地磁盤上的新分區:

 #fdisk -l


建立所需要的分區

 #fdisk /dev/sda
 #partprobe


2.安裝iscsi服務端:

 #yum -y install scsi-target-utils
 #service tgtd start
 #chkconfig tgtd on
 #netstat -tnlp | grep 3260


3.服務器端配置管理工具tgtadm的使用:

 tgtadm --lld [driver] --op [operation] --mode [mode] [Option]...


(1)添加一個新的target且其ID爲[id],名字爲[name].

 --lld [driver] --op new --mode target --tid=[id] --targetname [name]


(2)顯示所有或某個特定的target:

 --lld [driver] --op show --mode target [--tid=[id]]


(3)向某ID爲[id]的設備上添加一個新的LUN,其號碼爲[lun],且此設備提供給initiator使用。[path]是某“塊設備”的路徑,此塊設備也可以是raid或lvm設備。lun(0)已經被系統預留。

 --lld [driver] --op new --mode=logicalunit --tid=[id] --lun=[lun] --backing-store [path]


(4)刪除ID爲[id]的target:

 --lld [driver] --op delete --mode target --tid=[id]


(5)輸出target[id]中的LUN [lun]:

 --lld [driver] --op delelte --mode=logicalunit --tid=[id] --lun=[lun]


(6)定義某target的基於主機的訪問控制列表,其中,[address]表示允許訪問此target的initiator客戶端列表:

 --lld [driver] --op bind --mode=target --tid=[id] --initiator-address=[address]


(7)解除target [id]的訪問控制列表中[address]的訪問控制權限:

 --lld [driver] --op unbind --mode=target --tid=[id] --initiator-address=[address]



例如:

(1)創建一個target:

# tgtadm --lld iscsi --op new --mode target --tid 1 -T iqn.2013-05.com.magedu:tsan.disk1


(2)顯示所有:

# tgtadm --lld iscsi --op show --mode target


(3)顯示剛創建的target:

# tgtadm --lld iscsi --op show --mode target --tid 1


(4)創建LUN,號碼爲1:

# tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 1 -b /dev/sda5


(5)開放給192.168.0.0/24網絡中的主機訪問:

# tgtadm --lld iscsi --op bind --mode target --tid 1 -I 172.16.0.0/16


其中的-I相當於--initiator-address

(6)Create a new account:

# tgtadm --lld iscsi --op new --mode account --user christina --password 123456
# tgtadm --lld iscsi --op show --mode account


Assign this account to a target:

# tgtadm --lld iscsi --op bind --mode account --tid 1 --user christina
# tgtadm --lld iscsi --op show --mode target


(7)Set up an outgoing account. First, you need to create a new account like the previous example

# tgtadm --lld iscsi --op new --mode account --user clyde --password 123456
# tgtadm --lld iscsi --op show --mode account
# tgtadm --lld iscsi --op bind --mode account --tid 1 --user clyde --outgoing
# tgtadm --lld iscsi --op show --mode target



客戶端配置:

 #yum install iscsi-initiator-utils
 #echo "InitiatorName=`iscsi-iname -p iqn.2013-05.com.magedu`" > /etc/iscsi/initiatorname.iscsi
 #echo "InitiatorAlias=initiator1" >> /etc/iscsi/initiatorname.iscsi
 #service iscsi start
 #chkconfig iscsi on


2.iscsiadm工具的使用:

 iscsiadm是個模式化的工具,其模式可通過-m或--mode選項指定,常見的模式有discoverydb、node、fw、session、host、iface幾個,如果沒有額外指定其它選項,則discoverydb和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 sendtargets -p 192.168.0.11
# iscsiadm -m node -T iqn.2010-8.com.example.ts:disk1 -p 192.168.0.11:3260 -l
# iscsiadm -m node -T iqn.2010-8.com.example.ts:disk1 -p 192.168.0.11:3260 -u
# iscsiadm -m node -T iqn.2010-8.com.example.ts:disk1 -p 192.168.0.11:3260 -o delete



查看會話相關信息:

# iscsiadm -m session -s



掛載時使用_netdev作爲選項


CHAP認證啓用:(單向)

創建服務端所需要的賬號,並實現單方向的認證:

1.在target端創建賬號christina,併爲其授予訪問某tid的權限:

 #tgtadm --lld iscsi --op new --mode account --user christina --password 123456


接下來還要將用戶與某target進行綁定:

 #tgtadm --lld iscsi --op bind --mode account --tid 1 --user christina
 #tgtadm --lld iscsi --op show --mode account


2.編輯initiator端主配置文件,配置客戶端登錄target時使用此賬號和密碼:

 #vim /etc/iscsi/iscsid.conf


取消如下項的註釋:

 #node.session.auth.authmethod = CHAP
 #node.session.auth.username = username
 #node.session.auth.password = password


而後,將後兩項的用戶名密碼設置爲target端設置的用戶名和密碼:

 node.session.auth.username = christina
 node.session.auth.password = 123456



如果此前尚未登錄過此target,接下來直接發現並登入即可。否則,則需要按照下面的第三部實現認證的啓用。

3.如果initiator端已經登錄過此target,此時還需要先註銷登錄後重啓iscsid服務,並在刪除此前生成的database後重新發現target,並重新登入,過程如下:

 #iscsiadm -m session -r sid -u
 #iscsiadm -m node -T iqn.2010-8.com.example.ts:disk1 -p 192.168.0.11:3260 -u
 #iscsiadm -m node -T iqn.2010-8.com.example.ts:disk1 -p 192.168.0.11:3260 -o delete
 #rm -rf /var/lib/iscsi/nodes/iqn.2010-08.com.example.tgt:disk1
 #rm -rf /var/lib/iscsi/send_targets/192.168.0.11,3260
 #service iscsid restart
 #iscsiadm -m discovery -t sendtargets -p 192.168.0.11
 #iscsiadm -m node -T iqn.2010-8.com.example.ts:disk1 -p 192.168.0.11:3260 -l


說明,其中的target名字和target主機地址可能需要按照您的實際情況修改。



FreeNAS:

reeNAS是一套免費的NAS服務器,它能將一部普通PC變成網絡存儲服務器。該軟件基於FreeBSD,Samba 及PHP,支持CIFS (samba), FTP, NFS protocols, Software RAID (0,1,5) 及 web 界面的設定工具


Openfiler:

Openfiler 由rPath Linux驅動,它是一個基於瀏覽器的免費網絡存儲管理實用程序,可以在單一框架中提供基於文件的網絡連接存儲 (NAS) 和基於塊的存儲區域網 (SAN)。整個軟件包與開放源代碼應用程序(例如 Apache、Samba、LVM2、ext3、Linux NFS 和 iSCSI Enterprise Target)連接。Openfiler 將這些隨處可見的技術組合到一個易於使用的小型管理解決方案中,該解決方案通過一個基於 Web 且功能強大的管理界面實現。

Openfiler 支持 CIFS、NFS、HTTP/DAV 和 FTP,但是,我僅使用它的 iSCSI 功能爲 Oracle10g RAC 需要的共享存儲組件實現低成本的 SAN。我們將通過 USB 2.0 接口將一個 500GB 的外置硬盤驅動器連接到 Openfiler 服務器。Openfiler 服務器將配置爲使用該磁盤進行基於 iSCSI 的存儲,並且將在 Oracle10g RAC 配置中用於存儲 Oracle 集羣件所需的共享文件以及所有 Oracle ASM 卷。



fence_manual

lvmconf --enable-cluster

cman

rgmanager

clvmd



GFS:

GFS是一個可擴展的分佈式文件系統,用於大型的、分佈式的、對大量數據進行訪問的應用。它運行於廉價的普通硬件上,並提供容錯功能。它可以給大量的用戶提供總體性能較高的服務。

創建一個GFS文件系統:

需要提供的信息:

1.鎖類型:

    lock_nolock

    lock_dlm

2.鎖文件的名字,通常即文件系統名

    cluster_name:fs:name

3.日誌的個數,通常一個節點對應一個日誌文件,但建議提供比節點數更多的日誌數目,以提供冗餘;

4.日誌文件大小

5.文件系統大小


Syntax: gfs_mkfs -p lock_dlm -t ClusterName:FSName -j Number -b block_size -J journal_size BlockDevice


如:

#gfs_mkfs -p lock_dlm -t gfscluster:gfslv -j 5 /dev/vg0/gfslv



可以通過其對應掛載點查看gfs文件系統屬性信息;

#gfs_tool df /mount_point



掛載GFS文件系統:

mount -o StdMountOpts,GFSOptions -t gfs DEVICE MOUNTPOINT



前提:掛載GFS文件的主機必須是對應集羣中的節點;

掛載GFS文件系統文件時有如下常用選項可用:

lockproto=[locl_dlm,lock_nolock]
locktable=clustername:fsname


upgrade #GFS版本升級時有用

acl

如果不想每一次啓用GFS時都得指定某選項,也可以通過類似如下命令爲其一次性指定:

#gfs_tool margs "lockproto=lock_dlm,acl"



載入相應的gfs模塊,並查看lv是否成功

#modprobe gfs
#modprobe gfs2
#chkconfig gfs on
#chkconfig gfs2 on
#chkconfig clvmd on
#/etc/init.d/gfs restart
#/etc/init.d/gfs2 restart
#/etc/init.d/clvmd restart
#lvscan

lvmconf --enale-cluster


Openfiler,NAS,SAN

FreeBSD,AIX,Power


/lib64


Openfiler:CentOS

    NAS:nfs,Samba

    SAN:IPSAN

webGUI


FreeNAS:

FreeBSD

tgtd

iscsitarget


tgtadm --lld iscsi --op new --mode account --user iscsiuser --password mypass
tgtadm --lld iscsi --op new --mode account --user myuser --password mypass
tgtadm --lld iscsi --op bind --mode account --tid 1 --user iscsiuser
tgtadm --lld iscsi --op bind --mode account --tid 1 --user myuser --outgoing
<target iqn.2012-11.com.magedu:tgt.target1>
   backing-store /dev/sdb
   incominguser iscsiuser mypass
   outgoinguser myusermypass


/etc/iscsi/iscsid.conf


MySQL: HA


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章