---
author: 邪恶君子
category: 系统运维
comments_data:
- date: '2019-06-27 13:26:11'
  message: 非常感谢
  postip: 60.216.51.148
  username: ool456 [Chrome 75.0|Windows 10]
count:
  commentnum: 1
  favtimes: 2
  likes: 0
  sharetimes: 0
  viewnum: 6470
date: '2014-09-18 11:54:00'
editorchoice: false
excerpt: "Hello，我是——邪恶君子！\t今天呢，给大家分享一下Linux上iSCSI的搭建，通过文字+图像的解说，不管你是小白还是菜鸟，都能够让你掌握搭建iSCSI的精华所在！废话不多说，看招：首先呢，给大家说一下本次教程的环境：\t系统版本：RedHat
  Enterprise Linux 6.2\t\t在搭建iSCSI前呢，先把SELinux禁用；关闭防火墙并清空所有规则。并配置好yum源（直接挂载本地光盘，yum源指向本地就行）。开始搭建：\t首先要安装一个包：scsi-target-utils-1.0.14-4.el6.x86_64\t#yum
  -y installscsi-target-utils\t\t在这或许会有人抱怨了，邪恶啊，这么长的名字记"
fromurl: ''
id: 3850
islctt: false
largepic: /images/p/201409/18/140736cuoxrpsfft6nusff.jpg
permalink: /article-3850-1.html
pic: /images/p/201409/18/140736cuoxrpsfft6nusff.jpg.thumb.jpg
related: []
reviewer: ''
selector: ''
summary: "Hello，我是——邪恶君子！\t今天呢，给大家分享一下Linux上iSCSI的搭建，通过文字+图像的解说，不管你是小白还是菜鸟，都能够让你掌握搭建iSCSI的精华所在！废话不多说，看招：首先呢，给大家说一下本次教程的环境：\t系统版本：RedHat
  Enterprise Linux 6.2\t\t在搭建iSCSI前呢，先把SELinux禁用；关闭防火墙并清空所有规则。并配置好yum源（直接挂载本地光盘，yum源指向本地就行）。开始搭建：\t首先要安装一个包：scsi-target-utils-1.0.14-4.el6.x86_64\t#yum
  -y installscsi-target-utils\t\t在这或许会有人抱怨了，邪恶啊，这么长的名字记"
tags:
- iSCSI
thumb: false
title: 零基础：邪恶带你3步快速掌握iSCSI搭建
titlepic: false
translator: ''
updated: '2014-09-18 11:54:00'
---

Hello，我是——邪恶君子！今天呢，给大家分享一下Linux上iSCSI的搭建，通过文字+图像的解说，不管你是小白还是菜鸟，都能够让你掌握搭建iSCSI的精华所在！


![](/images/p/201409/18/140736cuoxrpsfft6nusff.jpg)


废话不多说，看招：


首先呢，给大家说一下本次教程的环境：系统版本：RedHat Enterprise Linux 6.2


[![](/images/p/201409/17/145612aerr1o0f16gr91gn.png)](/images/p/201409/17/145612aerr1o0f16gr91gn.png)


在搭建iSCSI前呢，先把SELinux禁用；关闭防火墙并清空所有规则。并配置好yum源（直接挂载本地光盘，yum源指向本地就行）。


### 开始搭建


首先要安装一个包：scsi-target-utils-1.0.14-4.el6.x86\_64



```
#yum -y install scsi-target-utils
```

在这或许会有人抱怨了，邪恶啊，这么长的名字记不住肿么办？不要怕，没事，邪恶教你一招：直接执行命令#yum -y install scsi-target\* 也可以，这下简单多了吧。


好了，安装完以后，要启动服务，iSCSI的服务为tgtd，直接启动就行了



```
#service tgtd start
#chkconfig tgtd on (设为开机启动)
```

到此，我们安装完毕，简单吧！！！


### 创建iSCSI


在创建前呢，你要在你的电脑上先分出一个区用来搭建iSCSI存储。邪恶这次是分出一个5G大小的分区来创建iSCSI，给大家附上我的分区图：


[![](/images/p/201409/17/145628zu4udb0k243rb843.png)](/images/p/201409/17/145628zu4udb0k243rb843.png)


大家看到了吧，sda5，大小为5G！


其实，在这里简单的提一下，分区的大小你自己随便定，也可以是一个硬盘，都行！


接下来呢，就是激动人心的时刻，关键来了哦，邪恶所说的精华就是接下来的内容，看招：


执行下面的三条命令：



```
#tgtadm --lld iscsi --mode target --op new --tid 1 -T iqn.mailtest.com.20140916:disk1
#tgtadm --lld iscsi --mode logicalunit --op new --tid 1 --lun 1 -b /dev/sda5
#tgtadm --lld iscsi --mode target --op bind --tid 1 -I ALL
```

 


