iSCSI技术在工作形式上分为服务端(target)与客户端(initiator)。

iSCSI服务端即用于存放硬盘存储资源的服务器,它作为前面创建的RAID磁盘阵列的存储端,能够为用户提供可用的存储资。

iSCSI客户端则是用户使用的软件,用于访问远程服务端的存储资源。

能够完成 iSCSI target/initiator 设定的项目非常多,这里使用的是targetcli项目。

iSCSI Target(服务器端)配置

安装:

# yum -y install targetcli

启动target服务:

# systemctl start target

设置为开机自启动服务:

# systemctl enable target

查看防火墙状态:

# systemctl status firewalld
  • 禁用防火墙:
# systemctl stop firewalld
# systemctl disable firewalld
  • 或者是开放3260端口:
# firewall-cmd --permanent --add-port=3260/tcp
# firewall-cmd --reload

开始配置ISCSI,执行 targetcli 命令后就能看到交互式的配置界面了。在该界面中可以使用很多Linux命令,比如利用ls查看目录参数的结构,使用cd切换到不同的目录中。/backstores/block是iSCSI服务端配置共享设备的位置:

# 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'./>

有两种方式可以配置共享资源:

  • 使用镜像文件

在执行 targetcli 命令创建的一个40G的镜像:

# dd if=/dev/sda of=/home/ye/iscsi/shareddata.img bs=1024k count=40960

然后可以在相应目录下创建一个名为shareddata 的 fileio backstore:

> /backstores/fileio/ create shareddata /home/ye/iscsi/shareddata.img 40G
  • 使用磁盘分区或者逻辑卷

这种方法通常来说有更好的性能

/> /backstores/block/ create xendata /dev/sdb

然后配置ISCSITarget命名,即创建 IQN (Iscsi Qualified Name) :

/> iscsi/ create iqn.2018-06.com.xenserver:xenserver1

进入新创建的目录:

/iscsi/iqn.20...er:xenserver1> cd tpg1/
/iscsi/iqn.20...nserver1/tpg1> ls
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]

在目录tpg1下定义了三个object:

  • acls (access control lists: restrict access to resources)
  • luns (logical unit number: define exported resources)
  • portals (define ways to reach the exported resources; consist in pairs of IP addresses and ports)

创建lun(target块设备的逻辑单元):

  • 如果是Fileio backstore
/iscsi/iqn.20...nserver1/tpg1> luns/ create /backstores/fileio/shareddata
  • 如果是Block backstore
/iscsi/iqn.20...ample:t1/tpg1> luns/ create /backstores/block/xendata

创建ACL允许ISCSI客户机连接:

/iscsi/iqn.20...nserver1/tpg1> acls/ create iqn.2018-06.com.xenserver:client

创建用户和密码:

/iscsi/iqn.20...nserver1/tpg1> cd acls
/iscsi/iqn.20...er1/tpg1/acls> cd iqn.2018-06.com.xenserver:client/
/iscsi/iqn.20...server:client> ls
o- iqn.2018-06.com.xenserver:client ............................................................................... [Mapped LUNs: 1]o- mapped_lun0 ..................................................................................... [lun0 fileio/shareddata (rw)]
/iscsi/iqn.20...server:client> set auth userid=ye
Parameter userid is now 'ye'.
/iscsi/iqn.20...server:client> set auth password=123456
Parameter password is now '123456'.

iSCSI Initiator(客户端)配置

安装:

# yum -y install iscsi-initiator-utils

注:Ubuntu下比较方便好用的initiator是open iscsi:

apt-get install -y open-iscsi

启动iscsi服务:

# systemctl start iscsi

设置为开机自启动服务:

# systemctl enable iscsi

配置ISCSIInitiator名称(此处InitiatorName须与服务端配置的ACL允许ISCSI客户机连接的名称一致):

# vi /etc/iscsi/initiatorname.iscsi

修改为:

InitiatorName=iqn.2018-06.com.xenserver:client

修改ISCSIInitiator配置文件:

/etc/iscsi/iscsid.conf
node.session.auth.authmethod = CHAP
node.session.auth.username = ye
node.session.auth.password = 123456

查找ISCSI设备:

# iscsiadm --mode discovery --type sendtargets --portal 172.20.110.22

连接ISCSI设备:

# iscsiadm --mode node --targetname iqn.2018-06.com.xenserver:xenserver1 --portal 172.20.110.22 --login

查看ISCSI设备状态:

# lsblk --scsi
NAME HCTL       TYPE VENDOR   MODEL             REV TRAN
sda  0:0:0:0    disk ATA      ST500DM002-1BD14 KC65 sata
sdb  4:0:0:0    disk LIO-ORG  shareddata       4.0  iscsi
sr0  1:0:0:0    rom  HL-DT-ST DVDRAM GTA0N     LC00 sata

使用命令fdisk -l即可看到新添加的ISCSI设备。

创建文件系统

格式分区:

# mkfs.ext4 /dev/sdb
mke2fs 1.42.9 (28-Dec-2013)
/dev/sdb is entire device, not just one partition!
Proceed anyway? (y,n) y
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=2048 blocks
2621440 inodes, 10485760 blocks
524288 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2157969408
320 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done   

提取给磁盘的UUID :

# blkid | grep "/dev/sdb"
/dev/sdb: UUID="cb6d172d-1db0-4881-942e-9e88d20a074e" TYPE="ext4"
# echo "UUID=cb6d172d-1db0-4881-942e-9e88d20a074e" >> /etc/fstab

