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. Windows 10 powershell 中文乱码解决方案

    Windows 10 powershell 中文乱码解决方案 Intro 我装的系统是英文版的 win 10 操作系统,最近使用命令行测试接口,发现中文显示一直异常, 使用网上的各种解决方案都没有效果 ...

  2. C#用Call代替CallVirt之后的测试用例

    一. C# 原始代码和直接结果 测试 C# 代码: class Program { static void Main(string[] args) { A c1 = new C(); c1.Foo() ...

  3. 为什么要做外链建设?seo优化与发布外链速度有哪些联系?

    对于SEO员工来说,我们每天都在处理网页.从内容创建的角度来看,我们每天创建大量的URL并进入索引状态.与网站的受欢迎程度相比,网站每天也会生成大量的外部链接. 实际上,相对于链接而言,它满足了搜索引 ...

  4. Java生鲜电商平台-B2B生鲜的互联网思维

    Java生鲜电商平台-B2B生鲜的互联网思维 在互联网高速发展的今天,为我们的生活带来了众多便利.然而互联网从早期的萌芽状态到现在妇孺皆知,它的崛起速度远远超乎世人的想象.人们开始关注互联网并且研究它 ...

  5. python : html 调用本地python程序

    <!DOCTYPE html> <html> <head> <meta charset="gb2312"> <title> ...

  6. haproxy动静分离的验证

    线上出现过项目的静态文件被拦截,不能直接访问.所以想到了haproxy指向对应的url来访问静态文件,想到这里在网络搜索了下,确实有此功能.立即上测试环境验证下: 在listen中增加两行: ​ #定 ...

  7. [b0022] python 归纳 (八)_多进程_基本使用

    # -*- coding: UTF-8 -*- """ 测试进程使用 multiprocessing.Process 使用: 1. 准备一个函数<fun>,子 ...

  8. [Go] gocron源码阅读-groutine与channel应用到信号捕获

    直接使用go 函数名()可以开启一个grountine,channel可以接收信息并且如果没有数据时会阻塞住channel对应的是底层数据结构的引用,复制channel和函数传参都是拷贝的引用make ...

  9. RDPGuard6.1.7之后的问题

    RDPGuard是一款保护远程桌面RDP端口不被暴力猜解的软件,说下在使用RDP Guard中遇到的一些问题: 1.似乎D版RDPGuard 6.1.7或之后的版本,启用IP Cloud会自动将大量I ...

  10. [android]system.img文件的打包和解包

    1:system.img的两种格式 system2_0.img: Linux rev 1.0 ext4 filesystem data, UUID=57f8f4bc-abf4-655f-bf67-94 ...