www.hj8828.com 13

www.hj8828.comlinux iscsi配置

在前头有关数据宗旨高可用性系列的篇章中,大家讲了怎么搭建Linux高可用的架构。同期也令你知道“shoot
the other node in the
head使出现难点的节点从集群蒙受中退出,简称:STONITH)”本事对于确认保障在Linux集群中国共产党享存储集成的基本点。在本篇中,你将会学到怎样推行“split
brain
detection分脑检查评定,简称:SBD)”STONITH,作为三个用到分享磁盘设备的STONITH程序,能够一本万利的在非常多景况中实行实践。

iSCSI 发起程序是一种用于同 iSCSI
目的器认证并访问服务器上共享的LUN的客商端。大家得以在该地挂载的硬盘上配置任何操作系统,只须求安装二个包来与目的器验证。

iSCSI 是一种 SAN的设施而 SAN的设施根本是提供 Server
存款和储蓄体的空间.相较于古板的 SAN 是以光导纤维为传输媒体而 iSCSI(Internet
SCSI)他是 IP-based 的数额存款和储蓄的设备.使得她能更易于接纳在商场中.
1.相似的网卡就能够作为 iSCSI Target 可是瑕玷正是会损耗太多的 CPU
财富,针对那样的主题素材由此发展出别的三种的 iSCSI Target 网卡.2.一种是软件的
iscsi + TOE (TOE:TCP/IP offload engine),它能够本着 TCP/IP
的封包直接在互联网卡 上运算所以不会因而占领系统上的 CPU 的使用率,
3.别的一种便是硬件式的 iSCSI + TOE. 它除了有着 TOE 还是能间接针对 iSCSI
的多寡做运算.基本上它的运用上如同一般存款和储蓄设备 HBA.你能够直接在 BIOS
选项作 iSCSI 硬件开机的动作.
时下 SportageHEL5 和 SLES10 都早已将 iSCSI Target
当作缺省的零部件,所以之前的版本如 昂CoraHEL4 供给选用 iSCSI Target
这边介绍别的一套 IET (iSCSI Enterprise Target) 首先要先下载iSCSI Target
大家能够在
中得以看到.直接运用最新一版就能够.下载下来是 Source code 所以基本的
Linux(RedHat, Fedora…)都得以一向编辑使用.
1.Target端的配置
target端即磁盘阵列或别的兼具磁盘的主机。通过iscsitarget工具将磁盘空间映射到网络上,initiator端就可以搜寻开采并应用该磁盘。
稳重,三个target主机上得以映射多个target到互连网上,即能够映射多个块设备到网络上。
1)软件包
iscsitarget
可以从
2)编译安装
很简短,解包,编写翻译,安装就足以。
tar zxvf iscsitarget-1.4.19.tar.gz
cd iscsitarget-1.4.19/
make
make install
该包会将iscsitarget须求的内核模块,客户层工具,服务运营脚本,配置文件,man手册等设置到系统中
包括:
iscsi_trgt.ko 内核模块
ietd iscsitarget的医生和医护人员进程
ietadm iscsitarget的客户层管理工科具
/etc/init.d/iscsi-target iscsitarget的启航脚本
/etc/ietd.conf iscsitarget的布置文件
/etc/initiators.allow 调节initiator对target的拜望权限。
/etc/initiators.deny 调整initiator对target的拜访权限。
/etc/iet/targets.allow 调控分歧target的被访谈权限。
3)配置/etc/ietd.conf
Target iqn.2001-04.com.example:storage.disk2.sys1.xyz
Lun 0 Path=/dev/sda1,Type=fileio
Alias lun0
粗粗表达:
Target iqn.二〇〇一-04.com.example:storage.disk2.sys1.xyz 象征该ISCSI Target
的命名,命名在同一子网内相应是独一的,标准命名格局为:
“Target “+ target名字 (格式如下: iqn.yyyy-mm.<reversed domain
name>[:identifier] )
“Lun 0 帕特h=/dev/sda1”表示块设备号为0,映射的磁盘为/dev/sda1。
此番配置中 Type 的设定为”fileio”,小编最重要用来对三个磁盘举行仓库储存分享。
本来也能够本发急需设置为: “file” or “LVM”。
除了还会有十分多别样参数能够安装,具体参照他事他说加以考察:

