哇~真的是你呀!今天是LINUX中的ISCSI服务。

目录

前言

一、概述

二、构建iscsi服务

一、服务器端设置

二、客户端

三、注意事项

四、实验



前言

iSCSI(Internet Small Computer System Interface)是一种用于将存储设备(如硬盘驱动器)通过网络连接到计算机系统的存储协议。它允许计算机通过IP网络访问远程存储设备,就像访问本地存储设备一样。

在Linux中,iSCSI是通过iSCSI Initiator实现的。iSCSI Initiator是Linux系统中的软件组件,用于建立与远程iSCSI Target(存储设备)之间的通信链接。它将远程iSCSI Target逻辑单元(LUN)映射到本地计算机上,使得计算机可以通过网络访问这些逻辑单元。

使用Linux中的iSCSI,您可以将远程存储设备连接到计算机,并将其作为本地存储设备使用。这对于实现存储共享、数据备份和集中化存储管理等场景非常有用。您可以通过简单的命令行工具(如`iscsiadm`)配置iSCSI Initiator,建立与远程iSCSI Target的连接,然后将它们挂载到Linux文件系统中。

总结起来,Linux中的iSCSI是一种用于通过网络连接远程存储设备的协议,通过iSCSI Initiator可以将远程存储设备映射为本地存储设备,以便Linux系统可以方便地访问和使用这些存储资源。


一、概述

(1)全称:Internet Small Computer System Interface——互联网小型计算机接口

(2)通过网络获取磁盘设备在本地进行存储使用。

(3)iscsi
   1) 基于IP协议进行scsi数据的传输
    2)IP/SAN网络: 基于双绞线为传输介质的存储网络
    3)光纤存储网络:基于光纤传输的存储网络,造价极高
    4)实现方式:软件形式;硬件形式
    5)默认端口号:3260

(4)相关名词
   1) iscsi initiator:iscsi客户端
    2)iscsi target:iscsi服务端
    3)lun:一个块设备存储
    4)iqn:iscsi名称;iqn.时间.域名反写:定义标识

(5)使用targetcli工具进入到iscsi服务器端管理界面
    targetcli
        进入到服务器端的iscsi命令配置信息
    o- / .................... [...]
        顶级目录
      o- backstores ............... [...]
        后备存储,主备存储空间,要共享的设备或分区得先加入到这里
       | o- block .............. [Storage Objects: 0]
        块存储,o- backstores子目录
       | o- fileio ............. [Storage Objects: 0]
        文件存储,o- backstores子目录
       | o- pscsi ................. [Storage Objects: 0]
        真实物理scsi设备,o- backstores子目录
       | o- ramdisk ................ [Storage Objects: 0]
        闪存,o- backstores子目录
      o- iscsi ................ [Targets: 0]
        以ISCSI的方式共享存储设备的目录
      o- loopback ................. [Targets: 0]

二、构建iscsi服务

一、服务器端设置

(1)服务器端
   1) 进入到/backstores/block目录中添加设备到块设备列表
        create disk0 /dev/sdb1
    2)进入到iscsi目录中生成iqn标签
        create
    3)进入到/iscsi/iqn.20...909/tpg1/luns>目录下创建逻辑单元
        create /backstores/block/disk0
    4)进入到/iscsi/iqn.20...909/tpg1/acls>目录中创建访问控制规则
        create iqn.20......
    5)进入到/iscsi/iqn.20.../tpg1/portals>目录中创建端口
        create 192.168.1.1 3260
            注意:因为原本存在一个端口0.0.0.0:3260,所以需要将原来的端口删除掉再进行创建
    exit退出,否则设置不会被保存
   6) 在认证文件中成iqn编号
        vim  /etc/iscsi/initiatorname.iscsi
        将原来的认证编号改为新生成的编号
    7)启动服务
        systemctl start iscsi
        systemctl start iscsid

二、客户端

(1)客户端
    1)安装软件
        yum -y install iscsi-initator-utils
   2) 在认证文件中生成iqn编号
        vim  /etc/iscsi/initatorname.iscsi
        将原来的认证编号改为新生成的编号
    3)开启客户端服务
        systemctl start iscsi
        systemctl start iscsid
   4) 查找可用的iscsi资源列表
        iscsiadm -m discovery -t st -p 192.168.1.1:3260
        -m    指定模式
        -t    指定动作类型,st,sendtargets
        -p    指定服务器和端口
   5) 访问服务器的共享资源
        iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.3f2f0c3bd909 -l
        -T    targetnameiqn
        -l    login

