ISCSI共享存储-2017-2-23

  这个实验比较有成就感,毕竟不是为我做的,而是给班上的其他人和老师,凭这个赢得了老师的信任(以及更多的任务),当然毕业实习也拿了优秀。个人收获上,也有收获,但是理论方面,没有深究很多,我相信以后会有机会的,因为这是openstack云计算有可能需要的东西

1、在192.168.1.21部署target ,最好在VM workstation单独加一块硬盘用来测试,默认添加后就是/dev/sdb
[[email protected] ~]# ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.21 netmask 255.255.255.0 broadcast 192.168.1.255
2、网卡配置
[[email protected] ~]# ping www.163.com ##如果网络不通,编辑如下网卡配置即可,具体的IP网段由实际情况决定。
# vim /etc/sysconfig/network-scripts/ifcfg-eth0
------------------------------
DEVICE=eth0
BOOTPROTO="static"
NM_CONTROLLED="no"
ONBOOT="yes"
TYPE="Ethernet"
IPADDR=192.168.1.27
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
--------------------------------
[[email protected] ~]# service network restart

3、yum源的配置。
[[email protected] ~]# cd /etc/yum.repos.d
[[email protected] yum.repos.d]# vim centos7.repo ##如果系统自带的Yum源不好使,把下面的配置文件拷贝进去

---------------------------------------------
#centOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#

[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#released updates
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

---------------------------------------------

[[email protected] ~]# yum install epel-release -y ##必须安装这个yum源,不然无法下载target软件
[[email protected] ~]# yum install scsi-target-utils -y

4、磁盘分区
[[email protected] ~]# fdisk /dev/sdb ##写入一个500M的分区,这一步也可以不做,比较麻烦,测试有一个disk1.img已经够了
Command (m for help): p
Partition number (1-4, default 1): 1
First sector (2048-41943039, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): +500M
Command (m for help): p

Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x5dc1ecee

Device Boot Start End Blocks Id System
/dev/sdb1 2048 1026047 512000 83 Linux
Command (m for help): w
The partition table has been altered!
[[email protected] ~]# partprobe

##注意此硬盘只能格式化,但是不能挂载,否则无法共享。
[[email protected] ~]# mkfs.ext4 /dev/sdb1

[[email protected] tgt]# fdisk -l /dev/sdb1
Disk /dev/sdb1: 524 MB, 524288000 bytes, 1024000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

[[email protected] ~]# vim /etc/tgt/targets.conf
=============================================================
<target iqn.2017-02.dev.iscsi-target:iscsidisk>
backint-store /dev/sdb1
</target>
=============================================================

iqn = iSCSI Qualified Name
iSCSI target的名称规则如下:
iqn.2014-07.dev.iscsi-target:iscsidisk
iqn.年份-月份.域名反写.设备识别
每个在同一个target上的backing-store 称为逻辑单元号(Logical Unit Number,LUN)
当开启此次服务以后,再次写入配置文件时,共享新的设备,需要设置新的target
<target iqn.2017-02.yhc.iscsi-target.sdb1>
backing-store /dev/sdb1
</target>

[[email protected] ~]# service tgtd start ##运行该服务
Redirecting to /bin/systemctl start tgtd.service
[[email protected] ~]# systemctl enable tgtd ##开机自启
Created symlink from /etc/systemd/system/multi-user.target.wants/tgtd.service to /usr/lib/systemd/system/tgtd.service.
[[email protected] ~]# netstat -tulnp|grep tgt
tcp 0 0 0.0.0.0:3260 0.0.0.0:* LISTEN 2654/tgtd
tcp6 0 0 :::3260 :::* LISTEN 2654/tgtd
[[email protected] ~]# tgt-admin --show ##查看测试镜像disk1.img是否暴露在网络中
Target 1: iqn.2017-2-23.dev.iscsi-target:iscsidisk
System information:
Driver: iscsi
State: ready
I_T nexus information:
LUN information:
LUN: 0
Type: controller
SCSI ID: IET 00010000
SCSI SN: beaf10
Size: 0 MB, Block size: 1
Online: Yes
Removable media: No
Prevent removal: No
Readonly: No
SWP: No
Thin-provisioning: No
Backing store type: null
Backing store path: None
Backing store flags:
LUN: 1
Type: disk
SCSI ID: IET 00010001
SCSI SN: beaf11
Size: 210 MB, Block size: 512
Online: Yes
Removable media: No
Prevent removal: No
Readonly: No
SWP: No
Thin-provisioning: No
Backing store type: rdwr
Backing store path: /dev/sdb1
Backing store flags:
Account information:
ACL information:
ALL

##很简单的target部署完成

二、windows打开initator,只用保证虚拟机和物理机同一网段便可共享,当然一般都是连通的。
参考文档:http://jingyan.baidu.com/article/a65957f4909da624e67f9b90.html
位置: 控制面板\所有控制面板项\管理工具--打开ISCSI发起程序
目标: 【192.168.1.21】 ##填入虚拟机的IP地址
发现门户-目标,把共享硬盘由不活动改为连接,之后会进行一段时间的驱动程序安装
计算机管理会发现添加了一个磁盘,右击该硬盘进行创建简单卷即可使用。

再次回到linux上
[[email protected] ~]# tgt-admin --show ##显示已连接,192.168.1.102是windows的IP
Target 1: iqn.2017-2-23.dev.iscsi-target:iscsidisk
System information:
Driver: iscsi
State: ready
I_T nexus information:
I_T nexus: 1
Initiator: iqn.1991-05.com.microsoft:xb-20160403hplc alias: none
Connection: 1
IP Address: 192.168.1.102

三、Linux创建initator,开启另一台虚拟机192.168.1.23
[[email protected] ~]# yum -y install iscsi-initiator-utils
[[email protected] ~]# vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2017-02.yhc.iscsi-target.sdb1
[[email protected] ~]# iscsiadm -m discovery -t sendtargets -p 192.168.1.21
192.168.1.21:3260,1 iqn.2017-02.yhc.iscsi-target.sdb1

## -m discovery  //侦测target
-t sendtargets  //通过iscsi协议
-p IP:port  //指定target的IP和port,不写port的话,默认为3260
[[email protected] ~]# ll /var/lib/iscsi/nodes/ ##iscsiadm 侦测到的结果会写入/var/lib/iscsi/nodes/ 中,因此只需启动/etc/init.d/iscsi 就能够在下次开机时,自动连接到正确的target了
total 0
drw------- 3 root root 32 Feb 23 17:42 iqn.2017-02.yhc.iscsi-target.sdb1
[[email protected] 192.168.1.21,3260,1]# iscsiadm -m node ##查看目前系统上面所有的target
192.168.1.21:3260,1 iqn.2017-02.yhc.iscsi-target.sdb1
[[email protected] ~]# iscsiadm -m node -T iqn.2017-02.yhc.iscsi-target.sdb --login ##登录到ISCSI的target服务器
Logging in to [iface: default, target: iqn.2017-02.yhc.iscsi-target.sdb1, portal: 192.168.1.21,3260] (multiple)
Login to [iface: default, target: iqn.2017-02.yhc.iscsi-target.sdb1, portal: 192.168.1.21,3260] successful.

[[email protected] ~]# fdisk -l /dev/sdb ##查看共享硬盘,本来是没有该硬盘的
Disk /dev/sdb: 524 MB, 524288000 bytes, 1024000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

[[email protected] ~]# mount /dev/sdb /mnt
[[email protected] ~]# cd /mnt
[[email protected] mnt]# echo "这是iSCSI实验,目标Target服务器的IP是192.168.100.21,于2017-2-24" >test.txt
[[email protected] mnt]# ls
lost+found test.txt
[[email protected] ~]# systemctl enable iscsid
Created symlink from /etc/systemd/system/multi-user.target.wants/iscsid.service to /usr/lib/systemd/system/iscsid.service.
[[email protected] ~]# service iscsid status ##安装该软件包之后就会自启
Redirecting to /bin/systemctl status iscsid.service
● iscsid.service - Open-iSCSI
Loaded: loaded (/usr/lib/systemd/system/iscsid.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2017-02-23 17:38:43 CST; 20min ago

报错:奇了怪了,明明已经到target,居然fdisk -l /dev/sdb没有东西,可是明明ll /dev/sdb存在。重启系统估计会报错,果然重启不成功,把电源,日了狗!
[[email protected] ~]# mount /dev/sdb /mnt ##这种问题多半是没有格式化
mount: /dev/sdb is write-protected, mounting read-only
mount: unknown filesystem type ‘(null)‘
注意:关机的时候先把target停掉,再关机。

时间: 2024-12-29 10:30:57

ISCSI共享存储-2017-2-23的相关文章

Linux下搭建iSCSI共享存储

一.简介 iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的.可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行路由选择.iSCSI技术是一种新储存技术,该技术是将现有SCSI接口与以太网络(Ethernet)技术结合,使服务器可与使用IP网络的储存装置互相交换资料. iSCSI是一种基于TCP/IP 的协议,用来建立和管理IP存储设备.主机和客户机等之间的相互连接,并创建存储区域网

CentOS 6.5 安装部署iSCSi共享存储

 CentOS 6.5 安装部署iSCSi共享存储 一.前言 1.什么是iSCSI? iSCSI技术是一种由IBM公司研究开发的,是一个供硬件设备使用的可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行路由选择.iSCSI技术是一种新储存技术,该技术是将现有SCSI接口与以太网络(Ethernet)技术结合,使服务器可与使用IP网络的储存装置互相交换资料. iSCSI:Internet 小型计算机系统接口 (iSCSI:

搭建iscsi共享存储

拓扑: 实验步骤: -------------------------------------------------------------- 配置iscsi server: 方案1:(命令行配置,立即有效,重启无效) 1.在target上添加两块磁盘设备,sdb,sdc 2.安装程序包.启动服务 # yum install -y scsi-target-utils # service tgtd start 3.创建target # tgtadm --lld /dev/sdb --mode t

Linux系统下实现iscsi共享存储

Linux系统下实现iscsi共享存储 iscsi简介:iscsi 是基于TCP/IP传输封装的SCSI数据包的块级别的共享,其也为C/S架构模型,服务器端提供客户端所需要的存储设备,客户端只需要进行挂载就可以将其当作自己主机上的存储设备进行分区.格式化使用. 实现iscsi需要的2个角色: iscsi target(server) 存储资源所在的iscsi服务器被称为"target".iscsi target通常是一个硬盘存储设备.当前大部分的主流操作系统都提供了配合iscsi ta

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

一.简介 iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的.可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行路由选择.iSCSI技术是一种新储存技术,该技术是将现有SCSI接口与以太网络(Ethernet)技术结合,使服务器可与使用IP网络的储存装置互相交换资料. iSCSI是一种基于TCP/IP 的协议,用来建立和管理IP存储设备.主机和客户机等之间的相互连接,并创建存储区域网

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

iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的.可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行路由选择.iSCSI技术是一种新储存技术,该技术是将现有SCSI接口与以太网络(Ethernet)技术结合,使服务器可与使用IP网络的储存装置互相交换资料. iSCSI分为服务端和客户端,服务端需要安装scsi target用来共享存储设备,客户端需要安装iscsi initiato

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

iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的.可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行路由选择.iSCSI技术是一种新储存技术,该技术是将现有SCSI接口与以太网络(Ethernet)技术结合,使服务器可与使用IP网络的储存装置互相交换资料. iSCSI分为服务端和客户端,服务端需要安装scsi target用来共享存储设备,客户端需要安装iscsi initiato

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

iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的.可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行路由选择.iSCSI技术是一种新储存技术,该技术是将现有SCSI接口与以太网络(Ethernet)技术结合,使服务器可与使用IP网络的储存装置互相交换资料. iSCSI分为服务端和客户端,服务端需要安装scsi target用来共享存储设备,客户端需要安装iscsi initiato

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

iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的.可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行路由选择.iSCSI技术是一种新储存技术,该技术是将现有SCSI接口与以太网络(Ethernet)技术结合,使服务器可与使用IP网络的储存装置互相交换资料. iSCSI分为服务端和客户端,服务端需要安装scsi target用来共享存储设备,客户端需要安装iscsi initiato

使用Openfiler2.99为Esxi主机添加iscsi 共享存储

背景介绍 当做实验需要用到共享存储的时候,openfiler是一款模拟共享存储不错的选择,以下就来介绍一下使用openfiler 2.99软件模拟共享存储的过程.Cluster设置如图所示:每台esxi host主机有6块网卡,其中前四块为生产.管理网卡,互做冗余,后两块网卡连接iscsi存储 设备iscsi存储 1.当安装完opfenfiler后,会显示他的web登陆地址 2.使用浏览器登录https://172.16.20.254:446/,默认的账户名为openfiler,默认密码为pas