Hello,我是——邪恶君子!今天呢,给大家分享一下Linux上iSCSI的搭建,通过文字+图像的解说,不管你是小白还是菜鸟,都能够让你掌握搭建iSCSI的精华所在!
废话不多说,看招:
首先呢,给大家说一下本次教程的环境:系统版本:RedHat Enterprise Linux 6.2
在搭建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,给大家附上我的分区图:
大家看到了吧,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,这里把我自己搭建效果图给大家附上
从图上可以看到,刚才自己创建的iSCSI Target及编号,也可以看到自己创建的lun和编号,最下面可以显示出用的哪个分区创建的。
到此,搭建完毕,是不是很简单!
这在儿,有个要点需记住,那就是开机后,上面3条命令创建的iSCSI会失效,要想开机后还有,那就把上面的3条命令添加到/etc/rc.d/rc.local里面,看图:
这样,以后在重启或关机后再开机就可以保证创建的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(效果看下图)
到这一步就可以看出,你服务端创建的iSCSI Target 的编号和名称。这条命令只需记住-p后面跟iSCSI服务的地址就行了,也可以是主机名,都可以!3260是服务的端口号,默认的!
#iscsiadm -m node -T iqn.mailtest.com.20140916:disk1 -p 10.30.12.121:3260 -l(效果看下图)
好了,已经看到successful。成功了!验证和客户端都是这样操作的,两条命令就okay了!
简单吧!这时,你就可以执行#fdisk -l 查看自己的分区了,会多出一个硬盘,效果见图:
看到了吧,我已经用红色的框框给大家标注出来了,是不是很神奇呢?
各位!到此,整个教程就结束了!你是否学会了呢!不管是否掌握了,先给自己鼓个掌吧,辛苦自己可以从头仔细认真的学到尾!谢谢大家的支持,希望可以多多交流!欢迎大家指出有错误的地方,或者写的不好的地方,供改进,促提升!