网络驱动设备:
所需软件: 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 ...