4)启动iscsitarget
/etc/init.d/iscsi-target start
2.inititor端配置
1)软件包
源码包是open-iscsi,经过rpm包封装后,名字是iscsi-initiator-utils。
2)首要安装了上边一些文本
/etc/iscsi/iscsid.conf
/etc/rc.d/init.d/iscsi
/etc/rc.d/init.d/iscsid
/sbin/iscsi-iname
/sbin/iscsiadm
/sbin/iscsid
/sbin/iscsistart
/var/lib/iscsi
/var/lib/iscsi/ifaces
/var/lib/iscsi/isns
/var/lib/iscsi/nodes
/var/lib/iscsi/send_targets
/var/lib/iscsi/slp
/var/lib/iscsi/static
/var/lock/iscsi
3)连接target
先是要保管iscsid守护进度运维,否测iscsiadm的一多级操作都会倒闭:
/etc/init.d/iscsid start
发现target:
iscsiadm -m discovery -t sendtargets -p <iSCSI target
ip>:<port>
私下认可意况下<port>是3260,除非你有非凡的装置。
与target创设连接:
iscsiadm -m node -T <target-name> -p
<ip-address>:<port> –login
这里target-name为上一步开采target时的拿走的。
此时通过fdisk
-l就足以看出映射过来的磁盘,该磁盘能够像使用本地球磁性盘一样进行格式化,分区等操作。
能够经过以下命令实验:
fdisk /dev/sdc
mkfs.ext3 /dev/sdc1
mount /dev/sdc1 /mnt
dd if=/dev/zero f=100M.img bs=1M count=100
3.target和initiator间使用CHAP验证。
CHAP验证有三种,一种是本着discovery的,即只要不符合验证的客户名和密码,则initiator端便心有余而力不足透过”-m
discovery”发掘内定主机上的其他贰个target。
指令会回到验证失败,如下:
$ iscsiadm -m discovery -t sendtargets -p 192.168.29.224
iscsiadm: Login failed to authenticate with target
iscsiadm: discovery login to 192.168.29.224 rejected: initiator error
(02/01), non-retryable, giving up
另一种是对准node
login的,即果不适合验证的客商名和密码,则initiator端编无法透过–login登陆钦命主机上的某二个target。
指令会回到验证退步,如下:
$ iscsiadm -m discovery -t sendtargets -p 192.168.29.224
#水到渠成discover钦命主机上的target
192.168.29.224:3260,1 iqn.2001-04.com.example:storage.disk2.sys1.xyz
$ iscsiadm -m node -T iqn.2001-04.com.example:storage.disk2.sys1.xyz -p
192.168.29.224 –login #敬敏不谢透过认证,登入退步
Logging in to [iface: default, target:
iqn.2001-04.com.example:storage.disk2.sys1.xyz, portal:
192.168.29.224,3260]
iscsiadm: Could not login to [iface: default, target:
iqn.2001-04.com.example:storage.disk2.sys1.xyz, portal:
192.168.29.224,3260]:
iscsiadm: initiator reported error (15 – already exists)
1)在initiator端
配置/etc/iscsi/iscsid.conf,增多如下选项:
#以下多个是针对discovery的。
#discovery时启用CHAP验证
discovery.sendtargets.auth.authmethod = CHAP
#initiator的名字,也得以是别的字符串,只要和target端IncomingUse配置的名字一模二样就行
discovery.sendtargets.auth.username =
iqn.1994-05.com.fedora:ba72af8aaf5
#证实密码,要和target端相同
discovery.sendtargets.auth.password = 1234567890ab
#以下八个是指向login的。
#login时启用CHAP验证
node.session.auth.authmethod = CHAP
#initiator的名字,也得以是别的字符串,只要和target端IncomingUse配置的名字大同小异就行
node.session.auth.username = iqn.1994-05.com.fedora:ba72af8aaf5
#证实密码,要和target端一样
node.session.auth.password = 1234567890
下一场重启initiator。
/etc/init.d/iscsid stop
/etc/init.d/iscsid start
2)在target端
针对discovery配置/etc/ietd.conf,在全局参数处(定义第一个target在此以前),增添如下一行:
IncomingUser iqn.1994-05.com.fedora:ba72af8aaf5 1234567890ab
IncomingUser 和 OutgoingUser 表示ISCSI
顾客端的客户名和密码,客商名和密码都可认为空,暗中认可为allow权限,密码最长可为十一个字符。
这里iqn.1995-05.com.fedora:ba72af8aaf5是initiator的名字(也足以是别的字符串),1234567890ab是initiator的密码,名字和密码必得和initiator上/etc/iscsi/iscsid.conf
中的客户名密码一致。假如不等同,则initiator施行”-m discovery”
是就能破产。
针对login配置/etc/ietd.conf,既然是对准login的,那么增添IncomingUser是就应当加上的钦定的target上。如下:
Target iqn.2001-04.com.example:storage.disk2.sys1.xyz
Lun 0 Path=/dev/sda1,Type=fileio
IncomingUser iqn.1994-05.com.fedora:ba72af8aaf5 1234567890
下一场重启iscsitarget
/etc/init.d/iscsi-target stop
/etc/init.d/iscsi-target start

