ISCSI存储体系搭建
1.准备工作
可以互相访问到的两台电脑,如同一局域网下,或者同时拥有静态ip(本文选取电脑为统一局域网下的电脑)
一台电脑为ubuntu系统作为target端,另一台为window11作为initator端。
target端ip:192.168.X.X,initator端ip为192.168.Y.Y
获取ip地址的方式
window端,打开cmd,输入ipconfig,如图红框所示
ubuntu端:输入ifconfig,找到inet后的地址即可
2.配置流程
写在前面:以下命令如果有提示权限不够或者奇怪的报错,都可以尝试在命令前加sudo,如果仍然无法解决,再请尝试其他办法。
2.1搭建target端(ubuntu)
(1)首先更新系统,可以用如下命令
apt-get update -y
apt-get upgrade -y
(2)安装iSCSI Target
apt-get install tgt -y
安装完后可以通过下面的命令验证服务器的状态
systemctl status tgt
输出如下
(3)配置ISCSI的target端信息
通过下述命令创建(修改)配置文件
nano /etc/tgt/conf.d/iscsi.conf
在该文件中添加如下内容
<target iqn.2023-04.com.example:storage.disk1>
backing-store /var/lun1.bin
initiator-address 192.168.Y.Y # 这里是initiator端即window11 的 IP 地址
</target>
其中:
- iqn.2023-04.com.example:storage.disk1:指定 iSCSI Target 的名字,可以自定义。
- backing-store /var/lun1.bin:指定 iSCSI Target 对应的设备,这里是 虚拟磁盘,也可以用实际的硬盘设备(如果有的话,如/dev/sdb)。
虚拟磁盘创建命令
dd if=/dev/zero of=/var/lun1.bin count=0 obs=1 seek=5G
#这里我只创建了5G,也可以根据需要自己调整大小
- initiator-address 192.168.Y.Y:指定 iSCSI Target 只接受来自该 IP 地址的 Initiator 的请求。
- 也可以再添加 incominguser username password一行作为CHAP认证方式验证,此处为了便于操作,省去。
(3)重启tgt服务,使配置文件生效
sudo systemctl restart tgt
(4)验证是否成功
可以通过下列命令来进行验证
tgtadm --mode target --op show
输出应如下
至此,ISCSI的target端配置完成。
2.2initiator端连接(window)
(1)启动ISCSI协议的initiator服务
Win+R打开运行对话框,输入services.msc后打开服务窗口
下滑找到,如图红框所示的Microsoft iSCSI Initiator Service服务
双击打开属性窗口如下图,启动并把启动类型设置为自动。
至此,完成了ISCSI协议的initiator服务的启动。(2)开始连接在开始菜单输入“windows 工具”,
进入后找到ISCSI发起程序并打开
在目标处输入target端ip,192.168.X.X(ubuntu)后,点击快速连接
连接成功后,已发现的目标中,会出现设备的名称和状态。当状态显示已连接的时候表示连接成功。
(3)磁盘分区
这时我们再去磁盘管理器中查看,可以发现多了一个未分配的盘。
这里参考以下链接分配即可
计算机管理磁盘分区,一分钟搞定电脑磁盘分区,再也不求人!
(4)结束
分配完后,打开此电脑,我们会发现多一个卷,这时我们就可以像使用正常卷一样去使用它了。