CN109416619B - 用于自动raid配置的方法、系统和计算机能用介质 - Google Patents
用于自动raid配置的方法、系统和计算机能用介质 Download PDFInfo
- Publication number
- CN109416619B CN109416619B CN201780038765.6A CN201780038765A CN109416619B CN 109416619 B CN109416619 B CN 109416619B CN 201780038765 A CN201780038765 A CN 201780038765A CN 109416619 B CN109416619 B CN 109416619B
- Authority
- CN
- China
- Prior art keywords
- storage device
- partition
- computer
- raid
- role
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及用于独立磁盘冗余阵列(RAID)的自动配置的系统和方法。具体地讲,本公开涉及这样的方法,所述方法包括使用一个或多个处理器自动确定与第一存储设备相关联的第一分区以及与第二存储设备相关联的第二分区与公共安装点相关联;以及使用所述一个或多个处理器将所述第一分区和所述第二分区自动添加到RAID。
Description
技术领域
本公开涉及配置数字存储设备。具体地讲,本公开涉及自动独立磁盘冗余阵列(RAID)配置的系统和方法。
背景技术
独立磁盘冗余阵列(RAID)将多个物理存储设备或其分区组合成单个逻辑单元,以便提供冗余改善的性能、改善的可用性或其组合。使用现有解决方案配置存储设备(例如,磁盘)和创建或修改RAID是容易出错的。诸如输入静态信息的用户错误之类的错误并不少见。因此,可能期望使用户需要提供的输入和干预的量最小化的基于模型的方法。
另外,当替换作为RAID的一部分的存储设备时,特别是当替换存储设备是不同的大小和/或型号类型时,出现困难。因此,在替换存储设备时减少与重新组装RAID相关联的困难的机制可能是期望的。
本文公开了解决上述问题中的一个或多个的至少一种系统和方法。
发明内容
公开了用于自动独立磁盘冗余阵列(RAID)配置的系统和方法。例如,在一些实施方式中,系统包括一个或多个处理器和存储指令的存储器,该指令使得系统:自动确定与第一存储设备相关联的第一分区以及与第二存储设备相关联的第二分区与公共安装点相关联;以及将第一分区和第二分区自动添加到RAID。
这些和其他实施方式可各自任选地包括以下特征中的一个或多个,诸如:接收第一存储设备的角色,基于第一存储设备的角色确定第一分区模板,以及将第一分区模板应用于第一存储设备;接收第二存储设备的角色,基于第二存储设备的角色确定第二分区模板,以及将第二分区模板应用于第二存储设备;该第一分区模板定义一个或多个分区以及与一个或多个分区中的每个相关联的安装点;自动确定与第三存储设备相关联的第三分区与公共安装点相关联,并且将第三分区自动添加到RAID;该第三存储设备替换第一存储设备和第二存储设备中的一个,并且将第三分区添加到RAID重新组装RAID;第三存储设备是第一存储设备和第二存储设备的补充。
这些方面中的一个或多个的其他实施方式包括对应的系统、装置、方法和计算机程序,其被配置为执行编码在计算机存储设备上的方法的动作。应当理解,上述并非包括全部,并且许多附加步骤、特征和优点可被设想到并且落入本公开的范围内。此外,应当理解,本公开中使用的语言主要是出于可读性和指导目的而选择的,并不限制本文公开的主题的范围。
附图说明
本文介绍的技术通过示例而非限制的方式在附图中示出,在附图中,相同的附图标记用于指相似的元件。
图1是示出被配置为自动配置独立磁盘冗余阵列(RAID)的示例性系统的框图。
图2是示出根据一种实施方式的示例性自动RAID配置器的框图。
图3是描绘根据本文所述的技术的用于自动RAID配置的示例性方法的流程图。
图4是描绘根据本文所述的技术的用于RAID阵列的自动重新组装的示例性方法的流程图。
具体实施方式
公开了用于自动独立磁盘冗余阵列(RAID)配置的各种系统和方法。虽然在特定系统体系结构的上下文中描述了本公开的系统和方法,但是应当理解,系统和方法可应用于硬件的其他体系结构和组织。
图1是示出被配置为实现本文介绍的技术的示例性系统100的框图。系统100可以是任何计算设备,包括一个或多个存储器以及一个或多个处理器 (例如,服务器计算机、膝上型计算机、台式计算机等)。
系统100可包括网络接口(I/F)模块102、处理器104、存储系统105和存储器108。系统100的部件通信地耦接到总线或软件通信机制120以用于彼此通信。
在一些实施方式中,软件通信机制120可以是对象总线(例如,公共对象请求代理体系结构(CORBA))、软件模块间的直接套接字通信(例如,传输控制协议/网际协议(TCP/IP)套接字)、远程过程调用、用户数据报协议 (UDP)广播和接收、超文本传输协议(HTTP)连接、功能或过程调用等。另外,任何或所有通信都可以是安全的(Secure Shell(SSH)、HTTPSecure(HTTPS) 等)。软件通信机制120可在任何底层硬件(例如,网络、互联网、总线、它们的组合等)上实现。
网络接口(I/F)模块102被配置为将系统100连接到网络和/或其他系统。例如,网络接口模块102可实现通过互联网、电缆网络和有线网络中的一个或多个的通信。网络接口模块102将处理器104链接到网络,该网络可继而耦接到其他处理系统(例如,客户端设备、服务器设备)。网络接口模块102还提供到网络的其他常规连接,以用于使用标准网络协议(诸如但不限于TCP/IP、HTTP、HTTPS和简单邮件传输协议(SMTP))来分配和/或检索文件和/或媒体对象,如将会理解的。在一些实施方式中,网络接口模块102 包括用于使用Wi-Fi、或蜂窝通信来发送和接收信号以进行无线通信的收发器。
网络接口模块102可允许客户端和/或服务器设备将数据存储到存储系统105并且从该存储系统检索数据(例如,通过网络)。例如,网络接口模块102可允许系统100的一个或多个部件充当网络访问存储装置或充当存储设备阵列。
网络可以是传统类型、有线或无线中的一种,并且可具有许多不同配置,包括星形配置、令牌环配置或其他配置。此外,网络可包括局域网(LAN)、广域网(WAN)(例如,互联网)、和/或多个设备可通过其进行通信的其他互连数据路径。在一些实施方式中,网络可以是对等网络。网络可还与电信网络的部分耦接或包括电信网络的部分,以用于使用各种不同通信协议发送数据。在一些实施方式中,网络可包括蓝牙(或蓝牙低功耗)通信网络或蜂窝通信网络,以用于发送和接收数据,包括经由短消息服务(SMS)、多媒体消息服务(MMS)、HTTP、直接数据连接、无线应用协议(WAP)、电子邮件等。
处理器104可包括算术逻辑单元、微处理器、通用控制器或一些其他处理器阵列,以执行计算并且向显示设备提供电子显示信号。在一些实施方式中,处理器104是具有一个或多个处理核心的硬件处理器。处理器104耦接到总线120以用于与系统100的其他部件通信。处理器104处理数据信号,并且可包括各种计算体系结构,包括复杂指令集计算机(CISC)体系结构、精简指令集计算机(RISC)体系结构、或实现指令集组合的体系结构。尽管在图 1的示例中仅示出了单个处理器,但是多个处理器和/或处理核心可包括在内。应当理解,其他处理器配置是可能的。
存储器108存储可由处理器104执行的指令和/或数据。存储器108耦接到总线120以用于与系统100的其他部件通信。存储在存储器108中的指令和/或数据可包括用于执行本文所述的任何和/或所有技术的代码。存储器 108可以是例如易失性存储器,诸如动态随机存取存储器(DRAM)设备、静态随机存取存储器(SRAM)设备、或一些其他易失性存储器设备。在一些实施方式中,存储器108还包括非易失性存储器或类似的永久存储设备和介质(例如,硬盘驱动器、软盘驱动器、光盘只读存储器(CD-ROM)设备、数字通用磁盘只读存储器(DVD-ROM)设备,数字通用磁盘随机存取存储器(DVD-RAM)设备、数字通用磁盘可重写(DVD-RW)设备、闪速存储器设备、或一些其他非易失性存储设备)。在一些实施方式中,存储器108存储磁盘管理器110。在图示实施方式中,磁盘管理器110包括自动RAID配置器152。
存储系统105是数据存储系统,该数据存储系统可存储关于任何类型的可写存储介质的附接阵列的信息,本文中有时称为单数的“存储设备”或复数的“存储设备”。存储设备的示例包括但不限于磁盘或磁带、光盘(例如, CD-ROM或DVD)、闪速存储器、固态驱动器(SSD)、电子随机存取存储器(RAM)、适于存储信息(包括数据和奇偶校验信息)的微机电和/或任何其他类似介质。然而,如本文示例性地描述的,信息被存储在硬盘驱动器(HDD)的磁盘上。图1示出第一存储设备106a和第二存储设备106b。对一个存储设备106 或多个存储设备106的参考(没有附加到106的‘a’或‘b’标识符和/或没有前缀“第一”或“第二”)是指存储设备106的一个或多个一般实例。存储系统105可包括容纳在相同位置或通过存储区域网络物理地分配到不同位置的一个或多个附件。存储设备106被划分为一个或多个分区122。
图2是示出根据一种实施方式的示例性自动RAID配置器152的框图。在图示实施方式中,自动RAID配置器152包括模型模块202、基于模板的分区器204和RAID创建器206。但是,应当认识到,图2仅仅是一种实施方式。其他实施方式可包括不同的部件或组织。
模型模块202管理一个或多个模型。模型的管理可包括创建模型,接收角色和识别与该角色相关联的模型,以及基于模型来识别与该角色相关联的模板中的一个或多个。
在一种实施方式中,模型定义与系统100中的存储设备106的角色相关联的模板。模板(在本文中也称为“分区模板”)定义了在应用模板时要配置给存储设备106的一个或多个分区。在一些实施方式中,模型可以是用户创建的和/或可修改的。例如,在一种实施方式中,模型模块202可接收用户输入(例如,经由命令行界面或图形用户界面(GUI)),从而创建定义模板的模型,该模板包括与“具有用于元数据的附加分区的操作系统磁盘”角色相关联的‘grub’、‘root’、‘swap’、‘var’和‘meta’分区以及每个分区的安装点和大小。在一些实施方式中,模型可被预设(例如,硬编码或作为默认)。
在一些实施方式中,模板定义要配置的分区中的一个或多个的大小。在一些实施方式中,分区的大小可以是成比例的(例如,配置的存储设备106 的总大小的百分比)。在一些实施方式中,分区的大小可以是绝对的(例如,给定的字节数)。在一些实施方式中,分区的大小可被约束(例如,分区可具有最小大小、最大大小或这两者)。
模型模块202接收存储设备106的角色,并且使用模型来确定与该角色相关联的预定义分区模板。在一些实施方式中,模型模块202从用户接收存储设备106的角色。例如,在一些实施方式中,模型模块202接收输入(例如,经由命令行界面或GUI),从而将第一存储设备106a识别为具有“具有用于元数据的附加分区的操作系统磁盘”的角色。在一些实施方式中,模型模块202通过自动确定(例如,经由启发法或规则)存储设备106的角色来接收存储设备106的角色。例如,假设第一存储设备106a是空HDD。在一些实施方式中,模型模块202确定第一存储设备106a的角色是“具有用于元数据的附加分区的操作系统磁盘”,这与模板(例如,具有上述分区的模板) 相关联。
基于模板的分区器204将模板应用于存储设备106。例如,假设第一存储设备106a和第二存储设备106b是要配置的两个空HDD。此外,假设模型模块202确定第一存储设备106a的角色是“具有用于元数据的附加分区的操作系统磁盘”,并且第二存储设备106b的角色是“具有用于元数据的附加分区的操作系统磁盘”。在一种实施方式中,基于模板的分区器204应用模板,该模板包括‘grub’、‘root’、‘swap’、‘var’和‘meta’分区以及每个分区的安装点和大小。例如,基于模板的分区器204将第一存储设备106a的磁盘分区布局填充为:
{'buslocation':'sg1',
'device':'sda',
'disktype':'HDD',
'serial':'HARDDISK_VBedf551cb-d6d08cb2',
'size':122880,
'partition':[
{'label':'grub','mountpoint':",'partbegin':1,'partend': 512,'partnumber':1}
{'label':'root','mountpoint':'/','partbegin':512, 'partend':25003,'partnumber':2},
{'label':'swap','mountpoint':'swap','partbegin':25003, 'partend':27003,'partnumber':3},
{'label':'var','mountpoint':'/var','partbegin':27003, 'partend':77003,'partnumber':4},
{'label':'meta','mountpoint':'/mnt/metal','partbegin': 77003,'partend':122879,'partnumber':5}]
并且,基于模板的分区器204将第二存储设备106b的磁盘分区布局填充为:
{'buslocation':'sg2',
'device':'sdb',
'disktype':'HDD',
'serial':'HARDDISK_VBd9d5a5eb-7ab69280',
'size':122880,
'partition':[
{'label':'grub','mountpoint':",'partbegin:1,'partend':512, 'partnumber':1}
{'label':'root','mountpoint':'/','partbegin:512,'partend': 25003,'partnumber':2},
{'label':'swap','mountpoint':'swap','partbegin:25003, 'partend':27003,'partnumber':3},
{'label':'var','mountpoint':'/var','partbegin:27003, 'partend':77003,'partnumber':4},
{'label':'meta','mountpoint':'/mnt/meta2','partbegin': 77003,'partend':122879,'partnumber':5}]
RAID创建器206确定两个分区是否与公共安装点相关联,并且为这些分区创建RAID,而不是像现有系统那样指示错误。例如,RAID创建器206 检测到上述示例中的多个分区具有相同的安装点,因此RAID创建器206为这些分区创建1级RAID并且更新磁盘布局以移除重复的安装点。例如,RAID 创建器206在两个磁盘的第二分区上为安装点‘/’创建RAID‘md0’:
{'device':'md0',
'label':'root',
'members':['/dev/sdb2','/dev/sda2'],
'mountpoint':'/',
'status':'ONLINE',
'uuid':'653ecld4-5e63-4ef8-8215-7857976a0dd2'}
RAID创建器206在两个磁盘的第四分区上为安装点‘/var’创建RAID ‘md1’:
{'device':'md1',
'label':'var',
'members':['/dev/sdb4','/dev/sda4'],
'mountpoint':'/var',
'status':'ONLINE',
'uuid':'3542289a-9a43-4a73-908c-ba26a7bdc86d'}
RAID创建器206在两个磁盘的第三分区上为安装点‘swap’的镜像交换创建RAID‘md2’:
{'device':'md2',
'label':'swap',
'members':['/dev/sdb3','/dev/sda3'],
'mountpoint':'swap',
'status':ONLINE',
'uuid':'f455e7f0-b9a7-4791-9b4d-1122ee2cb666'}
磁盘资源:
{'buslocation':'sg1',
'device':'sda',
'disktype':'HDD',
'serial':'HARDDISK_VBedf55 Icb-d6d08cb2',
'size':122880,
'partition':[
{'label':'grub','mountpoint':",'partnumber':1'partbegin': 1,'partend':512,'partnumber':2}
{'label':'root','mountpoint':",'partbegin':512,'partend': 25003,'partnumber':2},
{'label':'swap','mountpoint':",'partbegin':25003, 'partend':27003,'partnumber':3},
{'label':'var','mountpoint':",'partbegin':27003,'partend': 77003,'partnumber':4},
{'label':'meta','mountpoint':'/mnt/metal','partbegin': 77003,'partend'122879,'partnumber':5}]
{'buslocation':'sg2',
'device':'sdb',
'disktype':'HDD',
'serial':'HARDDISK_VBd9d5a5eb-7ab69280',
'size':122880,
'partition':[
{'label':'grub','mountpoint':",'partbegin':1,'partend': 512,'partnumber':1}
{'label':'root','mountpoint':",'partbegin':512,'partend': 25003,'partnumber':2},
{'label':'swap','mountpoint':",'partbegin':25003, 'partend':27003,'partnumber':3},
{'label':'var','mountpoint':",'partbegin':27003,'partend': 77003,'partnumber':4},
{'label':'meta','mountpoint':'/mnt/meta2','partbegin': 77003,'partend':122879,'partnumber':5}]
在一种实施方式中,在自动建模之后,RAID用户经由RAID创建器206 可在配置实际系统之前修改或移除所提出的RAID。配置首先在磁盘上部署分区布局(使用基于模板的分区器204),然后创建(使用RAID创建器206) 建模的RAID。上文的示例仅仅是自动创建阵列的示例,并且是为了清楚和方便而提供的。应当认识到存在其他示例并且这些示例在本公开的范围内。
在一些实施方式中,自动RAID配置器152可将附加磁盘或其分区添加到现有RAID。例如,继续上文讨论的示例,假设将新的存储设备106(例如,第三HDD)添加到系统100(未示出)。另外假设模型模块202确定新存储设备可具有“操作系统磁盘”的角色,并且基于该模型,分区模板定义以下分区布局,该分区布局由基于模板的分区器204实现:
{'buslocation':'sg3',
'device':'sdc',
'disktype':'HDD',
'serial':'HARDDISK_VBedf551cb-f8sdf99d',
'size':200000,
'partition':[
{'label':'grub','mountpoint':",'partbegin':1,'partend': 512,'partnumber':1}
{'label':'root','mountpoint':'/”partbegin':512,'partend': 25003,'partnumber':2},
{'label':'meta','mountpoint':'/”mnt/meta3':'partbegin': 77003,'partend'200000,'partnumber':3}]
在一些实施方式中,RAID创建器206再次检测到重复安装点(即,‘/’),但是现在在现有RAID(例如,md0)和当前不在RAID(例如,sdc)中的存储设备106之间,而不是在两个不在RAID中的存储设备106之间(例如,在创建RAID md0之前)。RAID创建器206将与重复安装点相关联的分区自动添加到现有RAID。
RAID资源:
{'device':'md0',
'label':'root',
'members':['/dev/sdb2','/dev/sda2','/dev/sdc2'],
'mountpoint':'/',
'status':'ONLINE',
'uuid':'653ecld4-5e63-4ef8-8215-7857976a0dd2'},
磁盘资源:将安装点‘/’从磁盘‘sdc’的第二分区中移除
{'buslocation':'sg3',
'device':'sdc',
'disktype':'HDD',
'serial':'HARDDISK_VBedf551cb-f8sdf99d',
'size':200000,
'partition':[
{'label':'grub','mountpoint':",'partbegin':1,'partend': 512,'partnumber':1}
{'label':'root','mountpoint':",'partbegin':512,'partend': 25003,'partnumber':2},
{'label':'meta','mountpoint':",'/mnt/meta3','partbegin': 77003,'partend':200000,'partnumber':3}]
在一些实施方式中,当存储设备106(例如,磁盘)被替换时,即使当新的存储设备与在大小和型号类型中的一个或多个中被替换的原始存储设备106不完全匹配时,自动RAID配置器152可重新组装RAID。在一些实施方式中,RAID的重新组装类似于添加附加存储设备106,不同之处在于已经配置并且包括在阵列中的存储设备106从系统和存储设备106所属的一个或多个RAID中物理地移除。
图3和图4是根据一种实施方式的可由图1和图2的系统执行的示例性方法。然而,应当认识到,图3和图4的方法仅仅是示例,并且本文的公开内容适用于可包括附加的,更少的或不同的步骤并且可以以不同的顺序执行那些步骤的其他方法。
图3是根据一种实施方式的用于自动RAID配置的示例性方法300的流程图。在302处,自动RAID配置器152的模型模块202接收第一存储设备 106a的角色。在304处,模型模块202接收第二存储设备106b的角色。在 306处,模型模块202基于第一存储设备106a的角色来确定分区模板。在 308处,模型模块202基于第二存储设备106b的角色来确定分区模板。在 310处,基于模板的分区器204将分区模板应用于第一存储设备106a,该分区模板基于第一存储设备106a的角色来确定。在312处,基于模板的分区器204将分区模板应用于第二存储设备106b,该分区模板基于第二存储设备 106b的角色来确定。在314处,RAID创建器206确定与第一存储设备相关联的第一分区(例如,分区A1 122a1)以及与第二存储设备相关联的第二分区(例如,分区B1 122b1)与公共安装点相关联。在316处,RAID创建器 206将与公共安装点相关联的与第一存储设备相关联的第一分区(例如,分区A1 122a1)以及与第二存储设备相关联的第二分区(例如,分区B1 122b1) 自动添加到RAID。
图4是根据一种实施方式的用于RAID的自动重新组装的示例性方法400 的流程图。在402处,自动RAID配置器152的模型模块202接收与第一存储设备106a相关联的角色。在404处,模型模块202基于第一存储设备106a 的角色来确定分区模板。在406处,基于模板的分区器204将分区模板应用于第一存储设备106a,该分区模板基于第一存储设备106a的角色来确定。在408处,RAID创建器206自动确定与第一存储设备相关联的分区包括与第二存储设备的分区共同的安装点,该第二存储设备和第三存储设备先前属于 RAID,该第三存储设备已从系统中物理地移除。在410处,RAID创建器206 自动重新组装RAID,其中第一存储设备替换第三存储设备,因此重新组装的 RAID包括第一存储设备的分区和第二存储设备的分区。
在以上描述中,出于解释的目的,阐述了许多具体细节。然而,将显而易见的是,可以在没有这些具体细节的任何给定子集的情况下实践所公开的技术。在其他情况下,结构和设备以框图形式示出。例如,在上文参考用户界面和特定硬件的一些实施方式中描述了所公开的技术。
说明中提到的“一种实施方式”或“实施方式”是指结合实施方式描述的特定特征、结构或特性被包括在所公开的技术的至少一种实施方式中。在说明书中各处出现的短语“在一种实施方式中”不一定都指的是相同的实施方式。
上文的详细描述的一些部分可根据对计算机存储器内的数据位的操作的过程和符号表示来呈现。通常可将过程视为导致结果的自相一致的步骤序列。这些步骤可能涉及物理量的物理操纵。这些量采取能够被存储、传输、组合、比较以及以其他方式操纵的电信号或磁信号的形式。这些信号可被称为位、值、元素、符号、字符、术语、数字等的形式。
这些和类似的术语可与适当的物理量相关联,并且可被认为是应用于这些量的标签。除非从先前的讨论中明显地另外明确说明,否则应当理解,在整个描述中,利用术语例如“处理”或“运算”或“计算”或“确定”或“显示”等的讨论可以指计算机系统或类似电子计算设备的动作和过程,该计算机系统或类似电子计算设备操纵表示为计算机系统寄存器和存储器中的物理(电子)量的数据,并且将该数据转换为类似地表示为计算机系统存储器或寄存器或其他这样的信息存储装置、传送或显示设备中的物理量的其他数据。
所公开的技术还可涉及用于执行本文操作的装置。该装置可以为所需目的而专门构造,或者其可包括由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。这样的计算机程序可被存储在计算机可读存储介质中,例如但不限于任何类型的盘,包括软盘、光盘、CD-ROM、和磁盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡、闪速存储器(包括具有非易失性存储器的USB密钥)或适用于存储电子指令的任何类型的介质,各自耦接到计算机系统总线。
所公开的技术可采取完全硬件实现、完全软件实现或包含硬件和软件元素的实现的形式。在一些实施方式中,该技术以软件实现,该软件包括但不限于固件、常驻软件、微代码等。
此外,所公开的技术可采取可从非暂时性计算机可用或计算机可读介质访问的计算机程序产品的形式,该计算机可用或计算机可读介质提供程序代码以供计算机或任何指令执行系统使用或与其结合使用。出于该描述的目的,计算机可用或计算机可读介质可以是任何装置,该装置可包含、存储、传送、传播或传输程序以供指令执行系统、装置或设备使用或与其结合使用。
适用于存储和/或执行程序代码的计算系统或数据处理系统将包括直接或通过系统总线间接耦接到存储器元件的至少一个处理器(例如,硬件处理器)。存储器元件可包括在程序代码的实际执行期间采用的本地存储器、大容量存储装置、和高速缓存存储器,该高速缓存存储器提供至少一些程序代码的临时存储,以便减少在执行期间必须从大容量存储装置检索代码的次数。
输入/输出或I/O设备(包括但不限于键盘、显示器、指示设备等)可直接或通过中间I/O控制器耦接到系统。
网络适配器还可耦接到系统,以使得数据处理系统能够通过中间专用或公共网络耦接到其他数据处理系统或远程打印机或存储设备。调制解调器、电缆调制解调器和以太网卡只是当前可用类型的网络适配器中的少数几种。
最后,本文中呈现的过程和显示可能不固有地与任何特定计算机或其他装置相关。根据本文的教导,各种通用系统可与程序一起使用,或者可以证明构造更专用的装置以执行所需的方法步骤是方便的。从上面的描述中将显而易见的是各种这些系统所需的结构。另外,没有参考任何特定编程语言来描述所公开的技术。应当理解,可以使用各种编程语言来实现如本文所述的技术的教导。
已经出于说明和描述的目的呈现了对本发明技术和科技的实现的前述描述。它并非旨在是穷尽的或将本发明技术和科技限制为所公开的精确形式。根据以上教导内容,很多修改形式和变型形式都是可能的。意图是本发明技术和科技的范围不受该详细描述的限制。本发明技术和科技可以其他具体形式实现而不背离其精神或基本特征。同样,模块、例程、特征、属性、方法和其他方面的特定命名和划分不是强制性的或重要的,并且实现本发明技术和科技或其特征的机制可具有不同的名称、划分和/或格式。此外,本发明技术的模块、例程、特征、属性、方法和其他方面可被实现为软件、硬件、固件或三者的任何组合。此外,无论部件(其示例是模块)在何处被实现为软件,该部件都可被实现为独立程序,实现为较大程序的一部分,实现为多个单独的程序,实现为静态或动态链接库,实现为内核可加载模块,实现为设备驱动程序,并且/或者以现在或将来在计算机编程中已知的每种和任何其他方式实现。另外,本发明技术和科技绝不限于以任何特定编程语言或用于任何特定操作系统或环境的实现。因此,本发明技术和科技的公开内容旨在说明而非限制。
Claims (20)
1.一种用于独立磁盘冗余阵列的自动配置的计算机实现的方法,包括:
使用一个或多个处理器自动确定与第一存储设备相关联的第一分区以及与第二存储设备相关联的第二分区与公共安装点相关联;以及
使用所述一个或多个处理器将所述第一分区和所述第二分区自动添加到独立磁盘冗余阵列即RAID。
2.根据权利要求1所述的计算机实现的方法,还包括:
接收所述第一存储设备的角色;
基于所述第一存储设备的所述角色来确定第一分区模板;以及
将所述第一分区模板应用于所述第一存储设备。
3.根据权利要求2所述的计算机实现的方法,还包括:
接收所述第二存储设备的角色;
基于所述第二存储设备的所述角色来确定第二分区模板;以及
将所述第二分区模板应用于所述第二存储设备。
4.根据权利要求2所述的计算机实现的方法,其中所述分区模板定义一个或多个分区以及与所述一个或多个分区相关联的对应安装点。
5.根据权利要求1所述的计算机实现的方法,还包括:
自动确定与第三存储设备相关联的第三分区与所述公共安装点相关联;以及
将所述第三分区自动添加到所述RAID。
6.根据权利要求5所述的计算机实现的方法,其中所述第三存储设备替换所述第一存储设备和所述第二存储设备中的一个,并且将所述第三分区添加到所述RAID重新组装所述RAID。
7.根据权利要求5所述的计算机实现的方法,其中所述第三存储设备是所述第一存储设备和所述第二存储设备的补充。
8.一种用于独立磁盘冗余阵列的自动配置的系统,包括:
处理器;和
非暂时性计算机能用介质,所述非暂时性计算机能用介质存储指令,所述指令在由所述处理器执行时使得所述系统:
自动确定与第一存储设备相关联的第一分区以及与第二存储设备相关联的第二分区与公共安装点相关联;以及
将所述第一分区和所述第二分区自动添加到独立磁盘冗余阵列即RAID。
9.根据权利要求8所述的系统,其中所述指令在由所述处理器执行时进一步使得所述系统:
接收所述第一存储设备的角色;
基于所述第一存储设备的所述角色来确定第一分区模板;以及
将所述第一分区模板应用于所述第一存储设备。
10.根据权利要求9所述的系统,其中所述指令在由所述处理器执行时进一步使得所述系统:
接收第二存储设备的角色;
基于所述第二存储设备的所述角色来确定第二分区模板;以及
将所述第二分区模板应用于所述第二存储设备。
11.根据权利要求9所述的系统,其中所述分区模板定义一个或多个分区以及与所述一个或多个分区相关联的对应安装点。
12.根据权利要求8所述的系统,其中所述指令在由所述处理器执行时进一步使得所述系统:
自动确定与第三存储设备相关联的第三分区与所述公共安装点相关联;以及
将所述第三分区自动添加到所述RAID。
13.根据权利要求12所述的系统,其中所述第三存储设备替换所述第一存储设备和所述第二存储设备中的一个,并且将所述第三分区添加到所述RAID重新组装所述RAID。
14.根据权利要求12所述的系统,其中所述第三存储设备是所述第一存储设备和所述第二存储设备的补充。
15.一种非暂时性计算机能用介质,所述非暂时性计算机能用介质包括计算机可读程序,所述计算机可读程序在计算机上执行时使得所述计算机执行包括以下各项的操作:
自动确定与第一存储设备相关联的第一分区以及与第二存储设备相关联的第二分区与公共安装点相关联;以及
将所述第一分区和所述第二分区自动添加到独立磁盘冗余阵列即RAID。
16.根据权利要求15所述的非暂时性计算机能用介质,其中所述计算机可读程序在计算机上执行时进一步使得所述计算机执行包括以下各项的操作:
接收所述第一存储设备的角色;
基于所述第一存储设备的所述角色来确定第一分区模板;以及
将所述第一分区模板应用于所述第一存储设备。
17.根据权利要求16所述的非暂时性计算机能用介质,其中所述计算机可读程序在计算机上执行时进一步使得所述计算机执行包括以下各项的操作:
接收第二存储设备的角色;
基于所述第二存储设备的所述角色来确定第二分区模板;以及
将所述第二分区模板应用于所述第二存储设备。
18.根据权利要求16所述的非暂时性计算机能用介质,其中所述分区模板定义一个或多个分区以及与所述一个或多个分区相关联的对应安装点。
19.根据权利要求15所述的非暂时性计算机能用介质,其中所述计算机可读程序在计算机上执行时进一步使得所述计算机执行包括以下各项的操作:
自动确定与第三存储设备相关联的第三分区与所述公共安装点相关联;以及
将所述第三分区自动添加到所述RAID。
20.根据权利要求19所述的非暂时性计算机能用介质,其中所述第三存储设备替换所述第一存储设备和所述第二存储设备中的一个,并且将所述第三分区添加到所述RAID重新组装所述RAID。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/243,692 | 2016-08-22 | ||
US15/243,692 US10365837B2 (en) | 2016-08-22 | 2016-08-22 | Automatic RAID provisioning |
PCT/IB2017/053501 WO2018037293A1 (en) | 2016-08-22 | 2017-06-13 | Automatic raid provisioning |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109416619A CN109416619A (zh) | 2019-03-01 |
CN109416619B true CN109416619B (zh) | 2022-04-01 |
Family
ID=59270062
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780038765.6A Active CN109416619B (zh) | 2016-08-22 | 2017-06-13 | 用于自动raid配置的方法、系统和计算机能用介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10365837B2 (zh) |
CN (1) | CN109416619B (zh) |
DE (1) | DE112017004173T5 (zh) |
WO (1) | WO2018037293A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110781164B (zh) * | 2019-09-29 | 2022-07-05 | 苏州浪潮智能科技有限公司 | 一种数据库一体机的设计方法、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7454566B1 (en) * | 2005-05-02 | 2008-11-18 | Nvidia Corporation | System and method for adaptive RAID configuration |
CN101685379A (zh) * | 2008-09-27 | 2010-03-31 | 佛山市顺德区汉达精密电子科技有限公司 | 磁盘阵列重建系统及其重建方法 |
CN102099794A (zh) * | 2008-06-06 | 2011-06-15 | 赛门铁克公司 | 控制备份操作中的资源分配 |
CN105824572A (zh) * | 2015-01-05 | 2016-08-03 | 中兴通讯股份有限公司 | 一种磁盘存储空间管理方法、装置及存储设备 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7107534B1 (en) * | 1998-03-24 | 2006-09-12 | Adaptec, Inc. | Storage area network administration |
US6119131A (en) | 1998-06-12 | 2000-09-12 | Microsoft Corporation | Persistent volume mount points |
US7418439B2 (en) * | 2000-03-17 | 2008-08-26 | Twin Peaks Software, Inc. | Mirror file system |
US7000231B1 (en) * | 2000-09-22 | 2006-02-14 | Hewlett-Packard Development Company, L.P. | Method of manufacturing operating system master template, method of manufacturing a computer entity and product resulting therefrom, and method of producing a production version of an operating system |
US7117304B2 (en) * | 2003-06-03 | 2006-10-03 | Sun Microsystems, Inc. | System and method for determining a file system layout |
US7574623B1 (en) * | 2005-04-29 | 2009-08-11 | Network Appliance, Inc. | Method and system for rapidly recovering data from a “sick” disk in a RAID disk group |
US7475278B2 (en) * | 2005-11-15 | 2009-01-06 | International Business Machines Corporation | Method, system and computer program product for recovery of formatting in repair of bad sectors in disk drives |
US7886292B2 (en) * | 2006-10-05 | 2011-02-08 | International Business Machines Corporation | Methodology of individualized software deployment for hardware-independent personal computer mass development |
US20130304705A1 (en) * | 2012-05-11 | 2013-11-14 | Twin Peaks Software, Inc. | Mirror file system |
US9213611B2 (en) | 2013-07-24 | 2015-12-15 | Western Digital Technologies, Inc. | Automatic raid mirroring when adding a second boot drive |
US20160139834A1 (en) * | 2014-11-14 | 2016-05-19 | Cisco Technology, Inc. | Automatic Configuration of Local Storage Resources |
US20170235512A1 (en) * | 2014-12-11 | 2017-08-17 | Hitachi, Ltd. | Configuration of storage using profiles and templates |
WO2016137502A1 (en) * | 2015-02-27 | 2016-09-01 | Hewlett Packard Enterprise Development Lp | Analyzing hardware systems |
US10423588B2 (en) * | 2015-08-25 | 2019-09-24 | International Business Machines Corporation | Orchestrated disaster recovery |
-
2016
- 2016-08-22 US US15/243,692 patent/US10365837B2/en active Active
-
2017
- 2017-06-13 WO PCT/IB2017/053501 patent/WO2018037293A1/en active Application Filing
- 2017-06-13 DE DE112017004173.2T patent/DE112017004173T5/de active Pending
- 2017-06-13 CN CN201780038765.6A patent/CN109416619B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7454566B1 (en) * | 2005-05-02 | 2008-11-18 | Nvidia Corporation | System and method for adaptive RAID configuration |
CN102099794A (zh) * | 2008-06-06 | 2011-06-15 | 赛门铁克公司 | 控制备份操作中的资源分配 |
CN101685379A (zh) * | 2008-09-27 | 2010-03-31 | 佛山市顺德区汉达精密电子科技有限公司 | 磁盘阵列重建系统及其重建方法 |
CN105824572A (zh) * | 2015-01-05 | 2016-08-03 | 中兴通讯股份有限公司 | 一种磁盘存储空间管理方法、装置及存储设备 |
Also Published As
Publication number | Publication date |
---|---|
US10365837B2 (en) | 2019-07-30 |
US20180052623A1 (en) | 2018-02-22 |
WO2018037293A1 (en) | 2018-03-01 |
CN109416619A (zh) | 2019-03-01 |
DE112017004173T5 (de) | 2019-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10289400B2 (en) | Outdated resource handling and multiple-version upgrade of cloud software | |
US11119745B2 (en) | Automated deployment of applications | |
CN107491329B (zh) | Docker镜像构建方法、设备、存储介质以及电子装置 | |
US9547564B1 (en) | Automated deployment of applications | |
JP2018533125A (ja) | ビジュアルコンテンツ開発 | |
CN104765620A (zh) | 一种程序模块部署的方法和系统 | |
CN103368767A (zh) | 用于具有故障的云中的高效应用管理的方法和系统 | |
CN104516730A (zh) | 一种数据处理方法和装置 | |
CN105100127A (zh) | 用于验证在云计算环境中的应用部署拓扑的设备和方法 | |
US11762644B2 (en) | Agentless installation for building deployments | |
CN106155745A (zh) | 基本输入输出系统的升级方法、装置和系统 | |
JP2023036774A (ja) | 共有メモリのアクセス制御方法、共有メモリのアクセス制御装置、電子機器および自動運転車両 | |
US20130167112A1 (en) | Cross-platform virtual machine and method | |
US10298656B2 (en) | Extending representational state transfer application program interface (REST API) functionality | |
US10067861B2 (en) | Efficient software testing | |
US10649752B2 (en) | Sharing data and applications across computing systems | |
CN109416619B (zh) | 用于自动raid配置的方法、系统和计算机能用介质 | |
JP2022083436A (ja) | コンピュータ実装方法、コンピュータプログラム及びコンピュータシステム(コンテナ化されたコンピューティング環境) | |
CN111459506B (zh) | 深度学习平台集群的部署方法、装置、介质及电子设备 | |
CN105447033A (zh) | 在复制初始化中生成初始副本的方法和装置 | |
US10459709B1 (en) | Automated deployment of applications | |
US20200293615A1 (en) | Dynamic text correction | |
WO2022199324A1 (en) | Run-time communications protocol parameter adjustment in containerized applications | |
US10296331B2 (en) | Log-based software porting | |
US20230401087A1 (en) | Method and system for automated migration of high performance computing application to serverless platform |
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 |