iscsi

 

 

7.4. Practice: Providing iSCSI Targets
iSCSI Component Terminology:
IQN
target
initiator
login

一、Providing iSCSI Targets
1. 准备用于共享的分区或LVM
[root@server0 ~]# ll /dev/vdb1
brw-rw----. 1 root disk 253, 17 Apr 12 19:54 /dev/vdb1

2. 配置共享
[root@server0 ~]# yum -y install targetcli
[root@server0 ~]# systemctl enable target
[root@server0 ~]# systemctl start target
[root@server0 ~]# firewall-cmd --permanent --add-port=3260/tcp
[root@server0 ~]# firewall-cmd --reload


[root@server0 ~]# targetcli
/> ls
o- / ................................................................................ [...]
o- backstores ..................................................................... [...]
| o- block ......................................................... [Storage Objects: 0]
| o- fileio ........................................................ [Storage Objects: 0]
| o- pscsi ......................................................... [Storage Objects: 0]
| o- ramdisk ....................................................... [Storage Objects: 0]
o- iscsi ................................................................... [Targets: 0]
o- loopback ................................................................ [Targets: 0]

/> /backstores/block create san1 /dev/vdb1
Created block storage object san1 using /dev/vdb1.

/> iscsi/ create iqn.2014-12.com.tianyun:server
Created target iqn.2014-12.com.tianyun:server.
Created TPG 1.

/> ls
o- / ................................................................................ [...]
o- backstores ..................................................................... [...]
| o- block ......................................................... [Storage Objects: 1]
| | o- san1 ............................... [/dev/vdb1 (500.0MiB) write-thru deactivated]
| o- fileio ........................................................ [Storage Objects: 0]
| o- pscsi ......................................................... [Storage Objects: 0]
| o- ramdisk ....................................................... [Storage Objects: 0]
o- iscsi ................................................................... [Targets: 1]
| o- iqn.2014-12.com.tianyun:server ........................................... [TPGs: 1]
| o- tpg1 ...................................................... [no-gen-acls, no-auth]
| o- acls ................................................................. [ACLs: 0]
| o- luns ................................................................. [LUNs: 0]
| o- portals ........................................................... [Portals: 0]
o- loopback ................................................................ [Targets: 0]

 

/> cd iscsi/iqn.2014-12.com.tianyun:server/tpg1/
/iscsi/iqn.20...n:server/tpg1> ls
o- tpg1 ............................................................ [no-gen-acls, no-auth]
o- acls ....................................................................... [ACLs: 0]
o- luns ....................................................................... [LUNs: 0]
o- portals ................................................................. [Portals: 0]


/iscsi/iqn.20...n:server/tpg1> acls/ create iqn.2014-12.com.tianyun:client1
Created Node ACL for iqn.2014-12.com.tianyun:client1
/iscsi/iqn.20...n:server/tpg1> ls
o- tpg1 ............................................................ [no-gen-acls, no-auth]
o- acls ....................................................................... [ACLs: 1]
| o- iqn.2014-12.com.tianyun:client1 ................................... [Mapped LUNs: 0]
o- luns ....................................................................... [LUNs: 0]
o- portals ................................................................. [Portals: 0]


/iscsi/iqn.20...n:server/tpg1> luns/ create /backstores/block/san1
Created LUN 0.
Created LUN 0->0 mapping in node ACL iqn.2014-12.com.tianyun:client1
/iscsi/iqn.20...n:server/tpg1> ls
o- tpg1 ............................................................ [no-gen-acls, no-auth]
o- acls ....................................................................... [ACLs: 1]
| o- iqn.2014-12.com.tianyun:client1 ................................... [Mapped LUNs: 1]
| o- mapped_lun0 ............................................... [lun0 block/san1 (rw)]
o- luns ....................................................................... [LUNs: 1]
| o- lun0 ...................................................... [block/san1 (/dev/vdb1)]
o- portals ................................................................. [Portals: 0]

 

/iscsi/iqn.20...n:server/tpg1> portals/ create 172.25.0.11 3260
Using default IP port 3260
Created network portal 172.25.0.11:3260.

/> saveconfig
Last 10 configs saved in /etc/target/backup.
Configuration saved to /etc/target/saveconfig.json

 

 

二、Accessing iSCSI Storage
1. 安装客户端软件包
[root@desktop0 ~]# yum -y install iscsi*

2. 设置授权客户端的iqn
[root@desktop0 ~]# vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2014-12.com.tianyun:client1

