CentOS6.5 虚拟机部署 iSCSI 存储 + multipath 多路径完整实操 📅 2026/8/15 22:28:02 背景业务使用仅兼容 CentOS6.5 的老旧程序虚拟机本地磁盘空间不足需通过 iSCSI 挂载外部集中存储存放数据库、日志等数据。 单条存储链路易因网口、线路故障造成业务中断还存在带宽上限部署 multipath 多路径可实现链路故障自动切换、IO 负载均分并将多条链路识别的重复磁盘合并为单个逻辑盘。 环境为 VMware 虚拟机配置双网卡分网段对接存储双控制器存储端提供双 IP 共享同一 LUN。资源清单资源项宿主机target机业务机操作系统windows10/11CentOS6.5CentOS6.5网卡 1192.168.1.1eth0192.168.1.101eth0192.168.1.102网卡 2eth1192.168.2.101eth1192.168.2.102详细操作创建虚拟机安装系统参考博客VMware虚拟机部署CentOS6.5系统-CSDN博客宿主机配置修改虚拟机配置首先点击VMware软件左上角-编辑-虚拟网络编辑器按图下所示点击更改设置点击添加网络选择要添加的网络VMnet3点击确定按照图下所示进行配置VMnet3的网络网段是192.168.1.0点击应用然后确定然后再按照之前的步骤添加一个VMnet4的网络这里的网段设置为192.168.2.0注意不要勾选“将主机虚拟适配器连接到此网络”修改宿主机ip在宿主机网络和Internet-高级网络配置这里找到VMnet3网络适配器然后点击查看其它属性点击编辑修改IP分配为手动IP地址设置为192.168.1.1/24这时在电脑主机上CMD查看ip可以看到VMnet3的网卡ip为192.168.1.1宿主机关闭防火墙配置target机配置target机网络eth0先进入target虚拟机设置里面将第一个网络适配器设置为图下所示模式点击确定登陆target机ip add查看当前ipvim /etc/sysconfig/network-scripts/ifcfg-eth0 //进入网卡配置文件进行编辑原文件如图下修改为图下所示service network restart //重启网络服务再次使用ip add查看网卡eth0已经成功修改为192.168.1.101/24配置target机网络eth1同理再添加一个虚拟机网卡配置ip为192.168.2.101虚拟机设置-添加选择网络适配器点击完成按图下所示配置虚拟机网卡在系统中创建新增网卡eth1的配置文件拷贝eth0文件然后在此基础上修改使用命令ip a提前查看eth1网卡的mac地址修改为图下所示重启网络服务查看ip地址关闭SElinuxsetenforce 0 //立即生效重启服务器失效 getenforce //输出 Permissive 代表临时关闭Enforcing 开启 cat /etc/selinux/config | grep SELINUX //验证永久配置是否正确 sestatus //查看完整 SELinux 状态含模式、策略vim /etc/selinux/config //修改配置文件可以永久关闭selinuxsetenforce 0只是宽容模式不拦截权限但 SELinux 内核模块仍加载SELINUXdisabled是彻底禁用重启后完全不加载 SELinux。生产环境不建议直接禁用可配置为SELINUXpermissive只告警不拦截。关闭防火墙service iptables stop //临时关闭防火墙 service iptables status //查看防火墙运行状态配置业务机网络配置、SElinux、防火墙同以上target机操作即可。网络连通性测试target机可以ping通宿主机192.168.1.1、业务机eth0192.168.1.102、业务机eth1192.168.2.102业务机可以ping通宿主机192.168.1.1、target机eth0192.168.1.101、target机eth1192.168.2.101创建快照建议此时创建两台虚拟机快照以防后续实验出现问题好及时回退target机新增存储硬盘虚拟机设置-添加选择硬盘-下一步默认下一步默认下一步设置磁盘容量下一步点击完成可以看到新添加的15G硬盘点击确定后面我们用这块盘去作为iSCSI网络存储挂载到业务机上面去使用此时使用lsblk命令查看下设备无法看到新硬盘。重启一下虚拟机reboot重启虚拟机后可以看到15G的sdb了Finalshell远程连接由于已经配置了宿主机和虚拟机之间互通的网段所以可以直接通过命令行工具连接服务器。把虚拟机当成服务器来连接使用。配置target服务端安装target服务端yum install -y scsi-target-utils //安装target服务端工具# 启动服务 service tgtd start # 查看运行状态 service tgtd status # 设置开机自启运行级别3、5 chkconfig tgtd on # 验证自启 chkconfig --list tgtd共享裸分区/dev/sdb编辑配置文件vim /etc/tgt/targets.conf直接写入target iqn.2026-08.local:iscsi-sdb15g backing-store /dev/sdb initiator-address ALL /target# 重载配置 tgt-admin --update ALL # 查看发布lun tgt-admin --show可以看到/dev/sdb对应的LUN1已经成功发布配置业务端安装工具发现无法连接target端需要安装target工具yum install -y iscsi-initiator-utils //客户端安装initiator工具发现 Target 两个 Portal 地址# 分别扫描两个存储IP iscsiadm -m discovery -t st -p 192.168.1.101:3260 iscsiadm -m discovery -t st -p 192.168.2.101:3260登录 iSCSI LUN两条路径全部登录# 登录第一条链路 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验证 iSCSI 会话# 查看当前会话能看到两条会话即为双链路成功 iscsiadm -m session # 查看块设备会出现两块相同大小磁盘 /dev/sdb /dev/sdc fdisk -l | grep sd现象同一个 LUN两条链路识别为两块独立磁盘multipath 将聚合为一块逻辑盘。Multipath 多路径配置CentOS6.5 核心找不到命令安装多路径依赖包yum install -y device-mapper-multipath初始化生成多路径配置文件mpathconf --enable --with_multipathd y启动并设置开机自启多路径服务# 启动服务 service multipathd start # 开机自启 chkconfig multipathd on # 查看运行状态 service multipathd status查看多路径映射# 查看多路径映射 multipath -ll修改多路径名称可以修改/etc/multipath.conf配置文件重命名该映射wwid是刚才用multipath -ll命令看到的括号里面的内容alias是自定义名称注意中间带空格的wwid必须加引号才能解析识别(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 输出非常多屏幕刷屏生产环境日常不要用仅排错时临时用多路径映射名称修改成功然后使用命令lsblk可以看到sdb和sdc代表两条不同网络路径识别出来的同一个LUN使用多路径存储设备格式化、挂载多路径磁盘注意此时我们操作设备一定是/dev/mapper/u01disk1不要用原始的/dev/sd *设备# 格式化以u01disk1为例 mkfs.ext4 /dev/mapper/u01disk1 # 创建挂载点 mkdir /u01disk1 # 临时挂载 mount /dev/mapper/u01disk1 /u01disk1 df -h配置开机自动挂载/etc/fstabiSCSI 网络存储不能直接写 /dev/mapper/u01disk1要加上_netdev 参数网络就绪后再挂载否则开机卡启动。/dev/mapper/u01disk1 /u01disk1 ext4 _netdev 0 0 #参数 _netdev告诉系统这是网络设备等 iscsi、multipathd 启动完成再挂载。用mount -a命令验证fstab是否正确没有输出代表正确另一种挂载方式用设备uuid挂载UUID 是格式化文件系统时写入到 superblock 超级块的 ID写在磁盘文件系统内部。1. 不受设备名字、dm 编号、mpathX 别名变化影响。磁盘被识别成任何 sd 名字、multipath 别名顺序乱掉UUID 不变照样能找到文件系统。2. 本地磁盘、iSCSI 网络盘、multipath 盘都推荐优先 UUID。blkid /dev/mapper/u01disk1查看当前多路径设备uuid然后编辑/etc/fstab