虚拟化平台对接自建ISCSI协议存储服务(IPSAN存储)

虚拟化平台对接自建ISCSI协议存储服务(IPSAN存储)

  • 1. Windows Server系统部署ISCSI存储服务
  • 2. Linux系统部署ISCSI存储服务
    • 2.1. ISCSI服务端安装
    • 2.2. Linux客户端对接Linux ISCSI存储
  • 3. FusionCompute虚拟化平台对接IPSAN存储
    • 3.1. FusionCompute虚拟化平台对接Windows ISCSI 存储
    • 3.2. FusionCompute虚拟化平台对接Linux ISCSI存储
  • 4. ESXI虚拟化平台对接IPSAN存储

1. Windows Server系统部署ISCSI存储服务

 
  在服务器管理器中找到添加角色和功能:
虚拟化平台对接自建ISCSI协议存储服务(IPSAN存储)_第1张图片
 
  勾选ISCSI目标存储提供程序和ISCSI目标服务器:
虚拟化平台对接自建ISCSI协议存储服务(IPSAN存储)_第2张图片
 
  选择虚拟化磁盘存放的位置,由于我的Windows Server就一个C盘,所以就选择C盘符:
虚拟化平台对接自建ISCSI协议存储服务(IPSAN存储)_第3张图片
 
  创建一个100G的虚拟磁盘文件,这个100G虚拟磁盘文件会在磁盘中实际占用一个100G的文件:
虚拟化平台对接自建ISCSI协议存储服务(IPSAN存储)_第4张图片
  接下来需要结合虚拟化集群操作。

2. Linux系统部署ISCSI存储服务

2.1. ISCSI服务端安装

  添加一块硬盘/dev/vdb,并进行fdisk分区

yum -y install scsi-target-utils

systemctl start tgtd
systemctl status tgtd
  • 方式一:

  创建target:

tgtadm --lld iscsi --mode target --op new --tid 1 --targetname iqn.2023-02.com.wangzy:iscsi.fcdisk

  创建lun:

tgtadm --lld iscsi --mode logicalunit --op new --tid 1 --lun 1 --backing-store  /dev/vdb1

  删除lun:

tgtadm --lld iscsi --mode logicalunit --op delete --tid 1 --lun 1 

  授权:
  为 Target 分配了 LUN 后,需要配置访问控制才可以使用。可以设置所有用户都能访问,也可以设置基于IP/IP段或用户名验证的访问权限。
  添加 IP 的访问权限:

tgtadm  --lld iscsi --mode target --op bind --tid 1 --initiator-address 10.1.248.154

  添加一个 IP 段的访问权限:

tgtadm --lld iscsi --mode target --op bind --tid 1 --initiator-address 172.26.160.0/24

  添加所有 IP 的访问权限:

tgtadm --lld iscsi --mode target --op bind --tid 1 --initiator-address  ALL

注意:访问控制是 Target 的一个特性,只能给 Target 添加访问控制,而对单独的 LUN 则无法添加访问控制。

  • 方式二:

  tgt的主配置文件为/etc/tgt/targets.conf,可以通过修改该配置文件的方式:

<targetiqn.2023-02.com.example.server1:iscsi>       
  backing-store  /dev/vdb1        #指定要发布的设备已划分的分区   
  initiator-address  ALL          #对于客户端的访问控制,允许所有用户访问,可根据访问策略进行修改
</target>

  iqn(iSCSI Qualified Name)名称规则如下:
  格式是:“iqn”+“年月”+“.”+“域名的颠倒”+“:”+“设备的具体名称”,之所以颠倒域名是为了避免可能的冲突

  查看配置属性信息:

tgtadm --lld iscsi --mode target --op show
Target 1: iqn.2023-02.com.wangzy:iscsi.fcdisk
    System information:
        Driver: iscsi
        State: ready
    I_T nexus information:
        I_T nexus: 1
            Initiator: iqn.1994-05.com.redhat:2b8a66a51d4wzynode01 alias: vm10-1-248-154.cloud.local
            Connection: 0
                IP Address: 10.1.248.154
    LUN information:
        LUN: 0
            Type: controller
            SCSI ID: IET     00010000
            SCSI SN: beaf10
            Size: 0 MB, Block size: 1
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            SWP: No
            Thin-provisioning: No
            Backing store type: null
            Backing store path: None
            Backing store flags: 
        LUN: 1
            Type: disk
            SCSI ID: IET     00010001
            SCSI SN: beaf11
            Size: 107373 MB, Block size: 512
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            SWP: No
            Thin-provisioning: No
            Backing store type: rdwr
            Backing store path: /dev/vdb1
            Backing store flags: 
    Account information:
    ACL information:
        172.26.160.43
        172.26.160.0/24
        10.1.248.154

  开放防火墙服务端口:

