在CentOS7上配置iSCSI

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在CentOS7上配置iSCSI相关的知识,希望对你有一定的参考价值。

参考技术A

iSCSI使用TCP/IP协议对存储使用的SCSI指令进行封装,使得可通过TCP/IP网络访问持久化存储。本文在CentOS7上对iSCSI的配置和使用进行介绍。

本文中的实验仅涉及一个主机节点和一个存储节点。

虚拟机启动完毕后可使用以下用户登陆:

使用root用户登陆iscsi-disks,使用losetup来创建实验用的存储设备。

Step 1 创建大文件用于支持虚拟存储设备

为了避免Selinux权限问题,建议不要将文件创建在/root目录下。

Step 2 创建loop设备

Step 3 安装iSCSI target软件包并启动服务

Step 4 在targetcli命令行中创建存储设备

注:同一台主机可以创建多个target,每个target包含自己的lun和主机,实现主机组和lun的绑定
如下图中定义了iscsi-disks和linuxha两个target,其中iscsi-disks中的lun0(block/ib_vol1)只允许iscsi-host访问,linuxha中的lun0(block/ha_vol1)只运行ha-host1访问,

Step 5 放通防火墙

如果启用了防火墙,则需要放通以下端口:

Step 1 安装iSCSI initiator软件包

Step 2 修改配置文件/etc/iscsi/initiatorname.iscsi

在其中定义主机Initiator的名字:

此处定义的Initiator名字要和在存储节点中定义ACL时使用的主机名字一致。

Step 3 通过IP发现存储节点

Step 4 从主机发起iscsi登陆

如果之前发现了多个target,此处可用--targetname指定登陆的target。

登陆后可使用fdisk发现新存储设备:

Step 5 使用新存储设备

新的存储设备可以当成普通硬盘使用,如创建文件系统并挂载到主机目录中:

安装iscsi-initiator-utils后,系统新增了两个iscsi相关的服务,分别是iscsi.service和iscsid.service。

真正用于iscsi登陆的服务是iscsi.service,他启动时会同时启动iscsid.service,并且登陆完成后iscsi.service的进程将自动退出,由iscsid.service继续监控iscsi设备的状态。

CentOS配置iscsi存储

实验需求:一台CentOS 7.2系统,两块硬盘一块20G装系统一块100G配置为存储

实验软件:ISCSI Software Target

实验目的:搭建iscsi使网络邻居通过SAN自由存储

服务器IP地址为192.168.10.1

# ip add


技术分享图片


为一块新的100G硬盘分区分割成30Gsdb170Gsdb2

# fdisk –l

技术分享图片


配置iscsi服务端

开始配置iscsi服务端需要安装targetdtargetcli

# yum install targetd  targetcli
# targetcli

技术分享图片


首先创建两个存储硬盘文件/dev/sdb1disk1dev/sdb2disk2

/> cd backstores/block
/backstores/block> create disk1 /dev/sdb1
/backstores/block> create disk2 /dev/sdb2

技术分享图片


创建服务器信息节点为iqn.2017-12.x.com:target01并在此节点下创建两个目录设备信息 disk1lun0disk2lun1,此时新建节点默认节点为3260侦听所有网段请求

/> cd /iscsi
/iscsi> create iqn.2017-12.x.com:target01


技术分享图片


/iscsi> cd iqn.2017-12.x.com:target01/tpg1/luns
/iscsi/iqn.20...t01/tpg1/luns> create /backstores/block/disk1
/iscsi/iqn.20...t01/tpg1/luns> create /backstores/block/disk2

技术分享图片


进入acls目录创建客户端访问控制,这里设置为iqn.2017-12.x.com:iscsi01

/iscsi/iqn.20...t01/tpg1/luns> cd ../acls
/iscsi/iqn.20...t01/tpg1/acls> create iqn.2017-12.x.com:iscsi01

技术分享图片


到此服务端配置完成,返回根目录并保存配置

/iscsi/iqn.20...target01/tpg1> /.
/> saveconfig
/> exit

技术分享图片


重启服务并设置开机启动

# systemctl restart targetd
# systemctl enable targetd

技术分享图片


查看默认端口

# netstat -npl | grep 3260

技术分享图片


这里以windows server2008R2为例

因为上面配置的acls访问控制我们需要把客户端发起程序名称改为:iqn.2017-12.x.com:iscsi01,打开系统自带的iSCSI发起程序,配置栏-更改为iqn.2017-12.x.com:iscsi01

技术分享图片


在目标栏-目标输入ip地址192.168.10.1快速连接即可发现服务端

技术分享图片


右击我的电脑-管理存储-磁盘管理  在磁盘管理里初始化磁盘之后即发现服务端两块硬盘一块30G一块70G分区管理后即可随意使用iscsi存储了

技术分享图片

技术分享图片

技术分享图片

以上是关于在CentOS7上配置iSCSI的主要内容,如果未能解决你的问题,请参考以下文章

在Centos7.6上配置mysql主从

在Centos7.6上配置mysql主从

CentOS7上安装并配置KVM,以及通过KVM安装CentOS系统

在CentOS7上使用systemctl配置tomcat

在CentOS7.4上配置NTP客户端

在CentOS7上配置Open vSwitch和VXLAN