网络驱动设备:

所需软件:
yum scsi-target-utils:用来将linux系统仿真成为iscsi target的功能(服务器端)

yum iscsi-initiator-utils:挂载来自target的磁盘(客户端)

scsi-target-utils的配置:
服务器端

vim /etc/tgt/targets.conf

:设置targetname

backing-store /dev/sda8:拿来用作target磁盘的真实设备

initiator-address 192.168.1.0/24:限制可以使用target的客户端来源

incominguser chenjiao chenjiao:限制用户使用帐号密码才能使用
target

tgt-admin --show:查看一下target相关信息

iscsi-initiator-utils的配置

客户端

vim /etc/iscsi/iscsid.conf

node.session.auth.username = chenjiao (连接时会用到的帐号)

node.session.auth.password = chenjiao (连接时会用到的密码)

discovery.sendtargets.auth.username = chenjiao (检测时用到的帐号)
discovery.sendtargets.auth.password = chenjiao (检测时用到的密码)

iscsiadm -m discoverydb -t sendtargets -p ip:port(检测服务器端的target的相关数据)

iscsiadm -m node 显示出目前系统上面所有的target数据

iscsiadm -m node -T iqn.2016-04.com.uplook:server.disk --login 登录target

iscsiadm -m node -o [delete|new|update] -T targetname 删除/新增/更新相关信息

在客户端

格式化,挂载使用target磁盘
========================================================================================>

tcp:3260

iscsi target:scsi-target-utils
iscsi initiator:iscsi-initiator-utils

客户端认证方式:
1.基于IP
2.基于用户:chap

iscsi initiator:iscsi-initiatior-utils open-iscsi

配置:
服务器端:yum install scsi-target-utils

rpm -ql scsi-target-utils

service tgtd start

tgtadm模式化的命令
--mode
常用模式:target,logicalunit,account
target --op
new、delete、show、update、bind、unbind
logicalunit --op
new、delete
account --op
new、delete、bind、unbind

--lld, -L 指定驱动器
--tid, -t 指定target的id
--lun, -l 指定逻辑单元号
--backing-store , -b 指定磁盘路径
--initiator-address

, -I 指定允许访问ip段
-T,--targetname 指定target名字

targetname:
iqn.yyyy-mm.[:identifier]
iqn.2013-05.com.magedu:tstore.disk1

采用命令行配置:

tgtadm --lld iscsi --mode target --op new --targetname iqn.2016-05.com.chenjiao:teststore.disk1 --tid 1

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

tgtadm --lld iscsi --mode logicalunit --op new --tid 1 --lun 1 --backing-store /dev/sda5

tgtadm --lld iscsi --mode targe --op bind --tid 1 --initiator-address 192.168.1.0/24

客户端:yum install iscsi-initiatior-utils

rpm -ql iscsi-initiatior-utils

iscsi-iname -p iqn.2013-05.com.magedu

echo "InitiatorName=iscsi-iname -p iqn.2013-05.com.magedu" >> /etc/iscsi/initiatorname.iscsi

cat /etc/iscsi/initiatorname.iscsi

iscsiadm模式化的命令
-m{discovery|node|session|iface}
discovery:发现某服务器是否有target输出,以及输出了哪些target;
node:管理某target的关联关系;
session:会话管理
iface:接口管理

