使用ISCSI服务部署网络存储

目录

一、ISCS技术应用场景之一

二、环境准备:

2.1网络部署

2.2服务端硬盘

三、配置ISCSI服务端

第一步、安装iscsi服务端的交互式配置工具targetcli

第二步:进入iscsi服务的配置“文件”

第三步:创建iscsi target 名称和配置共享资源。

3.1 创建iscsi target名称

3.2 创建一个名为share的存储块

3.3创建需要共享的设备

3.4配置访问控制列表acl

3.5 设置ISCSI服务端监听的IP地址和端口号

3.6检查配置信息无误后,输入exit命令后保存信息退出配置。

3.7重启target服务,使配置生效

3.8设置防火墙,放行ISCSI服务。

四、配置Windows客户端

五、配置Linux客户端

5.1安装客户端服务程序

5.2编辑iscsi客户端的initiator名称文件

5.3重启客户端服务程序使得修改的名称文件生效,并且将其加入到开机启动项目确保下次开机服务自行启动。

5.4.发现远程iscsi服务端

5.5登录远程服务端


一、ISCS技术应用场景之一

在生产环境中,集群是被广泛使用的服务器搭建技术,其中,使用iSCSI 技术将两台或更多服务器连接到独立磁盘,可以在多个服务器之间实现远程磁盘的共享,从而大大减少了数据同步的时间和资源消耗,提高了服务器的效率和可靠性。

二、环境准备:

2.1网络部署

我的配置环境,服务端与windows客户端的IP地址不在同一网段但是能ping通原因:我使用的是VMware Workstation虚拟机软件,在虚拟机软件里面部署了iscsi服务端和Linux客户端。我的虚拟机软件使用的是使用地址转换(NAT)网络模式。NAT地址转换可以让VM虚拟机的网络服务发挥路由器的作用。尽管我的物理机windows和虚拟机不同网段,但还是能ping通。

windows客户端与服务端能ping通

Linux客户端与服务端能ping通

2.2服务端硬盘

添加一块硬盘/dev/sdb,然后将硬盘/dev/sdb分区一个大小为10G的逻辑卷/dev/sdb1,配置/dev/sdb1提供iscsi共享存储服务。

三、配置ISCSI服务端

第一步、安装iscsi服务端的交互式配置工具targetcli

[root@zhoujunru ~]# yum install targetcli -y

第二步:进入iscsi服务的配置“文件”

安装好工具后,使用targetcli命令进入iscsi共享资源的配置,就好比是进入samba服务的配置文件里面。只不过targetcli命令是iscsi共享资源的配置文件抽象成了“目录”形式。

[root@zhoujunru ~]# targetcli
Warning: Could not load preferences file /root/.targetcli/prefs.bin.
targetcli shell version 2.1.53
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]
/>

第三步:创建iscsi target 名称和配置共享资源。

3.1 创建iscsi target名称

iscsi target 名称是一串用来描述共享资源的字符串,用户在扫描ISCSI服务端时可以看到这个字符串。    

/iscsi> create iqn.2018-10.com.example:server  ##创建 iscsi target名称为iqn.2018-10.com.example:server
Created target iqn.2018-10.com.example:server.
Created TPG 1.
Global pref auto_add_default_portal=true
Created default portal listening on all IPs (0.0.0.0), port 3260.
/iscsi> ls
o- iscsi ........................ [Targets: 1]
  o- iqn.2018-10.com.example:server  [TPGs: 1]   #系统在生成这个target名称后,会在/iscsi参数目录中创建一个与其字符串同名的新"目录”,用来存放共享资源。
    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> 
3.2 创建一个名为share的存储块
/> cd /backstores/block    
/backstores/block> create name=share dev=/dev/sdb1  #创建一个名为share的存储块,使得用户在登录服务端后,可以默认使用/dev/sdb这块硬盘设备提供的共享存储资源
Created block storage object share using /dev/sdb1.
/backstores/block> 
3.3创建需要共享的设备
/iscsi/iqn.20...ample:service> cd tpg1/luns
/iscsi/iqn.20...ice/tpg1/luns> create /backstores/block/share  #创建一个名为share的存储块,使得用户在登录服务端后,,可以使用/dev/sdb1设备提供的共享存储资源
Created LUN 0.
/iscsi/iqn.20...ice/tpg1/luns> 
3.4配置访问控制列表acl
/iscsi/iqn.20...e:server/tpg1> cd acls
/iscsi/iqn.20...ver/tpg1/acls> create iqn.2018-10.com.example:client ##在系统生成的ISCSI target后面加上:client参数,保证客户端的一致性
Created Node ACL for iqn.2018-10.com.example:client
/iscsi/iqn.20...ver/tpg1/acls> 
3.5 设置ISCSI服务端监听的IP地址和端口号

在服务器中 0.0.0.0指的是本机上所有的ipv4地址。


/iscsi/iqn.20...e:server/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> delete 0.0.0.0 3260  ##生产环境中的服务器可能有多块网卡,在配置文件中是默认所有的网卡提供ISCSI服务,这可能会带来安全问题,因为手动删除监听的IP地址和端口号
Deleted network portal 0.0.0.0:3260
/iscsi/iqn.20.../tpg1/portals> create 192.168.10.132 #服务器端的IP地址
Using default IP port 3260
Created network portal 192.168.10.132:3260.
/iscsi/iqn.20.../tpg1/portals> ls
o- portals ...................... [Portals: 1]
  o- 192.168.10.132:3260 ................ [OK]
