Linux——iscsi共享设备

1.关于ISCSI

iSCSI技术实现了物理硬盘设备与TCP/TP网络传输协议的相互结合,使得用户可以通过互联网方便的获取到远程机房提供的共享存储资源
iscsi 是直接对设备进行共享的服务

之前学的nfs是对文件系统的共享:
是将服务器的磁盘以文件系统的形式映射到内核上面,然后在内核上面开启一个nfs服务,就可以把自己的文件系统共享出去了
此时就是客户端在本地直接可以远程修改nfs上面的东西,并且同步到nfs
现在我们想把服务器的磁盘直接划分一块出来放到内核上面,在内核上面直接下载iscsi服务,直接将设备共享
此时客户端就可以探测并且使用服务端的共享磁盘了
之前共享出来的文件系统叫做nfs
现在共享出来的设备叫iscsi

2.部署iscsi服务器

主机信息功能
desktop(172.25.254.111)iscsi服务器
server(172.25.254.211)客户端

#1首先在真机里面开启desktop虚拟机的配置基础信息
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
#2 在真机里面开启我的server虚拟机并且配置基本信息
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
#3 在服务端搭建iscsi服务器
在这里插入图片描述

yum install targetcli -y    #安装策略编写工具,这个服务才可以将划分出来的磁盘共享给客户端
 systemctl start target    #开启服务

在这里插入图片描述
在这里插入图片描述

fdisk -l查看可以进行划分的设备

在这里插入图片描述

fdisk /dev/vdb      # 在/dev/vdb这个设备上面划分一个分区,划分一个1G的设备/dev/vdb2准备将这个设备共享出去

在这里插入图片描述
在这里插入图片描述

partprobe同步分区表

在这里插入图片描述
targetcli 开始划分准备共享出去的设备
ls
/> ls查看一下
/> /backstores/block create westos:linux1 /dev/vdb2 给真实设备起一个名字,随便都可以
/> /iscsi create iqn.2019-05.com.westos:linux1 起一个对外的名字
/> /iscsi/iqn.2019-05.com.westos:linux1/tpg1/luns create /backstores/block/westos:linux1关联二者
/> /iscsi/iqn.2019-05.com.westos:linux1/tpg1/acls create iqn.2019-05.com.westos:key1给一个密码
/> /iscsi/iqn.2019-05.com.westos:linux1/tpg1/portals create 172.25.254.111开启接口
/> exit退出
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

#4 在server客户端上面进行测试

yum search iscsi    #查找使用共享磁盘的服务
yum install -y iscsi-initiator-utils.x86_64   #安装使用共享磁盘的服务,才可以使用别人的磁盘

在这里插入图片描述

iscsiadm -m discovery -t st -p 172.25.254.111   #发现111共享出来的设备
iscsiadm  -m node -T iqn.2019-05.com.westos:linux1 -p 172.25.254.111 -l    #登陆
没办法登陆,因为没有111设定的密码

在这里插入图片描述

vim /etc/iscsi/initiatorname.iscsi     #写入密码 在服务端复制
InitiatorName=iqn.2019-05.com.westos:key1

在这里插入图片描述

在这里插入图片描述

systemctl restart iscsid.service   #重启服务

在这里插入图片描述

iscsiadm -m discovery -t st -p 172.25.254.111     #发现111共享出来的设备
iscsiadm  -m node -T iqn.2019-05.com.westos:linux1 -p 172.25.254.111   -l   #登陆,显示成功
fdisk  -l     #查看有没有服务端共享出来的一个设备/dev/sda
可以看到/dev/sda 其实是111上面共享出来的/dev/vdb2,大小是1G

在这里插入图片描述

fdisk /dev/sda     #直接在它上面划分分区,挂载使用

在这里插入图片描述

在这里插入图片描述
partprobe #同步分区表
在这里插入图片描述

mkfs.xfs /dev/sda1   #格式化这个分区
mount /dev/sda1 /mnt    #挂载到本地
df    #查看挂载
cd /mnt    #进入挂载目录
ls   #查看
touch file   #建立一个文件
ll    #可以看到file,就说明这个共享设备可以使用

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

#3 在客户端设置服务端共享的磁盘设备开机自动挂载在本地

先卸载
在这里插入图片描述

blike 因为共享设备的名字会变,不稳定,因此用id
blkid  # 查看id

在这里插入图片描述

vim /etc/fstab    ##编辑这个永久挂载文件
id=“” /mnt  xfs  defaults,_netdev 0 0,开机的时候系统初始化完了之后要挂载,这个必须由网络才可以

在这里插入图片描述
在这里插入图片描述

设置完reboot

在这里插入图片描述

