网络驱动设备:

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

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

scsi-target-utils的配置: 服务器端 : vim /etc/tgt/targets.conf

<target iqn.2016-04.com.uplook:server.disk> :设置targetname

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

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

incominguser chenjiao chenjiao:限制用户使用帐号密码才能使用 target </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 <path>, -b 指定磁盘路径 --initiator-address <address>, -I 指定允许访问ip段 -T,--targetname <targetname> 指定target名字

targetname: iqn.yyyy-mm.<reversed domin name>[: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 <target iqn.2013-05.com.magedu:teststore.disk> <backing-store /dev/sda5>(可以封装也可以不封装) vendor_id magedu lun 6 </backing-store> <backing-store /dev/sda6> vendor_id magedu lun 7 </backing-store> incominguser iscsiuer chejiao initiator-address 172.16.0.0/16 </target>

配置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<name>:锁表名称,格式为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<name> 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 <name>, clustername:tablelockname mount -t gfs2

yum install scsi-target-utils

vim /etc/tgt/targets.conf <target iqn.2013-05.com.magedu:tsan.disk> <backing-store /dev/sdb> vendor_id magedu lun 1 </backing-store>

 initiator-address 172.16.0.0/16
 incominguser sanuser sanpass

</target>

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 = CHAP@node.session.auth.authmethod = 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 ...