脚下本着STONITH,有为数非常的多例外的次序可被使用。SBD
STONITH的优势在于配备的方便性和可靠性。独一的需求是Linux情况中必需有分享存款和储蓄。标准意义上说,就是急需贰个“光导纤维存款和储蓄互联网——storage
area
network”匈牙利(Magyarország)语简称:SAN)。假使您从未三个SAN互联网,你也足以选取Linux的iSCSI功效来搭建,有关iSCSI的介绍将会在随后的每家每户中详尽阐释。

www.hj8828.com 1

iscsi操作总括
增加iscsi存储
(1)发现iscsi存储:

在SBD
STONITH里,Linux集群的节点们利用心跳机制来维系互动之间的消息更新。假使集群中的三个节点产生错误,一条关于此节点的谬误记录就能够被写下并发送到分享的存款和储蓄设备。当文件系统能源安全的切换成Linux集群的另一个节点上未来,此节点就务须承受那条错误新闻并和睦关闭自个儿。

早先器顾客端设置

iscsiadm -m discovery -t st -p ISCSI_IP
(2)查看iscsi发现记录:

SBD
STONITH是一个简约但管用的不二等秘书籍用来确认保证在Linux集群情形中数据和另外节点的并轨,但是要落实这一个效应的前提条件是必需能够步入SAN情况。接下去的步调描述了什么样搭建SBD
STONITH情状。

功能

  • 能够拍卖地点挂载磁盘上的轻巧文件系统
  • 在选拔fdisk命令分区后不须求重启系统

iscsiadm -m node
(3)登录iscsi存储:

1.第一,你不能够不创立一个小的逻辑单位LUN)卷。理论上1MB就足足了,可是为了安全起见,最佳的议程是开创一个最少一柱一般为8MB)的SBD。接下来,你必要找到那几个LUN设备天下无敌的器具名称,因为这一个将会被集群中的节点们见到。规范意义上来讲,你会利用multipath
–l命令在Linux集群中的贰个节点来寻觅那些LUN所使用的独步的配备名称。

放手阅读

  • 应用iSCSI
    Target制造聚集式安全存款和储蓄(一)
  • 在 iSCSI Target
    服务器中行使LVM创造和设置LUN(二)

iscsiadm -m node -T LUN_NAME -p ISCSI_IP -l
(4)开机自动:

