实验:iscsi共享存储
实验名称:
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共享存储的更多相关文章
- Linux下搭建iSCSI共享存储详细步骤(服务器模拟IPSAN存储)
一.简介 iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的.可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够 ...
- Linux下搭建iSCSI共享存储的方法 Linux-IO Target 方式CentOS7-1810下实现
iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的.可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速 ...
- Linux下搭建iSCSI共享存储的方法 TGT 方式 CentOS6.9系统下
iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的.可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速 ...
- Linux下搭建iSCSI共享存储的方法 Linux-IO Target 方式 Debian9.5下实现
iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的.可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速 ...
- Linux下搭建iSCSI共享存储的方法 TGT 方式 Debian9.5系统下
iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的.可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速 ...
- Linux下搭建iSCSI共享存储
转至:https://www.linuxidc.com/Linux/2016-09/135655.htm Linux下搭建iSCSI共享存储 拓扑: 实验步骤: ------------------- ...
- iscsi共享存储的简单配置和应用
1.环境介绍 SCSI(Small Computer System Interface)是块数据传输协议,在存储行业广泛应用,是存储设备最基本的标准协议.从根本上说,iSCSI协议是一种利用IP网络来 ...
- iSCSI 共享存储
iSCSI(Internet Small Computer System Interface,发音为/ˈаɪskʌzi/),Internet小型计算机系统接口,又称为IP-SAN,是一种基于 ...
- ISCSI共享存储
ISCSI网络磁盘 默认端口:3260 服务端: 一. 二.安装软件:targetcli 用命令targetcli进行配置------------------------进入iscsi磁盘配置模 ...
随机推荐
- PHP读取MySQL数据
方法/步骤 先配置一下数据库: define("DB_HOST","localhost");//数据库地址,一般为localhost define(&q ...
- Suricata的命令行解释
见官网 https://suricata.readthedocs.io/en/latest/command-line-options.html root@SELKS:~# suricata Suric ...
- memcache的分布式配置
public static class MemcacheHelper { private static MemcachedClient mc; static MemcacheHelper() { St ...
- 基于Java实现的冒泡排序算法
冒泡排序是一种简单基础的排序算法,相信在大学课堂里老师已经讲过了,现在我基于Java来实现一遍. 简述 冒泡排序正如其关键词一样,杂乱的气泡经过浮动,最后大的气泡飘到了上面而小的气泡在下面,无序的元素 ...
- Git之提交项目到远程github
1.在分支dev下,默认本地工作区有项目project 2. git add project [添加项目到暂存区] 3. git commit project -m "提交项目" ...
- Runtime理解
动态语言 OC是一门不折不扣的动态语言,所以它的很多机制都是动态运行时决定的.这点和C语言不一样,C语言是静态绑定,也就是编译后所有的一切都已经决定了.这一点和C语言的函数指针有些类似,很多时候函数指 ...
- java读取大文件 超大文件的几种方法
java 读取一个巨大的文本文件既能保证内存不溢出又能保证性能 import java.io.BufferedReader; import java.io.File; import jav ...
- Netbeans Makefile: recipe for target 'XXX' failed 运行failed(退出值 -1073741511 找不到C/C++库文件,关键字
今天不知怎么的又出错了 吐血了 找不到NULL new等关键字了 看到知乎上有人和我一个问题,怎么办?很简单卸载了以前的cygwin和netbeans然后重装,我重装时没有把以前的cygwin ...
- Devops 技术图谱
- Jquery中children与find之间的区别
<table id="tb"> <tr> <td>0</td> <td>1</td> <td>2 ...