CN102117213A - 使用独立磁盘冗余阵列的计算机系统的开机方法 - Google Patents
使用独立磁盘冗余阵列的计算机系统的开机方法 Download PDFInfo
- Publication number
- CN102117213A CN102117213A CN2009102158907A CN200910215890A CN102117213A CN 102117213 A CN102117213 A CN 102117213A CN 2009102158907 A CN2009102158907 A CN 2009102158907A CN 200910215890 A CN200910215890 A CN 200910215890A CN 102117213 A CN102117213 A CN 102117213A
- Authority
- CN
- China
- Prior art keywords
- hard disk
- computer system
- stored
- data
- starting
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及使用独立磁盘冗余阵列的计算机系统的开机方法,包含:检查目前设于计算机系统的第一数量个硬盘其中一硬盘所储存的一标识符,是否为计算机系统所记录的多个标识符之一;以及于确认该硬盘所储存的标识符为计算机系统所记录的多个标识符之一后,进行标识符更新程序,以更新计算机系统中的多个标识符及第一数量个硬盘所储存的第一数量个标识符。
Description
技术领域
本发明涉及一种使用独立磁盘冗余阵列的计算机系统的开机方法,特别是有关于一种根据计算机系统的硬盘属性数据进行开机程序的方法。
背景技术
独立磁盘冗余阵列(Redundant Array of Independent Disks,RAID)是一种管理数据储存空间的技术,可以软件或硬件达成,其不仅将多个小容量的硬盘整合为一大容量的硬盘,并且提供数据保护的功能。独立磁盘冗余阵列技术广泛应用于需要多个硬盘的计算机系统中,如网络储存系统(NetworkAttached Storage,NAS)。独立磁盘冗余阵列技術分为不同等级,如RAID-0、RAID-1、RAID-5、RAID-6等。独立磁盘冗余阵列技术RAID-0称为等量模式,是将计算机系统中的每一硬盘切割为等量的区块,于每一硬盘中取固定大小的区块组成一数据卷(DataVolume),当有数据欲储存于计算机系统时,独立磁盘冗余阵列技术RAID-0根据计算机系统中硬盘的数量,将数据分段写入数据卷。由于数据平均分散于多个硬盘,使用独立磁盘冗余阵列技术RAID-0时的数据传输速率以硬盘的数量倍增。独立磁盘冗余阵列技术RAID-0没有备份功能,当计算机系统中任何一个硬盘无法使用,所有的数据都会丢失。独立磁盘冗余阵列技术RAID-1称为镜射模式,是在写入数据至计算机系统的主硬盘的同时,也写入相同数据至镜射硬盘。独立磁盘冗余阵列技术RAID-1所进行的完整备份动作,使得主硬盘损坏时,镜射硬盘能够代替主硬盘的工作。
网络储存系统是一种通过网络提供不同计算机系统间进行档案存取及管理的储存设备。由于数据存放在网络储存系统而非网络服务器中,使用数据存取服务的时间不受到网络服务器的电源关闭所限制,并且档案数据也更容易管理。以网络储存系统为例,公知网络储存系统使用软件方式的独立磁盘冗余阵列技术RAID-1管理网络储存系统中的操作系统数据,然而,当使用二个均以独立磁盘冗余阵列技术RAID-1管理的网络储存系统A与网络储存系统B时,若使用者将网络储存系统B的一个硬盘取下,放置到网络储存系统A时,网络储存系统A无法辨认出新增的硬盘是来自于自身以外的网络储存系统,且由于独立磁盘冗余阵列技术RAID-1的镜射特性,网络储存系统A中存放的操作系统数据与新增的网络储存系统B的硬盘中存放的操作系统数据可能会相互干扰,相关描述可以图1及图2表示。
在图1及图2中,网络储存系统A及网络储存系统B可分别容纳四个硬盘,斜线区域表示网络储存系统B的硬盘操作系统区块,格状区域表示网络储存系统A的硬盘操作系统区块。图1描述一硬盘10(于附图中仅描述其操作系统区块)由网络储存系统B取下,放置到网络储存系统A,并且网络储存系统A使用新增的硬盘10作为开机硬盘,此时储存于硬盘10的网络储存系统B的操作系统数据复写(Copy)至网络储存系统A的所有操作系统区块;换言之,网络储存系统A的操作系统数据被网络储存系统B的操作系统数据同步。如此一来,网络储存系统A中除硬盘10以外的其它硬盘,将因为操作系统数据与硬盘不匹配而无法完成开机程序。图2描述硬盘10由网络储存系统B取下,放置到网络储存系统A,并且网络储存系统A使用自身的硬盘作为开机硬盘,此时网络储存系统A的硬盘的操作系统数据复写至硬盘10的操作系统区块;换言之,硬盘10原本储存的网络储存系统B的操作系统数据,被网络储存系统A的操作系统数据同步。在图2的情形下,若使用者取出硬盘10再放回网络储存系统B,储存于硬盘10的网络储存系统A的操作系统数据,可能会复写至网络储存系统B中其它硬盘的操作系统区块,导致操作系统数据与硬盘不匹配,无法完成开机程序。
此外,由于独立磁盘冗余阵列技术RAID-0是将数据均分储存于所有硬盘,无备份功能,当网络储存系统在其中一个硬盘未锁紧的情形下进行开机程序,正常安装的硬盘的操作系统数据会随开机程序而被更新,而未锁紧的硬盘将无法被辨识。之后,即使将松脱的硬盘锁紧并再次开机,由于此硬盘的操作系统数据与其它正常安装的硬盘的操作系统数据已不相同,导致网络储存系统无法辨识此硬盘,网络储存系统所有的数据卷等于是损毁状态。
简言之,若二个皆使用独立磁盘冗余阵列技术RAID-1的网络储存系统之间发生硬盘抽换的动作,独立磁盘冗余阵列技术RAID-1的镜射特性可能造成二个网络储存系统中的操作系统数据相互复写,使得网络储存系统无法辨认其中部分硬盘而无法完成开机程序;另一方面,若网络储存系统在有硬盘未正常连接的情形下进行开机程序,根据独立磁盘冗余阵列技术RAID-0所产生的数据卷可能会损毁,即使重新锁紧硬盘,使用者也无法存取数据卷。上述问题可能发生在所有使用独立磁盘冗余阵列技术的计算机系统上,降低了计算机系统使用硬盘的稳定性。
发明内容
因此,本发明的主要目的即在于提供一种用于使用独立磁盘冗余阵列管理硬盘的计算机系统的开机方法。
本发明涉及一种用于使用独立磁盘冗余阵列管理硬盘的计算机系统的开机方法,包含有检查目前设于计算机系统中的第一数量个硬盘其中一硬盘所储存的标识符,是否为计算机系统所记录的多个标识符之一,多个标识符彼此相异,对应于计算机系统所有可使用的硬盘;以及于确认硬盘所储存的标识符为计算机系统所记录的多个标识符之一后,进行一标识符更新程序,以更新该计算机系统所记录的多个标识符及第一数量个硬盘所储存的第一数量个标识符。
附图说明
图1及图2是公知二个网络储存系统系统中的操作系统数据相互干扰的示意图。
图3是本发明实施例一硬盘元数据的示意图。
图4是本发明实施例用于计算机系统的一开机流程的示意图。
图5是本发明实施例用来更新硬盘所储存的标识符的一流程的示意图。
图6是本发明实施例用来更新硬盘所储存的操作系统数据的时间信息的一流程的示意图。
图7是本发明实施例用来更新包含使用者专用的数据卷的硬盘数量的一流程的示意图。
其中,附图标记说明如下:
10 硬盘
40、50、60、70 流程
400、402、404、406、408、410、412、414、416、步驟
418、420、500、502、504、506、508、510、512、
514、516、600、602、604、606、608、610、612、
614、700、702、704、706、708、710、712、714、
716、718、720、722
具体实施方式
本发明用于使用独立磁盘冗余阵列(Redundant Array of IndependentDisks,RAID)技术并具有可抽换式硬盘的计算机系统,例如网络储存系统(Network Attached Storage,NAS),后文所述的硬盘皆是可抽换式硬盘的简称。本发明定义一硬盘元数据(Metadata),用来做为计算机系统硬盘的属性数据及相关信息,并根据硬盘元数据进行计算机系统的开机程序,以避免公知技术中因计算机系统无法辨认硬盘而导致开机程序失败或数据卷(DataVolume)损毁的问题。
请参考图3,图3是本发明实施例一硬盘元数据的示意图。图3的硬盘元数据的格式是一连续字符串,依序包含标识数据、数量数据及时间数据。其中,标识数据等於硬盘的标识符,用以辨认一硬盘是计算机系统自身的硬盘或是外来硬盘,可以是硬盘的媒体存取控制层(Medium Access Control,MAC)地址、由32个16进位数字所组成的通用唯一标识符(Universally UniqueIdentifier,UUID)或其它随机产生的长字符串,只要能够使每一硬盘的标识数据具有唯一性即可。数量数据是目前计算机系统中包含使用者专用的数据卷(Data Volume)的硬盘数量。时间数据则是有关操作系统写入硬盘的先后顺序的时间信息,以避免时间设定变更后无法判断操作系统数据新旧的状况。时间数据于每次计算机系统开机或有硬盘加入计算机系统时改变,时间数据的值在本发明一实施例中是以一递增形式表现;时间数据的值越大,表示硬盘所储存的操作系统数据越新。在此请注意,图3的硬盘元数据仅是本发明的一实施例,于本发明其它实施例中,标识数据、数量数据及时间数据的顺序可作其它安排,且标识数据、数量数据及时间数据的长度不限,可视需要设计。此外,计算机系统在硬盘上建立硬盘元数据时,亦可将标识数据、数量数据及时间数据存放在不连续的内存区块。而为了避免硬盘出现故障区块(Bad Block)导致计算机系统无法顺利完成开机,本发明在储存硬盘元数据时,同步储存一备份硬盘元数据,当硬盘元数据变更时,备份硬盘元数据亦将一并更新。
请参考图4,图4为本发明实施例用于以独立磁盘冗余阵列技术管理硬盘的计算机系统的一流程40的示意图,流程40是计算机系统的开机流程,其中揭示了计算机系统如何建立及使用硬盘元数据,计算机系统中可设置一个以上的硬盘。流程40包含有以下步骤:
步骤400:开始。
步骤402:判断系统初始化是否已完成。若是,进行步骤410;若否,进行步骤404。
步骤404:建立每一硬盘的硬盘元数据。
步骤406:判断系统初始化是否成功进行。若是,回到步骤400;若否,进行步骤408。
步骤408:产生一第一提示信息,以告知系统初始化失败。
步骤410:检查目前设于计算机系统的一硬盘所储存的标识符是否是计算机系统所记录的标识符之一。若是,进行步骤414;若否,进行步骤412。
步骤412:禁止该硬盘做为开机硬盘;回到步骤410,对另一硬盘进行检查。
步骤414:检查该硬盘所储存的操作系统数据的时间信息,是否是计算机系统中所有硬盘所储存的操作系统数据的时间信息中最新的。若是,进行步骤416;若否,进行步骤412。
步骤416:检查每一硬盘所储存的包含使用者专用的数据卷的硬盘数量是否与计算机系统正在使用的硬盘数量相等,以产生一第一检查结果,以及检查每一硬盘所储存的包含使用者专用的数据卷的硬盘数量是否皆相等,以产生一第二检查结果。若第一及第二检查结果皆显示相等,进行步骤420;若任一检查结果显示不相等,进行步骤418。
步骤418:产生一第二提示信息,以告知数据卷可能损毁。
步骤420:结束。
步骤402至步骤408的系统初始化动作的目的,在于让全新尚未使用的计算机系统也能使用流程40。系统初始化仅进行一次,其中步骤404用来建立目前于计算机系统中每一硬盘的硬盘元数据,包含标识数据、数量数据及时间数据。在硬盘上建立硬盘元数据的同时,计算机系统将各个硬盘的标识数据记录于计算机系统的主机板上的非挥发性内存,例如NAND型闪存。计算机系统所记录的标识数据的数量与计算机系统曾经使用过多少个硬盘有关,不仅只记录目前设于计算机系统的硬盘的标识数据。
由于进行初始化的计算机系统尚未使用,因此数量数据的初始值为0,时间数据亦有一初始值。若计算机系统成功地初始化,计算机系统进行步骤410,检查一硬盘H所储存的标识数据是否为计算机系统所记录的多个标识数据之一。若初始化失败,计算机系统产生提示信息,告知使用者系统初始化失败。使用者得知初始化失败后,可将计算机系统重新格式化,并再次进行流程40。由于使用者得知初始化失败后的后续步骤非本发明主要保护的范围,在此不详述。以另一角度而言,若确知计算机系统已经初始化完成并且建立了硬盘元数据,计算机系统可忽略步骤402至步骤408的系统初始化动作,直接由步骤410开始执行流程40。
当计算机系统进行步骤410,检查发现硬盘H所储存的标识数据不是计算机系统所记录的标识数据之一,可知硬盘H不是自身的硬盘,因为硬盘H的硬盘元数据不是由计算机系统所建立。换言之,硬盘H是来自他处(可能是其它计算机系统)的硬盘,于是计算机系统进行步骤412,禁止硬盘H作为开机硬盘。如此一来,如图1所示其它计算机系统的操作系统数据复写至计算机系统自身硬盘的操作系统区块的问题不会发生,计算机系统的开机程序能继续进行。当计算机系统得知硬盘H不是自身的硬盘后,便回到步骤410,继续检查其它硬盘的标识数据,以提高辨认开机硬盘的效率。
另一方面,当计算机系统检查发现硬盘H所储存的标识数据是计算机系统所记录的标识数据之一,可知硬盘H是计算机系统自身的硬盘,但不表示硬盘H一定能做为开机硬盘。计算机系统须进行步骤414,检查硬盘H所储存的操作系统数据的时间信息,是否是计算机系统中所有硬盘所储存的操作系统数据的时间信息中最新的;换言之,即检查硬盘H所储存的时间数据的值,是否是计算机系统中所有硬盘所储存的时间数据的值中的最大值。若计算机系统检查得知硬盘H所储存的时间数据的值是所有硬盘所储存的时间数据的值中的最大值,表示计算机系统若以硬盘H做为开机硬盘,能够开机成功,此时计算机系统进行步骤416。若计算机系统检查得知硬盘H所储存的时间数据的值不是最大值,计算机系统进行步骤412,禁止硬盘H做为开机硬盘,并且继续检查其它硬盘的标识数据。
举例来说,假设计算机系统包含硬盘H在内共有4个硬盘,当计算机系统检查得知硬盘H所储存的时间数据的值是100,其它硬盘所储存的时间数据的值是100、100、60,表示硬盘H具有最新的操作系统数据,可做为开机硬盘。相对地,当硬盘H所储存的时间数据的值是60,其它硬盘所储存的时间数据的值皆是100,可知硬盘H所储存的操作系统数据比其它硬盘所储存的操作系统数据更老旧,可能是久未使用,因此计算机系统禁止硬盘H做为开机硬盘,避免旧操作系统数据复写至具有最新操作系统数据的硬盘。
步骤410、步骤412及步骤414可归纳为一步骤:根据硬盘元数据所携带的硬盘标识符及操作系统数据的时间信息,寻找可用来开机的硬盘。在每一硬盘进行标识数据检查或时间数据检查后,计算机系统进行步骤416,检查每一硬盘的数量数据,即目前计算机系统中包含使用者专用的数据卷的硬盘数量。请注意,使用者不一定会使用目前设于计算机系统中的全部硬盘来建立数据卷,因此包含使用者专用的数据卷的硬盘数量,与计算机系统中全部硬盘的数量不一定相等。
数量数据检查分为两部分,其一是检查每一硬盘所储存的数量数据的值是否与计算机系统正在使用的硬盘数量相等;其二是检查每一硬盘所储存的数量数据的值是否彼此相等。步骤416可避免计算机系统在有硬盘松脱的情形下进行开机程序,导致数据卷损毁的问题。若步骤416产生的第一及第二检查结果皆显示相等,表示计算机系统成功地开机,此时计算机系统结束流程40。若步骤416产生的任何一个检查结果显示不相等,计算机系统根据步骤418,产生提示信息,告知使用者数据卷可能损毁。
举例来说,当硬盘H及其它硬盘所储存的数量数据的值皆是4,并且计算机系统中正在使用的硬盘数量也是4,表示计算机系统的硬盘皆安装妥当,流程40完成后数据卷可顺利使用,不会损毁。相对地,当硬盘H及其它硬盘所储存的数量数据的值皆是4,但计算机系统中正在使用的硬盘数量是3,表示计算机系统中可能有一个硬盘松脱,使用者由提示信息得知数据卷可能损毁。在此情形下,使用者可关闭计算机系统的电源以确认所有硬盘是否安装妥当,也可忽略提示信息,命令计算机系统完成开机程序。由于使用者所选择进行的动作不属于本发明主要保护的范围,于图4中不详述。此外请注意,当计算机系统完成系统初始化后有硬盘加入,新增的硬盘中可能没有硬盘元数据,或是有硬盘元数据但数量数据的值是0,此时计算机系统不会对新增的硬盘进行步骤416的数量数据检查。新增的硬盘将于流程40完成后,向计算机系统进行注册成为计算机系统可使用的硬盘,以取得更新的硬盘元数据。
简言之,流程40分为三部分,如图4中虚线所分示。第一部分包含步骤402至步骤408,表示系统初始化程序,计算机系统于初始化时在每一硬盘上建立硬盘元数据。第二部分包含步骤410至步骤414,表示操作系统数据保护程序,其中计算机系统将根据硬盘元数据中的标识数据及时间数据,分辨出哪些硬盘可或不可做为开机硬盘,避免因为独立磁盘冗余阵列技术RAID-1的镜射特性,导致硬盘的操作系统区块被错误地覆写而无法完成开机程序。第三部分包含步骤416及步骤418,表示使用者数据保护程序,计算机系统将检查每一硬盘所储存的数量数据,避免计算机系统在有硬盘未正常连接的情形下进行开机程序,造成独立磁盘冗余阵列技术RAID-0所产生的数据卷损毁。
请注意,流程40为本发明的最佳实施例,本领域具通常知识者当可据以做不同的变化及修饰。举例来说,以流程40中的系统初始化程序搭配操作系统数据保护程序做为另一开机流程,能够单独保护操作系统数据;或者,以流程40中的系统初始化程序搭配使用者数据保护程序做为另一开机流程,能够单独保护使用者数据。此外,本发明其它实施例亦可仅进行标识数据及时间数据检查,或仅进行标识数据检查及数量数据检查。
本发明进一步提供标识数据、时间数据及数量数据的更新流程,这些流程可接着于图4的流程40后进行,让计算机系统于特定时刻能实时更新硬盘元数据,以加强计算机系统的数据保护功能。请参考图5,图5为本发明实施例一流程50的示意图,流程50用于更新标识数据。流程50包含有以下步骤:
步骤500:开始。
步骤502:侦测开机程序是否完成。若是,进行步骤512;若否,继续步骤502。
步骤504:侦测关机程序是否开始。若是,进行步骤512;若否,继续步骤504。
步骤506:侦测是否有任何硬盘在开机程序完成后的运作状态下,自计算机系统中移除。若是,进行步骤512;若否,继续步骤506。
步骤508:侦测是否有任何硬盘在计算机系统的开机程序完成后的运作状态下,加入计算机系统。若是,进行步骤510;若否,继续步骤508。
步骤510:判断新增的硬盘是否须注册成为计算机系统可使用的硬盘。
若是,进行步骤512;若否,进行步骤516。
步骤512:更新储存于计算机系统的非挥发性内存中的所有标识数据。
步骤514:将计算机系统设定给各个硬盘使用的标识数据,写入各个硬盘。
步骤516:不变更标识数据。
步骤502及步骤504是针对硬盘可能在计算机系统电源关闭时进行冷插拔(Cold Swap)所做的步骤。步骤506及步骤508是针对硬盘可能在计算机系统的开机程序完成后的运作状态下进行热插拔(Hot Swap)所做的步骤。当计算机系统根据步骤502侦测到开机程序完成,或根据步骤504侦测到关机程序已开始,或根据步骤506侦测到有硬盘在计算机系统的运作状态下被移除时,计算机系统进行步骤512及步骤514的标识数据更新。
根据步骤512,计算机系统更新主机板中非挥发性内存所储存的所有标识数据,让计算机系统所记录的每一标识数据的值与其先前的值不相同。根据步骤514,计算机系统从重新设定完毕的标识数据中,取部分标识数据写入目前于计算机系统中相对应的各硬盘。由于计算机系统可能侦测到硬盘的新增或移除,相对于原本的标识数据的数量,计算机系统由非挥发性内存所取出的标识数据的数量可能会增加或减少。举例来说,假设计算机系统中储存了10个标识数据且原本设置有4个硬盘,当计算机系统根据步骤506侦测到有一硬盘被移除,此时计算机系统中设置的硬盘数量由4个减少为3个,因此,计算机系统根据步骤514,由10个标识数据中取出3个标识数据写入相对应的3个硬盘。
另一方面,当计算机系统根据步骤508,侦测到有硬盘在计算机系统的运作状态下加入计算机系统时,计算机系统根据步骤510,依来自使用者的指示讯息判断新增的硬盘是否须注册成为计算机系统可使用的硬盘。若新增的硬盘必须注册,计算机系统进行步骤512及步骤514的标识数据更新,如前所述,因此计算机系统的非挥发性内存中储存的所有标识数据、原有硬盘及新增的硬盘所储存的标识数据皆会更新。若新增的硬盘不须注册,计算机系统进行步骤516,不变更计算机系统的非挥发性内存中储存的所有标识数据,也不变更原有硬盘所储存的标识数据。在计算机系统处于运作状态下,由于硬盘可能多次热插拔,因此步骤506、步骤508及后续对应的步骤可多次进行。
通过流程50,计算机系统能够在进行前述流程40时,根据标识数据精确辨认出硬盘所储存的操作系统数据的新旧,进而禁止具有旧操作系统数据的硬盘做为开机硬盘,加强了计算机系统对于操作系统数据的保护功能。请注意,流程50为更新标识数据的最佳实施例,本领域具通常知识者当可根据流程50做不同的变化及修饰。举例来说,若计算机系统的规格设定为禁止硬盘进行热插拔,则不须执行步骤506及步骤508。
请参考图6,图6为本发明实施例一流程60的示意图,流程60用于更新时间数据。流程60包含有以下步骤:
步骤600:开始。
步骤602:侦测开机程序是否完成。若是,进行步骤610;若否,继续步骤602。
步骤604:侦测是否有任何硬盘在计算机系统的开机程序完成后的运作状态下,自计算机系统中移除。若是,进行步骤610;若否,继续步骤604。
步骤606:侦测是否有任何硬盘在计算机系统的开机程序完成后的运作状态下,加入计算机系统。若是,进行步骤608;若否,继续步骤606。
步骤608:判断新增的硬盘是否须注册成为计算机系统可使用的硬盘。
若是,进行步骤610;若否,进行步骤614。
步骤610:取得计算机系统中所有硬盘所储存的时间数据的值中的一最大值。
步骤612:将该最大值与一差值相加,产生一加法结果,并将该加法结果写入计算机系统中所有硬盘。
步骤614:不变更时间数据。
当计算机系统根据步骤602侦测到开机程序完成,或根据步骤604侦测到一硬盘在计算机系统的运作状态下被移除时,计算机系统进行步骤610及步骤612,取得其中所有硬盘所储存的时间数据中的最大值TMAX,将最大值TMAX与一差值Δt相加,并且将加法结果(TMAX+Δt)写入目前计算机系统所有硬盘中储存时间数据的位置,以更新目前所有硬盘所储存的时间数据。移除的硬盘的时间数据必然不会被更新。差值Δt可等于1,亦可为其它正整数值。
当计算机系统根据步骤606,侦测到一硬盘在计算机系统的运作状态下加入计算机系统时,计算机系统根据步骤608,依来自使用者的指示讯息判断新增的硬盘是否须注册成为计算机系统可使用的硬盘。若新增的硬盘必须注册,计算机系统进行步骤610及步骤612的时间数据更新;若新增的硬盘不须注册,计算机系统进行步骤614,不变更目前计算机系统中所有硬盘所储存的时间数据。
请参考图7,图7为本发明实施例一流程70的示意图,流程70用于更新数量数据。流程70包含有以下步骤:
步骤700:开始。
步骤702:判断使用者专用的数据卷是否成功建立。若是,进行步骤704;若否,进行步骤718。
步骤704:计算包含使用者专用的数据卷的硬盘数量,即数量数据。
步骤706:将数量数据写入包含使用者专用的数据卷的硬盘。
步骤708:侦测是否有任何硬盘在计算机系统的开机程序完成后的运作状态下,自计算机系统中移除。若是,进行步骤712;若否,继续步骤708。
步骤710:侦测是否有任何硬盘在计算机系统的开机程序完成后的运作状态下,加入计算机系统。若是,进行步骤714;若否,继续步骤710。
步骤712:检查是否移除的硬盘包含使用者专用的数据卷。若是,进行步骤720;若否,进行步骤718。
步骤714:判断新增的硬盘是否须注册成为计算机系统的硬盘。若是,进行步骤716;若否,进行步骤718。
步骤716:将数量数据的初始值写入新增的硬盘。
步骤718:不变更数量数据。
步骤720:取得目前计算机系统中数量数据的值。
步骤722:将取得的数量数据的值减1,产生一减法结果,并将该减法结果写入包含使用者专用的数据卷的硬盘。
由于计算机系统每次开机完成时,使用者皆有可能改变数据卷设定,因此在流程70中,计算机系统先根据步骤702判断使用者专用的数据卷是否成功建立。若判断使用者专用的数据卷建立失败,计算机系统不会变更数量数据,数量数据维持在上一次计算机系统关机前的值。若判断使用者专用的数据卷成功建立,计算机系统进行步骤704及步骤706,计算数量数据,并将计算所得的数量数据的值写入包含使用者专用的数据卷的硬盘。举例来说,假设计算机系统最多可容纳5个硬盘而目前只有4个硬盘H1~H4设置于其中,并且使用者以硬盘H1、H3、H4建立数据卷,此时计算机系统计算得数量数据的值是3,并将数量数据=3写入硬盘H1、H3、H4。
步骤708及步骤710为同时进行的步骤,在开机程序完成后的运作状态下,计算机系统持续侦测有无硬盘加入或自计算机系统中移除。当计算机系统根据步骤708,侦测到一硬盘自计算机系统中移除时,计算机系统后续将进行步骤712、718、720、722。详细来说,计算机系统进一步检查是否在移除的硬盘中包含了使用者专用的数据卷,若移除的硬盘没有包含数据卷,表示此硬盘移除不会影响目前使用的数据卷,此时计算机系统不变更数量数据。若移除的硬盘包含了数据卷,计算机系统取得目前计算机系统中的数量数据的值并将数量数据的值减1,产生一减法结果,接着将减法结果写入包含使用者专用的数据卷的硬盘。以前述例子来说,若被移除的是硬盘H2,数量数据不会变更;若被移除的是硬盘H1,取得的数量数据的值仍是3,计算机系统将取得的数量数据的值减1,并将数量数据=2写入硬盘H3及H4。
当计算机系统根据步骤710,侦测到一硬盘加入计算机系统时,计算机系统后续将进行步骤714、716、718。详细来说,计算机系统依使用者的指示讯息,判断新增的硬盘是否须注册成为计算机系统的硬盘,若新增的硬盘必须注册,计算机系统将数量数据的初始值0写入新增的硬盘。新增的硬盘不会立刻使用,而是等待下一次计算机系统进行开机程序(例如流程40)完成后,由使用者决定是否要使用新增的硬盘建立数据卷。若新增的硬盘不须注册,计算机系统不会变更数量数据。
通过流程50、60及70对于硬盘元数据的实时更新,计算机系统得以在进行流程40时,使用能精确分辨硬盘所储存的操作系统数据的新旧程度的标识数据、时间数据及数量数据,完成开机程序,不仅使操作系统数据得到最佳保护,也避免因硬盘未妥当安装所造成的数据卷损毁,大幅提升了计算机系统的稳定性。
在习知技术中,若同样以独立磁盘冗余阵列技术RAID-1管理操作系统数据的计算机系统之间发生硬盘交换的动作时,独立磁盘冗余阵列技术RAID-1的镜射特性可能导致计算机系统之间的操作系统数据相互复写,使计算机系统无法辨识硬盘而不能完成开机程序;若计算机系统以独立磁盘冗余阵列技术RAID-0管理使用者数据,在计算机系统中有硬盘未正常连接的情形下进行开机程序,数据卷可能损毁,导致无法存取使用者数据。相较之下,当计算机系统根据本发明所定义的硬盘元数据进行本发明的开机流程,并且以数据更新流程辅助开机流程时,计算机系统能够精确分辨出哪些硬盘禁止做为开机硬盘,避免硬盘的操作系统区块被错误地覆写而无法完成开机程序,同时能提醒使用者注意硬盘是否未安装妥当,进而避免数据卷损毁。
综上所述,本发明避免计算机系统因使用独立磁盘冗余阵列技术RAID-1及RAID-0管理硬盘而导致的问题,大幅提升了计算机系统的稳定性,硬盘中的操作系统数据及使用者数据也得到最佳保护。
以上所述仅为本发明的优选实施例,凡依本发明权利要求所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (22)
1.一种用于一计算机系统的开机方法,该计算机系统使用独立磁盘冗余阵列管理硬盘,其特征在于:
检查目前设于该计算机系统中的第一数量个硬盘其中一硬盘所储存的一标识符,是否为该计算机系统所记录的多个标识符之一,该多个标识符彼此相异,对应于该计算机系统所有可使用的硬盘;以及
于确认该硬盘所储存的该标识符为该计算机系统所记录的该多个标识符之一后,进行一标识符更新程序,以更新该计算机系统所记录的该多个标识符及该第一数量个硬盘所储存的第一数量个标识符。
2.如权利要求1所述的开机方法,其特征在于:
于确认该硬盘所储存的该标识符不是该计算机系统所记录的该多个标识符之一时,禁止该硬盘做为该计算机系统的一开机硬盘。
3.如权利要求1所述的开机方法,其特征在于该标识符更新程序包含有:
侦测该计算机系统的一开机程序是否完成;
于侦测到该开机程序完成时,更新该计算机系统所记录的该多个标识符;以及
将该计算机系统中已更新的该多个标识符其中第一数量个标识符,分别写入该第一数量个硬盘,以更新该第一数量个硬盘所储存的该第一数量个标识符。
4.如权利要求1所述的开机方法,其特征在于该标识符更新程序包含有:
侦测该计算机系统的一关机程序是否开始;
于侦测到该关机程序开始时,更新该计算机系统所记录的该多个标识符;以及
将该计算机系统中已更新的该多个标识符其中第一数量个标识符,分别写入该第一数量个硬盘,以更新该第一数量个硬盘所储存的该第一数量个标识符。
5.如权利要求1所述的开机方法,其特征在于该标识符更新程序包含有:
侦测该第一数量个硬盘中是否有任何硬盘在该计算机系统的一开机程序完成后,自该计算机系统中移除;
于侦测到该第一数量个硬盘其中一硬盘在该开机程序完成后,自该计算机系统中移除时,更新该计算机系统所记录的该多个标识符;以及
将该计算机系统中已更新的该多个标识符其中第二数量个标识符,写入对应的第二数量个硬盘,以更新该第二数量个硬盘所储存的第二数量个标识符,其中该第二数量个硬盘是该第一数量个硬盘中除了该移除的硬盘外的其它硬盘。
6.如权利要求1所述的开机方法,其特征在于该标识符更新程序包含有:
侦测是否有任何硬盘在该计算机系统的一开机程序完成后,加入该计算机系统;
于侦测到一硬盘在该开机程序完成后,加入该计算机系统时,判断该加入的硬盘是否须注册成为该计算机系统可使用的硬盘;
于该加入的硬盘必须注册成为该计算机系统可使用的硬盘时,更新该计算机系统所记录的该多个标识符;以及
将该计算机系统中已更新的该多个标识符中第二数量个标识符,写入对应的第二数量个硬盘,以更新该第二数量个硬盘所储存的第二数量个标识符,其中该第二数量个硬盘包含该第一数量个硬盘及该加入的硬盘。
7.如权利要求6所述的开机方法,其特征在于该标识符更新程序另包含有:
于该加入的硬盘不须注册成为该计算机系统可使用的硬盘时,不变更该计算机系统所记录的该多个标识符及该第一数量个硬盘所储存的该第一数量个标识符。
8.如权利要求1所述的开机方法,其特征在于:
检查该硬盘所储存的一时间数据的值是否为该第一数量个硬盘所储存的第一数量个时间数据的值中的最大值,该时间数据表示该硬盘所储存的操作系统数据的时间信息;以及
于确认该硬盘所储存的该时间数据的值为该第一数量个时间数据的值中的最大值时,进行一时间数据更新程序,以更新该第一数量个硬盘中每一硬盘所储存的操作系统数据的时间信息。
9.如权利要求8所述的开机方法,其特征在于:
于确认该硬盘所储存的该时间数据的值不是该第一数量个时间数据的值中的最大值时,禁止该硬盘做为该计算机系统的一开机硬盘。
10.如权利要求8所述的开机方法,其特征在于该时间数据更新程序包含有:
侦测该计算机系统的一开机程序是否完成;
于侦测到该开机程序完成时,取得该第一数量个硬盘所储存的该第一数量个时间数据的值中的一最大值;以及
将该最大值与一差值相加,产生一加法结果,并将该加法结果写入该第一数量个硬盘中每一硬盘,以更新该第一数量个硬盘所储存的该第一数量个时间数据。
11.如权利要求8所述的开机方法,其特征在于该时间数据更新程序包含有:
侦测该第一数量个硬盘中是否有任何硬盘在该计算机系统的一开机程序完成后,自该计算机系统中移除;
于侦测到该第一数量个硬盘其中一硬盘在该开机程序完成后,自该计算机系统中移除时,取得该第一数量个硬盘所储存的该第一数量个时间数据的值中的一最大值;以及
将该最大值与一差值相加,产生一加法结果,并将该加法结果写入第二数量个硬盘中每一硬盘,其中该第二数量个硬盘是该第一数量个硬盘中除了该移除的硬盘外的其它硬盘。
12.如权利要求8所述的开机方法,其特征在于该时间数据更新程序包含有:
侦测该第一数量个硬盘中是否有任何硬盘在该计算机系统的一开机程序完成后,加入该计算机系统;
于侦测到一硬盘在该开机程序完成后,加入该计算机系统时,判断该加入的硬盘是否须注册成为该计算机系统可使用的硬盘;以及
于该加入的硬盘必须注册成为该计算机系统可使用的硬盘时,取得该第一数量个硬盘的该第一数量个时间数据的值中的一最大值;以及
将该最大值与一差值相加,产生一加法结果,并将该加法结果写入第二数量个硬盘中每一硬盘,以更新该第二数量个硬盘所储存的第二数量个时间数据,其中该第二数量个硬盘包含该第一数量个硬盘及该加入的硬盘。
13.如权利要求12所述的开机方法,其特征在于该时间数据更新程序另包含有:
于该加入的硬盘不须注册成为该计算机系统可使用的硬盘时,不变更该第一数量个硬盘所储存的该第一数量个时间数据。
14.如权利要求1所述的开机方法,其特征在于:
检查该第一数量个硬盘中每一硬盘所储存的一数量数据的值是否等于该第一数量,以产生一第一检查结果,其中该数量数据是该第一数量个硬盘中包含数据卷的硬盘数量;以及
检查该第一数量个硬盘中每一硬盘所储存的该数量数据的值是否皆相等,以产生一第二检查结果。
15.如权利要求14所述的开机方法,其特征在于:
于确认该第一检查结果及该第二检查结果中任一检查结果显示不相等时,产生一提示信息,以告知数据卷可能损毁。
16.如权利要求14所述的开机方法,其特征在于:
于确认该第一检查结果及该第二检查结果皆显示相等时,进行一数量数据更新程序,以更新该第一数量个硬盘中每一硬盘所储存的该数量数据。
17.如权利要求16所述的开机方法,其特征在于该数量数据更新程序包含有:
判断数据卷是否成功建立;
于数据卷成功建立时,计算该数量数据;
将该数量数据写入该第一数量个硬盘中包含数据卷的硬盘;
侦测该第一数量个硬盘中是否有任何硬盘在该计算机系统的一开机程序完成后,自该计算机系统中移除;以及
侦测是否有一硬盘在该开机程序完成后,加入该计算机系统。
18.如权利要求17所述的开机方法,其特征在于该数量数据更新程序另包含有:
于数据卷建立失败时,不变更该数量数据。
19.如权利要求17所述的开机方法,其特征在于该数量数据更新程序另包含有:
于侦测到该第一数量个硬盘其中一硬盘在该开机程序完成后,自该计算机系统中移除时,检查是否该移除的硬盘包含数据卷;
于确认该移除的硬盘包含数据卷时,取得该数量数据的值;以及
将该数量数据的值减去一差值,产生一减法结果,并将该减法结果写入该计算机系统中包含数据卷的硬盘,以更新该包含数据卷的硬盘所储存的该数量数据。
20.如权利要求19所述的开机方法,其特征在于该数量数据更新程序另包含有:
于确认该移除的硬盘未包含数据卷时,不变更该数量数据。
21.如权利要求17所述的开机方法,其特征在于该数量数据更新程序另包含有:
于侦测到一硬盘在该开机程序完成后,加入该计算机系统时,判断该加入的硬盘是否须注册成为该计算机系统的硬盘;以及
于该加入的硬盘须注册成为该计算机系统的硬盘时,将该数量数据的一初始值写入该加入的硬盘。
22.如权利要求21所述的开机方法,其特征在于该数量数据更新程序另包含有:
于该加入的硬盘不须注册成为该计算机系统的硬盘时,不变更该数量数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910215890.7A CN102117213B (zh) | 2009-12-31 | 2009-12-31 | 使用独立磁盘冗余阵列的计算机系统的开机方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910215890.7A CN102117213B (zh) | 2009-12-31 | 2009-12-31 | 使用独立磁盘冗余阵列的计算机系统的开机方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102117213A true CN102117213A (zh) | 2011-07-06 |
CN102117213B CN102117213B (zh) | 2015-03-25 |
Family
ID=44215995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910215890.7A Active CN102117213B (zh) | 2009-12-31 | 2009-12-31 | 使用独立磁盘冗余阵列的计算机系统的开机方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102117213B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040133742A1 (en) * | 2003-01-07 | 2004-07-08 | Dell Products L.P. | System and method for raid configuration |
US20060059306A1 (en) * | 2004-09-14 | 2006-03-16 | Charlie Tseng | Apparatus, system, and method for integrity-assured online raid set expansion |
CN1808366A (zh) * | 2005-01-21 | 2006-07-26 | 英业达股份有限公司 | 廉价磁盘冗余阵列中硬盘重新识别系统及其方法 |
CN101122890A (zh) * | 2006-08-08 | 2008-02-13 | 英业达股份有限公司 | 独立磁盘的冗余阵列的在线扩容过程的中断与恢复方法 |
CN101241453A (zh) * | 2008-03-05 | 2008-08-13 | 杭州华三通信技术有限公司 | 磁盘冗余阵列的维护方法和装置 |
-
2009
- 2009-12-31 CN CN200910215890.7A patent/CN102117213B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040133742A1 (en) * | 2003-01-07 | 2004-07-08 | Dell Products L.P. | System and method for raid configuration |
US20060059306A1 (en) * | 2004-09-14 | 2006-03-16 | Charlie Tseng | Apparatus, system, and method for integrity-assured online raid set expansion |
CN1808366A (zh) * | 2005-01-21 | 2006-07-26 | 英业达股份有限公司 | 廉价磁盘冗余阵列中硬盘重新识别系统及其方法 |
CN101122890A (zh) * | 2006-08-08 | 2008-02-13 | 英业达股份有限公司 | 独立磁盘的冗余阵列的在线扩容过程的中断与恢复方法 |
CN101241453A (zh) * | 2008-03-05 | 2008-08-13 | 杭州华三通信技术有限公司 | 磁盘冗余阵列的维护方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102117213B (zh) | 2015-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI471726B (zh) | 快取資料與元資料之管理 | |
EP2745228B1 (en) | Secure recovery apparatus and method | |
US10387313B2 (en) | Method and system for ensuring reliability of cache data and metadata subsequent to a reboot | |
US10921994B2 (en) | Managing storage array configuration | |
US11775283B2 (en) | Resilient software updates in secure storage devices | |
CN106133704A (zh) | 内存故障隔离方法和装置 | |
CN101667128A (zh) | 更新与修复基本输入输出系统的方法 | |
WO2019217112A1 (en) | Fault tolerant device upgrade | |
EP3028141A1 (en) | Generating a second code from a first code | |
CN102117213A (zh) | 使用独立磁盘冗余阵列的计算机系统的开机方法 | |
TWI416319B (zh) | 使用獨立磁碟備援陣列之電腦系統的開機方法 | |
US20140059293A1 (en) | Method for protecting a gpt cached disks data integrity in an external operating system environment | |
JP2023032245A (ja) | 情報処理装置、及びその制御方法 | |
CN100367200C (zh) | 基本输入输出系统的数据储存方法 | |
JP5365703B2 (ja) | 情報処理装置、ドライブ制御プログラムおよびドライブ制御方法 | |
CN115933966A (zh) | 信息处理装置和用于控制信息处理装置的控制方法 | |
CN116048630A (zh) | 一种访问隐藏区数据的方法、电子设备及存储介质 | |
CN105808152A (zh) | 一种优化raid全局元数据读写性能的方法 |
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 |