2.现行反革命用作root客户,从广大节点中的三个命令行开端,你须要标志你刚刚成立的SBD设备的LUN,使用sbd
-d <devicename> create
命令。那条命令会将SBD的消息写入设备,所以无论你利用哪个设备名称,只要您能从那个节点看到那么些设备就行。确认保障当使用此设施工作时,你办事的设备名称不会转移。那就表示你应有利用/dev/disk/by-id
在一起始来定名设备名称。固然这一个名字又长又丑,可是至少他们不会转移。你能够接纳ls-l
命令来查阅“不难的”设备名称。所以定义那几个装置/dev/disk/by-id/scsi-149455五千00000000000000003000000250陆仟00f000000
作为SBD STONITH 设备, 使用sbd -d
/dev//disk/by-id/scsi-149455四千00000000000000002000000250陆仟00f000000
来创立。

作者的客商端设置

  • 操作系统 – CentOS
    6.5 (Final)
  • iSCSI 目标器 IP – 192.168.0.50
  • 采用的端口 : TCP 3260

警告:永恒不要在LUN还挂载在顾客端(发起程序)时停下服务。

iscsiadm -m node –T LUN_NAME -p ISCSI_IP –op update -n node.startup
-v automatic
删除iscsi存储
(1)登出iscsi存储

4.此时,你可以动用sbd -d
/dev/disk/by-id/scsi-149455四千0000000000000000三千000250500000f000000
dump 命令来查看哪些被写入了此设施。那给予了你就像下文的一份输出

顾客端设置

1.
在顾客端,大家要求安装包‘iSCSI-initiator-utils’,用下边包车型客车授命寻找包。

  1. # yum search iscsi

演示输出

  1. ============================= N/S
    Matched: iscsi ================================
  2. iscsi-initiator-utils.x86_64 : iSCSI daemon and utility programs
  3. iscsi-initiator-utils-devel.x86_64 :Development files for iscsi-initiator-utils

2. 找到了包,就用下边包车型客车yum命令安装伊始化包。

  1. # yum install
    iscsi-initiator-utils.x86_64

3.
安装完成后,大家供给开采目标器上的分享。顾客端的下令有一些难记,因而大家利用man找到要求周转的命令列表。

  1. # man iscsiadm

www.hj8828.com 2

man iscsiadm

4. 按下SHIFT+G
步入man页的最底层何况有一点点向上滚动找到示例的报到命令。下边的发掘命令中,必要用我们的服务器IP地址来替换。

  1. # iscsiadm –mode discoverydb –type sendtargets
    –portal 192.168.0.200 –discover

5. 这里我们从上面的通令输出中找到了iSCSI的限定名(iqn)。

  1. 192.168.0.200:3260,1 iqn.2014-07.com.tecmint:tgt1

www.hj8828.com 3

发觉服务器

6.
要登陆就用上面包车型地铁命令来接二连三一台LUN到大家地点系统中,这会与服务器验证并允许大家登陆LUN。

  1. # iscsiadm –mode node –targetname
    iqn.2014-07.com.tecmint:tgt1 –portal 192.168.0.200:3260
    –login

www.hj8828.com 4

签到到服务器

注意:登出使用登陆命令并在指令的末段采纳logout来替换。

  1. # iscsiadm –mode node –targetname
    iqn.2014-07.com.tecmint:tgt1 –portal 192.168.0.200:3260
    –logout

www.hj8828.com 5

登出服务器

7. 登入服务器后,使用上边包车型大巴一声令下列出节点的记录行。

  1. # iscsiadm –mode node

www.hj8828.com 6

列出节点

8. 展现特定节点的有所数据

  1. # iscsiadm –mode node –targetname
    iqn.2014-07.com.tecmint:tgt1 –portal 192.168.0.200:3260

亲自去做输出

  1. # BEGIN RECORD 6.2.0-873.10.el6
  2. node.name =
    iqn.2014-07.com.tecmint:tgt1
  3. node.tpgt =1
  4. node.startup = automatic
  5. node.leading_login =No
  6. iface.hwaddress =<empty>
  7. iface.ipaddress =<empty>
  8. iface.iscsi_ifacename =default
  9. iface.net_ifacename =<empty>
  10. iface.transport_name = tcp
  11. iface.initiatorname =<empty>
  12. iface.bootproto =<empty>
  13. iface.subnet_mask =<empty>
  14. iface.gateway =<empty>
  15. iface.ipv6_autocfg =<empty>
  16. iface.linklocal_autocfg =<empty>
  17. ….

