ISCSI服务

ISCSI服务

ISCSI技术概述

硬盘的接口类型

  • IDE是一种成熟稳定、价格便宜的并行传输接口。
  • SATA是一种传输速度更快、数据校验更完整的串行传输接口。
  • SCSI是一种用于计算机和硬盘、光驱等设备之间系统级接口的通用标准,具有系统资源占用率低、转速高、传输速度快等优点。

IBM公司开始研发ISCSI技术

​ 这是一种将SCSI接口与以太网技术相结合的新型存储技术,可以用来在网络中传输SCSI接口的命令和数据。

iscsi = internet + scsi硬盘接口

​ 这样,不仅克服了传统SCSI接口设备的物理局限性,实现了跨区域的存储资源共享,还可以在不停机的状态下扩展存储容量。

配置ISCSI服务端

添加硬盘

首先我们提前将虚拟机加入一块硬盘

开机启动

[root@server222 ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   19G  0 part
  ├─centos-root 253:0    0   17G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk
sr0              11:0    1  4.2G  0 rom  /mnt/cdrom

yum安装ISCSI服务端程序
[root@server222 ~]# yum install -y targetd targetcli
[root@server222 ~]# systemctl restart targetd
[root@server222 ~]# systemctl enable targetd
Created symlink from /etc/systemd/system/multi-user.target.wants/targetd.service to /usr/lib/systemd/system/targetd.service.
配置ISCSI服务端共享资源
[root@server222 ~]# targetcli
Warning: Could not load preferences file /root/.targetcli/prefs.bin.
targetcli shell version 2.1.fb46
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]
/> cd backstores/block
/backstores/block> create disk1 /dev/sdb
Created block storage object disk1 using /dev/sdb.
/backstores/block> cd /
/> ls
o- / ..................................................................... [...]
  o- backstores .......................................................... [...]
  | o- block .............................................. [Storage Objects: 1]
  | | o- disk1 ..................... [/dev/sdb (20.0GiB) write-thru deactivated]
  | |   o- alua ............................................... [ALUA Groups: 1]
  | |     o- default_tg_pt_gp ................... [ALUA state: Active/optimized]
  | o- fileio ............................................. [Storage Objects: 0]
  | o- pscsi .............................................. [Storage Objects: 0]
  | o- ramdisk ............................................ [Storage Objects: 0]
  o- iscsi ........................................................ [Targets: 0]
  o- loopback ..................................................... [Targets: 0]
/>

创建ISCSI target名称以及配置共享资源
/> cd iscsi
/iscsi> .
/iscsi> create
Created target iqn.2003-01.org.linux-iscsi.server222.x8664:sn.c0e1179441ab.
Created TPG 1.
Global pref auto_add_default_portal=true
Created default portal listening on all IPs (0.0.0.0), port 3260.
/iscsi> cd iqn.2003-01.org.linux-iscsi.server222.x8664:sn.c0e1179441ab/
/iscsi/iqn.20....c0e1179441ab> ls
o- iqn.2003-01.org.linux-iscsi.server222.x8664:sn.c0e1179441ab ....... [TPGs: 1]
  o- tpg1 ............................................... [no-gen-acls, no-auth]
    o- acls .......................................................... [ACLs: 0]
    o- luns .......................................................... [LUNs: 0]
    o- portals .................................................... [Portals: 1]
      o- 0.0.0.0:3260 ..................................................... [OK]
/iscsi/iqn.20....c0e1179441ab> cd tpg1/luns
/iscsi/iqn.20...1ab/tpg1/luns> create /backstores/block/disk1
Created LUN 0.

设置访问控制列表(ACL)
/iscsi/iqn.20...1ab/tpg1/luns> cd ..
/iscsi/iqn.20...179441ab/tpg1> ls
o- tpg1 ................................................. [no-gen-acls, no-auth]
  o- acls ............................................................ [ACLs: 0]
  o- luns ............................................................ [LUNs: 1]
  | o- lun0 ........................ [block/disk1 (/dev/sdb) (default_tg_pt_gp)]
  o- portals ...................................................... [Portals: 1]
    o- 0.0.0.0:3260 ....................................................... [OK]
/iscsi/iqn.20...179441ab/tpg1> cd acls
/iscsi/iqn.20...1ab/tpg1/acls> create iqn.2003-01.org.linux-iscsi.server222.x8664:sn.c0e1179441ab:client
Created Node ACL for iqn.2003-01.org.linux-iscsi.server222.x8664:sn.c0e1179441ab:client
Created mapped LUN 0.