第一次会起不来,这是一个bug
在真机里面强制关机
rht-vmctl poweroff server
rht-vmctl start server
rht-vmctl view server

在这里插入图片描述
在这里插入图片描述

df     #查看有没有实现开机自动挂载
mount    #查看挂载信息

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.怎样在客户端删除这个设备?

先卸载umount

在这里插入图片描述

cd /var/lib/iscsi    #在这个目录下查看共享设备的信息
ls      #发现目录很多

在这里插入图片描述

yum istall tree -y     #安装这个树形服务

在这里插入图片描述

tree /var/lib/iscsi    #以树形结构显示共享设备的文件结构

在这里插入图片描述

iscsiadm -m node -T iqn.2019-05.com.westos:linux1 -p 172.25.254.111 -u  #临时删除共享设备
fdisk -l    #已经不见了

在这里插入图片描述

tree /var/lib/iscsi    #信息依然在

在这里插入图片描述

systemctl restart iscsi   #重启服务
fdisk -l   #又回来了

在这里插入图片描述

iscsiadm  -m node -T iqn.2019-05.com.westos:linux1 -p 172.25.254.111 -u    #临时删除
iscsiadm  -m node -T iqn.2019-05.com.westos:linux1 -p 172.25.254.111 -o delete   #永久删除
tree /var/lib/iscsi  #信息不见了,已经永久删除

在这里插入图片描述

systemctl restart iscsi    #再次重启服务验证
fdisk -l    #不见了

在这里插入图片描述

#5.怎样在服务端删除这个设备?

targetcli   #进入划分共享设备的状态
ls   #查看
clearconfig confirm=True
ls   #此时已经在服务端上永久删除
exit  #退出

在这里插入图片描述
在这里插入图片描述

共享设备

[root@shareserver ~]# yum install targetcli -y # 下载策略编写工具
[root@shareserver ~]# systemctl start target
[root@shareserver ~]# fdisk /dev/vdb # 新建分区,大小为1G(我建立的是逻辑卷,因为可以扩容)
[root@shareserver ~]# pvcreate /dev/vdb1
[root@shareserver ~]# vgcreate vg0 /dev/vdb1
[root@shareserver ~]# vgdisplay # 查看pe的个数
在这里插入图片描述
[root@shareserver ~]# lvcreate -l 255 -n lv0 vg0 # -l表示指定pe的个数,把所有的pe都分给lv0[
root@shareserver ~]# targetcli # 打开软件
/> ls
o- / … […]
o- backstores … […]
| o- block … [Storage Objects: 0]
| o- fileio … [Storage Objects: 0]
| o- pscsi … [Storage Objects: 0]
| o- ramdisk … [Storage Objects: 0]
o- iscsi … [Targets: 0]
o- loopback … [Targets: 0]
/> /backstores/block create westos:storagel /dev/vg0/lv0 # 对逻辑卷重命名
/> /iscsi create iqn.2018-11.com.westos:storagel # 客户端访问时显示的名称
/> /iscsi/iqn.2018-11.com.westos:storagel/tpg1/acls create iqn.2018-11.com.westos:westoskey # 生成密钥
/> /iscsi/iqn.2018-11.com.westos:storagel/tpg1/luns create /backstores/block/westos:storagel # 将在客户端显示的名称与实际共享的设备的连接
/> /iscsi/iqn.2018-11.com.westos:storagel/tpg1/portals/ create 172.25.254.142 # 创建一个网络接口
在这里插入图片描述

排错

/> /iscsi/iqn.2018-11.com.westos:storagel/tpg1/portals/ create 172.25.254.142
Using default IP port 3260
Could not create NetworkPortal in configFS
在这里插入图片描述
/> ls # 排查的时候发现已经存在一个网络接口了
在这里插入图片描述
/> iscsi/iqn.2018-11.com.westos:storagel/tpg1/portals/ delete 0.0.0.0 3260 # 删除即可
/> /iscsi/iqn.2018-11.com.westos:storagel/tpg1/portals/ create 172.25.254.142 # 再次重新添加即可
/> exit
在这里插入图片描述
在客户端

在iSCSI客户端使用共享存储资源,需要先发现,再登陆,最后挂载并使用,iscsiadm是用于管理、查询、插入、更新或删除iSCSI数据库配置文件的命令行工具,用户需要先使用这个iscsiadm命令对远程iSCSI服务端进行扫描发现,查看该服务器上面有哪些可用的共享存储资源

[root@client ~]# yum search iscsi

在这里插入图片描述

