
iSCSI使用TCP/IP协议对存储使用的SCSI指令进行封装,使得可通过TCP/IP网络访问持久化存储。本文在CentOS7上对iSCSI的配置和使用进行介绍。
本文中的实验仅涉及一个主机节点和一个存储节点。
虚拟机启动完毕后可使用以下用户登陆:
使用root用户登陆iscsi-disks,使用losetup来创建实验用的存储设备。
Step 1 创建大文件用于支持虚拟存储设备
为了避免Selinux权限问题,建议不要将文件创建在/root目录下。
Step 2 创建loop设备
Step 3 安装iSCSI target软件包并启动服务
Step 4 在targetcli命令行中创建存储设备
注:同一台主机可以创建多个target,每个target包含自己的lun和主机,实现主机组和lun的绑定
如下图中定义了iscsi-disks和linuxha两个target,其中iscsi-disks中的lun0(block/ib_vol1)只允许iscsi-host访问,linuxha中的lun0(block/ha_vol1)只运行ha-host1访问,
Step 5 放通防火墙
如果启用了防火墙,则需要放通以下端口:
Step 1 安装iSCSI initiator软件包
Step 2 修改配置文件/etc/iscsi/initiatorname.iscsi
在其中定义主机Initiator的名字:
此处定义的Initiator名字要和在存储节点中定义ACL时使用的主机名字一致。
Step 3 通过IP发现存储节点
Step 4 从主机发起iscsi登陆
如果之前发现了多个target,此处可用--targetname指定登陆的target。
登陆后可使用fdisk发现新存储设备:
Step 5 使用新存储设备
新的存储设备可以当成普通硬盘使用,如创建文件系统并挂载到主机目录中:
安装iscsi-initiator-utils后,系统新增了两个iscsi相关的服务,分别是iscsi.service和iscsid.service。
真正用于iscsi登陆的服务是iscsi.service,他启动时会同时启动iscsid.service,并且登陆完成后iscsi.service的进程将自动退出,由iscsid.service继续监控iscsi设备的状态。
systemctl disable firewalld
systemctl stop firewalld
systemctl mask firewalld
vi /etc/iscsi/initiatorname.iscsi
InitiatorName = iqn.************;【注:eg:iqn.2017-09.com.centos:client1】
1.安装target
yum -y install targetcli
2.启动target服务
systemctl start target
3.设置开机自启动
systemctl enable target
4.新建分区
eg:
fdisk /dev/sda ==>回车,见下图
5. 进入交互模式
targetcli
6.建立一个块存储
/>/backstores/block create netdisk1.disk /dev/sdb1 【注:其中netdisk1为自定义名称】
7.配置ISCSI target端的命名
/>/iscsi create iqn.2017-09.com.centos:server1【注:其中server1为自定义名称,且命名在同一子网中确保是唯一的】
8.创建ACL允许ISCSI客户机连接
/>/iscsi/iqn.2017-09.com.example:server1/tpg1/acls create iqn.2017-09.com.example:client1【注:其中server1为服务端,client1为客户端名称】
9.创建lun(target块设备的逻辑单元)
/>/iscsi/iqn.2017-03.com.example:server1/tpg1/luns create /backstores/block/netdisk1.disk
10.配置验证用户名和密码
/>cd /iscsi/iqn.2017-03.com.example:disk1/tpg1/acls/iqn.2017-03.com.example:client1
/>set auth userid=username
/>set auth password=password
11.配置完成后查看配置信息,并退出
/>cd /
/>ls
/>exit
1.安装ISCSI Initiator
# yum -y install iscsi-initiator-utils
2.配置ISCSI Initiator的名称
# vi /etc/iscsi/initiatorname.iscsi 【注:此处InitiatorName必须与服务端配置的ACL允许ISCSI客户机连接的名称一致,且与上面的server端的配置相互配合】
3.修改ISCSI Initiator的配置文件
# vi /etc/iscsi/iscsid.conf
【注:node.session.auth.username为存储服务端set auth userid=username配置的username,node.session.auth.password= password为存储服务器端set auth password=password配置的password】
4.查找ISCSI设备
# iscsiadm -m discovery -t sendtargets -p 192.168.**.**
5.链接ISCSI设备
# iscsiadm -m node --login【注:如果登录一直失败的话,可以尝试重新启动下面两个服务:service iscsi stop service iscsid stop service iscsi start service iscsid start 】
6.查看系统磁盘的信息
# fdisk -l
7.格式化磁盘
mkfs -t ext4 /dev/sda
8.mount到指定的位置
mount /dev/sda /root/iscsi
9.设置开机自动连接ISCSI设备
# iscsiadm -m node -T iqn.2017-03.com.example:disk1 -p192.168.**.**:3260 -o update -n node.startup -v automatic 【注:提到的名字与IP均为target端的】
10.设置开机挂载网络磁盘
开机挂载:采用写入fstab方式开启启动挂载磁盘
获取磁盘UUID:# blkid /dev/sda
编辑fstab :# vi /etc/fstab
添加配置:UUID=9f122014-071a-4416-b40f-ece882285b2b /mnt/iscsi ext4 defaults,_netdev 0 0
【说明】
UUID=ba7925cc-9bfb-4238-984d-999e18d592e8:磁盘UUID,代表磁盘
/mnt/iscs:代表挂载路径,根据实际灵活变动。
ext4:代表文件系统,根据实际灵活变动。
_netdev:代表该挂载的磁盘分区为网络磁盘分区。(在网络服务启动之后再去mount磁盘,若果不加的话,会使机器无法启动!!!!)
ISCSI服务端,安装target目标软件yum install scsi-target-utils -y
修改配置文件/etc/tgt/targets.conf 在末行添加一下内容
<target iqn.2014-09.com.example:target1> #target目标名自定义
backing-store /dev/sdb#scsi指定是用的磁盘或者分区
initiator-address 10.0.0.0/24 #发起程序可访问的网段
write-cache off #关闭写入缓存
incoming test 123.com#创建对应的帐号test密码123.com
</target>
重新启动服务
service tgtd restart chkconfig tgtd on tgt-admin –show #查看当前的scsi配置
ISCSI客户端,安装initiator发起软件
yum -y install iscsi-initiator-utils
service iscsid force-start
chkconfig iscsid on
发现远端的iqn并且连接lun
iscsiadm --mode discovery --type sendtargets --portal 10.0.0.202
iscsiadm -m node -T iqn.2014-09.com.example:target1 -p 10.0.0.202 -l
fdisk -l 即可查看到
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)