添加挂载点:

# vi /etc/fstab
UUID=cb6d172d-1db0-4881-942e-9e88d20a074e /mnt/xenserver ext4 _netdev 0 0

其中,  /mnt/xenserver是挂载路径,  ext4代表文件系统  ,_netdev代表该挂载的磁盘分区为网络磁盘分区。

挂载:

# mount /mnt/xenserver

最后设置开机自动连接ISCSI设备:

# iscsiadm --mode node --targetname iqn.2018-06.com.xenserver:xenserver1 --portal 172.20.110.22  -o update -n node.startup -v automatic

参考文献:

[1]. https://www.certdepot.net/rhel7-configure-iscsi-target-initiator-persistently/

[2]. https://blog.csdn.net/debimeng/article/details/72828780

CentOS 7 配置iSCSI相关推荐

  1. linux yum安装iscsi,CentOS 安装配置iscsi共享存储

    iSCSI简介: 从协议层次的角度看,通常所说的SCSI通常是指一组包含块命令.控制器管理.系统命令和enclosure服务等内容的协议规范,对应于回话层:而其下的物理通道和链接方式就对应在数据链路层 ...

  2. RHEL6 或CentOS 6配置共享存储--使用iSCSI

    multipath多路径实验01-构建iSCSI模拟环境 multipath多路径实验01-构建iSCSI模拟环境 前几天跟同事网上闲聊技术,吐槽之前自己没有配置过多路径的经历,虽然多路径的配置过程很 ...

  3. 网络运维超融合服务器,15. 通过 Openfiler 软件:配置 ISCSI 和

    第一章:初探 PROXMOX 01. PROXMOX 云计算架构课程简介 02. PROXMOX 产品特性简介 03. PROXMOX Web 管理界面介绍 第二章:安装和优化PROXMOX 04. ...

  4. CentOS下配置VNCServer,重启服务仍然生效

    CentOS下配置VNC Server,重启服务,配置仍然生效的方法: 本文前提:系统已安装好gnome桌面,如果没有请执行下面的命令安装即可. yum groupinstall "Desk ...

  5. centos oracle 服务自动启动,CentOS下配置Oracle 11gR2为系统服务自动启动

    CentOS下配置Oracle 11gR2为系统服务自动启动 CentOS下配置Oracle 11gR2为系统服务自动启动 为什么80%的码农都做不了架构师?>>> PS:在Wind ...

  6. linux vnc服务重启,CentOS下配置VNCServer,重启服务仍然生效

    CentOS下配置VNC Server,重启服务,配置仍然生效的方法: 本文前提:系统已安装好gnome桌面,如果没有请执行下面的命令安装即可. yum groupinstall "Desk ...

  7. CentOS 安全配置

    CentOS 安全配置 忘记 root 密码 禁止进入单用户模式 减少开放终端个数 设置登录用户无操作超时自动退出 只允许 root登录, 禁止其他用户登录 只有wheel组的用户能切换至root用户 ...

  8. CentOS 7配置LNMP开发环境及配置文件管理详解

    本篇文章主要介绍了CentOS 7配置LNMP开发环境及配置文件管理,详细的介绍了MySQL 5.6,PHP 5.6,Nginx的安装与配置,有兴趣的可以了解一下. 安装并配置MySQL 5.6 从C ...

  9. linux连接磁盘阵列,CentOS/Linux 连接 iSCSI 磁盘阵列

    CentOS/Linux连接iSCSI磁盘整列 iSCSI:即Internet Small Computer System Interface 系统环境:CentOS 6.5 mini 磁盘阵列:联想 ...

最新文章

  1. C#基础篇--文件(流)
  2. SpringMVC如何实现restful接口
  3. android 内部类的优化
  4. jmeter—操作数据库
  5. 基于图像分析的铁路车号识别系统
  6. matlab r2007课后答案,《MATLAB R2007基础教程》习题答案.doc
  7. Spring MVC登录实例
  8. 常用开发资源整理(更新日:2017/4/26)
  9. 服务器启动socket服务报错 java.net.BindException:Cannot assign requested address
  10. 屏幕共享技术及相关软件使用测评
  11. 还在为word排版而发愁?word的实验报告模板word数学建模模板免费领~(开头直接放百度网盘链接,直接拿去用就行)
  12. 接口测试系列之——接口安全测试
  13. 洛谷T30768 动感超人520
  14. 用java编国际象棋2之棋子的走法和吃法
  15. 热力图pycharm
  16. java应届毕业生面试技巧
  17. WinCC flexible Smart V3 SP2软件安装具体方法和步骤_常见问题处理
  18. 202130310164
  19. OpenGL(十六)——Qt OpenGL融合(将两张图片叠合成一张图片)
  20. vscode保存自动格式化加逗号解决方法

热门文章

  1. 10g RAC监听器配置文件listener.ora中的IP=FIRST
  2. python中级项目下载_中级Python复习:教程,项目思想和技巧
  3. android弹出和关闭软键盘
  4. 银行账户余额操作(Java小白版)
  5. 查看公司和公司产品数的sql语句
  6. Opera GX for Mac(Opera游戏浏览器)
  7. 常见红外遥控设备及协议简介
  8. 支付宝红包自动跳转生成器
  9. MemWatch的使用
  10. 判断 Android rom是不是 EMUI(Emotion UI)