3. 重启iscsid
[root@desktop0 ~]# systemctl restart iscsid
[root@desktop0 ~]# systemctl enable iscsid

4. 发现discovery
[root@desktop0 ~]# iscsiadm -m discovery -t st -p server0
172.25.0.11:3260,1 iqn.2014-12.com.tianyun:san1

[root@desktop0 ~]# tree /var/lib/iscsi/
/var/lib/iscsi/
├── ifaces
├── isns
├── nodes
│   └── iqn.2014-12.com.tianyun:san1
│   └── 172.25.0.11,3260,1
│   └── default
├── send_targets
│   └── server0,3260
│   ├── iqn.2014-12.com.tianyun:san1,172.25.0.11,3260,1,default -> /var/lib/iscsi/nodes/iqn.2014-12.com.tianyun:san1/172.25.0.11,3260,1
│   └── st_config
├── slp
└── static

5. login(认证并登录)
方法一:登录指定的iqn
[root@desktop0 ~]# iscsiadm -m node -T iqn.2014-12.com.tianyun:san1 -l

方法二:登录所有发现的iqn
[root@desktop0 ~]# systemctl restart iscsi

[root@desktop0 ~]# fdisk -l
[root@desktop0 ~]# pvcreate /dev/sda
[root@desktop0 ~]# vgcreate sanvg /dev/sda
[root@desktop0 ~]# lvcreate -l 100%FREE -n lv10 sanvg
[root@desktop0 ~]# mkfs.xfs /dev/sanvg/lv10

 


MultiPath多路径:
=====================================================
[root@desktop0 ~]# yum -y install device-mapper-multipath

[root@desktop0 ~]# cp -rf /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf /etc

[root@desktop0 ~]# systemctl enable multipathd
[root@desktop0 ~]# systemctl restart multipathd
[root@desktop0 ~]# multipath -l
mpatha (36001405a2bbc8a7d22c48c2bba40dac3) dm-0 LIO-ORG ,san1
size=500M features='0' hwhandler='0' wp=rw
|-+- policy='service-time 0' prio=0 status=active
| `- 6:0:0:0 sdb 8:16 active undef running
`-+- policy='service-time 0' prio=0 status=enabled
`- 7:0:0:0 sda 8:0 active undef running

[root@desktop0 ~]# ll /dev/mapper/mpatha
lrwxrwxrwx. 1 root root 7 12月 27 12:25 /dev/mapper/mpatha -> ../dm-0


使用非友好的名字:
[root@desktop0 ~]# /lib/udev/scsi_id --whitelisted --device=/dev/sda
36001405a2bbc8a7d22c48c2bba40dac3
[root@desktop0 ~]# /lib/udev/scsi_id --whitelisted --device=/dev/sdb
36001405a2bbc8a7d22c48c2bba40dac3


[root@desktop0 ~]# vim /etc/multipath.conf
defaults {
user_friendly_names yes
find_multipaths yes
}

multipaths {
multipath {
wwid 36001405a2bbc8a7d22c48c2bba40dac3
alias san1
}
}

[root@desktop0 ~]# systemctl restart multipathd
[root@desktop0 ~]# multipath -ll
san1 (36001405a2bbc8a7d22c48c2bba40dac3) dm-0 LIO-ORG ,san1
size=500M features='0' hwhandler='0' wp=rw
|-+- policy='service-time 0' prio=1 status=active
| `- 6:0:0:0 sdb 8:16 active ready running
`-+- policy='service-time 0' prio=1 status=enabled
`- 7:0:0:0 sda 8:0 active ready running


或使用round robin
multipaths {
multipath {
path_grouping_policy multibus
wwid 36001405a2bbc8a7d22c48c2bba40dac3
alias san1
}
}

[root@desktop0 ~]# multipath -ll
san1 (36001405a2bbc8a7d22c48c2bba40dac3) dm-0 LIO-ORG ,san1
size=500M features='0' hwhandler='0' wp=rw
`-+- policy='service-time 0' prio=1 status=active
|- 6:0:0:0 sdb 8:16 active ready running
`- 7:0:0:0 sda 8:0 active ready running

 

 

iscsi
==server iscsi target==
a. 准备要通过iscsi共享的卷
[root@server0 ~]# fdisk /dev/vdb //1G分区
[root@server0 ~]# partprobe /dev/vdb
[root@server0 ~]# ll /dev/vdb*
brw-rw----. 1 root disk 253, 16 Jul 8 18:25 /dev/vdb
brw-rw----. 1 root disk 253, 17 Jul 8 18:25 /dev/vdb1

