CN103197981A - 存储空间预警方法和系统 - Google Patents
存储空间预警方法和系统 Download PDFInfo
- Publication number
- CN103197981A CN103197981A CN2013100220702A CN201310022070A CN103197981A CN 103197981 A CN103197981 A CN 103197981A CN 2013100220702 A CN2013100220702 A CN 2013100220702A CN 201310022070 A CN201310022070 A CN 201310022070A CN 103197981 A CN103197981 A CN 103197981A
- Authority
- CN
- China
- Prior art keywords
- early warning
- space
- storage space
- user
- event
- 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.)
- Granted
Links
Images
Abstract
本发明提供了一种存储空间预警方法和系统。涉及计算机应用领域;解决了现有预警方式预警效率低下的问题。该方法包括:在自动精简配置分配空间时,检测内核空间的存储空间容量;在监测到存储空间的容量达到了预置的预警阀值时,内核空间向用户空间发送预警事件。本发明提供的技术方案适用于自动精简配置,实现了高准确性的空间预警。
Description
技术领域
本发明涉及计算机应用领域,尤其涉及一种存储空间预警方法和系统。
背景技术
自动精简配置存储方案能够给操作系统提供大容量的虚拟驱动器。这种技术的核心是“欺骗”。如图1所示,简单的说,实际的物理存储设备可能并没有这么多,而让操作系统认为有这么大的存储空间。因此,如果不能实时监测存储空间容量,当存储空间不足时,将会影响用户的正常使用。
自动精简配置位于块设备驱动层(linux分层架构中),其中空间预警涉及两个层面,一个是内核空间,一个是用户空间。这其中有两个重要的问题,一个是存储空间容量的监测,如何实时的检测存储空间容量是否达到预警值;另一个是如何实现内核空间和用户空间之间的通信。而这其中,内核空间与用户空间的实时通信是重中之重、难中之难。
Linux系统将自身划分为两部分,一部分为核心软件,即是kernel,也称作内核空间,另一部分为普通应用程序,这部分称为用户空间。用户空间中的代码运行在较低的特权级别上,只能看到允许它们使用的部分系统资源,并且不能使用某些特定的系统功能,也不能直接访问内核空间和硬件设备,以及其他一些具体的使用限制。如图2所示,用户空间与自动精简配置所在的块设备驱动层之间,还隔着文件系统层,块I/O子系统中通用块层、块I/O子系统中I/O调度层等。由此可见,两者之间跨越很多层,“沟通”十分困难,预警效率低下。
发明内容
本发明提供了一种存储空间预警方法和系统,解决了现有预警方式预警效率低下的问题。
一种存储空间预警方法,包括:
在自动精简配置分配空间时,检测内核空间的存储空间容量;
在监测到存储空间的容量达到了预置的预警阀值时,内核空间向用户空间发送预警事件。
优选的,上述存储空间预警方法还包括:
在用户空间监听预警事件。
优选的,存储空间预警方法还包括:
在内核空间构建uevent内核事件作为预警事件,定义该事件的类型(type)为池空间预警触发类型
DM_UEVENT_POOL_LOW_WATER_TRIGGERED,行为为KOBJ_CHANGE,名称为POOL_LOW_WATER_TRIGGERED;
在用户空间存储所述预警事件及其type、行为和名称。
优选的,所述内核空间向用户空间发送预警事件具体为:
所述内核空间通过Netlink套接字向用户空间发送所述预警事件。
优选的,在用户空间监听预警事件具体为:
利用一个系统后台服务监听Netlink套接字。
优选的,上述存储空间预警方法还包括:
在用户空间监听到有消息到来时,提取该消息的type、行为和名称;
在提取的type、行为和名称与预存的预警事件相符合时,判定发生存储空间预警。
本发明还提供了一种存储空间预警系统,包括:
内核存储空间容量检测模块,用于在自动精简配置分配空间时,检测内核空间的存储空间容量;
存储空间报警模块,用于在监测到存储空间的容量达到了预置的预警阀值时,内核空间向用户空间发送预警事件。
优选的,所述存储空间报警模块,还用于在内核空间构建uevent内核事件作为预警事件,定义该事件的type为DM_UEVENT_POOL_LOW_WATER_TRIGGERED,行为为KOBJ_CHANGE,名称为POOL_LOW_WATER_TRIGGERED。
优选的,上述存储空间预警系统还包括:
预警监听模块,用于在用户空间监听预警事件,具体为利用一个系统后台服务监听Netlink套接字。
优选的,所述预警监听模块,还用于在用户空间监听到有消息到来时,提取该消息的type、行为和名称,在提取的type、行为和名称与预存的预警事件相符合时,判定发生存储空间预警。
本发明提供了一种存储空间预警方法和系统,在自动精简配置分配空间时,检测内核空间的存储空间容量,在监测到存储空间的容量达到了预置的预警阀值时,内核空间向用户空间发送预警事件,提高空间预警的准确性,解决了现有预警方式预警效率低下的问题。
附图说明
图1为自动精简配置存储方案的系统结构示意图;
图2为Linux块设备驱动层的分层架构;
图3为本发明的实施例一提供的一种存储空间预警方法的流程图;
图4为本发明的实施例一提供的一种存储空间预警方法中用户空间操作流程图;
图5为本发明的实施例二提供的一种存储空间预警系统的结构示意图。
具体实施方式
Linux系统将自身划分为两部分,一部分为核心软件,即是kernel,也称作内核空间,另一部分为普通应用程序,这部分称为用户空间。用户空间中的代码运行在较低的特权级别上,只能看到允许它们使用的部分系统资源,并且不能使用某些特定的系统功能,也不能直接访问内核空间和硬件设备,以及其他一些具体的使用限制。如图2所示,用户空间与自动精简配置所在的块设备驱动层之间,还隔着文件系统层,块I/O子系统中通用块层、块I/O子系统中I/O调度层等。由此可见,两者之间跨越很多层,“沟通”十分困难,预警效率低下。
为了解决上述问题,本发明的实施例提供了一种存储空间预警方法和系统。下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
首先结合附图,对本发明的实施例一进行说明。
本发明实施例提供了一种存储空间预警系统,通过利用Linux内核中Kobj_uevent提供的uevent机制和Netlink套接字来实现内核空间与用户空间的通信,使用该方法完成内核空间向用户空间进行预警的流程如图3所示,包括:
步骤301、在内核空间构建uevent内核事件作为预警事件;
本步骤中,构建一用于发出存储空间预警的预警事件,具体的在内核空间构建uevent内核事件作为预警事件,定义该事件的类型(type)为DM_UEVENT_POOL_LOW_WATER_TRIGGERED,行为为
KOBJ_CHANGE,名称为POOL_LOW_WATER_TRIGGERED。优选的,还可将该事件及其type、行为和名称存储于用户空间。
步骤302、在自动精简配置分配空间时,检测内核空间的存储空间容量;
本步骤中,可以利用自动精简配置写时分配的特点,在自动精简配置分配空间的时候,检测存储空间容量是否达到了预警阀值。
步骤303、在监测到存储空间的容量达到了预置的预警阀值时,内核空间向用户空间发送预警事件;
本步骤中,在监测到存储空间的容量达到了预置的预警阀值时,所述内核空间通过Netlink套接字向用户空间发送所述预警事件,具体的,内核空间通过Netlink套接字向用户空间发送所述预警事件。
同时,用户空间也对内核空间发出的预警事件进行监测,具体步骤如图4所示,包括:
步骤401、在用户空间监听预警事件;
优选的,本步骤中可利用一个系统后台服务监听Netlink套接字。
步骤402、在用户空间监听到有消息到来时,提取该消息的type、行为和名称;
步骤403、在提取的type、行为和名称与预存的预警事件相符合时,判定发生存储空间预警。
下面结合附图,对本发明的实施例二进行说明。
本发明实施例提供了一种存储空间预警系统,该系统的结构如图5所示,包括:
内核存储空间容量检测模块501,用于在自动精简配置分配空间时,检测内核空间的存储空间容量;
存储空间报警模块502,用于在监测到存储空间的容量达到了预置的预警阀值时,内核空间向用户空间发送预警事件。
优选的,所述存储空间报警模块502,还用于在内核空间构建uevent内核事件作为预警事件,定义该事件的类型(type)为DM_UEVENT_POOL_LOW_WATER_TRIGGERED,行为为KOBJ_CHANGE,名称为POOL_LOW_WATER_TRIGGERED。
优选的,上述存储空间预警系统还包括:
预警监听模块503,用于在用户空间监听预警事件,具体为利用一个系统后台服务监听Netlink套接字。
优选的,所述预警监听模块503,还用于在用户空间监听到有消息到来时,提取该消息的type、行为和名称,在提取的type、行为和名称与预存的预警事件相符合时,判定发生存储空间预警。
本发明实施例提供的存储空间预警系统能够与本发明实施例一中提供的存储空间预警方法相结合,通过利用Linux内核中Kobj_uevent提供的uevent机制和Netlink套接字来实现内核空间与用户空间的通信,以及利用自动精简配置写时分配的特性实现空间容量的实时监测。
内核存储空间容量检测模块501,为内核空间模块,利用自动精简配置写时分配的特点,在自动精简配置分配空间的时候,检测存储空间容量是否达到了预警阀值。
存储空间报警模块502,为内核空间模块,会利用uevent机制提供的操作和接口。首先创建一个uevent内核事件,type为DM_UEVENT_POOL_LOW_WATER_TRIGGERED,行为为KOBJ_CHANGE,名称为POOL_LOW_WATER_TRIGGERED;然后通过Netlink套接字由内核空间发送该uevent内核事件到用户空间。
预警监听模块503,为用户空间模块,利用一个系统后台服务用于监听Netlink套接字。
根据内核存储空间容量检测模块501,当监测到存储空间容量达到了预警阀值时,就会启动存储空间报警模块502发送预警信息。
根据预警监听模块503,当监听到有消息到来,判断其行为为KOBJ_CHANGE,type为DM_UEVENT_POOL_LOW_WATER_TRIGGERED,名称为POOL_LOW_WATER_TRIGGERED的消息后,会立即在用户空间向管理员报警。
本发明的实施例提供了一种存储空间预警方法和系统,在自动精简配置分配空间时,检测内核空间的存储空间容量,在监测到存储空间的容量达到了预置的预警阀值时,内核空间向用户空间发送预警事件,提高空间预警的准确性,解决了现有预警方式预警效率低下的问题。每次检测存储空间容量是否达到预警阀值都会在自动精简配置分配空间的时候进行,保证检测的准确性,一旦存储空间容量达到预警阀值,会立即发送uevent内核事件,因为是通过Netlink套接字发送该内核事件,所以只需要在用户空间监听该套接字(类似于网络编程监听socket),当该套接字有消息到来,判断其中消息内容,一旦是预警信息,便可立即向管理员报警,从而保证预警的实时性。
相比其他解决方案,比如使用脚本采用轮询空间容量的方式,本发明的实施例所提供的技术方案可以大大提高空间预警的准确性,同时也能够减轻管理员的工作负担(包括编写脚本,平衡轮询的频率等工作),从而实时准确的进行自动精简配置存储空间容量的预警。
本领域普通技术人员可以理解上述实施例的全部或部分步骤可以使用计算机程序流程来实现,所述计算机程序可以存储于一计算机可读存储介质中,所述计算机程序在相应的硬件平台上(如系统、设备、装置、器件等)执行,在执行时,包括方法实施例的步骤之一或其组合。
可选地,上述实施例的全部或部分步骤也可以使用集成电路来实现,这些步骤可以被分别制作成一个个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
上述实施例中的各装置/功能模块/功能单元可以采用通用的计算装置来实现,它们可以集中在单个的计算装置上,也可以分布在多个计算装置所组成的网络上。
上述实施例中的各装置/功能模块/功能单元以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。上述提到的计算机可读取存储介质可以是只读存储器,磁盘或光盘等。
任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求所述的保护范围为准。
Claims (10)
1.一种存储空间预警方法,其特征在于,包括:
在自动精简配置分配空间时,检测内核空间的存储空间容量;
在监测到存储空间的容量达到了预置的预警阀值时,内核空间向用户空间发送预警事件。
2.根据权利要求1所述的存储空间预警方法,其特征在于,该方法还包括:
在用户空间监听预警事件。
3.根据权利要求1或2所述的存储空间预警方法,其特征在于,该方法还包括:
在内核空间构建uevent内核事件作为预警事件,定义该事件的类型(type)为池空间预警触发类型DM_UEVENT_POOL_LOW_WATER_TRIGGERED,行为为KOBJ_CHANGE,名称为POOL_LOW_WATER_TRIGGERED;
在用户空间存储所述预警事件及其type、行为和名称。
4.根据权利要求3所述的存储空间预警方法,其特征在于,所述内核空间向用户空间发送预警事件具体为:
所述内核空间通过Netlink套接字向用户空间发送所述预警事件。
5.根据权利要求4所述的存储空间预警方法,其特征在于,在用户空间监听预警事件具体为:
利用一个系统后台服务监听Netlink套接字。
6.根据权利要求5所述的存储空间预警方法,其特征在于,该方法还包括:
在用户空间监听到有消息到来时,提取该消息的type、行为和名称;
在提取的type、行为和名称与预存的预警事件相符合时,判定发生存储空间预警。
7.一种存储空间预警系统,其特征在于,包括:
内核存储空间容量检测模块,用于在自动精简配置分配空间时,检测内核空间的存储空间容量;
存储空间报警模块,用于在监测到存储空间的容量达到了预置的预警阀值时,内核空间向用户空间发送预警事件。
8.根据权利要求7所述的存储空间预警系统,其特征在于,
所述存储空间报警模块,还用于在内核空间构建uevent内核事件作为预警事件,定义该事件的type为DM_UEVENT_POOL_LOW_WATER_TRIGGERED,行为为KOBJ_CHANGE,名称为POOL_LOW_WATER_TRIGGERED。
9.根据权利要求8所述的存储空间预警系统,其特征在于,该系统还包括:
预警监听模块,用于在用户空间监听预警事件,具体为利用一个系统后台服务监听Netlink套接字。
10.根据权利要求9所述的存储空间预警系统,其特征在于,
所述预警监听模块,还用于在用户空间监听到有消息到来时,提取该消息的type、行为和名称,在提取的type、行为和名称与预存的预警事件相符合时,判定发生存储空间预警。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310022070.2A CN103197981B (zh) | 2013-01-21 | 2013-01-21 | 存储空间预警方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310022070.2A CN103197981B (zh) | 2013-01-21 | 2013-01-21 | 存储空间预警方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103197981A true CN103197981A (zh) | 2013-07-10 |
CN103197981B CN103197981B (zh) | 2016-02-03 |
Family
ID=48720569
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310022070.2A Active CN103197981B (zh) | 2013-01-21 | 2013-01-21 | 存储空间预警方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103197981B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104820575A (zh) * | 2015-04-27 | 2015-08-05 | 西北工业大学 | 实现存储系统自动精简的方法 |
CN107728949A (zh) * | 2017-10-20 | 2018-02-23 | 郑州云海信息技术有限公司 | 一种自动精简卷测试方法、系统、装置及计算机存储介质 |
CN109117083A (zh) * | 2017-06-26 | 2019-01-01 | 深圳回收宝科技有限公司 | 移动终端、内置存储容量检测方法及计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030074604A1 (en) * | 2001-10-12 | 2003-04-17 | Mathias Daniel R. | Method and apparatus for kernel module testing |
CN101221527A (zh) * | 2007-01-08 | 2008-07-16 | 上海宇梦通信科技有限公司 | Linux平台物理内存信息监测系统 |
CN102364448A (zh) * | 2011-09-19 | 2012-02-29 | 浪潮电子信息产业股份有限公司 | 一种计算机故障管理系统的容错方法 |
CN102508760A (zh) * | 2011-11-17 | 2012-06-20 | 浪潮(北京)电子信息产业有限公司 | 独立磁盘冗余阵列预警方法和系统 |
CN102541722A (zh) * | 2011-12-30 | 2012-07-04 | 曙光信息产业股份有限公司 | 一种监控服务器内存的方法以及服务器内存监控系统 |
-
2013
- 2013-01-21 CN CN201310022070.2A patent/CN103197981B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030074604A1 (en) * | 2001-10-12 | 2003-04-17 | Mathias Daniel R. | Method and apparatus for kernel module testing |
CN101221527A (zh) * | 2007-01-08 | 2008-07-16 | 上海宇梦通信科技有限公司 | Linux平台物理内存信息监测系统 |
CN102364448A (zh) * | 2011-09-19 | 2012-02-29 | 浪潮电子信息产业股份有限公司 | 一种计算机故障管理系统的容错方法 |
CN102508760A (zh) * | 2011-11-17 | 2012-06-20 | 浪潮(北京)电子信息产业有限公司 | 独立磁盘冗余阵列预警方法和系统 |
CN102541722A (zh) * | 2011-12-30 | 2012-07-04 | 曙光信息产业股份有限公司 | 一种监控服务器内存的方法以及服务器内存监控系统 |
Non-Patent Citations (1)
Title |
---|
尹家生: "《基于Linux的高速网络流量采集与分析模型研究》", 《计算机工程与应用》, 31 October 2006 (2006-10-31), pages 151 - 154 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104820575A (zh) * | 2015-04-27 | 2015-08-05 | 西北工业大学 | 实现存储系统自动精简的方法 |
CN104820575B (zh) * | 2015-04-27 | 2017-08-15 | 西北工业大学 | 实现存储系统自动精简的方法 |
CN109117083A (zh) * | 2017-06-26 | 2019-01-01 | 深圳回收宝科技有限公司 | 移动终端、内置存储容量检测方法及计算机可读存储介质 |
CN107728949A (zh) * | 2017-10-20 | 2018-02-23 | 郑州云海信息技术有限公司 | 一种自动精简卷测试方法、系统、装置及计算机存储介质 |
CN107728949B (zh) * | 2017-10-20 | 2020-09-18 | 苏州浪潮智能科技有限公司 | 一种自动精简卷测试方法、系统、装置及计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103197981B (zh) | 2016-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101800675B (zh) | 故障监控方法、监控设备及通信系统 | |
CN101599048B (zh) | 一种内存监控的方法和装置 | |
CN103220173B (zh) | 一种报警监控方法及监控系统 | |
CN110311831B (zh) | 基于容器云的系统资源监控方法及相关设备 | |
CN102999716B (zh) | 虚拟机器监控系统及方法 | |
CN102355368B (zh) | 一种网络设备的故障处理方法及系统 | |
CN102741775A (zh) | 用于对计算机平台的系统功率状态进行转换的方法、装置和系统 | |
CN107528870A (zh) | 一种数据采集方法及其设备 | |
CN104394009A (zh) | 一种故障信息的处理方法及装置 | |
CN102413186B (zh) | 基于私有云计算的资源调度方法、装置和云管理服务器 | |
CN108038043A (zh) | 一种分布式存储集群告警方法、系统及设备 | |
CN102761528A (zh) | 数据管理系统及方法 | |
CN101867958A (zh) | 管理无线传感网终端的方法和系统 | |
CN103368771A (zh) | 一种多节点服务器系统的故障现场信息的收集方法及装置 | |
CN103532943A (zh) | web应用防火墙设备和安全防护日志的异步处理方法 | |
CN102508760A (zh) | 独立磁盘冗余阵列预警方法和系统 | |
CN103197981A (zh) | 存储空间预警方法和系统 | |
CN101827120A (zh) | 一种集群存储方法及系统 | |
CN103178994A (zh) | 自动检测多台服务器的方法 | |
CN104133915A (zh) | 一种数据库管理员运维行为的监控方法及系统 | |
CN202713533U (zh) | 电视机的诊断和维护系统与电视机 | |
CN101441668B (zh) | 分布式文件系统中多磁盘分组热备的方法与装置 | |
CN106155826A (zh) | 用于在总线结构中检测及处理错误的方法和系统 | |
CN103457777B (zh) | 电源分配单元容灾方法、管理器及系统 | |
CN102810072B (zh) | 计算机系统及其重新启动方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |