实验名称:

  iscsi共享存储

实验环境:

  我们需要准备一个磁盘,对于这个磁盘我们需要使用,将这个磁盘空间共享给iscsi客户端;

实验需求:

  我们这里使用两台服务器来实现iscsi共享存储;

  1、指定一个服务器端的共享磁盘,将共享磁盘划分三个分区,并对分区做软raid5;

  2、基于raid5配置LVM的逻辑分区,指定大小为5G;

  3、配置target端,配置targetname为iqn.2019-06.com.test.www:disk10,tid为1就行;

  4、在服务器端放行iscsi的流量;

  5、配置initiator客户端,指定initiatorname为iqn.2019-06.com.test.www:disk20,并关联上target服务端;

  6、分区、格式化,并挂载该共享分区到 /mnt/space目录下;

实验配置:

  服务器端配置:

  准备一块磁盘,在服务器端;

  这里我们先添加一块20G的磁盘,然后重启系统;

reboot  //重启系统

  重启后,通过 fdisk -l 查看磁盘是否存在:

  由图可知,服务器端系统新添加了一个/dev/sdb的21.5G的磁盘空间;

  1、磁盘分区,并依据分区做RIAD5,以及划分LVM分区;

fdisk /dev/sdb
n
p +5G
  t
  8e //修改system id为Linux LVM
n
p +5G
  t
  8e
n
p +5G
  t
  8e
w //保存并退出交互界面

    查看分区情况 fdisk -l

  此时,我们可以基于这三个分区来做RAID5

mdadm -C /dev/md10 -l  -n  /dev/sdb{1,2,3}
mdadm -D /dev/md10 //查看创建的RAID磁盘
ll /dev/md10
mdadm -D --scan > /etc/mdadm.conf //保存RIAD配置

  此时,raid5已经创建成功;基于/dev/md10设备文件,可以创建LVM

yum install lvm2 -y  //安装lvm模块
pvcreate /dev/md10
vgcreate VGname /dev/md10
lvcreate -n LVname -L +2G VGname
fdisk -l /dev/VGname/LVname //这个目录在系统下显示为:/dev/mapper/VGname-LVname

  自此,我们拥有一个2G的磁盘攻坚,通过LVM+RAID技术,在服务器端,准备通过iscsi共享方式提供给客户端程序;

  2、配置服务器端的iscsi服务

  这里,我们需要安装target服务器端的管理工具--scsi-target-utils;

  然后指定相关参数:

    1、指定targetname

    2、指定tid

    3、指定共享磁盘的IP地址段

    4、指定共享的磁盘空间

yum install scsi-target-utils -y
/etc/init.d/tgtd start //首先启动tgtd服务
tgtadm --lld iscsi --mode target --op new --tid --targetname iqn.2019-.com.test.domain:disk10
tgtadm --lld iscsi --mode target --op bind --tid --initiator-address 192.168.94.0/
tgtadm --lld iscsi --mode logicalunit --op new --lun --tid --backing-store /dev/VGname/LVname
tgtadm --lld iscsi --mode target --op show

  【注意,这里是通过命令行配置,如果重启,则配置则失效,所以,我们可以通过修改配置文件的方式来进行配置】

vi /etc/tgt/targets.conf
<target iqn.2019-06.com.test.domain:disk10>
<backing-store /dev/VGname/LVname>
lun
</backing-store>
initiator-address 192.168.94.0/</target>
:wq
/etc/init.d/tgtd restart

  3、配置防火墙,放行端口3260端口;

  通过配置iptables来放行对应的端口

iptables -I INPUT -s 192.168.94.0/ -d 192.168.94.0/ -p tcp --dport  -j ACCEPT
/etc/init.d/iptables save
/etc/init.d/iptables restart
iptables -L

  由图可以看见,我们这里放行了3260端口;

  

  客户端配置:

  4、配置iscsi的客户端

  为客户端定义唯一地址表示:

yum install iscsi-initiator-utils -y
vi /etc/iscsi/initiatorname.iscsi
Initiatorname = iqn.2019-06.com.test.domain:disk20
:wq

  发现对端的共享磁盘空间:

iscsiadm -m discovery -t st -p 192.168.94.128:
iscsiadm -m node -T iqn.-.com.test.domain:disk10 -l[-u] -p 192.168.81.145:

  启动服务并关联成功,iscsiadm -l 为关联新的磁盘,而 -u 则是卸载这个关联关系;

  此时,我们再去查看客户端端上的磁盘情况 fdisk -l:

  如图所示,这里多了一个 /dev/sdb;这个空间,就是通过iscsi服务,从服务器端共享过来的;

  5、我们再对该磁盘进行格式化与分区,即可使用