b. 安装并共享
[root@server0 ~]# yum -y install targetcli
[root@server0 ~]# systemctl enable target.service
[root@server0 ~]# systemctl restart target.service
[root@server0 ~]# targetcli
/> ls
o- / ..................................................................... [...]
o- backstores .......................................................... [...]
| o- block .............................................. [Storage Objects: 0]
| o- fileio ............................................. [Storage Objects: 0]
| o- pscsi .............................................. [Storage Objects: 0]
| o- ramdisk ............................................ [Storage Objects: 0]
o- iscsi ........................................................ [Targets: 0]
o- loopback ..................................................... [Targets: 0]
/> /backstores/block create san10 /dev/vdb1
Created block storage object san10 using /dev/vdb1.

/> /iscsi create iqn.2014-11.com.tianyun:server0
Created target iqn.2014-11.com.tianyun:server0.
Created TPG 1.

/> ls
o- / ..................................................................... [...]
o- backstores .......................................................... [...]
| o- block .............................................. [Storage Objects: 1]
| | o- san10 ..................... [/dev/vdb1 (1.0GiB) write-thru deactivated]
| o- fileio ............................................. [Storage Objects: 0]
| o- pscsi .............................................. [Storage Objects: 0]
| o- ramdisk ............................................ [Storage Objects: 0]
o- iscsi ........................................................ [Targets: 1]
| o- iqn.2014-11.com.tianyun:server0 ............................... [TPGs: 1]
| o- tpg1 ........................................... [no-gen-acls, no-auth]
| o- acls ...................................................... [ACLs: 0]
| o- luns ...................................................... [LUNs: 0]
| o- portals ................................................ [Portals: 0]
o- loopback ..................................................... [Targets: 0]

/> /iscsi/iqn.2014-11.com.tianyun:server0/tpg1/acls create iqn.2014-11.com.tianyun:client1
Created Node ACL for iqn.2014-11.com.tianyun:client1

/> /iscsi/iqn.2014-11.com.tianyun:server0/tpg1/luns create /backstores/block/san10
Created LUN 0.
Created LUN 0->0 mapping in node ACL iqn.2014-11.com.tianyun:client1

/> /iscsi/iqn.2014-11.com.tianyun:server0/tpg1/portals create 172.25.0.11 3260 //本机IP
Using default IP port 3260
Created network portal 172.25.0.11:3260.

/> saveconfig

c. firewall
[root@server0 ~]# firewall-cmd --permanent --add-port=3260/tcp
[root@server0 ~]# firewall-cmd --reload


==desktop iscsi initiator==
[root@desktop0 ~]# yum -y install iscsi*
[root@desktop0 ~]# vim /etc/iscsi/initiatorname.iscsi //使用授权访问的IQN
InitiatorName=iqn.2014-11.com.tianyun:client1

[root@desktop0 ~]# systemctl enable iscsid
[root@desktop0 ~]# systemctl restart iscsid

[root@desktop0 ~]# iscsiadm -m discovery -t st -p server0 //发现 man iscsiadm (/EXAMPLES)
172.25.0.11:3260,1 iqn.2014-11.com.tianyun:server0

[root@desktop0 ~]# systemctl restart iscsi //login发现的所有iqn
[root@desktop0 ~]# systemctl enable iscsi

[root@desktop0 ~]# fdisk /dev/sda //对新设备分区
[root@desktop0 ~]# partprobe /dev/sda
[root@desktop0 ~]# ll /dev/sda*
brw-rw----. 1 root disk 8, 0 Jul 8 18:50 /dev/sda
brw-rw----. 1 root disk 8, 1 Jul 8 18:50 /dev/sda1
[root@desktop0 ~]# mkfs.ext4 /dev/sda1
[root@desktop0 ~]# mkdir /mnt/iscsidisk
[root@desktop0 ~]# blkid /dev/sda1 //获得UUID
/dev/sda1: UUID="ccff941d-43eb-4059-84c8-f53ccec08a78" TYPE="ext4"

[root@desktop0 ~]# vim /etc/fstab
UUID="ccff941d-43eb-4059-84c8-f53ccec08a78" /mnt/iscsidisk ext4 defaults,_netdev 0 0

[root@desktop0 ~]# mount -a
[root@desktop0 ~]# df
/dev/sda1 487634 2318 455620 1% /mnt/iscsidisk

 

posted on 2018-03-06 16:54  肀肀  阅读(190)  评论(0编辑  收藏  举报

导航