Linux中网络磁盘iscsi的使用
1. 什么是iscsi
ISCSI(Internet Small Computer System Interface),Internet小型计算机系统接口,又称为IP-SAN 是一种基于因特网及SCSI-3协议下的存储技术,由IETF提出,并于2003年2月11日成为正式的标准
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,可以看到,设备完全被清空
来源:CSDN
作者:阿然A
链接:https://blog.csdn.net/weixin_45029822/article/details/103568767