fdisk /dev/sdb
n
p +1G
w

  在对新创建的分区进行格式化,写入文件系统,并创建新的目录 /mnt/space,将这个新的分区挂载在上面即可;

mkfs -t ext4 /dev/sdb1
mkdir /mnt/space
mount /dev/sdb1 /mnt/space
df -h //查看挂载情况

  这里,我们可以看到/mnt/space的可使用空间为979M,接近一个G;

  自此,我们的共享存储实验完成;

实验结果:

实验:iscsi共享存储的更多相关文章

  1. Linux下搭建iSCSI共享存储详细步骤(服务器模拟IPSAN存储)

    一.简介 iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的.可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够 ...

  2. Linux下搭建iSCSI共享存储的方法 Linux-IO Target 方式CentOS7-1810下实现

    iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的.可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速 ...

  3. Linux下搭建iSCSI共享存储的方法 TGT 方式 CentOS6.9系统下

    iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的.可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速 ...

  4. Linux下搭建iSCSI共享存储的方法 Linux-IO Target 方式 Debian9.5下实现

    iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的.可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速 ...

  5. Linux下搭建iSCSI共享存储的方法 TGT 方式 Debian9.5系统下

    iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的.可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速 ...

  6. Linux下搭建iSCSI共享存储

    转至:https://www.linuxidc.com/Linux/2016-09/135655.htm Linux下搭建iSCSI共享存储 拓扑: 实验步骤: ------------------- ...

  7. iscsi共享存储的简单配置和应用

    1.环境介绍 SCSI(Small Computer System Interface)是块数据传输协议,在存储行业广泛应用,是存储设备最基本的标准协议.从根本上说,iSCSI协议是一种利用IP网络来 ...

  8. iSCSI 共享存储

         iSCSI(Internet Small Computer System Interface,发音为/ˈаɪskʌzi/),Internet小型计算机系统接口,又称为IP-SAN,是一种基于 ...

  9. ISCSI共享存储

    ISCSI网络磁盘    默认端口:3260 服务端: 一. 二.安装软件:targetcli 用命令targetcli进行配置------------------------进入iscsi磁盘配置模 ...

随机推荐

  1. PHP读取MySQL数据

    方法/步骤     先配置一下数据库: define("DB_HOST","localhost");//数据库地址,一般为localhost define(&q ...

  2. Suricata的命令行解释

    见官网 https://suricata.readthedocs.io/en/latest/command-line-options.html root@SELKS:~# suricata Suric ...

  3. memcache的分布式配置

    public static class MemcacheHelper { private static MemcachedClient mc; static MemcacheHelper() { St ...

  4. 基于Java实现的冒泡排序算法

    冒泡排序是一种简单基础的排序算法,相信在大学课堂里老师已经讲过了,现在我基于Java来实现一遍. 简述 冒泡排序正如其关键词一样,杂乱的气泡经过浮动,最后大的气泡飘到了上面而小的气泡在下面,无序的元素 ...

  5. Git之提交项目到远程github

    1.在分支dev下,默认本地工作区有项目project 2. git add project  [添加项目到暂存区] 3. git commit project -m "提交项目" ...

  6. Runtime理解

    动态语言 OC是一门不折不扣的动态语言,所以它的很多机制都是动态运行时决定的.这点和C语言不一样,C语言是静态绑定,也就是编译后所有的一切都已经决定了.这一点和C语言的函数指针有些类似,很多时候函数指 ...

  7. java读取大文件 超大文件的几种方法

    java 读取一个巨大的文本文件既能保证内存不溢出又能保证性能       import java.io.BufferedReader; import java.io.File; import jav ...

  8. Netbeans Makefile: recipe for target 'XXX' failed 运行failed(退出值 -1073741511 找不到C/C++库文件,关键字

      今天不知怎么的又出错了 吐血了 找不到NULL new等关键字了   看到知乎上有人和我一个问题,怎么办?很简单卸载了以前的cygwin和netbeans然后重装,我重装时没有把以前的cygwin ...

  9. Devops 技术图谱

  10. Jquery中children与find之间的区别

    <table id="tb"> <tr> <td>0</td> <td>1</td> <td>2 ...