iscsiadm -m discovery [-hv] [-d debug_level] [-p pritlevel] [-I iface -t type -p ip:port [-l]
-d:0-8
-I
-t type:SendTarge(st),SLP,and iSNS
-p: IP:port

iscsiadm -m node [-d debug_level] [-L all,manual,automatic] | [-U all,manual,automatic]

iscsiadm -m node [-S] [[-T targetname -p ip:port -I ifaceN] [-l|-u]] [[-o operation] [-n name] [-v value]]

iscsiadm -m discovery -d 2 -t st -p 172.16.100.100

ls /var/lib/iscsi/send_targets/172.16.100.100,3260/

iscsiadm -m node -T iqn.2013-05.com.magedu:teststore.disk1, -p 172.16.100.100 -l

基于用户名的配置:
不支持discovery认证
如果使用基于用户的认证,必须首先开放基于IP的认证

iscsiadm -m node -T iqn.2013-05.com.magedu:teststore.disk1 -p 172.16.100.100 -u

iscsiadm -m node -T iqn.2013-05.com.magedu:teststore.disk1 -p 172.16.100.100 -o delete

tgtadm --lld iscsi -m target --op unbind --tid 1 --initiator-address 172.16.0.0/16

tgtadm --lld iscsi --mode account --op new --user chenjiao --password chenjiao

tgtadm --lld iscsi --mode account --op bind --tid 1 --user chenjiao

iscsiadm -m discovery -t st -p 172.16.100.100

vim /etc/iscsid.conf
node.session.auth.authmethod = CHAP
node.session.auth.username = chenjiao
node.session.auth.password = chenjiao
#discovery.sendtargets.auth.authmethod = CHAP
#discovery.sendtargets.auth.username = chenjiao
#discovery.sendtargets.auth.password = chenjiao

tgtadm --lld --mode account --op bind --tid 1 --initiator-address 192.168.1.0/24

采用配置文件配置:
vim /etc/targets.conf

(可以封装也可以不封装)
vendor_id magedu
lun 6


vendor_id magedu
lun 7

incominguser iscsiuer chejiao
initiator-address 172.16.0.0/16

配置iscsi的集群(一):也就是把iscsi设备格式化成gfs2(全局文件系统)这种集群的文件系统
node1,node2,node3:
yum install cman rgmanager gfs2-utils

rpm -ql gfs2-utils

mkfs.gfs2
-j:指定日志区域的个数,有几个就能够被几个节点所挂载;
-J:指定日志区域的大小,默认为128MB
-p(lock_dlm|lock_nolock)
-t:锁表名称,格式为clustername:locktablename,clustername为当前所在的集群的名称,locktable要在当前集群唯一;

mkfs.gfs2 -j 2 -p lock_dlm -t tcluster:mysqlstore /dev/sdc2

node1,node2,node3:
mount -t gfs2 /dev/sdc2 /mnt

gfs2_tool list

gfs2_tool journals /dev/sdc2

gfs2_jadd -j 1 /dev/sdc2

iscsi,iscsid

gfs2文件系统:
全局文件
集群文件系统之一
日志,-j
-p{lock_dlm|lock_nolock}
-t clustername:tablelockname
mkfs -t gfs2 ...
mount -t gfs2 ...

配置iscsi的集群(二):做成逻辑卷集群文件系统

iscsi,iscsid

tgtd tgtadm
tgt-admin
/etc/tgt/targets.cof

gfs2文件系统
全局文件
集群文件系统之一
日志,-j #
-p {lock_dlm|lock_nolock}
-t , clustername:tablelockname
mount -t gfs2

yum install scsi-target-utils

vim /etc/tgt/targets.conf


vendor_id magedu
lun 1

 initiator-address 172.16.0.0/16
 incominguser sanuser sanpass

service tgtd start
tgtadm --lld iscsi --mode target --op show
chkcong tgts on

ha ssh node$i 'echo initiatorName=iscsi-iname -p iqn.2013-05.com.magedu > /etc/iscsi/initiatorname.iscsi'; done

ha ssh node$i 'sed -i "s@#node.session.auth.authmethod = [email protected] = CHAP@" /etc/iscsi/iscsid.conf';done

vim iscsi.sed
s@(原始内容)@(要修改的内容)@

ha scp iscsi.sed node$i:/tmp; ssh node$i 'sed -i -f /tmp/iscsi.sed /etc/iscsi/iscsid.conf';done

ha ssh node$i 'service iscsi start; chkconfig iscsi on';done

ha ssh node$i 'iscsiadm -m discovery -t st -p 172.16.100.100';done

ha ssh node$i 'iscsiadm -m node -T iqn.2013-05.com.magedu:tsan.disk';done

ha ssh node$i 'yum install cman,rgmanager,gfs2-utils,clvm';done

ha ssh node$i 'lvmconf --enable-clister';done

ha ssh node$i 'service clvmd start;chkconfig clvmd on ;chkconfig cman on chkconfig rgmanager on';done

CLVM:共享存储做成LVM,借助HA的机制

在主节点上执行(node1):
vim /etc/lvm/lvm.conf(在各个节点上执行)
locking_type = 3

或者:ha ssh node$i 'lvmconf --enable-cluster'; done

ccs_tool create tcluster:定义集群名字
ccs_tool addfence meatware fence_manual
ccs_tool lsfence
ccs_tool addnode -n 1 -f meatware node1.magedu.com
ccs_tool addnode -n 2 -f meatware node2.magedu.com
ccs_tool addnode -n 3 -f meatware node3.magedu.com
ccs_tool lsnode

service cman start

pvcreate /dev/sdb
pvs
vgcreate clustervg /dev/sdb
vgs
lvcreate -L 10G -n clusterlv clustervg

mkfs.gfs2 -j 2 -p lock_dlm -t tcluster:lktb1 /dev/clustervg/clusterlv

mkdir /mydata
mount -t gfs2 /dev/clustervg/clusterlv /mydata
gfs2_tool df /mydata
gfs2_tool gettune /mydata
gfs2_tool settune /mydata new_files_directio 1
gfs2_tool freeze /mydata:进行冻结成为只读
gfs2_tool unfreeze /mydata:解冻
gfs2_tool getargs /mydata
gfs2_tool iournals /mydata
gfs2_jadd -j 1 /dev/clustervg/clusterlv
lvextend -L 15G /dev/clustervg/clusterlv
gfs2_grow /dev/clustervg/clusterlv:扩展文件系统容量

node2:
service cman start

node3:
service cman start

三个节点的配置文件相同
mkfs -t gfs2 ...
mount -t gfs2 ...