为独立设备替换LUN并迁移磁盘暂存文件
本节讨论的程序仅适用于PubSub+设备。
本节描述了如何为独立PubSub+设备更换逻辑单元号(LUN),然后将磁盘池文件从旧LUN迁移到新LUN,而不会丢失池化的保证消息。更换LUN通常是为了让消息池大小增加而提供更大的LUN。
如果您需要进一步的帮助,或对本程序有任何疑问,请联系Solace。
程序锚点
此程序适用于独立设备。如果您想为冗余设备对迁移LUN,请参见《为冗余设备对更换LUN和迁移磁盘池文件》。
-
此程序将禁用设备上的服务。
-
为防止任何配置丢失,在执行本程序期间,请不要对独立设备进行任何额外的不相关的配置更改。
-
我们建议新LUN与旧LUN大小相同或更大。如果新LUN更小,请确保有足够的空间用于从旧LUN复制所有文件——文件必须成功复制,本程序才能成功。
-
要更换LUN,首先确保当前系统仍能使用旧LUN,然后检查新LUN是否已配置。在将磁盘池文件迁移到新LUN之前,两个LUN必须都在系统中存在。详细信息,请参考《为保证消息配置外部磁盘阵列》。
-
GDisk工具用于创建和修改LUN上的分区。新分区使用
ext4
文件系统。 -
下列操作如果说明只能由root执行,也可以由Sysadmin用户执行:
-
提升到root,输入:
[support@solace-primary ~]$ su -
密码: -
提升到sysadmin用户名
myAdmin
,输入:[support@solace-primary ~]$ su - myAdmin
密码:
-
要为独立设备更换LUN并迁移磁盘池文件,请执行以下步骤:
- 确保设备处于正确的状态。
运行show message-spool detail
命令并验证以下内容:
- 配置状态为
Enabled (Primary)
。 - 操作状态为
AD-Active
。
例如:
solace> show message-spool detail
配置状态: Enabled (Primary)
. . .
操作状态: AD-Active
- 确定旧LUN的WWN(全球唯一名称)。
输入以下命令。
solace> show message-spool
配置状态: Enabled (Primary)
最大池使用量: 10000 MB
充电时池化: No
无闪存卡池化: No
使用内部磁盘: No
磁盘阵列WWN: 60:06:01:60:4d:30:1c:00:8e:29:1b:b6:a6:d6:e8:11
. . .
本程序的示例使用60:06:01:60:4d:30:1c:00:8e:29:1b:b6:a6:d6:e8:11
作为旧LUN的WWN。
-
在设备上检测新LUN,请执行以下步骤:
-
输入以下命令提升到支持用户,然后输入支持用户的密码。
solace# shell standaloneLunMigration
登录:支持
密码: -
输入以下命令提升到root用户或sysadmin用户,然后输入该用户的密码。
[support@solace ~]$ su -
密码: -
检查当前LUN是否可见。
[root@solace ~]# multipath -ll
3600601604d301c008e291bb6a6d6e811 dm-0 DGC ,RAID 0 size=300G features='2 queue_if_no_path
. . .
[root@solace ~]# -
重新扫描SCSI总线以添加新LUN。
[root@solace ~]# rescan-scsi-bus.sh --nosync -f -r -m
[root@solace ~]# rescan-scsi-bus.sh -a -
如果前一步失败,输入这些命令:
[root@solace ~]# rescan-scsi-bus.sh -i -a
[root@solace ~]# rescan-scsi-bus.sh --nosync -f -r -m
[root@solace ~]# rescan-scsi-bus.sh -a -
检查新LUN是否已添加。
[root@solace ~]# multipath -ll
3600601604d301c008e291bb6a6d6e811 dm-0 DGC ,RAID 0 size=300G features='2 queue_if_no_path
. . .
360014057d24f4b77681435faf684d587 dm-3 LIO-ORG ,sdc1-4 size=800G features='1 queue_if_no_path' hwhandler='0' wp=rw
. . .
[root@solace ~]#
本程序的示例使用
60:01:40:57:d2:4f:4b:77:68:14:35:fa:f6:84:d5:87
作为新LUN的WWN。如果新LUN没有出现,请确认SAN配置正确,并且HBA端口已注册新LUN,然后重新运行
rescan-scsi-bus.sh --nosync -f -r -m
和rescan-scsi-bus.sh -a
脚本。如果新LUN没有出现,您必须重启设备。-
返回到CLI:
[root@solace ~]# exit
[support@solace ~]$ exit
-
-
对新LUN进行分区并创建文件系统。更多信息,请参见《为保证消息配置外部磁盘阵列》。
-
运行以下命令确认新的外部磁盘LUN可用,并由正确的WWN引用(从您的存储管理员那里获取新LUN的WWN):
solace> show hardware details
示例:
solace> show hardware details
. . .
槽 1/4:主机总线适配器刀片
产品编号: HBA-0204FC-02-A
序列号: RFC0609G02361
型号名称: QLE2462
型号描述: PCI-Express双通道4Gb光纤通道HBA
驱动版本: 8.04.00.03-k
. . .
附加设备
LUN 0
状态: 就绪
大小: 300G
WWN : 60:06:01:60:4d:30:1c:00:8e:29:1b:b6:a6:d6:e8:11
LUN 1
状态: 就绪
大小: 800G
WWN : 60:01:40:57:d2:4f:4b:77:68:14:35:fa:f6:84:d5:87不要继续进行,直到新LUN可见。
-
如果正在使用Config-Sync功能,输入以下命令确认Config-Sync操作正常:
solace> show config-sync
管理状态: Enabled
操作状态: Up为了防止配置丢失,如果Config-Sync操作不正常,请不要继续进行。
-
要停止向应用程序提供服务,输入以下命令:
solace> enable
solace# configure
solace(configure)# service msg-backbone shutdown
所有客户端将被断开连接。
您想继续吗 (y/n)? y -
运行
show message-spool detail
命令确认:- 设备仍然活跃,正常,并且已同步(由操作、数据路径和同步状态指示)
- 设备已成功清理所有流(由
当前使用
列中的零指示)
示例show message-spool details
输出:
solace(configure/service/msg-backbone)# show message-spool detail
配置状态: Enabled (Primary)
. . .
操作状态: AD-Active
数据路径状态: Up
同步状态: Synced
. . .
当前使用 最大允许
-------------- -----------
. . .
总入口流: 0 1000000
总出口流: 0 100000
活动出口流: 0
非活动出口流: 0
浏览器出口流: 0
. . .
-
确保消息池碎片整理不活跃。
输入以下命令。
solace> show message-spool
. . .
碎片整理状态: Idle
. . .如果消息池碎片整理状态不是
Idle
,请等待碎片整理过程完成后再继续。 -
要停止保证消息传递,输入以下命令:
solace(configure)# hardware message-spool shutdown
所有消息池将被停止。
您想继续吗 (y/n)? y
solace(configure)# end -
执行以下步骤迁移LUN数据: 如果您不执行此步骤,您必须在稍后编辑最大池使用量后重置设备上的消息池。重置消息池会导致所有保证消息数据丢失。
-
输入以下命令提升到支持用户,然后输入支持用户的密码。
solace# shell standaloneLunMigration
登录:支持
密码: -
输入以下命令提升到root用户或sysadmin用户,然后输入该用户的密码。
[support@solace ~]$ su -
密码: -
使用
adkey-tool
脚本将旧LUN的AD密钥迁移到新LUN,迁移分区(p
)内的AD密钥。[root@solace ~]# adkey-tool migrate --src-device /dev/mapper/<旧LUN wwn>p --dest-device /dev/mapper/<新LUN wwn>p
例如:
[root@solace ~]# adkey-tool migrate --src-device /dev/mapper/3600601604d301c008e291bb6a6d6e811p --dest-device /dev/mapper/360014057d24f4b77681435faf684d587p
LUN的WWN在
/dev/mapper
中可能由3
前缀。例如,从本程序前面的内容中,新LUN的WWN是
60:01:40:57:d2:4f:4b:77:68:14:35:fa:f6:84:d5:87
。 在此示例中,WWN显示为/dev/mapper/360014057d24f4b77681435faf684d587p
。-
创建以下临时目录:
[root@solace ~]# mkdir -p /tmp/old_lun_p
[root@solace ~]# mkdir -p /tmp/new_lun_p -
挂载旧新LUN的分区(
p
)。[root@solace ~]# mount /dev/mapper/<旧LUN wwn>p /tmp/old_lun_p
[root@solace ~]# mount /dev/mapper/<新LUN wwn>p /tmp/new_lun_p
例如:
[root@solace ~]# mount /dev/mapper/3600601604d301c008e291bb6a6d6e811p /tmp/old_lun_p
[root@solace ~]# mount /dev/mapper/360014057d24f4b77681435faf684d587p /tmp/new_lun_p-
将旧LUN的
p
内的所有目录和文件复制到新LUN:[root@solace ~]# cp -a /tmp/old_lun_p/* /tmp/new_lun_p/
-
卸载旧新LUN的
p
:[root@solace ~]# umount /tmp/old_lun_p
[root@solace ~]# umount /tmp/new_lun_p -
返回到CLI:
[root@solace ~]# exit
[support@solace ~]$ exit
-
-
输入以下命令配置消息池使用新的外部磁盘LUN:
solace# configure
solace(configure)# hardware message-spool disk-array wwn <新LUN wwn>其中
<新LUN wwn>
是新LUN的WWN,如本程序前面所示。示例:配置消息池
solace# configure
solace(configure)# hardware message-spool disk-array wwn 60:01:40:57:d2:4f:4b:77:68:14:35:fa:f6:84:d5:87
警告:为了避免丢失消息,重要的是要按照正确的磁盘迁移程序进行。详细信息请参考功能配置指南。
您想继续吗 (y/n)? y -
要启动保证消息传递和消息池,输入以下命令:
solace(configure)# no hardware message-spool shutdown primary
-
要开始向应用程序提供服务,输入以下命令:
solace(configure)# no service msg-backbone shutdown
-
如果正在使用Config-Sync功能,输入以下命令确认Config-Sync操作正常:
solace> show config-sync
管理状态: Enabled
操作状态: Up如果Config-Sync没有启动,要么是因为执行了超出本程序描述的配置更改,要么是因为一个或多个步骤没有按预期完成。为了防止配置进一步分歧,请立即调查并解决此问题。
-
可选:要编辑新LUN的最大池使用量,输入以下命令:
solace(configure)# hardware message-spool max-spool-usage <大小>
其中
<大小>
是以兆字节为单位的最大池使用量。- 参见《配置最大池使用量》以设置最大池使用量。
- 如果您在创建分区和文件系统时使用了默认值,LUN将被分成两个分区。第二个分区仍然需要,但可以小至100MB。如果您计划稍后添加第二个设备以创建冗余对,请考虑为独立设备设置分区大小,就好像它已经在冗余对中一样(最大池使用量的1.1倍)。
-
此时,LUN迁移已成功。存储管理员取消配置原始LUN后,
show hardware details
命令显示旧LUN的状态为Down
。示例
show hardware details
输出:solace> show hardware details
. . .
槽 1/4:主机总线适配器刀片
产品编号: HBA-0204FC-02-A
序列号: RC0609G02361
型号名称: QLE2462
型号描述: PCI-Express双通道4Gb光纤通道HBA
驱动版本: 8.04.00.03-k
. . .
附加设备
LUN 0
状态: Down
大小: 300G
WWN : 60:06:01:60:4d:30:1c:00:8e:29:1b:b6:a6:d6:e8:11
LUN 1
状态: 就绪
大小: 800G
WWN : 60:01:40:57:d2:4f:4b:77:68:14:35:fa:f6:84:d5:87此外,设备的内核日志可能包含反映旧LUN不再可见的条目。
示例日志条目:
2016-03-01T02:43:04+0000 <daemon.notice> solace multipathd: 3600601604d301c008e291bb6a6d6e811: sdd - emc_clariion_checker: 逻辑单元未绑定或LUNZ
2016-03-01T02:43:04+0000 <daemon.notice> solace multipathd: 3600601604d301c008e291bb6a6d6e811: sdf - emc_clariion_checker: 逻辑单元未绑定或LUNZ这些日志条目和附加设备的
Down
状态没有操作影响。 -
从设备中移除原始LUN。
-
输入以下命令提升到支持用户,然后输入支持用户的密码。
solace# shell standaloneLunMigration
登录:支持
密码: -
输入以下命令提升到root用户或sysadmin用户,然后输入该用户的密码。
[support@solace ~]$ su -
密码: -
检查原始和新LUN是否都可见。
-
[root@solace ~]# multipath -ll
3600601604d301c008e291bb6a6d6e811 dm-0 DGC ,RAID 0 size=300G features='1 retain_attached_hw_handler' hwhandler='1
. . .
360014057d24f4b77681435faf684d587 dm-3 LIO-ORG ,sdc1-4 size=800G features='1 queue_if_no_path' hwhandler='0' wp=rw
. . .
-
重新扫描SCSI总线以移除原始LUN。
[root@solace ~]# rescan-scsi-bus.sh -r
-
检查原始LUN是否已移除。
[root@solace ~]# multipath -ll
360014057d24f4b77681435faf684d587 dm-3 LIO-ORG ,sdc1-4 size=800G features='1 queue_if_no_path' hwhandler='0' wp=rw -
返回到CLI:
[root@solace ~]# exit
[support@solace ~]$ exit