设置ISCSI服务端的监听IP地址和端口号
/iscsi/iqn.20...1ab/tpg1/acls> cd ..
/iscsi/iqn.20...179441ab/tpg1> cd portals/
/iscsi/iqn.20.../tpg1/portals> ls
o- portals ........................................................ [Portals: 1]
  o- 0.0.0.0:3260 ......................................................... [OK]
/iscsi/iqn.20.../tpg1/portals> create 192.168.176.222
Using default IP port 3260
Created network portal 192.168.176.222:3260.
/iscsi/iqn.20.../tpg1/portals>

此处如果报错 请执行下面一步骤

/iscsi/iqn.20.../tpg1/portals> create 192.168.176.222
Using default IP port 3260
Could not create NetworkPortal in configFS

/iscsi/iqn.20.../tpg1/portals> delete 0.0.0.0 3260
Deleted network portal 0.0.0.0:3260
检查配置信息
iscsi/iqn.20.../tpg1/portals> ls /
o- / ..................................................................... [...]
  o- backstores .......................................................... [...]
  | o- block .............................................. [Storage Objects: 1]
  | | o- disk1 ....................... [/dev/sdb (20.0GiB) write-thru activated]
  | |   o- alua ............................................... [ALUA Groups: 1]
  | |     o- default_tg_pt_gp ................... [ALUA state: Active/optimized]
  | o- fileio ............................................. [Storage Objects: 0]
  | o- pscsi .............................................. [Storage Objects: 0]
  | o- ramdisk ............................................ [Storage Objects: 0]
  o- iscsi ........................................................ [Targets: 1]
  | o- iqn.2003-01.org.linux-iscsi.server222.x8664:sn.c0e1179441ab ... [TPGs: 1]
  |   o- tpg1 ........................................... [no-gen-acls, no-auth]
  |     o- acls ...................................................... [ACLs: 1]
  |     | o- iqn.2003-01.org.linux-iscsi.server222.x8664:sn.c0e1179441ab:client  [Mapped LUNs: 1]
  |     |   o- mapped_lun0 ............................. [lun0 block/disk1 (rw)]
  |     o- luns ...................................................... [LUNs: 1]
  |     | o- lun0 .................. [block/disk1 (/dev/sdb) (default_tg_pt_gp)]
  |     o- portals ................................................ [Portals: 1]
  |       o- 192.168.176.222:3260 ......................................... [OK]
  o- loopback ..................................................... [Targets: 0]
/iscsi/iqn.20.../tpg1/portals> exit
Global pref auto_save_on_exit=true
Last 10 configs saved in /etc/target/backup.
Configuration saved to /etc/target/saveconfig.json
配置防火墙以及重启服务
[root@server222 ~]# systemctl restart targetd
[root@server222 ~]# systemctl enable targetd

[root@server222 ~]# systemctl stop firewalld
[root@server222 ~]# vim /etc/selinux/config
[root@server222 ~]# setenforce 0
[root@server222 ~]# getenforce
Permissive

配置ISCSI客户端

客户端地址:192.168.176.111

安装ISCSI客户端服务程序initiator

在rhel 7 系统中,ISCSI-initator-utils已经被默认安装了

[root@client111 ~]# yum install iscsi-initiator-utils
编辑initiatorname配置文件
[root@client111 ~]# vim /etc/iscsi/initiatorname.iscsi
[root@client111 ~]# cat /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2003-01.org.linux-iscsi.server222.x8664:sn.c0e1179441ab:client

[root@client111 ~]# systemctl restart iscsid
[root@client111 ~]# systemctl enable iscsid
Created symlink from /etc/systemd/system/multi-user.target.wants/iscsid.service to /usr/lib/systemd/system/iscsid.service.
登录iSCSI服务端

iscsiadm是用于管理、查询、插入、更新或删除iSCSI数据库配置文件的命令行工具,用户需要先使用这个工具扫描发现远程iSCSI服务端,然后查看找到的服务端上有哪些可用的共享存储资源。

-m discovery参数的目的是扫描并发现可用的存储资源,

-t st参数为执行扫描操作的类型,

-p 192.168.176.222 参数为iSCSI服务端的IP地址

