CN107506141B - 一种存储系统对卷组状态自动判断和激活的方法及系统 - Google Patents

一种存储系统对卷组状态自动判断和激活的方法及系统 Download PDF

Info

Publication number
CN107506141B
CN107506141B CN201710710718.3A CN201710710718A CN107506141B CN 107506141 B CN107506141 B CN 107506141B CN 201710710718 A CN201710710718 A CN 201710710718A CN 107506141 B CN107506141 B CN 107506141B
Authority
CN
China
Prior art keywords
layer
lvm
module
state
started
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710710718.3A
Other languages
English (en)
Other versions
CN107506141A (zh
Inventor
张儒强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201710710718.3A priority Critical patent/CN107506141B/zh
Publication of CN107506141A publication Critical patent/CN107506141A/zh
Application granted granted Critical
Publication of CN107506141B publication Critical patent/CN107506141B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种存储系统对卷组状态自动判断和激活的方法及系统,包括,基于linux系统sh可执行脚本编写;创建识别模块,通过识别模块自动识别存储系统启动时下层IO模块的启动时机和状态;创建状态检测模块,通过状态检测模块自动检测RAID层的状态,检测存储系统中LVM层的状态;创建启动激活模块,检测RAID层和LVM层的状态正常后,通过启动激活模块进行LVM层最后的启动激活;LVM层启动激活后,LVM层内的LV卷正常启动供上层IO模块使用。本发明和现有技术相比,使用自动化脚本替代了人工检测和手动激活,使得存储系统在启动后可以立即提供IO服务,同时也避免了因为误操作带来的数据丢失风险,增加了操作的安全性,降低了数据的安全隐患,降低了维护人员成本。

Description

一种存储系统对卷组状态自动判断和激活的方法及系统
技术领域
本发明涉及计算机存储磁盘技术领域,具体地说是一种存储系统对卷组状态自动判断和激活的方法及系统。
背景技术
低端单控存储系统基于64位linux系统开发,采用SAS卡+软raid技术实现磁盘管理,采用LVM卷管理技术实现系统内部的逻辑卷管理。下层IO模块包括虚拟磁盘层(VDISK)、存储阵列层(RAID)、逻辑卷管理层(LVM)。每层级关系密切,按照设定好的顺序启动,由下至上方向,若打乱顺序,会造成某一模块启动失败。
存储系统通过SAS卡识别到硬盘,利用软RAID技术实现磁盘阵列功能,即存储矩阵层,然后LVM层将RAID阵列创建为PV设备实现对物理资源的灵活管理,然后通过从VG池中创建LV卷供上层IO模块使用,上层IO模块提供块设备供主机操作系统使用。
由此可见,存储系统是否能顺利的将物理磁盘资源提供给上层IO模块使用,关键在于LVM层的运行结果。但是在存储系统启动过程中的初始化部分,系统会根据设定好的默认运行级别顺序启动每个模块,且部分模块之间不存在依赖关系。所以当某种因素导致RAID层启动延迟或者异常时,LVM层并不会感知到不具备启动条件,依然按照设定的顺序启动,变会导致无PV可用,逻辑卷无法激活。
为解决上述问题,现有解决技术方案是:存储提供GUI管理界面,管理界面可以监控到主要功能模块的状态,若LVM启动异常,在GUI界面会提示VG异常,逻辑分区未激活,则需要手动激活和挂载后方可继续使用。
上述方案虽然一定程度上解决了上述问题,但是,存储产品作为高端计算机硬件设备,要求具备比一般服务器更强的恢复能力,尽可能保证业务连续性和数据安全性。但在单控存储重启时,发生逻辑分区未激活的情况非常普遍,使用者发现存储卷无法正常使用时,再进行手动恢复逻辑分区,操作难度较大,不可预估的延迟了业务恢复时间,增加了操作的不安全性,对数据安全造成隐患。
发明内容
本发明的技术任务是提供一种存储系统对卷组状态自动判断和激活的方法及系统。
本发明的技术任务是按以下方式实现的:
一种存储系统对卷组状态自动判断和激活的方法,其特征在于,包括,
基于linux系统sh可执行脚本编写;
创建识别模块,通过识别模块自动识别存储系统启动时下层IO模块的启动时机和状态;
创建状态检测模块,通过状态检测模块自动检测RAID层的状态,检测存储系统中LVM层的状态;
创建启动激活模块,检测RAID层和LVM层的状态正常后,通过启动激活模块进行LVM层最后的启动激活;
LVM层启动激活后,LVM层内的LV卷正常启动供上层IO模块使用。
该方法步骤如下:
1)对存储系统启动过程进行监控,首先通过识别模块识别到启动LVM层的脚本执行;
2)通过状态检测模块自动检测RAID层中MD的状态,如果MD未启动,则先尝试启动MD,延时启动LVM,同时在屏幕提示;
3)通过状态检测模块自动检测LVM层中VG的状态,如果VG还检测不到,再循环延迟等待MD先启动,同时屏幕提示,直至正常启动;
4)如果检测到VG,则直接激活VG,读取fstab并挂载LVM。
所述的步骤2)中, 并且在屏幕提示:当前循环尝试第N次激活LVM,所述的N为大于等于1的整数。
所述的步骤2)中,延时启动LVM,延时时间为5-30秒。
所述的步骤3)中,同时屏幕提示:当前尝试第N+1次激活LVM,所述的N为大于等于1的整数。
所述的步骤3)中,再循环延迟等待MD先启动,延迟时间为5-30秒。
一种存储系统对卷组状态自动判断和激活的系统,该系统基于linux系统sh可执行脚本编写;包括RAID层、LVM层、识别模块、状态检测模块和启动激活模块。
所述的识别模块,用于自动识别存储系统启动时下层IO模块的启动时机和状态;包括,存储系统中LVM层的启动时间。
所述的状态检测模块,用于自动检测RAID层的状态,检测存储系统中LVM层的状态;包括,自动检测LVM层中VG的状态。
所述的启动激活模块,用于检测RAID层和LVM层的状态正常后,进行LVM层最后的启动激活;包括,LVM层内的LV卷正常启动供上层IO模块使用。
本发明的一种存储系统对卷组状态自动判断和激活的方法及系统和现有技术相比,使用自动化脚本替代了人工检测和手动激活两个步骤,使得存储系统在启动后可以立即提供IO服务,同时也避免了因为误操作带来的数据丢失风险,增加了操作的安全性,降低了数据的安全隐患,降低了维护人员成本。
附图说明
附图1为实施例1一种存储系统对卷组状态自动判断和激活的方法的流程示意图。
具体实施方式
实施例1:
创建存储系统对卷组状态自动判断和激活的系统:
该系统基于linux系统sh可执行脚本编写;包括RAID层、LVM层、识别模块、状态检测模块和启动激活模块。
所述的识别模块,用于自动识别存储系统启动时下层IO模块的启动时机和状态;包括,存储系统中LVM层的启动时间。
所述的状态检测模块,用于自动检测RAID层的状态,检测存储系统中LVM层的状态;包括,自动检测LVM层中VG的状态。
所述的启动激活模块,用于检测RAID层和LVM层的状态正常后,进行LVM层最后的启动激活;包括,LVM层内的LV卷正常启动供上层IO模块使用。
存储系统对卷组状态自动判断和激活的方法如下:
1)对存储系统启动过程进行监控,首先通过识别模块识别到启动LVM层的脚本执行;
2)通过状态检测模块自动检测RAID层中MD的状态,如果MD未启动,则先尝试启动MD,延时10秒启动LVM,同时在屏幕提示:当前循环尝试第3次激活LVM;
3)通过状态检测模块自动检测LVM层中VG的状态,如果VG还检测不到,再循环延迟10秒等待MD先启动,同时屏幕提示:当前尝试第4次激活LVM,直至正常启动;
4)如果检测到VG,则直接激活VG,读取fstab并挂载LVM层,LVM层内的LV卷正常启动供上层IO模块使用,上层IO模块提供块设备供主机操作系统使用。
实施例2:
创建存储系统对卷组状态自动判断和激活的系统:
该系统基于linux系统sh可执行脚本编写;包括RAID层、LVM层、识别模块、状态检测模块和启动激活模块。
所述的识别模块,用于自动识别存储系统启动时下层IO模块的启动时机和状态;包括,存储系统中LVM层的启动时间。
所述的状态检测模块,用于自动检测RAID层的状态,检测存储系统中LVM层的状态;包括,自动检测LVM层中VG的状态。
所述的启动激活模块,用于检测RAID层和LVM层的状态正常后,进行LVM层最后的启动激活;包括,LVM层内的LV卷正常启动供上层IO模块使用。
存储系统对卷组状态自动判断和激活的方法如下:
1)对存储系统启动过程进行监控,首先通过识别模块识别到启动LVM层的脚本执行;
2)通过状态检测模块自动检测RAID层中MD的状态,如果MD未启动,则先尝试启动MD,延时5秒启动LVM,同时在屏幕提示:当前循环尝试第4次激活LVM;
3)通过状态检测模块自动检测LVM层中VG的状态,如果VG还检测不到,再循环延迟5秒等待MD先启动,同时屏幕提示:当前尝试第5次激活LVM,直至正常启动;
4)如果检测到VG,则直接激活VG,读取fstab并挂载LVM层,LVM层内的LV卷正常启动供上层IO模块使用,上层IO模块提供块设备供主机操作系统使用。
实施例3:
创建存储系统对卷组状态自动判断和激活的系统:
该系统基于linux系统sh可执行脚本编写;包括RAID层、LVM层、识别模块、状态检测模块和启动激活模块。
所述的识别模块,用于自动识别存储系统启动时下层IO模块的启动时机和状态;包括,存储系统中LVM层的启动时间。
所述的状态检测模块,用于自动检测RAID层的状态,检测存储系统中LVM层的状态;包括,自动检测LVM层中VG的状态。
所述的启动激活模块,用于检测RAID层和LVM层的状态正常后,进行LVM层最后的启动激活;包括,在LVM层内创建LV卷供上层IO模块使用。
存储系统对卷组状态自动判断和激活的方法如下:
1)对存储系统启动过程进行监控,首先通过识别模块识别到启动LVM层的脚本执行;
2)通过状态检测模块自动检测RAID层中MD的状态,如果MD未启动,则先尝试启动MD,延时30秒启动LVM,同时在屏幕提示:当前循环尝试第5次激活LVM;
3)通过状态检测模块自动检测LVM层中VG的状态,如果VG还检测不到,再循环延迟30秒等待MD先启动,同时屏幕提示:当前尝试第6次激活LVM,直至正常启动;
4)如果检测到VG,则直接激活VG,读取fstab并挂载LVM层,LVM层内的LV卷正常启动供上层IO模块使用,上层IO模块提供块设备供主机操作系统使用。
脚本内容:
#!/bin/sh
# Begin $rc_base/init.d/lvm
. /etc/sysconfig/rc
. $rc_functions
case "$1" in
start)
boot_mesg "Starting Logical Volume Manager ..."
echo "xxxxxxxxxxxxxxxxx" > /etc/rc.d/mylog
/usr/bin/php /usr/htdocs/storage/raid/class/ChangeRaidInfoManage.php >/dev/null 2>&1
/usr/sbin/rescan-scsi-bus.sh -l -w -c --iscsionly >/dev/null2>&1
#/usr/sbin/dmsetup mknodes
/usr/sbin/vgscan --mknodes --ignorelockingfailure >/dev/null2>&1
########lle add
tmp="`cat /proc/mdstat | grep md | wc -l`"
if [ "${tmp}" -ge 1 ]; then
cnt=0
tmp="`vgs 2>&1 | head -n 1 | awk '{print $1}'`"
while [ $cnt -lt 30 ] && [ $tmp = "No" ]
do
cnt=`expr $cnt + 1`
boot_mesg "Trying to active Logical Volume ${cnt} times..."
sleep 10
/usr/sbin/vgscan --mknodes --ignorelockingfailure >/dev/null 2>&1
tmp="`vgs 2>&1 | awk '{print $1}'`"
done
fi
#########lle add end
/usr/sbin/vgchange -ay --ignorelockingfailure
rm -rf /etc/lvm/current_metadata/*
vgcfgbackup -P -f /etc/lvm/current_metadata/%s.current >/dev/null 2>&1
/usr/bin/php /usr/htdocs/storage/lvm/class/lvm_clean_fstab.php
/usr/bin/php /usr/htdocs/storage/lvm/class/lvm_clean_xml.php
mount -a >/dev/null 2>&1
dmesg | grep SASX28 > /etc/sasx28
dmesg | grep SAS2X28 > /etc/sas2x28
exit 0
;;
stop)
boot_mesg "Stopping Logical Volume Manager ..."
/usr/bin/php /usr/htdocs/storage/lvm/class/lvm_umount_fstab.php
rm -rf /etc/lvm/current_metadata/*
vgcfgbackup -P -f /etc/lvm/current_metadata/%s.current >/dev/null 2>&1
exit 0
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
;;
esac
# End $rc_base/init.d/lvm
名词解释:
LVM:逻辑卷管理,将物理存储资源进行池化管理,使存储资源摆脱了具体物理资源的限制,提供数据条带化、存储空间在线扩容等灵活的管理功能。
RAID:在linux系统中目前以MD(Multiple Devices)虚拟块设备的方式实现软件RAID,利用多个底层的块设备虚拟出一个新的虚拟设备。
通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的几种具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。

Claims (6)

1.一种存储系统对卷组状态自动判断和激活的方法,其特征在于,包括,
基于linux系统sh可执行脚本编写;
创建识别模块,通过识别模块自动识别存储系统启动时下层IO模块的启动时机和状态;
创建状态检测模块,通过状态检测模块自动检测RAID层的状态,检测存储系统中LVM层的状态;
创建启动激活模块,检测RAID层和LVM层的状态正常后,通过启动激活模块进行LVM层最后的启动激活;
LVM层启动激活后,LVM层内的LV卷正常启动供上层IO模块使用;
所述的方法采用的系统基于linux系统sh可执行脚本编写;包括RAID层、LVM层、识别模块、状态检测模块和启动激活模块;
所述的识别模块,用于自动识别存储系统启动时下层IO模块的启动时机和状态;包括,存储系统中LVM层的启动时间;
所述的状态检测模块,用于自动检测RAID层的状态,检测存储系统中LVM层的状态;包括,自动检测LVM层中VG的状态;
所述的启动激活模块,用于检测RAID层和LVM层的状态正常后,进行LVM层最后的启动激活;包括,LVM层内的LV卷正常启动供上层IO模块使用。
2.根据权利要求1所述的方法,其特征在于,该方法步骤如下:
1)对存储系统启动过程进行监控,首先通过识别模块识别到启动LVM层的脚本执行;
2)通过状态检测模块自动检测RAID层中MD的状态,如果MD未启动,则先尝试启动MD,延时启动LVM,同时在屏幕提示;
3)通过状态检测模块自动检测LVM层中VG的状态,如果VG还检测不到,再循环延迟等待MD先启动,同时屏幕提示,直至正常启动;
4)如果检测到VG,则直接激活VG,读取fstab并挂载LVM。
3.根据权利要求2所述的方法,其特征在于,所述的步骤2)中, 并且在屏幕提示:当前循环尝试第N次激活LVM,所述的N为大于等于1的整数。
4.根据权利要求2所述的方法,其特征在于,所述的步骤2)中,延时启动LVM,延时时间为5-30秒。
5.根据权利要求2所述的方法,其特征在于,所述的同时屏幕提示:当前尝试第N+1次激活LVM,所述的N为大于等于1的整数。
6.根据权利要求2所述的方法,其特征在于,所述的再循环延迟等待MD先启动,延迟时间为5-30秒。
CN201710710718.3A 2017-08-18 2017-08-18 一种存储系统对卷组状态自动判断和激活的方法及系统 Active CN107506141B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710710718.3A CN107506141B (zh) 2017-08-18 2017-08-18 一种存储系统对卷组状态自动判断和激活的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710710718.3A CN107506141B (zh) 2017-08-18 2017-08-18 一种存储系统对卷组状态自动判断和激活的方法及系统

Publications (2)

Publication Number Publication Date
CN107506141A CN107506141A (zh) 2017-12-22
CN107506141B true CN107506141B (zh) 2020-07-07

Family

ID=60692077

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710710718.3A Active CN107506141B (zh) 2017-08-18 2017-08-18 一种存储系统对卷组状态自动判断和激活的方法及系统

Country Status (1)

Country Link
CN (1) CN107506141B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112860338A (zh) * 2021-01-29 2021-05-28 中国农业银行股份有限公司 软件启动方法和装置
CN115599575B (zh) * 2022-09-09 2024-04-16 中电信数智科技有限公司 一种解决集群逻辑卷并发激活和反激活的新方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104571965A (zh) * 2015-01-19 2015-04-29 浪潮集团有限公司 一种raid重建的优化方法
CN106897029A (zh) * 2017-02-24 2017-06-27 郑州云海信息技术有限公司 一种lvm数据一致性的控制方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100354833C (zh) * 2005-01-14 2007-12-12 英业达股份有限公司 San系统异常情况下的保护方法
US20080010421A1 (en) * 2006-07-10 2008-01-10 Inventec Corporation Snapshot expansion system and method thereof
JP5300276B2 (ja) * 2008-01-28 2013-09-25 アルパイン株式会社 データ処理装置及び論理ドライブのマウント方法
US8984243B1 (en) * 2013-02-22 2015-03-17 Amazon Technologies, Inc. Managing operational parameters for electronic resources
CN106775451A (zh) * 2016-11-16 2017-05-31 天脉聚源(北京)传媒科技有限公司 一种处理逻辑卷的方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104571965A (zh) * 2015-01-19 2015-04-29 浪潮集团有限公司 一种raid重建的优化方法
CN106897029A (zh) * 2017-02-24 2017-06-27 郑州云海信息技术有限公司 一种lvm数据一致性的控制方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LVM逻辑卷管理@安装、格式化、挂载、开机自动挂载完整篇;sh_西瓜太郎;《技术互动交流平台》;http://www.it165.netT;20130725;全文 *

Also Published As

Publication number Publication date
CN107506141A (zh) 2017-12-22

Similar Documents

Publication Publication Date Title
US8132057B2 (en) Automated transition to a recovery kernel via firmware-assisted-dump flows providing automated operating system diagnosis and repair
US10067835B2 (en) System reset
US8135985B2 (en) High availability support for virtual machines
US9158628B2 (en) Bios failover update with service processor having direct serial peripheral interface (SPI) access
US7685474B2 (en) Failsafe computer support assistant using a support virtual machine
US10387261B2 (en) System and method to capture stored data following system crash
US8489932B2 (en) Server system and crash dump collection method
US9239725B2 (en) System and method for installing an OS via a network card supporting PXE
CN102439565B (zh) 启动恢复的方法和装置
US9032414B1 (en) Systems and methods for managing system resources allocated for backup validation
US9805068B1 (en) Systems and methods for facilitating features of system recovery environments during restore operations
US6725396B2 (en) Identifying field replaceable units responsible for faults detected with processor timeouts utilizing IPL boot progress indicator status
US11768672B1 (en) Systems and methods for user-controlled deployment of software updates
CN107506141B (zh) 一种存储系统对卷组状态自动判断和激活的方法及系统
US9195528B1 (en) Systems and methods for managing failover clusters
CN108268302A (zh) 实现设备启动的方法和装置
US9852028B2 (en) Managing a computing system crash
CN105808440A (zh) 应用程序的低内存测试方法、装置和系统
US9195529B2 (en) Information processing apparatus and activation method
CN108595273A (zh) 一种控制台程序守护方法及系统
US10768940B2 (en) Restoring a processing unit that has become hung during execution of an option ROM
Sultania Monitoring and Failure Recovery of Cloud-Managed Digital Signage
CN117348939A (zh) 一种基于多核的软件刷新方法、系统、设备及介质、车辆
CN109144543A (zh) 一种基于EFI环境的验证VMware系统BIOS兼容性的方法
TW200844734A (en) Prompting system and method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant