Linux iSCSI 磁盘共享管理

  iSCSI 服务是通过服务端(target)与客户端(initiator)的形式来提供服务。iSCSI 服务端用于存放存储源的服务器,将磁盘空间共享给客户使用,客户端可以再不充气的情况下扩容磁盘空间。iSCSI 服务端通过已终端的形式配置存储共享过程,每一个目录的含义都不同,下面会详细讲到。iSCSI 协议是通过客户端名称进行验证的,也就是说,用户在访问存储共享资源时不需要输入密码,只要 iSCSI 客户端的名称与服务端中设置的访问控制列表中某一名称条目一致即可,因此需要在 iSCSI 服务端的配置文件中写入一串能够验证用户信息的名称。


Linux iSCSI 结构介绍

目录介绍

  • # iSCSI服务端存放本地共享设备的位置。
  • /backstores/block 
  • # SCSI服务端管理target。
  • /iscsi
  • # SCSI服务端共享资源设备加入到target。
  • /iscsi/target名称目录/tpg1/luns
  • SCSI服务端目录用于存放能够访问共享存储资源的客户端名称。
  • /iscsi/target名称目录/tpg1/acls
  • SCSI服务端目录用于指定客户端可被访问的监听IP地址及端口
  • /iscsi/target名称目录/tpg1/portals

Linux iSCSI 服务端配置

  • 需求:共享服务端的 /dev/sdb4 设备
  • 版本:targetd-0.8.6
  • 版本:targetcli-2.1

1、服务端安装iSCSI

yum -y install targetd targetcli

2、启动服务并设置开机自启动

systemctl start targetd
systemctl enable targetd

3、进入iSCSI服务终端、ls查看目录、服务端终端命令: targetcli

