一、ISCSI概述

iSCSI(Internet Small Computer System Interface),Internet小型计算机系统接口,又称为IP-SAN,是一种基于因特网及SCSI-3协议下的存储技术,由IETF提出,并于2003年2月11日成为正式的标准。
iscsi: 远程存储器,将磁盘格式转换放在客户端,分但服务器压力

二、搭建ISCSI服务器

实验环境:

  1. 配置两个虚拟机的ip,设置虚拟机desktop的ip为172.25.254.112,虚拟机server的ip为172.25.254.212
  2. 更改虚拟机desktop的名字改为client.westos.com虚拟机server的名字为server.westos.com
  3. 搭建yum源(注意:虚拟机的版本为什么就用什么版本的yum源,否则实验无法进行
  4. 然后在各自的虚拟机里作解析vim /etc/hosts
    客户端是:172.25.254.112 client.westos.com
    服务端是:172.25.254.212 server.westos.com

实验步骤如下:

服务端操作:
1.查看虚拟机的版本以及yum源的版本,如下所示:
Linux下的iscsi(设备的共享服务)
Linux下的iscsi(设备的共享服务)
2. 安装targetcli服务,如下所示:
Linux下的iscsi(设备的共享服务)
Linux下的iscsi(设备的共享服务)
3. fdisk -l查看可以进行划分的设备,如下所示:
Linux下的iscsi(设备的共享服务)
4. 在/dev/vdb的设备上划分出一个1G的分区,如下所示:
Linux下的iscsi(设备的共享服务)
Linux下的iscsi(设备的共享服务)
5. 共享磁盘/dev/vdb1,第一步给真实的设备起一个名字(随便都可以),第二步起一个对外的名字,第三步则将二者关联起来,第四步给设备一个密码,最后为开启接口,如下所示:
Linux下的iscsi(设备的共享服务)
客户端测试操作:

1.搜索并安装可以共享磁盘的服务,如下图所示:
Linux下的iscsi(设备的共享服务)
2. 查看火墙状态,并关闭火墙,如下所示:
Linux下的iscsi(设备的共享服务)3. 匿名登陆能发现共享出来的设备,但通过设备名则不能登陆,因为没有服务端设定的密码,如下图所示:
Linux下的iscsi(设备的共享服务)
4.为解决上面的问题,我们去配置文件中设定密码(此密码为服务端设定的密码,所以为了密码的准确性我们去服务端进行复制),如下图所示:
Linux下的iscsi(设备的共享服务)
Linux下的iscsi(设备的共享服务)
5. 重启服务,fdisk -l去查看,如下图所示:
Linux下的iscsi(设备的共享服务)
6.通过设备名字去登陆,发现登陆成功,fdisk -l去查可以看到/dev/sda是212上共享出来的/dev/vdb1,大小为1G,如下图所示:
Linux下的iscsi(设备的共享服务)Linux下的iscsi(设备的共享服务)
7.在共享出来的磁盘上进行分区,如下所示:
Linux下的iscsi(设备的共享服务)
Linux下的iscsi(设备的共享服务)
8. 格式化分区并挂载,发现挂载成功,再去建立文件,发现也能建立成功,说明共享磁盘可以使用,如下图所所示:
Linux下的iscsi(设备的共享服务)
9. 卸载挂载,再去查看,发现卸载成功,如下所示:
Linux下的iscsi(设备的共享服务)

三、设置共享磁盘设备开机自动挂载在本地

此实验在客户端进行,如下所示:

1.查看分区信息,如下所示:
Linux下的iscsi(设备的共享服务)
2. 进入配置文件设定永久挂载,由于共享设备的名字会变,不稳定,因此使用id挂载会更好,如下所示:
Linux下的iscsi(设备的共享服务)
3. reboot重启系统,由于已知的bug,所以第一次会重启不起来,在真机中强制关机,再去开启虚拟机查看,如下所示:
Linux下的iscsi(设备的共享服务)
Linux下的iscsi(设备的共享服务)
4. 开启虚拟机之后再去查看有挂载,说明永久挂载成功,如下所示:
Linux下的iscsi(设备的共享服务)

四、如何删除客户端的共享设备

实验步骤如下所示:

1.卸载设备,并且进入/var/lib/iscsi目录下查看共享设备的信息,可以发现6个目录,如下所示:
Linux下的iscsi(设备的共享服务)
2. 安装树形服务,如下所示:
Linux下的iscsi(设备的共享服务)
3. 以树形结构查看共享设备的文件结构,如下所示:
Linux下的iscsi(设备的共享服务)
4. 删除共享设备(临时),fdisk -l查看发现设备消失,如下所示:
Linux下的iscsi(设备的共享服务)
5. 由于上面的删除是临时的,所以重启服务再次查看,发现设备有回来了,如下所示:
Linux下的iscsi(设备的共享服务)
Linux下的iscsi(设备的共享服务)
6.再次删除共享设备(永久),并树形查看结构,发现共享设备此时不见了,如下所示:
Linux下的iscsi(设备的共享服务)
7.再次重启服务并查看,发现共享设备依然不存在,如下所示:
Linux下的iscsi(设备的共享服务)
扩展: 如何在服务端删除设备?

  1. targetcli进入划分共享设备的状态
  2. ls查看设备
  3. 执行命令:cleanconfig confirm = Ture
  4. 再次查看并退出

相关文章: