
使用windows挂载linux的iSCSI卷
iSCSI相当于把服务端上的磁盘挂载到客户端上,并且能够被客户端识别为本地磁盘来使用。
图中的D盘就是其他主机上的硬盘。
服务端配置
提供磁盘空间的设备。我这里是ubuntu系统。
安装tgt
服务
sudo apt update
sudo apt install tgt
修改tgt
配置:
vim /etc/tgt/conf.d/iscsi.conf
按照需求进行添加:
<target iqn.2024-01.example.com:lun1>
backing-store /dev/sdb #这里是提供给其它设备的磁盘或者分区,注意,这里要求这个空间没有被使用,并且也没用被系统挂载
initiator-address 192.168.1.20 #设置只允许这个IP进行连接
incominguser user password #设置单向验证的用户名与密码,即对方连接时需要输入的用户名和密码
outgoinguser target secretpass #这是 iSCSI 目标(Target)在向客户端发起连接时使用的身份验证信息
</target>
使用fdisk -l
可以查看当前主机磁盘。注意,必须是未被使用的。
如果没有未被使用的分区,可以参考下面的将普通文件作为存储设备
内网使用时下面的两个身份验证其实都不用设置。
设置好之后重启tgt
服务
sudo systemctl restart tgt
客户端配置
注意,这里需要windows专业版的系统。
搜索iSCSI发起程序,打开
输入服务端的IP地址,点击快速连接
如果没有设置验证用户名密码则直接点击连接即可
如果设置了,则需要打开高级,设置用户名与密码
连接成功后,打开磁盘管理
就可以看到一块新的磁盘
然后右击点击新的磁盘进行初始化,分区即可。
我这里已经分好区了。
常见问题
iSCSI显示已连接,但是磁盘管理中却没有新的磁盘
说明这块磁盘被占用了,看看是不是被linux系统挂载了,如果是则需要取消挂载。
sudo umount /dev/目标磁盘
将普通文件作为存储设备
如果没有空闲的分区,可以使用dd创建普通文件,然后将普通文件作为存储设备。
sudo dd if=/dev/zero of=/path/to/iscsi_image bs=1G count=300
这个命令会创建一个300G的普通文件。
更改配置文件的/dev/sdb
为/path/to/iscsi_image
<target iqn.2024-01.example.com:lun1>
backing-store /path/to/iscsi_image #这里是提供给其它设备的磁盘或者分区,注意,这里要求这个空间没有被使用,并且也没用被系统挂载
initiator-address 192.168.1.20 #设置只允许这个IP进行连接
incominguser user password #设置单向验证的用户名与密码,即对方连接时需要输入的用户名和密码
outgoinguser target secretpass #这是 iSCSI 目标(Target)在向客户端发起连接时使用的身份验证信息
</target>
评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果