给大家简单解释一下命令，建议大家在执行前先执行一下



```
#tgtadm --help
```

看一下命令的帮助文档。


第一条命令，只需掌握 --tid后面的参数“1”，这个“1”在这里就是个编号，你也可以设为2，不过建议大家从1开始，习惯嘛！然后就是-T后面的参数，-T后面的参数自己随便写，但记住一点就行，需以iqn开头，然后后面的你想怎么起都行，一般都是"iqn.hostname:diskX"，hostname就是你的主机名，X代表编号。


第二条命令，需要记住--tid后面的参数必须要和第一条的一样， --lun后面的参数也是代表编号，和第一条命令的--tid类似，-b后面就跟你要搭建iSCSI的分区就行。


第三条命令，更简单，只需注意--tid后面的参数要和第一条、第二条的一样，其实第二条和第三条都是以第一条的为基准的，然后就是-I后面的参数，这里设置为ALL是代表允许所有的IP都可以访问。你也可以设置为个别的IP，具体的可以参考帮助文档。


执行完以后，可以执行



```
#tgt-admin -s
```

查看一下自己创建的iSCSI，这里把我自己搭建效果图给大家附上


[![](/images/p/201409/17/145629fjx92jsreazgx9ai.png)](/images/p/201409/17/145629fjx92jsreazgx9ai.png)


从图上可以看到，刚才自己创建的iSCSI Target及编号，也可以看到自己创建的lun和编号，最下面可以显示出用的哪个分区创建的。


到此，搭建完毕，是不是很简单！


这在儿，有个要点需记住，那就是开机后，上面3条命令创建的iSCSI会失效，要想开机后还有，那就把上面的3条命令添加到/etc/rc.d/rc.local里面，看图：


[![](/images/p/201409/17/145630zx6ve3zb0xfpk0p3.png)](/images/p/201409/17/145630zx6ve3zb0xfpk0p3.png)


这样，以后在重启或关机后再开机就可以保证创建的iSCSI失效了！


或许到这儿，就会有人问了：“邪恶，你为什么不讲一下理论知识？”。


邪恶回答你的很简单：一讲理论就讲的多了，就需要花很大的文字去讲解，而且邪恶也不敢保证理论讲的是否正确。邪恶在此顺便给大家说一下，邪恶的原则是通过自己的实践和自己的心得和体会，尽量的写的精简点，然后分享给大家，让菜鸟和小白都能快速掌握，至于理论知识，百度上一大堆，都解释的很详细，一看就明白！


### 客户端测试


接下来，邪恶再给大家讲一下怎么验证自己搭建的iSCSI是否可用，同时也讲一下客户端的操作！看招：


首先，客户端需要先安装iscsi-initiator-utils包，执行命令安装：



```
#yum -y install iscsi-initiator-utils
```

如果这两个包的名字也记不住肿么办，没问题，邪恶我再教你一招，直接执行命令：#yum -y install iscsi-init\* 


安装完毕后，启动相应的服务，并设置为开机启动，命令：



```
#service iscsi start
#chkconfig iscsi on
#service iscsid start
#chkconfig iscsid on
```

好了，到此呢，准备工作已准备完毕，各位，接下来就是见证神奇的时刻：


在客户端执行下面两条命令：



```
#iscsiadm -m discovery -t sendtargets -p 10.30.12.121:3260（效果看下图）
```

[![](/images/p/201409/17/145629qtlpninypmqolfoi.png)](/images/p/201409/17/145629qtlpninypmqolfoi.png)


到这一步就可以看出，你服务端创建的iSCSI Target 的编号和名称。这条命令只需记住-p后面跟iSCSI服务的地址就行了，也可以是主机名，都可以！3260是服务的端口号，默认的！



```
#iscsiadm -m node -T iqn.mailtest.com.20140916:disk1 -p 10.30.12.121:3260 -l（效果看下图）
```

[![](/images/p/201409/17/145630vkp0fggfawuwyg4c.png)](/images/p/201409/17/145630vkp0fggfawuwyg4c.png)


好了，已经看到successful。成功了！验证和客户端都是这样操作的，两条命令就okay了！


简单吧！这时，你就可以执行#fdisk -l 查看自己的分区了，会多出一个硬盘，效果见图：


[![](/images/p/201409/17/145628f08ok053g0gn05e3.png)](/images/p/201409/17/145628f08ok053g0gn05e3.png)


 


看到了吧，我已经用红色的框框给大家标注出来了，是不是很神奇呢？


各位！到此，整个教程就结束了！你是否学会了呢！不管是否掌握了，先给自己鼓个掌吧，辛苦自己可以从头仔细认真的学到尾！谢谢大家的支持，希望可以多多交流！欢迎大家指出有错误的地方，或者写的不好的地方，供改进，促提升！