linux的iscsi如何实用

iSCSI(Internet Small Computer System Interface),Internet小型计算机系统接口,又称为IP-SAN,是一种基于因特网SCSI-3协议下的存储技术,由IETF提出,并于2003年2月11日成为正式的标准。

iSCSI利用了TCP/IP的port 860 和 3260 作为沟通的渠道。透过两部计算机之间利用iSCSI的协议来交换SCSI命令,让计算机可以透过高速的局域网集线来把SAN模拟成为本地的储存装置。

iSCSI使用 TCP/IP 协议(一般使用TCP端口860和3260)。 本质上,iSCSI 让两个主机通过 IP 网络相互协商然后交换SCSI命 令。这样一来,iSCSI 就是用广域网仿真了一个常用的高性能本地存储总线,从而创建了一个存储局域网(SAN)。不像某些 SAN 协议,iSCSI 不需要专用的电缆;它可以在已有的交换和 IP 基础架构上运行。然而,如果不使用专用的网络或者子网( LAN 或者 VLAN ),iSCSI SAN 的部署性能可能会严重下降。于是,iSCSI 常常被认为是光纤通道(Fiber Channel)的一个低成本替代方法,而光纤通道是需要专用的基础架构的。但是,基于以太网的光纤通道(FCoE)则不需要专用的基础架构。

虽然 iSCSI 可以与任意类型的 SCSI 设备进行通信,系统管理员几乎总是使用它来连接服务器计算机 (例如,数据库服务器) 和磁盘卷上存储阵列。

通俗来讲,iscsi可以理解为硬盘共享

一、配置:

服务端:
1.yum install targetcli -y


2.为了方便实验,创建一个逻辑卷,满足可伸缩性
  fdisk /dev/vdb


  pvcreate /dev/vdb1
  vgcreate vg0 /dev/vdb1
  lvcreate -l 255 -n lv0 vg0    -l表示取多少个最小物理单元pe    -L表示取多大的内存
  lvs可以查看逻辑卷


3.[root@shareserver westos]# targetcli
Warning: Could not load preferences file /root/.targetcli/prefs.bin.
targetcli shell version 2.1.fb34
Copyright 2011-2013 by Datera, Inc and others.
For help on commands, type 'help'.

/> 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 westos:storage1 /dev/vg0/lv0                                    创建一个别名
Created block storage object westos:storage1 using /dev/vg0/lv0.
/> iscsi/ create iqn.2018-11.com.westos:storage1                                            创建一个共享名称
Created target iqn.2018-11.com.westos:storage1.
Created TPG 1.
/> iscsi/iqn.2018-11.com.westos:storage1/tpg1/luns create /backstores/block/westos:storage1         共享名称与共享设备关联
Created LUN 0.
/> ls
o- / ..................................................................... [...]
  o- backstores .......................................................... [...]
  | o- block .............................................. [Storage Objects: 1]
  | | o- westos:storage1 ....... [/dev/vg0/lv0 (1020.0MiB) write-thru activated]
  | o- fileio ............................................. [Storage Objects: 0]
  | o- pscsi .............................................. [Storage Objects: 0]
  | o- ramdisk ............................................ [Storage Objects: 0]
  o- iscsi ........................................................ [Targets: 1]
  | o- iqn.2018-11.com.westos:storage1 ............................... [TPGs: 1]
  |   o- tpg1 ........................................... [no-gen-acls, no-auth]
  |     o- acls ...................................................... [ACLs: 0]
  |     o- luns ...................................................... [LUNs: 1]
  |     | o- lun0 ....................... [block/westos:storage1 (/dev/vg0/lv0)]
  |     o- portals ................................................ [Portals: 0]
/> /iscsi/iqn.2018-11.com.westos:storage1/tpg1/acls create iqn.2018-11.com.westos:westoskey      制作一个KEY
Created Node ACL for iqn.2018-11.com.westos:westoskey
Created mapped LUN 0.
/> iscsi/iqn.2018-11.com.westos:storage1/tpg1/
iscsi/iqn.2018-11.com.westos:storage1/tpg1/*         
iscsi/iqn.2018-11.com.westos:storage1/tpg1/acls/     
iscsi/iqn.2018-11.com.westos:storage1/tpg1/luns/     
iscsi/iqn.2018-11.com.westos:storage1/tpg1/portals/  
...path
/> iscsi/iqn.2018-11.com.westos:storage1/tpg1/portals create 172.25.254.116                  在网络上共享出来
Using default IP port 3260
Created network portal 172.25.254.116:3260.

客户端:
1.yum  install iscsi-initiator-utils.i686 -y


2.iscsiadm -m discovery -t st -p 192.168.1.120  发现设备.注意:如果没有发现,那么可能是共享端的火墙没有关闭


3.iscsiadm -m node -T iqn.2018-11.com.westos:storage1 -p 192.168.1.120  连接错误,是因为没有把加密字符给客户端
4.vim /etc/iscsi/initiatorname.iscsi  将加密字符给此文件
  InitiatorName=iqn.2018-11.com.westos:westoskey
5.重启服务:systemctl restart iscsid.service
6.iscsiadm -m node -T iqn.2018-11.com.westos:storage1 -p 192.168.1.120 -l连接成功


测试:
在服务端:
扩展逻辑卷
fdsik /dev/vdb  创建一个新的逻辑卷
partprobe
pvcreat /dev/vdb2
vgextend vg0 /dev/vdb2
lvextend -l 504 /dev/vg0/lv0


客户端:
iscsiadm -m node -T iqn.2018-11.com.westos:storage1 -p 172.25.254.116 -u 退出设备
iscsiadm -m node -T iqn.2018-11.com.westos:storage1 -p 172.25.254.116 -l 连接设备
fdsik -l查看是否扩展,此时,共享设备(服务端逻辑卷)在客户端的显示为/dev/sda


fdisk /dev/sda  创建一个sda1
mkfs.xfs /dev/sda1   格式化sda1,服务端不用格式化,因为iscsi只是共享了硬盘,并非文件系统。
mount /dev/sda1 /mnt
cd /mnt
touch file   表示共享设备可以被客户端所写。


二、开机自动挂载设备:

vim /etc/fstab
错误格式:
/dev/sda1   /mnt   xfs    defaults    0    0  如果这样写的话,客户端重启之后会起不来,是因为当客户端重启时,网络服务还没有打开,而共享网络设备恰恰需要先开启网络,服务端才能共享设备,因此,客户端会起不来
正确格式:
/dev/sda1   /mnt   xfs    defaults,_netdev    0    0


三、取消设备共享:

客户端:
可以安装tree软件包来辅助查看是否删除连接
   yum install tree -y
tree /var/lib/iscsi
1.iscsiadm -m node -T iqn.2018-11.com.westos:storage1 -p 172.25.254.116 -u 退出连接
2.iscsiadm -m node -T iqn.2018-11.com.westos:storage1 -p 172.25.254.116 -o delete  删除连接
3.systemctl restart iscsi
4.fdisk -l 查看sda是否还存在


服务端:
  targetcli
/> clearconfig confirm=True
/> ls  已经不存在了

猜你喜欢

转载自blog.csdn.net/lm236236/article/details/84574655