三、注意事项


    1、自动挂载时必须使用UUID,否则会出问题,同时在参数中添加_netdev,如UUID=33899a29-9f9e-476f-b8e9-cc9ad0986dac /mnt xfs defaults,_netdev
        blkid查看UUID
    2、开机启动关闭防火墙,因为当计算机开机首先是bios自检查找硬盘中的操作系统引导启动,但是当系统没有完全启动时计算机就没有通过网络通讯,而iscsi是基于网络的共享存储,所以开机重启需要告诉内核这条开机挂载是基于网络的存储

四、实验

现有两台主机一台服务器,一台客户机

要求:1、在服务器上构建iscsi服务

            2、客户端实现自动挂载

1)在两台主机上配置基础环境:关闭防火墙、SELINUX、配置yum源、设置IP测试通联行

2)在服务器上添加硬盘,通过热扫描进行识别,进行磁盘分区,格式化哇~真的是你呀!今天是LINUX中的ISCSI服务。_第1张图片

热扫描for i in `ls /sys/class/scsi_host`;do echo "- - -">$i/scan;done哇~真的是你呀!今天是LINUX中的ISCSI服务。_第2张图片

分区fdisk /dev/sdb哇~真的是你呀!今天是LINUX中的ISCSI服务。_第3张图片


 格式化分区mkfs -t xfs /dev/sdb1哇~真的是你呀!今天是LINUX中的ISCSI服务。_第4张图片

 3)在服务器上安装targercli,使用targetcli工具进入到iscsi服务器端管理界面

安装yum -y install targetcli

使用targetcli命令进入到服务器端的iscsi命令配置信息哇~真的是你呀!今天是LINUX中的ISCSI服务。_第5张图片进入到/backstores/block目录中添加设备到块设备列表
    create disk0 /dev/sdb1进入到iscsi目录中生成iqn标签
    create哇~真的是你呀!今天是LINUX中的ISCSI服务。_第6张图片进入到/iscsi/iqn.20...909/tpg1/luns>目录下创建逻辑单元
    create /backstores/block/disk0哇~真的是你呀!今天是LINUX中的ISCSI服务。_第7张图片进入到/iscsi/iqn.20...909/tpg1/acls>目录中创建访问控制规则
    create iqn.20......进入到/iscsi/iqn.20.../tpg1/portals>目录中创建端口
    create 192.168.1.1 3260
        注意:因为原本存在一个端口0.0.0.0:3260,所以需要将原来的端口删除掉再进行创建哇~真的是你呀!今天是LINUX中的ISCSI服务。_第8张图片exit退出,否则设置不会被保存哇~真的是你呀!今天是LINUX中的ISCSI服务。_第9张图片

 4)在认证文件中成iqn编号
    vim  /etc/iscsi/initiatorname.iscsi
    将原来的认证编号改为新生成的编号哇~真的是你呀!今天是LINUX中的ISCSI服务。_第10张图片

 启动服务
    systemctl start iscsi
    systemctl start iscsid

 5)在客户端配置

安装软件
    yum -y install iscsi-initator-utils在认证文件中生成iqn编号
    vim  /etc/iscsi/initatorname.iscsi
    将原来的认证编号改为新生成的编号哇~真的是你呀!今天是LINUX中的ISCSI服务。_第11张图片开启客户端服务
    systemctl start iscsi
    systemctl start iscsid查找可用的iscsi资源列表
    iscsiadm -m discovery -t st -p 192.168.1.1:3260
    -m    指定模式
    -t    指定动作类型,st,sendtargets
    -p    指定服务器和端口访问服务器的共享资源
    iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.3f2f0c3bd909 -l
    -T    targetnameiqn
    -l    login哇~真的是你呀!今天是LINUX中的ISCSI服务。_第12张图片

6)在客户端进行自动挂载

在客户端创建文目录/test哇~真的是你呀!今天是LINUX中的ISCSI服务。_第13张图片

 在服务端中查看共享磁盘的UUID哇~真的是你呀!今天是LINUX中的ISCSI服务。_第14张图片回到客户端进行自动挂载vim /etc/fstab,并mount  -a 检查挂载情况哇~真的是你呀!今天是LINUX中的ISCSI服务。_第15张图片

 重启验证哇~真的是你呀!今天是LINUX中的ISCSI服务。_第16张图片

 如果要取消连接的话:1在客户端卸载sdb1,2关闭服务

你可能感兴趣的:(服务器,运维)