linux7版本iscsi安装,Centos7 ISCSI配置 完全攻略

一. iscsi简单介绍

iSCSI( Internet Small Computer System Interface 互联网小型计算机系统接口)

iscsi通过IP-SAN网络的iscsi协议, 把服务端的存储资源(RAID) 封装到本地,像使用本地硬盘那样使用网络上的硬盘。

iSCSI技术在工作形式上分为服务端(target)与客户端(initiator),iSCSI服务端即用于存放硬盘存储资源的服务器, 而iSCSI客户端则是用户使用的软件,用于获取远程服务端的存储资源

在Centos7上 默认的服务端软件是targetcli, 客户端的软件是iscsiadm

二. 标准的iscsi连接方式(包含CHAP认证)

服务端targetcli的简单介绍

targetcli是 Target的用户态的管理配置工具。提供了一个类似Shell的环境

可以用使用一些shell命令 如:ls 、cd、 ctr+R 历史命令搜索 TAB 命令 补全

targetcli 把各种类型资源 抽象成目录。 我们在相应的目录进行创建就行,

只要理解了各种目录的含义就容易使用了

AAffA0nNPuCLAAAAAElFTkSuQmCCtargetcli shell version 2.1.fb46

Copyright 2011-2013 by Datera, Inc and others.

For help on commands, type 'help'./> lso- / ............................................................................ [...]

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]/>

AAffA0nNPuCLAAAAAElFTkSuQmCC

/backstores/block 这个目录是服务端配置一般存储资源。

ramdisk 这个是把内存当作存储资源

我们目前用的是/backstores/block 这个目录和/iscsi目录下的一些目录。

targetcli创建iscsi简单流程

AAffA0nNPuCLAAAAAElFTkSuQmCC#创建共享资源 并重命名disk0

$ /> /backstores/block create disk0 /dev/mapper/testraid60-123#创建iscsi 格式 iqn..com.:$ /backstores> /iscsi create iqn.2018-09.com.adawang:ada1

Created target iqn.2018-09.com.adawang:ada1.

Created TPG 1.

Global pref auto_add_default_portal=trueCreated default portal listening on all IPs (0.0.0.0), port 3260.

#进入创建后的iscsi目录

$ /backstores> cd /iscsi/iqn.2018-09.com.adawang:ada1/tpg1/$ /iscsi/iqn.20...ang:ada1/tpg1> lso- tpg1 .............................. [no-gen-acls, no-auth]

o- acls ......................................... [ACLs: 0]

o- luns .......................................... [LUNs: 0]

o- portals .................................... [Portals: 1]

o- 0.0.0.0:3260 ...................................[OK]

# lun配置 添加最开始创建的disk0

$ /iscsi/iqn.20...ang:ada1/tpg1> cd luns

$ /iscsi/iqn.20...da1/tpg1/luns>create /backstores/block/disk0

Created LUN 0.

#Ip配置 需要删除默认的0.0.0.0 ip才能创建

$ /iscsi/iqn.20...ang:ada1/tpg1> cd ../portals

$ /iscsi/iqn.20.../tpg1/portals> delete 0.0.0.0 3260Deleted network portal 0.0.0.0:3260$ /iscsi/iqn.20.../tpg1/portals> create 10.10.110.2 3260Using default IP port 3260Created network portal 10.10.110.2:3260.

# acl配置

$ /iscsi/iqn.20.../tpg1/portals> cd ../acls

#创建acl用户名 acl格式和iqn一致

$ /iscsi/iqn.20...da1/tpg1/acls> create iqn.2018-09.com.adawang:ada2

Created Node ACL for iqn.2018-09.com.adawang:ada2

Created mapped LUN 0.

$ /iscsi/iqn.20...da1/tpg1/acls> cd iqn.2018-09.com.adawang:ada2/#设置acl密码

$ /iscsi/iqn.20....adawang:ada2> set auth password=123456789012 Parameter password is now '123456789012'.

#退出

$ /iscsi/iqn.20....adawang:ada2> exit

Global pref auto_save_on_exit=trueLast 10 configs saved in /etc/target/backup.

Configuration saved to /etc/target/saveconfig.json

