1 . 服务端下载安装targetcli
targetcli是一个命令行工具,用于管理linux的存储资源。
它提供了一种交互式shell可以管理linux系统
target的配置文件,避免了直接与内核打交道。
[root@localHost-yc ~]# yum install targetcli -y
进入targetcli 命令行
-
先将自己要共享的设备(磁盘)创建出来 或者根据自己的情况 不需要创建也可以
我这里要共享的是nvme0n2
3 . 进入交互式开始添加设备backstores表示支持的存储对象的后端类型,主要由 (1)block:block类型存储对象适用于本地块设备和逻辑设备 (2)fileio:fileio类型存储对象适用于存储在本地磁盘上的常规文件 (3)pscsi:pscsi类型存储对象适用于直接通过SCSI命令访问的资源 (4)ramdisk:ramdisk类型存储对象适用于临时缓存设备,支持多session
(1)切换目录到block (后备存储的块设备目录)下
(2)添加新的设备,“name=lun0” 逻辑单元名字(默认第一个是0开始)
查看显示设备已经添加成功
(3)切换目录到根下面
因为目前已经有一个准备的设备了(也就是我们添加的那个块设备),
现在就需要将这个lun0与iscsi目录连接
切换到iscsi目录下,创建共享存储设备名称
直接create创建,回车(这样会默认创建iqn信息)
注意:如果以后要自己创建iqn信息的话,就类似下面这种来创建
(4)修改IP地址(也可以不修改)
可以修改成需要监听的服务器端的IP地址
先切换到portals目录下面
/iscsi> cd /iscsi/iqn.2003-01.org.linux-iscsi.localhost-yc.x8664:sn.629ad1d5390e/tpg1/portals/
先删除在创建
/iscsi/iqn.20.../tpg1/portals> delete 0.0.0.0 3260
/iscsi/iqn.20.../tpg1/portals> create 192.168.147.128 3260
查看修改成功:
(5)切换到tpg1目录,修改访问权限信息
/iscsi/iqn.20...d1d5390e/tpg1> set attribute
敲tab键,可以看到能对那些属性进行修改
#下面这一句是对iscsi的认证关闭(0为关闭,1为开启)
/iscsi/iqn.20...d1d5390e/tpg1> set attribute authentication=0
demo_mode_write_protect=0 #写保护关闭(意思就是有写的权限)
generate_node_acls=1 #开启---自动生成acl节点
cache_dynamic_acls=1 #开启-----缓存动态acl信息
(6)切换目录到luns下,添加逻辑单元(lun0设备)
添加成功
(7)切换到根目录下 查看是否都已成功
(8)exit ------保存退出
(9)重启服务
[root@localHost-yc ~]# systemctl restart target
(10)如果是在windows上做测试,则要关闭windows上的防火墙,当然Linux上面的也要关
Linux主机:
[root@localHost-yc ~]# systemctl stop firewalld #关闭防火墙
[root@localHost-yc ~]# setenforce 0 #关闭SELinux机制
(11)在windows主机上搜索iscsi发起程序,并且打开它
如果你是第一次连接就要选“是”
点击“发现”,点击“发现门户”
填写服务器端的IP地址,点击“确定”
然后就会发现出现服务器端的目标(如果这里一直在转出不来的话,那就说明你的windows主机有问题)
点击“目标”
点击“连接”
右击“我的电脑”,选择“管理”
点击“磁盘管理”
我这里主要是之前在Linux上该盘我就以及创建了一个分区了,也格式化过了,所以选择共享到windows主机就不会向下面这样初始化
只有初始化之后才能新建简单卷
右击磁盘,选择“新建简单卷”
开始按照下面步骤新建就行,大部分都是默认下一步就行
这样再回到windows主机看,已经共享成功
共享成功!!
只是当你关闭虚拟机之后,这个共享的新加的磁盘就没有了,所以这种添加磁盘意义不大,也没有办法在windows主机上使用!