firewall-cmd --add-port=3260/tcp --permanent
firewall-cmd --reload

2.2. Linux客户端对接Linux ISCSI存储

  安装iscsi服务:

yum install -y iscsi*
systemctl restart iscsi

  配置客户端的iqn:

cat /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.1994-05.com.redhat:2b8a66a51d4
vim /etc/iscsi/initiatorname.iscsi

  发现服务端:

iscsiadm -t st -m discovery -p 10.1.248.111
10.1.248.111:3260,1 iqn.2023-02.com.wangzy:iscsi.fcdisk
systemctl status iscsi -l
# 看最后有target: iqn.2023-02.com.wangzy:iscsi.fcdisk

● iscsi.service - Login and scanning of iSCSI devices
   Loaded: loaded (/usr/lib/systemd/system/iscsi.service; enabled; vendor preset: disabled)
   Active: active (exited) since Wed 2023-02-15 16:19:44 CST; 43s ago
     Docs: man:iscsiadm(8)
           man:iscsid(8)
  Process: 1455 ExecStart=/sbin/iscsiadm -m node --loginall=automatic (code=exited, status=19)
 Main PID: 1455 (code=exited, status=19)

Feb 15 16:19:44 vm10-1-248-154.cloud.local systemd[1]: Starting Login and scanning of iSCSI devices...
Feb 15 16:19:44 vm10-1-248-154.cloud.local iscsiadm[1455]: iscsiadm: Could not login to [iface: default, target: iqn.2023-02.com.wangzy:iscsi.fcdisk, portal: 10.1.248.111,3260].
Feb 15 16:19:44 vm10-1-248-154.cloud.local iscsiadm[1455]: iscsiadm: initiator reported error (19 - encountered non-retryable iSCSI login failure)
Feb 15 16:19:44 vm10-1-248-154.cloud.local iscsiadm[1455]: iscsiadm: Could not log into all portals
Feb 15 16:19:44 vm10-1-248-154.cloud.local systemd[1]: Started Login and scanning of iSCSI devices.
Feb 15 16:19:44 vm10-1-248-154.cloud.local iscsiadm[1455]: Logging in to [iface: default, target: iqn.2023-02.com.wangzy:iscsi.fcdisk, portal: 10.1.248.111,3260] (multiple)

  连接服务端:

iscsiadm -m node -T iqn.2023-02.com.wangzy:iscsi.fcdisk -p 10.1.248.111:3260 -l
Logging in to [iface: default, target: iqn.2023-02.com.wangzy:iscsi.fcdisk, portal: 10.1.248.111,3260] (multiple)
Login to [iface: default, target: iqn.2023-02.com.wangzy:iscsi.fcdisk, portal: 10.1.248.111,3260] successful.

  最后一定要看到successful字段

注意:如果是云主机的话,一定不能使用EIP地址进行发现,要使用虚拟机网卡的真实IP地址进行发现

  查看磁盘信息表:
  100G空间大小为ISCSI服务端存储:

lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  100G  0 disk 
vda    253:0    0   20G  0 disk 
└─vda1 253:1    0   20G  0 part /

  分区并创创建挂载目录挂载:

fdisk /dev/sda
mkdir /mnt/iscsi
mkfs.xfs /dev/sda1

cat >>/etc/fstab<<EOF
/dev/sda1      /mnt/iscsi      xfs     defaults   0 0
EOF

mount -a
df -h /mnt/iscsi/
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       100G   33M  100G   1% /mnt/iscsi

3. FusionCompute虚拟化平台对接IPSAN存储

3.1. FusionCompute虚拟化平台对接Windows ISCSI 存储

 
  拷贝华为FusionCompute集群服务器的WWN号与存储关联
虚拟化平台对接自建ISCSI协议存储服务(IPSAN存储)_第5张图片
 
  虚拟化服务器的WWN号与存储进行关联:
虚拟化平台对接自建ISCSI协议存储服务(IPSAN存储)_第6张图片
 
  确认配置信息:
虚拟化平台对接自建ISCSI协议存储服务(IPSAN存储)_第7张图片
 
  确认完成之后点击创建:
虚拟化平台对接自建ISCSI协议存储服务(IPSAN存储)_第8张图片
 
  创建完成之后会自动进行初始化,必须等待初始化完成之后才能进行接下来的操作:
虚拟化平台对接自建ISCSI协议存储服务(IPSAN存储)_第9张图片
 
  初始化完成之后会显示未连接状态,因为此时华为FusionCompute还未对存储进行扫描(CNA主机还未和存储进行关联):
虚拟化平台对接自建ISCSI协议存储服务(IPSAN存储)_第10张图片
 
  关联存储:在华为FusionCompute中添加存储的管理和业务IP地址(管理网络和业务网络没有进行区分,所以地址是一样的)
虚拟化平台对接自建ISCSI协议存储服务(IPSAN存储)_第11张图片
 
虚拟化平台对接自建ISCSI协议存储服务(IPSAN存储)_第12张图片
 
  再回到Windows Server中查看ISCSI存储就会显示已经连接状态:
虚拟化平台对接自建ISCSI协议存储服务(IPSAN存储)_第13张图片
 
  可以看到实际占用大小就是100G
虚拟化平台对接自建ISCSI协议存储服务(IPSAN存储)_第14张图片
  CNA1主机挂载了该SAN存储,那么在CNA1主机中启动的虚拟机磁盘都可以建立在该存储中

在虚拟机删除数据或者直接删除虚拟机时,SAN存储里面的空间不会立即释放,需要等待一定的时间后才能完全释放

3.2. FusionCompute虚拟化平台对接Linux ISCSI存储

说明:我的CNA主机是使用KVM虚拟机搭建的,其中虚拟机有8块网卡,有两块网卡eth4和eth4单独作为存储网络是可以和Linux ISCSI服务端的网卡互通的,当然Linux ISCSI服务端我也是使用KVM虚拟机搭建的。在我的其他博客中有具体的搭建方案。

  绑定网卡:
虚拟化平台对接自建ISCSI协议存储服务(IPSAN存储)_第15张图片
 
  添加存储资源:
  添加存储的管理IP和业务IP,因为我是KVM虚拟机搭建的ISCSI存储,所以管理和业务IP一样,都是填写Linux的存储业务网络的网卡IP地址
虚拟化平台对接自建ISCSI协议存储服务(IPSAN存储)_第16张图片
 
  扫描存储设备:
  查看到Linux ISCSI存储已经关联到CNA主机
虚拟化平台对接自建ISCSI协议存储服务(IPSAN存储)_第17张图片
 
  存储设备已经扫描到100G的存储
虚拟化平台对接自建ISCSI协议存储服务(IPSAN存储)_第18张图片
 
  添加数据存储:
虚拟化平台对接自建ISCSI协议存储服务(IPSAN存储)_第19张图片

4. ESXI虚拟化平台对接IPSAN存储

 
  需要添加一个软件适配器,添加完整之后就会显示该软件适配器的WWN号
虚拟化平台对接自建ISCSI协议存储服务(IPSAN存储)_第20张图片

 
虚拟化平台对接自建ISCSI协议存储服务(IPSAN存储)_第21张图片

 
虚拟化平台对接自建ISCSI协议存储服务(IPSAN存储)_第22张图片

 
  添加完成之后查看ISCSI软件适配器的属性信息如下:
虚拟化平台对接自建ISCSI协议存储服务(IPSAN存储)_第23张图片

 
  在Windows ISCSI存储服务端添加该WWN号,使ISCSI存储和ESXI主机对接:
虚拟化平台对接自建ISCSI协议存储服务(IPSAN存储)_第24张图片
 
虚拟化平台对接自建ISCSI协议存储服务(IPSAN存储)_第25张图片
 
  添加动态发现,ISCSI服务器添加Windows Server ISCSI服务器的IP地址
虚拟化平台对接自建ISCSI协议存储服务(IPSAN存储)_第26张图片

 
  添加完成之后系统提示重新扫描适配器:
虚拟化平台对接自建ISCSI协议存储服务(IPSAN存储)_第27张图片

 
  这时候重新扫描存储设备的话,还是不能扫描出来,而且Windows Server ISCSI还是显示未连接状态,因为还没有添加网络端口的绑定。
虚拟化平台对接自建ISCSI协议存储服务(IPSAN存储)_第28张图片
 
虚拟化平台对接自建ISCSI协议存储服务(IPSAN存储)_第29张图片

这块先留下一个尾巴,因为我没有多余的单独网卡,没办法绑定一个物理网卡,绑定成功之后再重新扫描在Windows Server查看ISCSI就会是连接状态了

  总体感觉此方式搭建的存储性能不是特别高,生产系统也没这么用过,可以作为一个临时解决方案吧。

你可能感兴趣的:(运维,网络,服务器)