AAffA0nNPuCLAAAAAElFTkSuQmCC

Initiator客户端 配置

修改配置文件修改init端名称(可选部分)$ echo 'InitiatorName='  > /etc/iscsi/initiatorname.iscsi

$ source /etc/iscsi/initiatorname.iscsi

#重启iscsi服务

$ systemctl restart iscsid.service

source /etc/iscsi/initiatorname.iscsi

表示配置后的变量名InitiatorName 加载到当前Bash环境下( source 可以用 . 代替)

2.修改iscsi配置文件 iscsid.conf (一般首次配置 修改)

AAffA0nNPuCLAAAAAElFTkSuQmCC$ vim /etc/iscsi/iscsid.conf

....省略...

# *************# CHAP Settings

# *************# To enable CHAP authentication set node.session.auth.authmethod

# to CHAP. The default is None.

node.session.auth.authmethod = CHAP

# To set a CHAP username and password for initiator

# authentication by the target(s), uncomment the following lines:

node.session.auth.username = node.session.auth.password = <12位-16位长度密码>....后文省略...

AAffA0nNPuCLAAAAAElFTkSuQmCC

发现并连接target目标#发现门户ip下的所有target目标

$ iscsiadm -m discovery -t st -p 

##连接

$ iscsiadm -m node -T  -p    -l

连接成功后查询连接的磁盘

方法一:fdisk -l 或 lsblk 命令查看

AAffA0nNPuCLAAAAAElFTkSuQmCC

发现新增加的网络硬盘 /dev/sd

方法二: lsscsi -ds

AAffA0nNPuCLAAAAAElFTkSuQmCC

常用参数 -d 显示设备主次序列号

-s 显示容量大小

-c 用全称显示默认的信息

14:0:0:1 最后的1代表lun id , 14代表主机控制器HOST序号

方法三:iscsiadm -m session -P 3

AAffA0nNPuCLAAAAAElFTkSuQmCC

最后一行 Attached scsi disk sda

-m session 显示会话信息 ,参数 -P <0-3> 对应print级别,级别越高信息越详细。

格式化成xfs文件系统并挂载

用mkfs工具对发现的磁盘分区创建文件系统$ mkfs.xfs $ mkdir  /mnt/iscsi

$ mount /dev/sda  /mnt/iscsi

设置开机自动挂载(可选部分)

AAffA0nNPuCLAAAAAElFTkSuQmCC#blkid命令 查看挂载磁盘的uuid

$ blkid | grep sda /dev/sda: UUID="c02b0cbe-eaca-e082-4f4a-7490d831e96e" TYPE="xfs"#修改fstab

$ vim /etc/fstab

# /etc/fstab

# Created by anaconda on Fri Feb 23 09:53:59 2018# Accessible filesystems, by reference, are maintained under '/dev/disk'# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info/dev/mapper/centos-root /                       xfs     defaults        0 0UUID=0b29b82e-20a5-488b-9606-b1b20e72e0aa /boot xfs     defaults        0 0/dev/mapper/centos-home /home                   xfs     defaults        0 0/dev/mapper/centos-swap swap                    swap    defaults        0 0UUID=c02b0cbe-eaca-e082-4f4a-7490d831e96e /mnt/iscsi xfs

defaults, _netdev 0 0#确保fstab修改无误

$ mount -a

AAffA0nNPuCLAAAAAElFTkSuQmCC

系统在启动的时候会自动挂载 fstab里的,如果发送错误 则会导致系统无法启动。

一般在修改fstab后用mount -a 命令 加载fstab配置表测试修改是否无误,没有打印代表正常。

因为/dev/sda 容易盘符漂移,所以用uuid全局唯一标示符来代替磁盘符号。

iscsi盘是网络存储设备,需要加上_netdev参数,表示联网后在挂载,否则导致开机太长或系统启动失败。

三. 标准的iscsi断开方式$ umount /mnt/iscsi

# 如果 需要断开全部iscsi 使用iscsiadm -m node -u

$ iscsiadm -m node -T  -u

# 删除节点记录。

# 如果 需要删除所有节点记录 使用iscsiadm -m node -o delete

