Linux中网络磁盘iscsi的使用

百般思念 提交于 2019-12-16 21:49:06

Linux中网络磁盘iscsi的使用

1. 什么是iscsi
ISCSI(Internet Small Computer System Interface),Internet小型计算机系统接口,又称为IP-SAN 是一种基于因特网及SCSI-3协议下的存储技术,由IETF提出,并于2003211日成为正式的标准 
iscsi是直接对设备进行共享的服务
  • 1
  • 2
2. iscsi与nfs比较
nfs是对文件系统的共享: 是将服务器的磁盘以文件系统的形式映射到内核上面,然后在内核上面开启一个nfs服务,就可以把自己的文件系统共享出去了 
也就是客户端在本地直接可以远程修改nfs上面的东西,并且同步到nfs 
现在我们想把服务器的磁盘直接划分一块出来放到内核上面,在内核上面直接下载iscsi服务,直接将设备共享 
此时客户端就可以发现并且使用服务端的共享磁盘了 
之前共享出来的文件系统叫做nfs 现在共享出来的设备叫iscsi
  • 1
  • 2
  • 3
  • 4
  • 5
3. ISCSI服务器的搭建

实验准备:此实验需要两台虚拟机,一台desktop虚拟机做测试端,一台server虚拟机做服务器端
配置desktop的静态ip为172.25.254.114,配置server的静态ip为172.25.254.214,并且配置好两台虚拟机的yum源

在服务端搭建iscsi服务器
fdisk /dev/vdb #将server虚拟机的/dev/vdb设备划分分区,大小为5G,作为共享的设备
在这里插入图片描述
划分完成之后wq退出保存,输入 partprobe同步分区表
在这里插入图片描述
在服务器端使用yum源安装targetcli软件
在这里插入图片描述

在这里插入图片描述
可以看到,安装成功

targetcli #创建共享出去的设备 
ls /> #ls查看子目录
/> /backstores/block create westos:storage1 /dev/vdb1 #创建设备(给要共享的设备命名) 
/> /iscsi create iqn.2019-08.com.westos:storage1 #存储创建共享名称iqn( internet quality name):全局限定名称 
/> /iscsi/iqn.2019-08.com.westos:storage1/tpg1/luns create /backstores/block/westos:storage1 #luns关联设备
/> /iscsi/iqn.2019-08.com.westos:storage1/tpg1/acls create iqn.2019-08.com.westos:key1 #acls产生密钥
/> /iscsi/iqn.2019-08.com.westos:storage1/tpg1/portals create 172.25.254.114   #portals创建端口
 /> exit退出
  在火墙中添加端口3260/tcp
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

targetcli
在这里插入图片描述
ls
在这里插入图片描述
/backstores/block create westos:storage1 /dev/vdb1 #创建设备(给要共享的设备命名)
在这里插入图片描述
/iscsi create iqn.2019-08.com.westos:storage1 #存储创建共享名称

在这里插入图片描述
/iscsi/iqn.2019-08.com.westos:storage1/tpg1/luns create /backstores/block/westos:storage1 #luns关联设备
在这里插入图片描述
/iscsi/iqn.2019-08.com.westos:storage1/tpg1/acls create iqn.2019-08.com.westos:key1 #acls产生密钥
在这里插入图片描述
/iscsi/iqn.2019-08.com.westos:storage1/tpg1/portals create 172.25.254.214 #portals创建端口

在这里插入图片描述
exit 退出
在这里插入图片描述
由于iscsi使用3260端口,并且采用tcp协议,所以在火墙中要添加3260端口,写入以下内容
在这里插入图片描述

在desktop客户端测试:

编辑添加密钥的配置文件
在这里插入图片描述
将密钥添加进去
在这里插入图片描述
重启iscsi服务
在这里插入图片描述
iscsiadm -m discovery -t st -p 172.25.254.214 #发现172.25.254.214共享出来的设备
iscsiadm -m node -T iqn.2019-05.com.westos:strage1 -p 172.25.254.214 -l# 登陆共享出来的设备

在这里插入图片描述
fdisk -l #查看系统设备和分区
在这里插入图片描述
在这里插入图片描述

可以看到,/dev/sda已经存在,大小为5G,说明已经成功将网络磁盘共享出来了
直接在它上面划分分区,挂载使用
在这里插入图片描述
在这里插入图片描述
mkfs.xfs /dev/sda1 # 格式化这个分区为xfs文件格式
在这里插入图片描述
mount /dev/sda1 /mnt # 挂载到本地
在这里插入图片描述
blkid #查询设备上所使用的文件系统的类型
在这里插入图片描述
umount /mnt #先解挂
vim /etc/fstab #编辑永久挂载配置文件
mount -a #使挂载生效
在这里插入图片描述
共享设备的名字会变,不稳定,因此用id
如果只写defaults,不加_netdev, 则系统无法重启
在这里插入图片描述
写入正确的内容:
在这里插入图片描述

reboot #重启desktop虚拟机

注意:第一次会起不来,这是一个bug
在真机里面强制关机:rht-vmctl poweroff server
再重新打开desktop虚拟机:
rht-vmctl start server
rht-vmctl view server
  • 1
  • 2
  • 3
  • 4
  • 5

重启之后 df 查看网络磁盘是否为永久挂载
在这里插入图片描述
可以看到,reboot之后,网络磁盘挂载仍然存在

4. 如何删除这个设备

在desktop测试端设备停止

先解挂在这里插入图片描述

yum istall tree -y#安装这个树形显示服务
在这里插入图片描述
在这里插入图片描述
tree /var/lib/iscsi/ #查看网络磁盘信息,上边是记录,下边是连接方式
在这里插入图片描述
iscsiadm -m node -T iqn.2019-08.com.westos:strage1 -p 172.25.254.214 -u #临时断开共享设备
在这里插入图片描述
iscsiadm -m node -T iqn.2019-05.com.westos:strage1 -p 172.25.254.111 -o delete 永久删除共享设备
在这里插入图片描述
tree /var/lib/iscsi/ #查看网络磁盘信息,已经将设备删除了

在这里插入图片描述
重启iscsi服务,查看设备信息
在这里插入图片描述
可以看到,/dev/sda不存在了
在这里插入图片描述
在server服务器端设备清空

targetcli #进入划分共享设备的状态
help # 查看参数使用方法
clearconfig confirm=Ture
ls #此时已经在服务端上永久删除
exit # 退出
  • 1
  • 2
  • 3
  • 4
  • 5

targetcli #进入划分共享设备的状态
在这里插入图片描述
help # 查看参数使用方法
在这里插入图片描述
在这里插入图片描述
clearconfig confirm=Ture #清除设备

在这里插入图片描述
ls #查看目录,发现设备全部被清除

exit,可以看到,设备完全被清空
在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!