網絡驅動設備:
所需軟件:
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 = [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 ...