简介
iSCSI(Internet Small Computer System
Interface),Internet小型计算机系统接口,又称为IP-SAN,是一种基于因特网及SCSI-3协议下的存储技术,由IETF提出,并于2003年2月11日成为正式的标准。与传统的SCSI技术比较起来,iSCSI技术有以下三个革命性的变化:把原来只用于本机的SCSI协义透过TCP/IP网络发送,使连接距离可作无限的地域延伸;连接的服务器数量无限(原来的SCSI-3的上限是15);由于是服务器架构,因此也可以实现在线扩容以至动态部署。功能:
可以把服务器的磁盘直接划分一块出来放到内核上面,在内核上面直接下载iscsi服务,直接将设备共享,此时客户端就可以探测并且使用服务端的共享磁盘了在服务端安装targetcli,安装这个服务划分磁盘
前期准备
server1-172.25.70.11 | 服务端 |
server2-172.25.70.12 | 客户端 |
部署iSCSI
server1
yum install targetcli -y
fdisk -l 查看可以进行划分的设备
fdisk /dev/vdb 在/dev/vdb这个设备上面划分一个分区
划分一个1G的设备/dev/vdb1 准备将这个设备共享出去
partprobe同步分区表
targetcli 开始划分准备共享出去的设备
ls
/> ls查看一下
/> /backstores/block create westos:storage1 /dev/vdb1 给真实设备起一个名字,随便都可以
/> /iscsi create iqn.2020-05.com.westos:storage1 起一个对外的名字
/> /iscsi/iqn.2020-05.com.westos:storage1/tpg1/luns create /backstores/block/westos:storage1 关联全局限定名称和设备
/> /iscsi/iqn.2020-05.com.westos:storage1/tpg1/acls create iqn.2020-05.com.westos:key1 给一个密码
/> /iscsi/iqn.2020-05.com.westos:storage1/tpg1/portals create 172.25.70.11 开启接口
/> exit退出
firewall-cmd --permanet --add-port=3260/tcp将3260端口加入到防火墙中
server2
yum search iscsi 安装使用共享磁盘的服务,才可以使用别人的磁盘
yum install iscsi-initiator-utils -y
vim /etc/iscsi/initiatorname.iscsi 写入密码
Initiatorname=iqn.2019-08.com.westos.key1
systecmtl start iscsid.service
iscsiadm -m discovery -t st -p 172.25.70.11 发现125共享出来的设备
iscsiadm -m node -T iqn.2019-08.com.westos:strage1 -p 172.25.70.11 -l 登陆此磁盘分区
fdisk /dev/sda 直接在它上面划分分区,挂载使用
partprobe同步分区表
mkfs.xfs /dev/sda1格式化这个分区
mount /dev/sda1 /mnt挂载到本地
ls /var/lib/iscsi -R
yum install tree -y
tree /var/lib/iscsi 查看这个共享设备的进程树
查看这个共享设备的进程树
设置自动挂载
blkid 查看id,共享设备的名字会变,不稳定,因此用id
vim /ect/fstab 编辑这个永久挂载文件
id=“” /mnt xfs defautls,_netdev 0 0,开机的时候系统初始化完了之后要挂载,这个必须由网络才可以
reboot 重启
df查看有没有实现开机自动挂载
mount查看挂载信息
第一次会起不来,这是一个bug
在真机里面强制关机
卸载
server2
umount /mnt
iscsiadm -m node -T iqn.2019-05.com.westos:strage1 -p 172.25.254.126 -u 清除登陆信息(临时删除)
iscsiadm -m node -T iqn.2019-05.com.westos:strage1 -p 172.25.254.126 -o delete 清除分区信息(永久删除)
再次查看这个共享设备的进程树
tree /var/lib/iscsi == 信息不见了,已经永久删除
server1
targetcli
help
clearconfig confirm=Ture
ls 此时已经在服务端上永久删除
exit退出