/iscsi/iqn.20.../tpg1/portals> 
3.6检查配置信息无误后,输入exit命令后保存信息退出配置。
/> ls
o- / ................................... [...]
  o- backstores ........................ [...]
  | o- block ............ [Storage Objects: 1]
  | | o- share  [/dev/sdb1 (10.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: 1]
  | o- iqn.2018-10.com.example:server  [TPGs: 1]
  |   o- tpg1 ......... [no-gen-acls, no-auth]
  |     o- acls .................... [ACLs: 1]
  |     | o- iqn.2018-10.com.example:client  [Mapped LUNs: 0]
  |     o- luns .................... [LUNs: 0]
  |     o- portals .............. [Portals: 1]
  |       o- 192.168.10.132:3260 ........ [OK]
  o- loopback ................... [Targets: 0]
/> 
/> 
/> exit
Global pref auto_save_on_exit=true
Configuration saved to /etc/target/saveconfig.json
3.7重启target服务,使配置生效
[root@zhoujunru /]# systemctl restart target
[root@zhoujunru /]# 
3.8设置防火墙,放行ISCSI服务。
[root@zhoujunru /]# iptables -F
[root@zhoujunru /]# firewall-cmd --permanent --add-port=3260/tcp
success
[root@zhoujunru /]# firewall-cmd --reload
success
[root@zhoujunru /]# 

ISCSI服务器端配置完成,接下来配置linux客户端和windows客户端。

四、配置Windows客户端

五、配置Linux客户端

5.1安装客户端服务程序
[root@localhost /]# yum install iscsi-initiator-utils
5.2编辑iscsi客户端的initiator名称文件
[root@localhost /]# vim /etc/iscsi/initiatorname.iscsi
[root@localhost /]# cat /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2018-10.com.example:client
5.3重启客户端服务程序使得修改的名称文件生效,并且将其加入到开机启动项目确保下次开机服务自行启动。
[root@localhost /]# systemctl restart iscsid
[root@localhost /]# systemctl enable iscsid
Created symlink /etc/systemd/system/multi-user.target.wants/iscsid.service → /usr/lib/systemd/system/iscsid.service.
5.4.发现远程iscsi服务端
[root@localhost /]# iscsiadm -m discovery -t st -p 192.168.10.132
192.168.10.132:3260,1 iqn.2018-10.com.example:server
5.5登录远程服务端
[root@localhost /]# iscsiadm -m node -T iqn.2018-10.com.example:server -p 192.168.10.132 --login
[root@localhost /]# iscsiadm -m node -T iqn.2018-10.com.example:server -p 192.168.10.132 --login
[root@localhost /]# iscsiadm -m node -T iqn.2018-10.com.example:server -p 192.168.10.132 --login
[root@localhost /]# 

能发现,能登录,但是并没有连接到远程存储资源.排查了网络问题,防火墙问题,还是没有找到出错原因,希望大佬们能在评论区教教孩纸。

  • 39
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
iSCSI 是一种存储协议,它允许计算机通过网络访问远程存储设备。在 Ubuntu 上,可以使用 iSCSI 服务部署网络存储。 以下是在 Ubuntu 上部署 iSCSI 服务的步骤: 1.安装 iSCSI 服务 ```sudo apt-get update sudo apt-get install open-iscsi``` 2.配置 iSCSI 服务iSCSI 服务安装完成后,需要进行一些配置才能使其正常工作。首先,需要编辑 iSCSI 配置文件 `/etc/iscsi/iscsid.conf`: ```sudo nano /etc/iscsi/iscsid.conf``` 在文件中找到以下两行并取消注释: ```node.startup = automatic node.session.auth.authmethod = CHAP``` 保存并关闭文件。 3.创建 iSCSI 盘 要创建 iSCSI 盘,需要使用 LVM(逻辑卷管理器)来创建一个物理卷。首先,使用以下命令查看可用的磁盘: ```sudo fdisk -l``` 然后,可以使用 `pvcreate` 命令将磁盘分区转换成物理卷: ```sudo pvcreate /dev/sdb``` 接下来,使用 `vgcreate` 命令创建一个卷组: ```sudo vgcreate my_volume_group /dev/sdb``` 最后,使用 `lvcreate` 命令创建一个逻辑卷: ```sudo lvcreate -L 10G -n my_logical_volume my_volume_group``` 4.配置 iSCSI 盘 要配置 iSCSI 盘,需要创建一个 iSCSI Target,该 Target 将 iSCSI 协议转换成 SCSI 协议。首先,使用以下命令编辑 iSCSI Target 配置文件 `/etc/tgt/conf.d/iscsi.conf`: ```sudo nano /etc/tgt/conf.d/iscsi.conf``` 在文件中添加以下内容: ``` <target iqn.2021-07.com.example:storage.disk1> backing-store /dev/my_volume_group/my_logical_volume initiator-address 192.168.1.100 incominguser my_username my_password </target> ``` 其中: - `iqn.2021-07.com.example:storage.disk1` 是 iSCSI 盘的唯一标识符。 - `backing-store` 指定了要映射的物理卷。 - `initiator-address` 指定了允许连接到 iSCSI 盘的 IP 地址。 - `incominguser` 指定了 CHAP 认证的用户名和密码。 保存并关闭文件。 5.启动 iSCSI 服务 使用以下命令启动 iSCSI 服务: ```sudo systemctl start iscsid sudo systemctl start tgt``` 6.连接 iSCSI使用以下命令连接 iSCSI 盘: ```sudo iscsiadm -m discovery -t sendtargets -p 192.168.1.200 sudo iscsiadm -m node --login``` 其中,`192.168.1.200` 是 iSCSI Target 的 IP 地址。 接下来,可以使用 `lsblk` 命令查看已连接的磁盘: ```sudo lsblk```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值