$ iscsiadm -m node -o delete -T  -p 

四. 你可能会遇见的问题目录显示输入输出错误

AAffA0nNPuCLAAAAAElFTkSuQmCC挂载的时候显示文件系统损坏

AAffA0nNPuCLAAAAAElFTkSuQmCC

不同文件系统的在线扩容方法以上2中情况都是因为没有断开iscsi的时候没有正常卸载,mount的时候显示文件系统的损化,是因为之前已经挂载过相同盘符或目录,可以通过mount命令查看挂载记录。

AAffA0nNPuCLAAAAAElFTkSuQmCC

解决办法:mount 无法umount 目录

有2种情况:

目录被BASH占用--在挂载目录进行卸载

这种情况切换到非挂载目录下就可以卸载了

因磁盘或目录被其他进程占用导致无法卸载

这种解决起来稍微麻烦点

1.用lsof 命令寻找到已经打开的文件的PID号

2.ps aux | grep 查找进程的pid号

3.kill -9 命令 杀死该进程

4.最后umount卸载

AAffA0nNPuCLAAAAAElFTkSuQmCC

五. 在线添加lun方法

服务器新添加了一个LUN,那么主机端需要刷新下会话

iscsiadm -m session -R

六. ext4 xfs文件系统的在线扩容方法刷新iscsi会话

iscsiadm -m session -R

ext4扩容

resize2fs /dev/

xfs扩容

xfs_growfs /dev/

AAffA0nNPuCLAAAAAElFTkSuQmCC

可以看到 扩容前后 blocks 变化

七. Centos7 多路径的一般使用

加载多路径驱动和启动服务

AAffA0nNPuCLAAAAAElFTkSuQmCC$ multipath

#打印提示驱动没有加载

Sep 12 17:22:38 | DM multipath kernel driver not loaded

Sep 12 17:22:38 | DM multipath kernel driver not loaded

$ modprobe dm-multipath

$ modprobe dm-round-robin

#查看多路径multipathd服务状态 结果显示未启动

$ systemctl status multipathd

multipathd.service - Device-Mapper Multipath Device Controller

Loaded: loaded (/usr/lib/systemd/system/multipathd.service; disabled; vendor preset: enabled)

Active: inactive (dead)

# 启动服务

$ systemctl start multipathd

AAffA0nNPuCLAAAAAElFTkSuQmCC

常用的multipath 指令

AAffA0nNPuCLAAAAAElFTkSuQmCC$ multipath  

---

-r  重新加载配置表  multipthd.conf 。修改配置表或者用multipath -F命令后使用-ll 显示当前所有路径的信息,一般用于测试多路径是否生效-F 刷新所有多路径设备map表-v3 调整debug调式级别打印, 一般用于错误诊断 (打印级别默认v2)

AAffA0nNPuCLAAAAAElFTkSuQmCC

配置多路径软件 multipthd.conf$ vim /etc/multipthd.conf

## Use user friendly names, instead of using WWIDs as names.

defaults {

user_friendly_names yes

find_multipaths yes

}

如果/etc/multipthd.conf 不存在, 可以用默认的多路径配置拷贝到 /etc目录$ cp /usr/share/doc/device-mapper-multipath- 0.4.9/multipath.conf /etc/#如果不记得默认的配置表存放目录可以用Find 命令找出来

$ find / -name multipath.conf/etc/multipath.conf/usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf

查看多路径合成结果

AAffA0nNPuCLAAAAAElFTkSuQmCC$ multipth -ll

#多路径合并后的设备 /dev/mapper/mpatha 以后都用这个设备进行操作

mpatha (360a9800064665072443469563477396c) dm-0 NETAPP,LUN

size=35G features='0' hwhandler='0' wp=rw

`-+- policy='round-robin 0' prio=4 status=active

#多路径下的两个盘符sdb和sde.|- 1:0:0:0 sdb 8:16 active ready  running

`- 2:0:0:0 sde 8:64 active ready  running

AAffA0nNPuCLAAAAAElFTkSuQmCC

注意:以后都用合成后的设备/dev/mapper/mpatha进行格式化挂载等操作,不能用其他设备进行操作

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值