[root@client111 ~]# iscsiadm -m discovery -t st -p 192.168.176.222
192.168.176.222:3260,1 iqn.2003-01.org.linux-iscsi.server222.x8664:sn.c0e1179441ab

-m node参数为将客户端所在主机作为一台节点服务器,

-T iqn.2003-01.org.linux-iscsi.linuxprobe.x8664:sn.d497c356ad80参数为要使用的存储资源 (直接复制前面命令中扫描发现的结果,以免错误)

-p 192.168.176.222参数依然为服务端iSCSI服务端的IP地址。

–login或-l参数进行登录验证。

[root@client111 ~]# iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.server222.x8664:sn.c0e1179441ab -p 192.168.176.222 --login
Logging in to [iface: default, target: iqn.2003-01.org.linux-iscsi.server222.x8664:sn.c0e1179441ab, portal: 192.168.176.222,3260] (multiple)
Login to [iface: default, target: iqn.2003-01.org.linux-iscsi.server222.x8664:sn.c0e1179441ab, portal: 192.168.176.222,3260] successful.

此时我们lsbak看一下

[root@client111 ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   19G  0 part
  ├─centos-root 253:0    0   17G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk
sr0              11:0    1  4.2G  0 rom  /mnt/cdrom

发现此处多了一个/dev/sdb的设备文件

[root@client111 ~]# file /dev/sdb
/dev/sdb: block special
挂载设备
[root@client111 ~]# file /dev/sdb
/dev/sdb: block special
[root@client111 ~]# mkfs.xfs /dev/sdb
meta-data=/dev/sdb               isize=512    agcount=4, agsize=1310720 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=5242880, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@client111 ~]# mkdir /iscsi
[root@client111 ~]# mount /dev/sdb /iscsi/
[root@client111 ~]# df -Th
文件系统                类型      容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root xfs        17G  4.4G   13G   26% /
devtmpfs                devtmpfs  977M     0  977M    0% /dev
tmpfs                   tmpfs     993M     0  993M    0% /dev/shm
tmpfs                   tmpfs     993M  9.0M  984M    1% /run
tmpfs                   tmpfs     993M     0  993M    0% /sys/fs/cgroup
/dev/sr0                iso9660   4.3G  4.3G     0  100% /mnt/cdrom
/dev/sda1               xfs      1014M  161M  854M   16% /boot
tmpfs                   tmpfs     199M   12K  199M    1% /run/user/42
tmpfs                   tmpfs     199M     0  199M    0% /run/user/0
/dev/sdb                xfs        20G   33M   20G    1% /iscsi
永久挂载
[root@client111 ~]# blkid | grep /dev/sdb
/dev/sdb: UUID="cc4c5965-a701-4534-85ad-60df267cf5d7" TYPE="xfs"
[root@client111 ~]# vim /etc/fstab
[root@client111 ~]# tail -n 1 /etc/fstab
UUID="cc4c5965-a701-4534-85ad-60df267cf5d7" /iscsi xfs defaults,_netdev 0 0
[root@client111 ~]# mount -a

卸载ISCSI共享资源设备

可以用iscsiadm命令的-u参数将其设备卸载

[root@client111 ~]# umount /iscsi/
[root@client111 ~]# df -Th
文件系统                类型      容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root xfs        17G  4.4G   13G   26% /
devtmpfs                devtmpfs  977M     0  977M    0% /dev
tmpfs                   tmpfs     993M     0  993M    0% /dev/shm
tmpfs                   tmpfs     993M  9.0M  984M    1% /run
tmpfs                   tmpfs     993M     0  993M    0% /sys/fs/cgroup
/dev/sr0                iso9660   4.3G  4.3G     0  100% /mnt/cdrom
/dev/sda1               xfs      1014M  161M  854M   16% /boot
tmpfs                   tmpfs     199M   12K  199M    1% /run/user/42
tmpfs                   tmpfs     199M     0  199M    0% /run/user/0
[root@client111 ~]# iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.server222.x8664:sn.c0e1179441ab -u
Logging out of session [sid: 1, target: iqn.2003-01.org.linux-iscsi.server222.x8664:sn.c0e1179441ab, portal: 192.168.176.222,3260]
Logout of [sid: 1, target: iqn.2003-01.org.linux-iscsi.server222.x8664:sn.c0e1179441ab, portal: 192.168.176.222,3260] successful.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值