• ISCSI服务端-客户端基础配置


    iSCSI利用了TCP/IP的port 860 和 3260 作为沟通的渠道。透过两部计算机之间利用iSCSI的协议来交换SCSI命令,让计算机可以透过高速的局域网集线来把SAN模拟成为本地的储存装置。

    服务器:Centos Linux 8.1.1911

    iscsi target使用磁盘:/dec/sdb 5G

    1、软件安装

    服务器端:targetcli

    yum install targetcli -y

    客户端:iscsi-initiator

    yum install iscsi-initiator* –y

    2、服务器端配置

    targetcli 进入交互模式

    target的名字规范:iqn.yyyy-mm.com.server.www:位置1.位置2

    [root@filesystem ~]# targetcli
    targetcli shell version 2.1.fb49
    Copyright 2011-2013 by Datera, Inc and others.
    For help on commands, type 'help'.
    
    /> /backstores/block create name=disk1 dev=/dev/sdb
    Created block storage object disk1 using /dev/sdb.
    /> /iscsi create iqn.2020-06.com.server.filesystem:house1.disk1
    Created target iqn.2020-06.com.server.filesystem:house1.disk1.
    Created TPG 1.
    Global pref auto_add_default_portal=true
    Created default portal listening on all IPs (0.0.0.0), port 3260.
    /> /iscsi/iqn.2020-06.com.server.filesystem:house1.disk1/tpg1/acls create iqn.2020-06.com.server.node2
    Created Node ACL for iqn.2020-06.com.server.node2
    /> /iscsi/iqn.2020-06.com.server.filesystem:house1.disk1/tpg1/luns create /backstores/block/disk1
    Created LUN 0.
    Created LUN 0->0 mapping in node ACL iqn.2020-06.com.server.node2
    /> /iscsi/iqn.2020-06.com.server.filesystem:house1.disk1/tpg1/portals/ create 192.168.10.0 3260
    Using default IP port 3260
    Could not create NetworkPortal in configFS
    /> /iscsi/iqn.2020-06.com.server.filesystem:house1.disk1/tpg1/ set attribute authentication=0
    Parameter authentication is now '0'.
    /> /iscsi/iqn.2020-06.com.server.filesystem:house1.disk1/tpg1/ set attribute generate_node_acls=0
    Parameter generate_node_acls is now '0'.
    /> saveconfig
    Last 10 configs saved in /etc/target/backup/.
    Configuration saved to /etc/target/saveconfig.json
    

    /backstores/block create name=disk1 dev=/dev/sdb

    定义一个本地的块设备disk1

    /iscsi create iqn.2020-06.com.server.filesystem:house1.disk1

    定义一个target

    /iscsi/iqn.2020-06.com.server.filesystem:house1.disk1/tpg1/luns create /backstores/block/disk1

    在 iqn.2020-06.com.server.filesystem:house1.disk1 这个target里将之前的块设备共享出去

    /iscsi/iqn.2020-06.com.server.filesystem:house1.disk1/tpg1/acls create iqn.2020-06.com.server.node2

    创建基于 iqn 的 acl:允许该名字的客户端访问本 iscsi 的 tagert

    /iscsi/iqn.2020-06.com.server.filesystem:house1.disk1/tpg1/portals/ create 192.168.10.0 3260

    定义 target 的入口(客户使用什么 IP 和端口访问) 默认定义了0.0.0.0 3260

    /iscsi/iqn.2020-06.com.server.filesystem:house1.disk1/tpg1/ set attribute authentication=0

    关闭帐号验证

    /iscsi/iqn.2020-06.com.server.filesystem:house1.disk1/tpg1/ set attribute generate_node_acls=0

    使用自定义的 acl 实现节点访问限制

    查看配置

    image

    关闭防火墙

    [root@filesystem ~]# systemctl stop firewalld
    [root@filesystem ~]# systemctl disable firewalld
    [root@filesystem ~]#
    

    启动服务,并设置开机自启、关闭selinux

    [root@filesystem ~]# systemctl enable target
    Created symlink /etc/systemd/system/multi-user.target.wants/target.service → /usr/lib/systemd/system/target.service.
    [root@filesystem ~]# systemctl start target
    [root@filesystem ~]# setenforce 0
    [root@filesystem ~]# getenforce
    Permissive
    [root@filesystem ~]#
    

    永久关闭selinux

    [root@filesystem ~]# vim /etc/selinux/config
    [root@filesystem ~]# cat /etc/selinux/config
    
    # This file controls the state of SELinux on the system.
    # SELINUX= can take one of these three values:
    #     enforcing - SELinux security policy is enforced.
    #     permissive - SELinux prints warnings instead of enforcing.
    #     disabled - No SELinux policy is loaded.
    SELINUX=permissive
    # SELINUXTYPE= can take one of these three values:
    #     targeted - Targeted processes are protected,
    #     minimum - Modification of targeted policy. Only selected processes are protected.
    #     mls - Multi Level Security protection.
    SELINUXTYPE=targeted
    
    
    [root@filesystem ~]#
    

    2、Linux客户端连接

    Centos 8.1.1911默认安装有iscsi-initiator程序

    修改客户端连接的名称

    [root@node2 ~]# cat /etc/iscsi/initiatorname.iscsi
    InitiatorName=iqn.1994-05.com.redhat:b3de1b81d843
    [root@node2 ~]# echo "InitiatorName=iqn.2020-06.com.server.node2" > /etc/iscsi/initiatorname.iscsi
    [root@node2 ~]# cat /etc/iscsi/initiatorname.iscsi
    InitiatorName=iqn.2020-06.com.server.node2
    [root@node2 ~]#
    

    iscsiadmin是客户端的命令

    发现

    [root@node2 ~]# iscsiadm -m discovery -t st -p 192.168.10.159
    192.168.10.159:3260,1 iqn.2020-06.com.server.filesystem:house1.disk1
    [root@node2 ~]#
    

    登录

    [root@node2 ~]# iscsiadm -m node -l
    Logging in to [iface: default, target: iqn.2020-06.com.server.filesystem:house1.disk1, portal: 192.168.10.159,3260]
    Login to [iface: default, target: iqn.2020-06.com.server.filesystem:house1.disk1, portal: 192.168.10.159,3260] successful.
    [root@node2 ~]# lsblk
    NAME        MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    sda           8:0    0  20G  0 disk
    ├─sda1        8:1    0   1G  0 part /boot
    └─sda2        8:2    0  19G  0 part
      ├─cl-root 253:0    0  17G  0 lvm  /
      └─cl-swap 253:1    0   2G  0 lvm  [SWAP]
    sdb           8:16   0   5G  0 disk
    sr0          11:0    1   7G  0 rom  /run/media/root/CentOS-8-1-1911-x86_64-dvd
    [root@node2 ~]#
    

    我们发现多了一个sdb,我们格式化挂载即可使用。

    [root@node2 ~]# mkfs.ext4 /dev/sdb
    mke2fs 1.44.6 (5-Mar-2019)
     /dev/sdb 有一个 ext4 文件系统
    	创建于 Wed Jun  3 05:38:41 2020
    创建含有 1310720 个块(每块 4k)和 327680 个inode的文件系统
    文件系统UUID:104b7e23-cb76-4842-a969-29a9e7a198ce
    超级块的备份存储于下列块:
    	32768, 98304, 163840, 229376, 294912, 819200, 884736
    
    正在分配组表: 完成
    正在写入inode表: 完成
    创建日志(16384 个块)完成
    写入超级块和文件系统账户统计信息: 已完成
    
    [root@node2 ~]# ll /dev/sdb
    brw-rw----. 1 root disk 8, 16 6月   3 05:40 /dev/sdb
    [root@node2 ~]#
    

    挂载使用

    [root@node2 ~]#
    [root@node2 ~]# mkdir /mnt/iscsi_mountdisk1
    [root@node2 ~]# mount /dev/sdb /mnt/iscsi_mountdisk1/
    [root@node2 ~]# cd /mnt/iscsi_mountdisk1/
    [root@node2 iscsi_mountdisk1]# ls
    lost+found
    [root@node2 iscsi_mountdisk1]# echo "this is iscsi disk1" > readme.txt
    [root@node2 iscsi_mountdisk1]# ls
    lost+found  readme.txt
    

    3、Windows客户端

    image

    修改连接名称,并进行发现

    imageimage

    连接目标并挂载

    imageimage

    image

    格式化并使用

    打开磁盘管理器

    image

    磁盘1红框区域右键选择新建简单卷,然后一直默认下一步。

    image

    格式化完成打开我的电脑

    image

    多出来一块5G的新建卷E,使用起来很方便。

    思考:

    一个target,如何让多个客户端进行连接使用,存储文件时会冲突吗?


    读书和健身总有一个在路上

  • 相关阅读:
    JS 给li标签下所有a标签添加点击事件并添加和删除样式
    Linux简介及常用命令
    简易计算器
    登陆窗口小项目
    时间工具类
    String类的常用方法(附带练习)
    java-自定义异常
    Java小练习
    Java-接口练习1
    动态加载js
  • 原文地址:https://www.cnblogs.com/Renqy/p/13039665.html
Copyright © 2020-2023  润新知