[root@client ~]# yum install -y iscsi-initiator-utils.x86_64
[root@client ~]# iscsiadm -m discovery -t st -p 172.25.254.142172.25.254.142:3260,1 iqn.2018-11.com.westos:storagel # 扫描,发现设备
-m discovery # 扫描发现可用存储资源,
-t st # 指定扫描发现操作的类型,
-p 172.25.254.142 # 服务端iSCSI服务端的IP地址
在这里插入图片描述
[root@client ~]# iscsiadm -m node -T iqn.2018-11.com.westos:storagel -p 172.25.254.142 -l # 登录
-m node # 将本机作为一台节点服务器
-T iqn.2018-11.com.westos:storagel # 要使用的存储资源名称,字符串很长手打容易错,我们直接复制上面扫描发现到的结果即可
-p 172.25.254.142 # 对方iSCSI服务端的IP地址
-l # 登录
在这里插入图片描述

iSCSI协议是通过客户端名称进行验证的,而该名称也就是iSCSI客户端的唯一标识,这串信息 必须与服务端配置文件中ACL访问控制列表中的信息匹配一致,否则客户端在尝试使用存储共享时 就会弹出验证失败的报错信息。

[root@client ~]# vim /etc/iscsi/initiatorname.iscsi # 把刚刚服务端的ACL访问控制列表名称填写进入
InitiatorName=iqn.2018-11.com.westos:westoskey
[root@client ~]# systemctl restart iscsid.service
[root@client ~]# iscsiadm -m node -T iqn.2018-11.com.westos:storagel -p 172.25.254.142 -l # 成功登录

在这里插入图片描述

[root@client ~]# fdisk -l # 查看到新增加了一块分区

在这里插入图片描述
在服务端扩展磁盘

[root@shareserver ~]# fdisk /dev/vdb # 再新建一个分区
[root@shareserver ~]# pvcreate /dev/vdb2
[root@shareserver ~]# vgextend vg0 /dev/vdb2
[root@shareserver ~]# vgdisplay
在这里插入图片描述
[root@shareserver ~]# lvextend -l 510 /dev/vg0/lv0 # 把所有的PE都给/dev/vg0/lv0

在客户端

[root@client ~]# iscsiadm -m node -T iqn.2018-11.com.westos:storagel -p 172.25.254.142 -u # 因为共享设备的大小已经更新,所以我们需要退出登录,通过再次登录来刷新客户端的大小,-u表示退出登录
[root@client ~]# iscsiadm -m node -T iqn.2018-11.com.westos:storagel -p 172.25.254.142 -l # 重新登录
[root@client ~]# fdisk -l # 大小已经改变
在这里插入图片描述
在对iSCSI服务端进行登陆验证显示顺利成功后就会在系统中多了一块名为/dev/sda的设备文件,这个远程的存储资源设备文件就这么活生生的出现到了iSCSI客户端主机上面,接下来我们就可以 像使用自己电脑上的硬盘一样来对这块设备进行操作了。

使用共享设备

(1)永久挂载设备
[root@client ~]# fdisk /dev/sda # 在这块设备上建立一个新的分区
[root@client ~]# fdisk -l # 查看分区

在这里插入图片描述
[root@client ~]# partprobe
[root@client ~]# mkfs.xfs /dev/sda1
[root@client ~]# mount /dev/sda1 /mnt/ # 临时挂载
[root@client ~]# df
在这里插入图片描述
[root@client ~]# umount /mnt
[root@client ~]# vim /etc/fstab # 永久挂载
/dev/sda1 /mnt xfs defaults,_netdev 0 0 # _netdev表示声明这是一个网络设备
[root@client ~]# reboot

注:第一次如果重启很慢的话,就先强制关机,在开机即可

[root@client ~]# df # 开机之后再次查看,自动挂载
在这里插入图片描述
3.删除设备
在客户端
[root@client ~]# yum install tree -y
[root@client ~]# tree /var/lib/iscsi/ # 以树形图的方式显示此目录,/var/lib/iscsiIscsi的认证数据目录
在这里插入图片描述
[root@client ~]# vim /etc/fstab
删除:/dev/sda1 /mnt xfs defaults,_netdev 0 0
[root@client ~]# iscsiadm -m node -T iqn.2018-11.com.westos:storagel -p 172.25.254.142 -u # 登出iscsi
[root@client ~]# iscsiadm -m node -T iqn.2018-11.com.westos:storagel -p 172.25.254.142 -o delete # 删除配置文件
[root@client ~]# tree /var/lib/iscsi/ # 再次查看就已经删除
在这里插入图片描述
[root@client ~]# fdisk -l # 查看设备已经删除
在服务端
[root@shareserver ~]# targetcli
/> ls
在这里插入图片描述
/> clearconfig confirm=True
/> ls # 查看成功删除
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值