[root@linuxprobe ~]# targetcli
Warning: Could not load preferences file /root/.targetcli/prefs.bin.
targetcli shell version 2.1.fb34
Copyright - by Datera, Inc and others.
For help on commands, type 'help'.
/> ls
o- / ................................................................... [...]
o- backstores ........................................................ [...]
| o- block ............................................ [Storage Objects: ]
| o- fileio ........................................... [Storage Objects: ]
| o- pscsi ............................................ [Storage Objects: ]
| o- ramdisk .......................................... [Storage Objects: ]
o- iscsi ...................................................... [Targets: ]
o- loopback ................................................... [Targets:

4、进入 /backstores/block 目录下、指定共享磁盘设备,命名磁盘设备

# 进入指定目录下
/> cd /backstores/block
# 创建共享设备,命名为 “disk0”
/backstores/block> create disk0 /dev/sdb4
Created block storage object disk0 using /dev/sdb4.

查看输出

5、进入 /iscsi 目录下创建iSCSI target 名称

# 进入指定目录
cd /iscsi
# 创建新的 target 名称
/iscsi> create
Created target iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.a52e09c8e24f.
Created TPG 1.
Global pref auto_add_default_portal=true
Created default portal listening on all IPs (0.0.0.0), port 3260.

输出

6、进入 /iscsi/target名称目录/tpg1/luns 目录下创建共享资源加入到target

# 进入指定目录
/iscsi> cd /iscsi/iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.037746bdcf2d/tpg1/luns
# 创建共享设备到 target
/iscsi/iqn.20...f2d/tpg1/luns> create /backstores/block/disk0
Created LUN 0.
Created LUN 0->0 mapping in node ACL iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.037746bdcf2d:client

输出

7、进入 /iscsi/target名称目录/tpg1/acls 设置访问控制,创建存入客户端可访问名称

# 进入指定目录
/iscsi/iqn.20...f2d/tpg1/luns> cd /iscsi/iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.037746bdcf2d/tpg1/acls/
# 创建存入客户端可访问名称
/iscsi/iqn.20...f2d/tpg1/acls> create iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.037746bdcf2d:xsk
Created Node ACL for iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.037746bdcf2d:xsk
Created mapped LUN 0.

输出

8、进入 /iscsi/target名称目录/tpg1/portals 设置服务端共享设备的网卡IP地址及端口

# 进入指定目录
/iscsi/iqn.20...f2d/tpg1/acls> cd /iscsi/iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.037746bdcf2d/tpg1/portals/
# 添加IP及端口、端口可以不填默认3260
/iscsi/iqn.20.../tpg1/portals> create 192.168.1.17 3260
报错:Could not create NetworkPortal in configFS

# 报错可以删除 0.0.0.0
delete 0.0.0.0 3260 注:继续添加IP即可

报错

9、保存退出并重启服务

# 保存设置
/> saveconfig
# 退出
/> exit
# 重启服务
systemctl restart targetd
firewall-cmd --permanent --add-port=3260/tcp
firewall-cmd --reload

开放防火墙

其他操作

# 该 tgp 关闭账号验证
/iscsi/../tpg1> set attribute authentication=0

关闭账号验证

# 该 tgp 使用自定义ad实现节点访问限制
/iscsi/.../tpg1> set attribute generate_node_acls=0

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


Linux iSCSI 客户端配置

  • 需求:使用服务端共享设备并挂载使用
  • 版本:iscsi-initiator-utils-6.2.0.874
  • 版本:iscsi-initiator-utils-iscsiuio-6.2.0.874

1、安装iscsi客户端

yum install iscsi-initiator-utils

2、将服务端访问控制表中的共享名称加入到客户端配置文件

vim /etc/iscsi/initiatorname.iscsi

iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.037746bdcf2d:xsk

3、启动iscsi客户端并设置开机自启

systemctl restart iscsid
systemctl enable iscsid

4、通过 iscsiadm 工具扫描发现 服务端共享的存储设备

# 其中,-m discovery 参数的目的是扫描并发现可用的存储资源,-t st 参数为执行扫描操作的类型,-p 192.168.10.17 数为 iSCSI 服务端的IP 地址
iscsiadm -m discovery -t st -p 192.168.1.17
192.168.1.17:3260,1 iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.037746bdcf2d

输出

5、登录 iSCSI 指定共享服务端

# 其中,-m node 参数为将客户端所在主机作为一台节点服务器,-T iqn.20.... 参为要使用的存储资源,-p 192.168.10.17 参数依然为对方iSCSI 服务端的 IP 地址。最后使用--login 或-l 参数进行登录验证。
iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.037746bdcf2d -p 192.168.1.17 --login
Logging in to [iface: default, target: iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.037746bdcf2d, portal: 192.168.1.17,3260] (multiple)
Login to [iface: default, target: iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.037746bdcf2d, portal: 192.168.1.17,3260] successful.

输出

6、查看共享到客户端的磁盘设备

# 已共享到客户端本地
命令:file /dev/sdb
输出:/dev/sdb: block special

7、格式化共享设备

# 格式化格式为xfs
mkfs.xfs /dev/sdb

8、临时挂载设备

# 创建挂载目录
mkdir /iscsi
# 临时挂载设备
mount /dev/sdb /iscsi

9、永久挂载共享设备

vim /etc/fstab

UUID=eb9cbf2f-fce8-413a-b770-8b0f243e8ad6 /iscsi xfs defaults,_netdev 0 0
命令:blkid | grep /dev/sdb
输出:/dev/sdb: UUID="eb9cbf2f-fce8-413a-b770-8b0f243e8ad6" TYPE="xfs"

查看设备UUID

注:_netdev 参数含义为在有网络传输时使用。

10、删除iSCSI共享资源

# 其中,-u 参数将其设备卸载
iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.037746bdcf2d -u

Linux iSCSI 磁盘共享管理的更多相关文章

  1. centos Linux下磁盘管理 parted,df ,du,fdisk,partprobe,mkfs.ext4,mount,/etc/fstab,fsck,e2fsck,mk2efs,tmpfs ,nr_inodes, LVM,传统方式扩容文件系统 第七节课

    centos Linux下磁盘管理   parted,df ,du,fdisk,partprobe,mkfs.ext4,mount,/etc/fstab,fsck,e2fsck,mk2efs,tmpf ...

  2. Linux磁盘的管理

    文件系统 磁盘必须要有文件系统---数据库 文件系统是用来数据存储,数据库是用来管理数据 windows fat32  ntfs   exfat linux  单文件系统 inode--索引空间(文件 ...

  3. LINUX的磁盘管理du命令详解

    LINUX的磁盘管理du命令详解 du(disk usage)命令可以计算文件或目录所占的磁盘空间.没有指定任何选项时, 它会测量当前工作目录与其所有子目录,分别显示各个目录所占的快数,最后才显示工作 ...

  4. Linux fdisk命令参数及用法详解---Linux磁盘分区管理命令fdisk

    fdisk 命令 linux磁盘分区管理 用途:观察硬盘之实体使用情形与分割硬盘用. 使用方法: 一.在 console 上输入 fdisk -l /dev/sda ,观察硬盘之实体使用情形. 二.在 ...

  5. lesson - 6 Linux下磁盘管理

    1. 查看磁盘或者目录的容量df  查看磁盘各分区使用情况   不加参数以k为单位   df -i inode数,df -h  以G或者T或者M   df -m  以M单位显示  du 查看目录或者文 ...

  6. linux磁盘管理系列一:磁盘配额管理

    磁盘管理系列 linux磁盘管理系列一:磁盘配额管理   http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_linux_040_quota.html l ...

  7. Linux 磁盘分区管理

    Linux 磁盘管理进阶 磁盘分区介绍 基本分区(primary partion) 基本分区也称主分区,引导分区.每块磁盘分区主分区与扩展分区加起来不能大于四个. 基本分区创建后可以立即使用,但是有分 ...

  8. Linux命令——磁盘管理

    Linux命令--磁盘管理 命令df 作用:查看已挂载磁盘的总容量.使用容量.剩余容量等 参数:-i,查看inodes的使用状况 参数:-h,使用合适的单位显示(推荐) 命令du 作用:查看某个目录或 ...

  9. Linux下磁盘管理命令df与du

    Linux下磁盘管理命令df与du  对磁盘进行查看和控制的两个linux命令,df和du.  一.du命令 首先看一下du的help说明: [root@misdwh opt]# du --help ...

随机推荐

  1. Docker开启Remote API 访问 2375端口

    Docker常见端口 我看到的常见docker端口包括: 2375:未加密的docker socket,远程root无密码访问主机2376:tls加密套接字,很可能这是您的CI服务器4243端口作为h ...

  2. selenium设置user-agent以及对于是否是浏览器内核进行反爬

    (Session info: chrome=75.0.3770.90),不同版本方法可能会有些不同 推荐查资料网站必应可以避开一堆广告 一.user-agent设置 from selenium imp ...

  3. App iCON 尺寸

    120*120  180*180 58*58  87*87 80*80  120*120

  4. shell中的fg 命令

    fg(前台执行) frontground bg(后台执行) background & daemon 总结: 一般命令在前台执行(fg),执行完毕后,控制返回给用户. 在命令后面加上&, ...

  5. MySQL 部署分布式架构 MyCAT (三)

    配置垂直分表 修改 schema.xml (db1) cd /data/mycat/conf cp schema.xml schema.xml.rwh # 修改配置 vi schema.xml < ...

  6. liteos动态加载(十三)

    1. 概述 1.1 基本概念 动态加载是一种程序加载技术. 静态链接是在链接阶段将程序各模块文件链接成一个完整的可执行文件,运行时作为整体一次性加载进内存.动态加载允许用户将程序各模块编译成独立的文件 ...

  7. Python Pyinstaller 打包程序及遇到的问题总结

    一.如何打包py程序 1.安装打包模块 pip install pyinstaller 2.定义保存包的路径 CMD ,CD 比方:把最终*.exe运行文件,保存到H盘 install 文件夹下. 输 ...

  8. git笔录

    [一]git介绍 初始的项目版本管理可以在本地赋值备份之前版本代码,项目较小时还可以,但项目较大时,这种方法显得有点捉襟见肘 ... ... 后期也出现了很多版本管理工具,例如svn.vcs.vss等 ...

  9. ACM-单向链表插入排序算法(在原链表上操作)

    /* 1.若链表只有一个节点或者为空,直接返回 2.将链表的前两个节点排序,并将排序之后的第二个节点的下一个节点赋空 3.此时整个链表分为了两个,将未排序的节点一一插入到已排序链表中:   3.1.第 ...

  10. c# 第20节 一维数据的冒泡排序

    本节内容: 1:冒泡排序说明: 2:冒泡排序实现: 3:冒泡排序的时间复杂度 1:冒泡排序说明: 冒泡排序也是最简单最基本的排序方法之一.冒泡排序的思想很简单,就是以此比较相邻的元素大小,将小的前移, ...