Linux学习笔记--24(使用iSCSI服务部署网络存储)

SCSI技术概述

当前的硬盘接口类型主要有IDE、SCSI和SATA3种

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

iSCSI(Internet Small Computer System Interface)互联网小型计算机系统接口,是一种将SCSI接口与以太网技术相结合的新型存储技术,可用来在网络中传输SCSI接口的命令和数据。实现了跨区域的存储资源共享,可在不停机状态下扩展存储容量。
使用的是iSCSI-HBA卡连接进行主机之间交换存储数据。运行linux系统的服务器基于iSCSI协议把硬盘设备命令与数据打包成标准的TCP/IP数据包,然后通过以太网传输到目标存储设备,目标存储设备接收到这些数据包后,需基于iSCSI协议把TCP/IP数据包解压成硬盘设备命令与数据。

创建RAID磁盘阵列

先在虚拟机中添加4 块硬盘进行测试。
在这里插入图片描述
用mdadm命令创建RAID磁盘阵列。
-Cv参数为创建阵列并显示过程;
/dev/md0为生成的阵列组名称;
-n 3 参数为创建RAID5磁盘阵列所需的硬盘个数;
-l 5 参数为RAID磁盘阵列的级别;
-x 1参数为磁盘阵列的备份盘个数;
最后写上使用的硬盘名称。

# mdadm -Cv /dev/md0 -n 3 -l 5 -x 1 /dev/sdb /dev/sdc /dev/sdd /dev/sde
# mdadm -D /dev/md0 (查看设备详细信息,记录UUID写入到fstab挂载配置文件中)

在这里插入图片描述

配置iSCSI服务端

iSCSI技术工作形式上分服务端(target)与客户端(initiator)。服务端用于存放硬盘存储资源的服务器,作为创建RAID磁盘阵列的存储端。客户端则是使用软件,用于访问远程服务端的存储资源。
第一步:安装iSCSI服务端程序及配置命令工具。-y参数就不需要安装时手动确认了。
在RHEL 8/CentOS 8系统中,默认已经安装了iSCSI服务端程序,用户需要做的是配置好软件仓库后安装iSCSI服务端的交换式配置工具。

# yum -y install targetcli

第二步:配置iSCSI服务共享资源。
/backstores/block是iSCSI服务端配置共享设备的位置。targetcli用于管理iSCSI服务端存储资源的专用配置命令。把创建的RAID5磁盘阵列md0文件加入到配置共享设备资源池,并将该文件重新命名为disk0,这样用户就不知道服务器中哪块硬盘提供共享存储资源,只看到一个名为disk0存储设备。

# targetcli
/> ls
/> cd /backstores/block
> create disk0 /dev/md0
> cd /
/> ls  (block下多出disk0)

在这里插入图片描述
第三步:创建iSCSI target名称及配置共享资源。这个名称是系统自动生成的,还会在/iscsi参数目录中创建一个与其字符串同名的新“目录”来存放共享资源。需要把共享资源池中的硬盘设备添加到这个新目录中,这样用户登录iSCSI服务端后,即可默认使用这硬盘设备提供的共享存储资源了。

/> cd iscsi
> create
Created target iqn.2003-01.org.linux-iscsi.mail.x8664:sn.3cd6d02ad7cd.
> cd iqn.2003-01.org.linux-iscsi.mail.x8664:sn.3cd6d02ad7cd
> ls
> cd tpg1/luns
> create /backstores/block/disk0

在这里插入图片描述
第四步:设置访问控制列表(ACL)。iSCSI协议是通过客户端名称进行验证的,需要在iSCSI服务端的配置文件中写入一串能够验证用户信息的名称。acls参数目录用于存放能够访问iSCSI服务端共享存储资源的客户端名称。推荐在刚刚系统生成的 iSCSI target 后面追加上类似于:client 的参数,这样既能保证客户端的名称具有唯一性,又非常便于管理和阅读

> cd ..
> cd acls
> create iqn.2003-01.org.linux-iscsi.mail.x8664:sn.3cd6d02ad7cd:client

在这里插入图片描述

第五步:设置iSCSI服务端的监听IP地址和端口号。即在portals参数目录中写上服务器IP地址。默认端口3260/tcp。
在配置文件中默认是允许所有网卡提供iSCSI服务,如果您认为这有些许不安全,可以手动删除。

> cd ..
> cd portals
> create 192.168.153.10

在这里插入图片描述
第六步:配置后检查配置信息保存exit退出,重启iSCSI服务并配置防火墙策略使其放行3260/tcp端口号。

> ls /
/> exit
# 
# firewall-cmd --permanent --add-port=3260/tcp
# firewall-cmd --reload

在这里插入图片描述

配置Linux客户端

安装iSCSI客户端服务程序initiator。

# yum install iscsi-initiator-utils

编辑客户中的initiator文件,把服务端访问控制列表名称填写进去,重启并加入开机启动。

# vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2003-01.org.linux-iscsi.mail.x8664:sn.3cd6d02ad7cd:client
# systemctl restart iscsid
# systemctl enable iscsid

在这里插入图片描述

客户端访问口诀:先发现,再登录,最后挂载并使用
iscsiadm是用于管理、查询、插入、更新或删除iSCSI数据库配置文件的命令行工具。
先用这个工具扫描发现远程iSCSI服务端,然后查看有哪些可用共享存储资源。
-m discovery 参数的目的扫描并发现可用的存储资源;
-t st参数为执行扫描操作的类型;
-p 192.168.153.10参数为iSCSI服务端IP地址。

# iscsiadm -m discovery -t st -p 192.168.153.10

在这里插入图片描述

-m node参数为将客户端所在主机作为一台节点服务器;
-T iqn.2003-01.org.linux-iscsi.mail.x8664:sn.3cd6d02ad7cd 参数为要用的存储资源;
-p 192.168.153.10参数为iSCSI服务端的IP地址;
–login或-l 参数为登录验证。

# iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.mail.x8664:sn.3cd6d02ad7cd -p 192.168.153.10 --login

在这里插入图片描述

登录成功后,会多出一块/dev/sdb的设备文件。可以通过lsblk进行查看。
udev服务在命名硬盘名称是,与硬盘插槽没有关系的。

# lsblk
# file /dev/sdb

在这里插入图片描述

操作磁盘,格式化并挂载

# mkfs.xfs /dev/sdb
# mkdir /iscsi
# mount /dev/sdb /iscsi
# df -h

blkid命令用于查看设备的名称、文件系统级UUID。

# blkid | grep /dev/sdb

注意:因为/dev/sdb是一块网络存储设备,在/etc/fstab配置文件中必须添加 _netdev 参数表示当系统联网后再进行挂载操作,以免系统开机时间过长或开机失败。

# vim /etc/fstab
UUID=eb9cbf2f-fce8-413a-b770-8b0f243e8ad6 /iscsi xfs defaults,_netdev 0 0

如果不需要用iSCSI共享设备资源,用iscsiadm -u 将其设备卸载。

# iscsiadm -m node -T  -uiqn.2003-01.org.linux-iscsi.mail.x8664:sn.3cd6d02ad7cd -u

配置Windows客户端

使用Windows系统的客户端也可以正常访问iSCSI服务器上的共享存储资源,而且操作原理及步骤与Linux系统的客户端基本相同。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
格式化之后就可以了。
如果删除就直接断开连接即可
在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值