9. 接着列出使用的磁盘,fdisk会列出全体的记名认证过的磁盘。

  1. # fdisk -l /dev/sda

www.hj8828.com 7

列出磁盘

10. 运营fdisk命令来成立贰个新的分区

  1. # fdisk -cu /dev/sda

www.hj8828.com 8

创建新分区

注意:在动用fdisk创造新分区之后,我们不须要重启,就好像使用大家本地的文件系统同样就行。因为这些将长途分享存款和储蓄挂载到本地了。

11. 格式化新成立的分区

  1. # mkfs.ext4 /dev/sda1

www.hj8828.com 9

格式化新分区

12. 创建三个索引来挂载新创立的分区

  1. # mkdir /mnt/iscsi_share
  2. # mount /dev/sda1 /mnt/iscsi_share/
  3. # ls -l /mnt/iscsi_share/

www.hj8828.com 10

挂载新分区

13. 列出挂载点

  1. # df -Th
  • -T – 输出文件系统类型
  • -h – 以易读的方法体现大小

www.hj8828.com 11

列出新分区

14. 假使须求永远挂载,使用fdtab文件

  1. # vim /etc/fstab

15.在fstab后追加上边行

  1. /dev/sda1 /mnt/iscsi_share/ ext4 defaults,_netdev 00

注意: 在fdtab中使用_netdev,表明那是贰个网络设施。

www.hj8828.com 12

机动挂载分区

16. 最终检查大家fstab文件是或不是有不当。

  1. # mount -av
  • -a – 全数挂载点
  • -v – 冗余格局

www.hj8828.com 13

验证fstab文件

大家早就成功实现了大家的客商端配置。以后让我们像本地球磁性盘同样选择它吗。

————————————–分割线————————————–

基于EvoqueHCS+iSCSI+CLVM达成Web服务的分享存款和储蓄集群架构
http://www.linuxidc.com/Linux/2013-05/84888.htm

Linux景况iSCSI存款和储蓄及多路线成效配置
http://www.linuxidc.com/Linux/2013-05/84635.htm

创设基于IP SAN的iSCSI存款和储蓄系统
http://www.linuxidc.com/Linux/2013-05/84570.htm

iSCSI连接不上消除
http://www.linuxidc.com/Linux/2013-01/78462.htm

Citrix XenServer中安装CentOS 6.0并配置iSCSI服务
http://www.linuxidc.com/Linux/2013-01/78461.htm

CentOS 5.3 使用iSCSI挂载存款和储蓄磁盘柜
http://www.linuxidc.com/Linux/2011-01/31529.htm

带您3步快捷精晓iSCSI搭建
http://www.linuxidc.com/Linux/2014-09/106853.htm

————————————–分割线————————————–

正文恒久更新链接地址:http://www.linuxidc.com/Linux/2015-03/114446.htm

www.hj8828.com 14

iscsiadm -m node -T LUN_NAME -p ISCSI_IP -u
(2)登出iscsi全体登入

Listing: Requesting current SBD information using sbd -d <device>
dump

iscsiadm -m node –logoutall=all
(3)删除iscsi开掘记录:

xen1:/dev/disk/by-id # sbd -d
/dev/disk/by-id/scsi-149455400000000000000000003000000250600000f000000
dump

iscsiadm -m node -o delete -T LUN_NAME -p ISCSI_IP
登录需验证码的节点
(1)开启认证
iscsiadm -m node -T LUN_NAME -o update –name
node.session.auth.authmethod –value=CHAP
*.使用-o同–op
(2)加多顾客
iscsiadm -m node -T LUN_NAME –op update –name
node.session.auth.username –value=[用户名]
(3)增加密码
iscsiadm –m node –T LUN_NAME –op update –name
node.session.auth.password –value=[密码]

Header version  : 2