iscsi

網絡驅動設備:

所需軟件:
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 ...

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章