iSCSI是一种基于TCP/IP 的协议,用来建立和管理IP存储设备、主机和客户机等之间的相互连接,并创建存储区域网络(SAN)。SAN 使得SCSI 协议应用于高速数据传输网络成为可能,这种传输以数据块级别(block-level)在多个数据存储网络间进行。SCSI 结构基于C/S模式,其通常应用环境是:设备互相靠近,并且这些设备由SCSI 总线连接。
·
简单来说
就是把SCSI指令通过TCP/IP协议封装起来,在以太网中传输。iSCSI 可以实现在IP网络上传递和运行SCSI协议,使其能够在诸如高速千兆以太网上进行数据存取,实现了数据的网际传递和管理。基于iSCSI建立的存储区域网(SAN)与基于光纤的FC-SAN相比,具有很好的性价比。
实验
关闭了selinux 和防火墙,centos7
target (服务器): 192.168.247.149
Initiator(客户端):192.168.247.154
服务端
新加一块硬盘,用来做存储
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
创建磁盘并格式化
一个硬盘主 分区至少有1个,最多4个,扩展分区可以没有,最多1个。且主分区+扩展分区总共不能超过4个。
为了突破这最多四个主分区的限制,管理员可以把其中一个主分区设置为扩展分区(注意只能够使用一个扩展分区)来进行扩充。而在扩充分区下,又可以建立多个逻辑分区。也就是说,扩展分区是无法直接使用的,必须在细分成逻辑分区才可以用来存储数据。通常情况下,逻辑分区的起始位置及结束位置记录在每个逻辑分区的第一个扇区,这也叫做扩展分区表。在扩展分区下,系统管理员可以根据实际情况建立多个逻辑分区,将一个扩展分区划割成多个区域来使用。
格式化为LVM(LVM是 Logical Volume Manager逻辑卷管理)
LVM的好处就是可以按需分配,动态管理
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p #必须要一个主分区
Partition number (1-4, default 1):
First sector (2048-41943039, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039):
Using default value 41943039
Partition 1 of type Linux and of size 20 GiB is set
Command (m for help): t #类型
Selected partition 1 #编号 可按 L 查看要创建的格式
Hex code (type L to list all codes): 8e
Changed type of partition 'Linux' to 'Linux LVM'
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: 0xea844b86
Device Boot Start End Blocks Id System
/dev/sdb1 2048 41943039 20970496 8e Linux LVM
保存即可
partprobe #是配置生效
创建逻辑卷
[root~] ]$pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created
[root~] ]$pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 centos lvm2 a-- 59.78g 0
/dev/sdb1 lvm2 --- 20.00g 20.00g
[root~] ]$vgcreate vg_iscsi /dev/sdb1
Volume group "vg_iscsi" successfully created
[root~] ]$vgs
VG #PV #LV #SN Attr VSize VFree
centos 1 2 0 wz--n- 59.78g 0
vg_iscsi 1 0 0 wz--n- 20.00g 20.00g
[root~] ]$lvcreate -l 100%FREE -n /dev/vg_iscsi/lv_iscsi
Logical volume "lv_iscsi" created.
[root~] ]$lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- 57.78g
swap centos -wi-ao---- 2.00g
lv_iscsi vg_iscsi -wi-a----- 20.00g
安装配置target
[root~] ]$yum -y install targetcli
[root~] ]$targetcli
#最初状态
/> ls
o- / ......................................................................................................................... [...]
o- backstores .............................................................................................................. [...]
| o- block .................................................................................................. [Storage Objects: 0]
| o- fileio ................................................................................................. [Storage Objects: 0]
| o- pscsi .................................................................................................. [Storage Objects: 0]
| o- ramdisk ................................................................................................ [Storage Objects: 0]
o- iscsi ............................................................................................................ [Targets: 0]
o- loopback ......................................................................................................... [Targets: 0]
/> cd backstores/block
/backstores/block> create sdb1_iscsi /dev/vg_iscsi/lv_iscsi
Created block storage object sdb1_iscsi using /dev/vg_iscsi/lv_iscsi.
切换到iscsi下
/iscsi> create iqn.2017-05.com.master:ip149 #注意全局唯一,格式iqn.日期(日期只能有年月并且月份必须加0.颠倒的domain:自定义标识
/iscsi/iqn.20...149/tpg1/acls> create iqn.2017-05.com.master:ip149
Created Node ACL for iqn.2017-05.com.master:ip149
/iscsi/iqn.20...149/tpg1/acls> cd ../luns
/iscsi/iqn.20...149/tpg1/luns> create /backstores/block/sdb1_iscsi
/iscsi/iqn.20...149/tpg1/luns> cd ../portals/
/iscsi/iqn.20.../tpg1/portals> create 192.168.247.149
Using default IP port 3260
/iscsi/iqn.20.../tpg1/portals> cd /
#完成状态
/> ls
o- / ......................................................................................................................... [...]
o- backstores .............................................................................................................. [...]
| o- block .................................................................................................. [Storage Objects: 1]
| | o- sdb1_iscsi ........................................................ [/dev/vg_iscsi/lv_iscsi (20.0GiB) write-thru activated]
| o- fileio ................................................................................................. [Storage Objects: 0]
| o- pscsi .................................................................................................. [Storage Objects: 0]
| o- ramdisk ................................................................................................ [Storage Objects: 0]
o- iscsi ............................................................................................................ [Targets: 1]
| o- iqn.2017-05.com.master:ip149 ...................................................................................... [TPGs: 1]
| o- tpg1 ............................................................................................... [no-gen-acls, no-auth]
| o- acls .......................................................................................................... [ACLs: 1]
| | o- iqn.2017-05.com.master:ip149 ......................................................................... [Mapped LUNs: 1]
| | o- mapped_lun0 ............................................................................ [lun0 block/sdb1_iscsi (rw)]
| o- luns .......................................................................................................... [LUNs: 1]
| | o- lun0 ...................................................................... [block/sdb1_iscsi (/dev/vg_iscsi/lv_iscsi)]
| o- portals .................................................................................................... [Portals: 1]
| o- 0.0.0.0:3260 ..................................................................................................... [OK]
o- loopback ......................................................................................................... [Targets: 0]
/> exit
启动服务
[root~] ]$systemctl start target.service
[root~] ]$systemctl enable target.service
Created symlink from /etc/systemd/system/multi-user.target.wants/target.service to /usr/lib/systemd/system/target.service.
[root~] ]$
客户端
[root~] ]$yum -y install iscsi-initiator*
[root~] ]$vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2017-05.com.master:ip149 #服务器的iqn
[root@minion-02 /]# systemctl restart iscsi
[root@minion-02 /]# iscsiadm -m discovery -t st -p 192.168.247.149
192.168.247.149:3260,1 iqn.2017-05.com.master:ip149
[root@minion-02 /]# iscsiadm -m node -T iqn.2017-05.com.master:ip149 -p 192.168.247.149 -l
Logging in to [iface: default, target: iqn.2017-05.com.master:ip149, portal: 192.168.247.149,3260] (multiple)
Login to [iface: default, target: iqn.2017-05.com.master:ip149, portal: 192.168.247.149,3260] successful.
[root@minion-02 /]# fdisk -l
#可以看到iscsi已经挂上 为sdb
Disk /dev/sdb: 21.5 GB, 21470642176 bytes, 41934848 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 4194304 bytes
[root@minion-02 /]#
#sdb就像是新加的硬盘,我们可以fdisk 它
n p 1 enter enter w
我们可以对这个盘进行单独的挂载。切记不可扩展到某个分区
挂载
[root@minion-02 /]# mkfs.xfs /dev/sdb1
[root@minion-02 /]# mkdir /mnt/iscsi
[root@minion-02 /]# mount /dev/sdb1 /mnt/iscsi/
[root@minion-02 /]# blkid
/dev/sda1 : UUID="64f589c2-2ac4-47f7-8d35-170913a2563f" TYPE=”xfs”
[root@minion-02 /]# vim /etc/fstab
UUID="64f589c2-2ac4-47f7-8d35-170913a2563f" /mnt/iscsi xfs defaults,_netdev 0 0
fstab一定呀写对,不然系统重启会启动不起来,特别注意。
万一 启动不起来怎么办?
重启虚拟机 按 e 进行编辑
修改ro rd........等 为 ro.break
switch_root:/# mount –o remount,rw /sysroot/
switch_root:/# chroot /sysroot/
sh-4.2#vi /etc/fstab #重新编辑
##这里还可以修改root密码。
passwd root。
如果忘记密码也可用这个办法修改
网友评论