需求
target机映射本地的两块硬盘,通过多路径共享给业务机作为LUN存储使用。
第一个15GLUN制作成LVM,挂载在目录/u01下使用,第二个25GLUN作为后续扩容LVM使用。
资源清单
| 机器 | target机 | 业务机 |
|---|---|---|
| 系统版本 | CentOS6.5 | CentOS6.5 |
| IP | eth0:192.168.1.101 eth1:192.168.2.101 | eth0:192.168.1.102 eth1:192.168.2.102 |
| 存储 | sda:20G sdb:15G(LUN) sdc:25G(LUN) | sda:20G |
target机操作
虚拟机创建、配置网络、增加存储请参考CentOS6.5 虚拟机部署 iSCSI 存储 + multipath 多路径完整实操-CSDN博客
使用命令 lsblk 查看当前块设备,目标是把 sdb 和 sdc 两个块设备分别作为2个LUN发布出去

发布LUN
安装软件
使用命令 yum install -y scsi-target-utils 安装target服务端工具

# 启动服务
service tgtd start
# 查看运行状态
service tgtd status
# 设置开机自启(运行级别3、5)
chkconfig tgtd on
# 验证自启(在各个运行级别下,开机是否自动启动,命令行模式为3)
chkconfig --list tgtd

编辑配置
编辑配置文件 vim /etc/tgt/targets.conf 添加图下配置即可
<target iqn.2026-08.local:iscsi>
backing-store /dev/sdb
backing-store /dev/sdc
initiator-address 192.168.1.102
initiator-address 192.168.2.102
</target>

然后使用如下命令查看发布的LUN
# 重载配置
tgt-admin --update ALL
# 查看发布lun
tgt-admin --show

业务机操作
安装initiator工具
使用命令 yum install -y iscsi-initiator-utils 安装initiator工具

发现存储
# 分别扫描两个存储IP
iscsiadm -m discovery -t st -p 192.168.1.101:3260
iscsiadm -m discovery -t st -p 192.168.2.101:3260

登陆存储
# 登录第一条链路
iscsiadm -m node -p 192.168.1.101 -l
# 登录第二条链路
iscsiadm -m node -p 192.168.2.101 -l
# 设置开机自动登录所有 iSCSI 节点
iscsiadm -m node -o update -n node.startup -v automatic
# 查看当前会话,能看到两条会话即为双链路成功
iscsiadm -m session

使用命令 lsblk 查看多出4个块设备,即为发现的LUN设备

安装多路径软件
用命令 yum install -y device-mapper-multipath 进行安装

配置多路径
# 生成、初始化 multipath 配置文件,自动把`multipathd`服务设置开机自启
mpathconf --enable --with_multipathd y
# 启动服务(保险起见再敲一遍)
service multipathd start
# 开机自启(保险起见再敲一遍)
chkconfig multipathd on
# 查看`multipathd`服务运行状态
service multipathd status

使用 multipath -ll 命令查看当前多路径映射情况,状态均为 active ready running 即正常

使用命令 vim /etc/multipath.conf 编辑多路径配置文件,可以将多路径设备绑定wwid并且重命名(wwid是刚才用 multipath -ll 命令看到的括号里面的内容,alias是自定义名称)
注意:中间带空格的wwid,必须加引号才能解析识别!!!

然后使用命令 multipath -t 检查配置文件语法是否有误(输出一大段解析后的配置,无报错代表语法正确)

然后使用命令 service multipathd reload 重载 multipathd 服务,加载新配置。(reload 热重载,不会断开现有 iSCSI 磁盘业务; 若 reload 异常,才使用 restart)

(1)multipath -t //检查语法是否有错,输出一大段解析后的配置,无报错代表语法正确;
(2)service multipathd reload //重载 multipathd 服务,加载新配置。(reload 热重载,不会断开现有 iSCSI 磁盘业务; 若 reload 异常,才使用 restart)
(3)service multipathd restart //彻底重启服务,会短暂断开多路径设备,测试环境可以用
(4)chkconfig multipathd on //设置开机自启
(5)chkconfig --list multipathd //查看开机自启状态
(6)multipath -v2 //重新扫描磁盘路径,生成 / 更新多路径设备(-v 代表 verbosity 输出详细级别,命令本身都会执行扫描、创建 / 更新多路径设备,差别只在屏幕打印信息量。-v3 输出非常多,屏幕刷屏,生产环境日常不要用,仅排错时临时用)
然后再次使用 multipath -ll 命令查看多路径映射状态,发现映射名称已改

然后使用 lsblk 命令查看当前块设备,sdb和sdd代表u01disk1映射的LUN,sdc和sde代表u01disk2映射的LUN,每个LUN是由两条路径映射的

创建LVM
接下来是将第一个15G LUN制作成LVM
# 创建目录 /u01
mkdir /u01
# 查看当前挂载目录
df -Th
# 查看当前物理卷
pvs
# 查看当前卷组
vgs
# 查看当前逻辑卷
lvs

使用命令 pvcreate /dev/mapper/u01disk1 将多路径LUN u01disk1 创建为物理卷,容量为15g

然后使用命令 vgcreate vg /dev/mapper/u01disk1 将物理卷创建成卷组,容量为15g

然后使用命令 lvcreate -l +100%FREE -n lv_u01 vg 将vg卷组剩余的全部容量创建成逻辑卷,容量为15g

将逻辑卷lv_u01挂载到目录 /u01 上使用,提示需要先格式化逻辑卷,使用命令 mkfs.ext4 /dev/mapper/vg-lv_u01 将逻辑卷格式化为ext4格式

然后再使用命令 mount /dev/mapper/vg-lv_u01 /u01 将逻辑卷lv_u01挂载到目录 /u01 上使用,无报错提示,再使用 df -Th 验证下,确认已挂载成功

还需要设置一下开机挂载,先用命令 blkid /dev/mapper/vg-lv_u01 查询出 lv_u01 逻辑卷的UUID,复制下来

然后编辑开机挂载文件 vim /etc/fstab 新增一条配置如图下所示
UID=358d7ec5-ce7f-41e4-ac8b-497660ffe6b8 /u01 ext4 defaults,_netdev 0 0

然后使用命令 mount -a 命令验证下,若无报错,说明配置正确

此时再用 lsblk 命令已经可以看到多路径LUN创建的逻辑卷已经成功挂载好了!

扩容LVM
先用命令 pvcreate /dev/mapper/u01disk2 新建物理卷

然后用命令 vgextend vg /dev/mapper/u01disk2 将新建物理卷扩容到卷组vg中,发现卷组vg从15g变成了39.99g

然后使用命令 lvextend -r -l +100%FREE /dev/vg/lv_u01 将卷组剩余全部空间扩容到 lv_u01逻辑卷中,可以发现lv_u01逻辑卷从15g变成了39.99g,说明扩容成功!

再次使用 df -Th 和 lsblk 命令验证下,确认无问题即可。


4466

被折叠的 条评论
为什么被折叠?



