CN100347692C - Implementing method of virtual intelligent controller in SAN system - Google Patents

Implementing method of virtual intelligent controller in SAN system Download PDF

Info

Publication number
CN100347692C
CN100347692C CNB2005100118254A CN200510011825A CN100347692C CN 100347692 C CN100347692 C CN 100347692C CN B2005100118254 A CNB2005100118254 A CN B2005100118254A CN 200510011825 A CN200510011825 A CN 200510011825A CN 100347692 C CN100347692 C CN 100347692C
Authority
CN
China
Prior art keywords
san
request
virtual
metadata
information
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.)
Expired - Fee Related
Application number
CNB2005100118254A
Other languages
Chinese (zh)
Other versions
CN1694081A (en
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.)
Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CNB2005100118254A priority Critical patent/CN100347692C/en
Publication of CN1694081A publication Critical patent/CN1694081A/en
Application granted granted Critical
Publication of CN100347692C publication Critical patent/CN100347692C/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

The present invention relates to a method for realizing a virtual intelligent controller in an SAN system, which belongs to the field of a storage area network. The present invention is characterized in that the virtual intelligent controller is introduced into a data path in the SAN so as to divide the SAN system into two separate subsystems, namely equipment SAN and a host SAN, wherein the equipment SAN is in charge of the organization and the management of storage resources and the host SAN just focuses on the use of the storage resources. The virtual intelligent controller arranged between the equipment SAN and the host SAN is the relation link of the equipment SAN and the host SAN, can manage all kinds of storage equipment, and can provide a uniform storage resource view for the isomeric host SAN so as to simplify the management of the storage resources. In addition, the access control management of the virtual intelligent controller provides a function for verifying an IO request authority to prevent data loss due to illegal operation. The present invention is especially suitable for the effective management of the isomeric storage resources under an isomeric application server environment and provides a kind of efficient resolution for a storage management problem which becomes complex increasingly.

Description

The implementation method of virtual intelligent controller in the SAN system
Technical field
The implementation method of virtual intelligent controller belongs to field of storage area networks in the SAN system, relates in particular to storage management technique field wherein.
Background technology
Along with ecommerce, multimedia being extensive use of, the data capacity that needs storage is just at rapid growth, and this just makes the scale of storage system become more and more huger.SAN (Storage Area Network) system is bringing into play more and more important effect owing to have characteristics such as enhanced scalability, high-performance, overlength transmission range in making up large-scale storage systems.But, store industry at present and several memory controllers of realizing with software approach occurred owing to adopt the devices at full hardware mode to realize that the price of SAN is too expensive.The function that they use software to come analog network storage hardware (as the optical fiber disk), this way can utilize more cheap equipment to realize SAN, therefore has very big elasticity.SCSI Target Emulator with the exploitation of UNH (UniversityofNew Hampshire) university in these memory controllers is that the use of scsi target simulator is comparatively extensive.SCSITarget Emulator is in conjunction with different FETD (Front-End Target Driver is an object machine front-end driven program), can distinguish the network storage equipments such as analog optical fiber memory device or ISCSI memory device, but sort controller is just directly presented to application server to the physical storage device that it articulated seriatim, and we can't manage effectively and use these resources.
The scale rapid growth of storage system makes the storage administration problem highlight its consequence day by day on the other hand.Virtual storage is exactly a kind of memory technology that occurs in order to solve the storage administration problem.Intel Virtualization Technology can shield the difference of bottom physical equipment, a unified virtualized memory resource view is provided for the storage application server.By memory virtualization system, the storage administrator can dynamically adjust the configuration of storage resources, and virtualization system can also provide online data backup, functions such as data image simultaneously.By a plurality of physical disks being invented a logic magnetic disc technology, it can also provide IO performance preferably.In this field some achievements in research have been arranged abroad at present.Logical Volume Manager (LVM) such as the exploitation of Sistina company is that the LVM system is present most popular Intel Virtualization Technology, and has become the part in the linux kernel.It is enterprise-level volume management system that IBM Corporation has developed a cover Enterprise Volume Management System (EVMS), has realized the virtual storage administration of enterprise-level.But these virtual storage systems generally can only be adapted to a certain specific operating system environment, and all work under stand-alone environment, do not fit into the realization of the virtual storage of isomerous environment.Chang-Soo Kim, Gyoung-Bae Kim, people such as Bum-Joo Shin have realized the virtual storage system SANtopia Volume Manager under the SAN environment, but need to cooperate its file system to use, and can not solve the virtual memory management problem of platform of multiple operating systems.
We have redesigned and have realized a kind of virtual intelligent controller of the SAN of being suitable for environment on the basis that the SCSI Target Emulator to UNH analyzes.It can provide unified storage resources view to the server platform of isomery, and can effectively manage storage resources, thereby reaches the optimum utilization of storage resources.And VIC also provides the access control management of virtual unit, guaranteed the access security of device level.
Summary of the invention
The object of the present invention is to provide a kind of implementation method of virtual intelligent controller of the SAN of being applicable to environment.This invention is primarily aimed at the storage application server of isomery among the SAN and various memory device, has studied and has adopted intelligent controller to carry out the method for the storage resources among the unified management SAN.The virtual intelligent controller that uses this method to realize has following several characteristics: (one) can manage various memory devices effectively, has improved the utilization factor of storage resources; (2) unified storage resources view be can provide to the server platform of isomery, the management and the use of storage resources simplified; (3) can provide the access control management of virtual unit, guarantee the access security of device level.
The invention is characterized in: described virtual intelligent controller is added between the application server and memory device that storage area network is the SAN system, and it is one or more virtual intelligent controllers of realizing with multi-purpose computer, is called for short VIC; Described one or more VIC is the SAN system divides main frame SAN and two parts of memory device SAN, and wherein main frame SAN is connecting application server and VIC, and that this moment, VIC served as is the role of storage resources; Memory device SAN is connecting VIC and all kinds of memory device, and this moment, the effect of VIC was a managing memory source; Described VIC comprises following three levels:
Figure C20051001182500061
The access control management layer: this layer is responsible for receiving the IO request that sends over from application server, the execution authority of each request checked, and the IO request that operating right is arranged is sent to Storage Virtualization layer described below; Described access control management layer is being safeguarded a device access authority list in internal memory, it is virtual device number that each entry record of this table VD Number, Access Bitmap promptly visits bitmap, Privilege Bitmap is a permission bitmap, wherein AccessBitmap and Privilege Bitmap are two isometric number of machines, writing down the access control information of relevant device, can on behalf of a station server, each bit that sequence number is counted from low level among the Access Bitmap all visit this equipment: institute is on the throne to be that " 1 " expression allows visit, and institute is on the throne to be " 0 " expression denied access; Each bit representative that sequence number is counted from low level among the Privilege Bitmap can be visited the concrete operations authority of the server of this equipment; In PrivilegeBitmap, each that sequence number is counted from low level each that sequence number is counted from low level and the Access Bitmap is corresponding, and the access control information of a station server is determined in the combination of the corresponding position of Access Bitmap and Privilege Bitmap; Described access control information is comprising three kinds of access modules: visit position and permission bits all are " 0 ", the expression denied access; Visit position and permission bits all are " 1 ", and expression has access limit; The visit position is " 1 ", and permission bits is " 0 ", and expression has read right; When application server loads the optical fiber driver of starter pattern, which virtual unit it just has to its " as seen " by main frame SAN network to the device access authority list inquiry of VIC, and then the network virtual equipment of these " as seen " is added in the scsi device chained list of application server;
Figure C20051001182500062
The Storage Virtualization layer: this layer realized the function of Storage Virtualization management, and can change the address information of the IO request that receives, and it can be carried out on actual physical device; This Storage Virtualization layer includes:
√ virtual device management module: this module is being safeguarded a virtual unit information table for each virtual unit in internal memory, it is the virtual unit title that this table includes following data item: VD_Name, lun is that IO asks pairing virtual device number, UUID i.e. the unique device identifier of the overall situation, Type is the virtual unit type, Capacity is the virtual unit capacity, and Space_list is a virtual unit storage space formation table; Described Space_list is that a Physical Segment is a physical segment, abbreviate the chained list of PS as, each PS is writing down following several data item: PD_ID, Offset, Length, in order to represent one section storage space continuous on same physical equipment, wherein PD_ID represents the sequence number of physical equipment; Offset represents the start offset in this section space; Length is the size of this section storage space;
The √ address mapping module: the virtual I O request that this module sends over described access control management layer change into one or more can be on physical equipment the actual scsi command of carrying out; The address information structure of described virtual unit IO request is the tlv triple of lun, an offset, length, and wherein lun represents this IO request corresponding virtual device number, and offset is the skew of this request, and length represents the size of data of this request; The specific address mapping process of described address mapping module is as follows successively: one, finding virtual device number is the VD of lun; Two,, determine that the skew of this IO request is the PS at start address place according to type and the offset of VD; Three, determine the number of physics request and the size of data of each corresponding physics request by the length field of each virtual request; Four, form a plurality of can be on physical equipment the actual scsi command of carrying out;
√ metadata management module: this module records has the system information that comprises physical equipment in the system, virtual unit and access control information, these information all are kept on two SCSI hard disks, be referred to as the metadata disk, one of them is the pivot data disks, another is the dimension data disks, and both form the backup relation; Whether a mark is arranged in the metadata information, can be that the complete or NOT_COMPLETE of metadata is that metadata is imperfect for WRITE_COMPLETE, complete in order to the mark metadata; Metadata is carried out as follows from the detailed process that physical disk imports internal memory:
All physical disk in a, the scanning system finds described two metadata dishes;
B, integrality are judged: if the mark of pivot data disks is the NOT_COMPLETE mark, and the mark of dimension data disks is WRITE_COMPLETE, then the metadata information of pivot data disks is incomplete, covers the data of pivot data disks with the data of dimension data disks; If the information of pivot data disks is WRITE_COMPLETE, and that the dimension data disks is NOT_COMPLETE, then makes mistakes when writing the dimension data disks, covers the metadata of dimension data disks with the data of pivot data disks; If the mark of two metadata dishes of primary and secondary all is WRITE_COMPLETE, the data of then representing two metadata dishes all are complete;
C, validity are judged: the metadata on the pivot data disks is imported internal memory, check the physical equipment information in the metadata information, the UUID of the physical equipment that i.e. contrast can scan and the tabulation of the UUID in the metadata information, thus judge that can a physical equipment be reused; If the physical equipment in the UUID of the metadata information tabulation does not scan, VIC writes daily record to the information of this physical equipment and error message, and deletes information and other relevant informations of this physical equipment from metadata information;
Figure C20051001182500071
The physical equipment administration and supervision authorities, this layer carried out the scsi command that the Storage Virtualization layer sends over, simultaneously the also detection of responsible physical equipment and abstract; Scsi_do_req function during the execution of described scsi command drives by the SCSI middle layer of calling linux system is finished; And the detection of physical equipment and abstract realization successively according to the following steps:
When a, VIC start, the scsi device chained list of scanning system;
B, whenever scan a memory device, set up corresponding physical equipment structure;
C, be UUID of each devices allocation;
D, VIC divide the storage space of this equipment according to the piece of fixed size, and these spaces are added in the storage pool of Storage Virtualization into;
The implementation method of virtual intelligent controller contains following steps (as shown in Figure 1) successively in the SAN of the present invention system:
Step 1: virtual intelligent controller receives the IO request that sends over from application server by the SAN network interface, and forwards the request to the access control management layer;
Step 2: the access control management layer parses operation and the corresponding apparatus information that will carry out from the IO request, and compares with the information in the device access authority list, judges whether to allow to carry out this operation; If be not inconsistent, then directly return with access authority information; If this IO request has operating right, just be transmitted to the Storage Virtualization layer;
Step 3: the Storage Virtualization layer is according to the information of virtual unit, the address information of IO request is analyzed, generation can be on physical storage device the direct scsi command of execution, and these orders are sent to the physical equipment administration and supervision authorities;
Step 4: the physical equipment administration and supervision authorities are carried out scsi command, and execution result is returned to main frame SAN network interface;
Step 5: main frame SAN network interface sends to the application corresponding server to the execution result of IO request.
Adopt this method only to need in the SAN system, to add virtual intelligent controller, just can effectively manage various storage resources in the storage system, and has an operating system platform independence, a kind of effective Storage Resource Management (SRM) method that gets can be provided for the application server environment of isomery, be fit to very much various storage applied environment at present, satisfy the storage administration demand that becomes increasingly complex.
Description of drawings
The program flow chart of Fig. 1 the method for the invention
Fig. 2. use VIC to make up the hardware connection layout of SAN system
The software architecture figure of Fig. 3 .VIC
Fig. 4. the virtual unit structural drawing
The bandwidth comparison diagram of Fig. 5 .VIC and SCSI Target Emulator
The delay comparison diagram of Fig. 6 .VIC and SCSI Target Emulator
Fig. 7. read tape wide and the cpu busy percentage graph of a relation
Fig. 8. write bandwidth and cpu busy percentage graph of a relation
Specific implementation
Core of the present invention is to add one or more virtual intelligent controllers between the application server of SAN system and memory device, thereby the SAN system divides is become two parts: equipment SAN and main frame SAN.Virtual intelligent controller all storage resources in can management equipment SAN wherein, and provide unified storage resources view to main frame SAN.Comprise three levels in the concrete implementation framework:
Access control management layer: receive the IO request that application server sends over, the execution authority of this request is checked, and the IO request that operating right is arranged is sent to the Storage Virtualization layer.
Storage Virtualization layer: realize the function of Storage Virtualization management, and can change, it can be carried out on physical device to the IO request data space to be processed that receives.
The physical store administration and supervision authorities: function has two aspects, and the first receives the scsi command that can carry out at physical equipment that comes from the Storage Virtualization layer, and order is forwarded on the corresponding physical equipment; It two is that various physical equipments are managed, and they are added in the storage pool in the Storage Virtualization layer.
To introduce hardware structure of the present invention and software architecture in detail below:
1. hardware structure
We are the virtual intelligent controller called after VIC (Virtualization IntelligentController) of this independent development.One or more VIC are the SAN system divides two parts just: main frame SAN and equipment SAN.The SAN system that use VIC builds as shown in Figure 2.That wherein main frame SAN connects is application server (Server) and VIC, and that this moment, VIC served as is the role of a kind of " storage resources ", and application server can use these storage resources; What equipment SAN connected is VIC and various memory device, and that this moment, VIC served as is the role of " Storage Resource Management (SRM) person ", and can be transmitted to memory device to the IO request that comes from main frame.In this way, just storage resources use and manage disconnected from each other, main frame SAN and equipment SAN can Each performs its own functions.Application server among the main frame SAN only need be paid close attention to the storage resources that how to use VIC to provide, and need not manage the details of bottom physical equipment; And equipment SAN will be responsible for storage resources is effectively managed, to satisfy demands of applications.
2. software architecture
The software configuration of VIC comprises three levels: access control management layer, Storage Virtualization layer, physical equipment administration and supervision authorities.Specifically as shown in Figure 3.Wherein the access control management layer can receive the IO request that the SAN network interface sends, and these requested operation authorities are verified that making has the order of authority just to be sent to the Storage Virtualization layer.The Storage Virtualization layer is according to the information of virtual unit, the data message in the IO request analyzed and shone upon, thereby obtain the IO request that can carry out on physical device, and be transmitted to the physical equipment administration and supervision authorities.And the metadata management submodule is responsible for the metadata information of this layer corresponding virtual function is managed.The physical equipment administration and supervision authorities send to the SAN network interface to the IO request responding by the processing to scsi command.And Equipment Inspection submodule and device abstract submodule are responsible for physical equipment information all in the scanning system, and these physical equipments are carried out abstract, go to add in the storage system, use for the Storage Virtualization layer.
3. access control
Device access authority list of the last maintenance of VIC, each entry record of this table virtual device number, Access Bitmap (promptly visiting bitmap) and Privilege Bitmap (being franchise bitmap).Wherein Access Bitmap and Privilege Bitmap are two isometric number of machines, are writing down the access control information of relevant device.A possible facility information table is as shown in table 1:
Table 1 visit information table
VD NUMBER ACCESS BITMAP PPRIVILEGEBITMAP
VD 0 ......0001 ......0001
VD 1 ......0010 ......0010
VD 2 ......0110 ......0100
......
VD n ......0000 ......0000
Can on behalf of a station server, each bit among the Access Bitmap all visit this equipment, and the 0th bit represents that can the 1st machine visit this equipment, and the 1st bit represents that the 2nd machine can visit this equipment, recursion according to this.Each bit representative among the Privilege Bitmap can be visited the concrete operations authority of the server of this equipment.Both combinations just can be determined the access control information of a station server.Concrete access rights are described as follows:
Table 2 access rights
Access bit Privilege bit Access Mode
0 0 ACCESS DENY
1 0 READ ONLY
1 1 READ/WRITE
Therefore, can be interpreted as for the information in the device access authority list of table 1: 1 couple of VD 0 of server has access limit; 2 couples of VD 1 of server have access limit; 3 couples of VD2 of server have access limit, and 2 couples of VD2 of server have read right simultaneously; Or the like.
When application server loads the optical fiber driver of starter pattern, which virtual unit it must inquire about to the device access authority list of VIC was received the network virtual hanging equipment of these " as seen " in the scsi device chained list of server then to its " as seen ".Application server just can be carried out the IO operation to these network equipments, but concrete be to allow read operation or allow read-write operation to determine by query facility access rights table once more.By the access control of this equipment, we just can improve the access security of equipment, thereby guarantee the data security of application server.
4. map addresses
The IO request just sends to the Storage Virtualization layer after verifying through access control, transfers to this layer processing.Because the IO of this moment request is the request at virtual unit, can't directly carry out.Therefore, we must this request change into one or more can be at the scsi command of the actual execution of physical equipment, this process is finished by map addresses.Cross the Cheng Qian in the concrete map addresses of explanation, be necessary to illustrate first the structure of (Virtual Device is called for short VD) of virtual unit in the VIC system.The structure of virtual unit is as shown in Figure 4:
PS wherein (Physical Segment is a physical segment) is one section storage space that virtual unit has, and this section storage space must be on same physical equipment, and is continuous.
Address information at the IO of virtual unit request is the tlv triple of a lun (logical unit number), offset, length, wherein lun represents this request corresponding virtual device number, offset is the skew of this request, and length represents the size of data of this request.
When carrying out map addresses, all need to finish from virtual I O request corresponding address information<lun, offset, length at every turn〉to physical I O request corresponding address information<PD_ID, offset, length conversion.Concrete map addresses process is as follows:
(1) searches lun and find corresponding VD with the VD mapping table
(2), determine the PS at the start address place of this request according to type and the offset of VD
(3) determine the number of physical I O request and the size of data of each request by the length field of virtual I O request
Just can on physical storage device, carry out practically through the scsi command that map addresses obtains.
Because when each IO of execution asked, the map addresses submodule all was the information of inquiring about current VD in real time.This mode makes the change of VD information can immediately be employed server to know or use, this for VIC realizes that various dynamic functions such as dynmaic establishing virtual disk, dynamic capacity-expanding etc. provide may.In addition because the data total amount of the read/write of virtual I O request and its corresponding physical IO request equates that so we just can divide the shared spatial cache of virtual I O request, distribute to corresponding physical IO then and ask.The processing mode of this data space can be avoided carrying out the lot of data copy between virtual/physical I O request, thereby has improved system performance.
5. virtual device management
Virtual device manager is one of core of VIC, and it is responsible for most of virtualization of the system that realizes, such as establishment, deletion, the dilatation of virtual unit, and function such as senior snapshot, mirror image.The management of virtual unit mainly is the type of managing virtual equipment and the tissue of Virtual Space.The type of virtual unit is varied, can be Linear, Striped, Mirror, Snapshot or the like.Different types provides different functions, has the storage space that any system can accept size as the virtual unit of Linear type; The Striped type has the function of the concurrent IO number of raising equipment; The Mirror virtual disk has improved the security of system data; The Snapshot virtual disk has function of a certain moment map of retention system or the like.
The storage space of virtual unit is to organize in the mode of table, and table 3 has illustrated the organizational form of virtual unit storage space.Wherein PS is illustrated in an amount of physical memory that physical disk the preceding paragraph is continuous.
The storage space organizational form of table 3 virtual unit
PS1 PD_ID Offset Length
PS2 PD_ID Offset Length
PS3 PD_ID Offset Length
……
The memory source that the organizational form of this storage space makes us spend seldom on the one hand just can be managed very huge storage space.This be because<Offset Length a combination just can represent the storage space of any size of system permission; Another face makes that also the storage space that changes virtual unit becomes very simple.We can be by adding at the end of table or deleting a PS and just can realize the dilatation of virtual disk and subtract appearance.And because we are the information of inquiring about virtual unit in real time in command process, therefore the result of the change of this capacity can be embodied in the command execution process at once, so VIC has good dynamic memory resource management function.
6. metadata management
Meta data manager is another important composition composition of virtualization modules.Metadata in the VIC system refers to information and some other relevant information of physical equipment in the system of writing down, virtual unit, access control.System configuration before reasonably metadata management must guarantee can recover to load when reloading system, thus the system that makes has reentrant characteristic; Improved the reliability of system by the mode that a plurality of copies of metadata are provided, the system that makes can recover when having metadata to lose efficacy; The metadata of native system can also be tested to the configuration information of metadata system in addition, thereby selectively recovers, thereby the system that guarantees has availability preferably.
At present, the VIC system is saved in metadata on two SCSI hard disks, and these two disks are called the metadata disk, and one of them is the pivot data disks, and another is the dimension data disks.The place that deposit as metadata in the 20M space that each metadata disk uses initial sector to begin, two parts of metadata have formed the backup relation.The each generation after the metadata change operation, system all must write disk to the metadata after upgrading.A special mark is arranged in the metadata information, be used for the mark metadata whether to have write disk fully.Concrete metadata updates process is as follows:
(1) mark of pivot data disks is emptied
(2) metadata is write the pivot data disks;
(3) mark of pivot data disks is arranged to WRITE_COMPLETE after having write the pivot data disks
(4) mark of dimension data disks is emptied
(5) metadata is write the dimension data disks;
(6) mark of dimension data disks is arranged to WRITE_COMPLETE after having write the dimension data disks
In the metadata import system, the process of generation is just in time opposite with the above-mentioned process of writing metadata.Concrete metadata importing process is as follows:
(1) all physical disk in the scanning system finds two metadata disks.
(2) integrality is judged.That at first checks the pivot data disk marks whether it is WRITE_COMPLETE.If WRITE_COMPLETE, that just then judges back-up disk marks whether it is WRITE_COMPLETE, if the mark of back-up disk is not WRITE_COMPLETE, the metadata derivation process that back-up disk is described is made mistakes, and therefore need cover the back-up disk metadata with the metadata on the pivot data disk; If the mark of pivot data disk is not WRITE_COMPLETE, just the metadata with backup metadata disk covers the pivot data disk.Because pivot data disk and backup metadata disk are to write metadata serially, are correct available so a metadata must be arranged.By the integrality deterministic process, the metadata of primary and secondary metadata dish synchronously just, and can guarantee that the metadata of pivot data disks is available all the time.Synchronous operation is as shown in the table:
Table 4 metadata synchronization process
Primary Metadata Disk Secondary Metadata Disk Copy Operation
NOT_COMPLETE WRITE_COMPLETE From secondary to primary
WRITE_COMPLETE NOT_COMPLETE From orimary to secondary
WRITE_COMPLETE WRITE_COMPLETE None
(3) validity is judged.Metadata on the pivot data disk is imported internal memory, and check the physical equipment information in the metadata information.Because physical equipment is by the UUID unique identification, UUID tabulation in the UUID of the physical equipment that we can scan by contrast and the metadata information judges whether a physical equipment can be reused.If the physical equipment in the UUID tabulation does not scan, VIC just writes daily record to the information of this physical equipment and error message, and deletion is correlated with this physical equipment from metadata information all logical device information and other information, thereby the availability of the system of assurance.
7. physical equipment administration and supervision authorities
The major function that the physical equipment administration and supervision authorities are finished has two aspects.The first is responsible for the execution of the scsi command that the Storage Virtualization layer sends over; It two is detection and abstraction functions of being responsible for physical equipment.
Wherein the execution of scsi command mainly is to finish by the scsi_do_req () function that the SCSI middle layer of calling Linux drives, this function can insert respective queue to the scsi command at physical device, and the SCSI that transfers to linux system then drives and carries out practically.And the detection of physical equipment and abstraction function are realized by following process:
When (one) VIC starts, the tabulation of the scsi device of scanning system;
(2) whenever scan a memory device, just set up this equipment corresponding physical device structure earlier;
(3) it distributes one 64 UUID (Universal Unique IDentifier) to each equipment, is used for this equipment of unique identification, and system just can discern or give for change this equipment by this UUID when restarting or moving like this;
(4) VIC divides the storage space of this equipment according to the piece (acquiescence is 64K) of fixed size, and these spaces is added in the storage pool of system into.The management of all virtual units all is to carry out in this storage pool.
In this way, we just can shield the details of bottom physical equipment, comprise place capacity, rotating speed or the like, thereby provide and concrete device-independent virtualization.
Performance test
Because virtualization controller of the present invention is on the basis of SCSI Target Emulator, redesign and realize, thereby make it have the function of storage resources being carried out virtual management, thereby we extremely be necessary to the influence that increase caused of virtualization carry out some the test, these tests comprise the test of IO performance and the test of cpu busy percentage.
1.IO performance
VIC is owing to add the virtual management function of storage resources, therefore have bigger advantage in the manageability of storage resources, security etc. aspect functional than SCSI Target Emulator, but this advantage not to be cost with the performance of sacrificing memory controller.We, test the total bandwidth and the average operating lag of a plurality of network disks under two kinds of situations of VIC and SCSI Target Emulator by use Iometer on front end application server.
The configuration of table 5 expression VIC and SCSI Target Emulator, specific as follows:
Soft, the hardware configuration of table 5 memory controller
CPU Intel(R)Xeon(TM)CPU 2.40GHz
Memory 1G
OS Red Hat Linux 7.3
kernel version 2.4.22
Fibre Channel QLogic Corp.QLA230064-bit FC-AL Adapter
Storage Subsystem Adaptec AIC-7892A U160/m(rev 02)
SEAGATE 10KRPMS 73GB×8(model:ST373307LC)
The front end application server configuration is as shown in table 6:
Soft, the hardware configuration of table 6 application server
CPU Intel(R)Xeon(TM)CPU 2.40GHz
Memory 1G
OS Red Hat Linux 7.3
kemel 2.4.18-3smp
Fibre Channel Emulex Corporation LP982 Fibre Channel Adapter(rev 01)
The IO request mode that test is used is totally continuous, and size is 128K, and the ratio of read-write operation was respectively for 80% and 20% (this ratio meets the reading of general data stream).We use the virtualization of VIC to create a virtual unit on each physical equipment, test the total bandwidth and the average retardation of the virtual unit of different numbers, and and the SCSI Target Emulator test result under the same conditions that has 8 physical disks make comparisons, the total bandwidth and the average retardation ratio that obtain are between the two schemed, respectively as shown in Figure 5 and Figure 6:
By comparing the IO The performance test results of VIC and SCSI Target Emulator, we can find that VIC is no more than 3.6% than the total bandwidth loss of SCSITarget Emulator, and the average retardation increase is no more than 8%.This just illustrates that also VIC does not bring too many overhead than the management function of SCSI Target Emulator complexity.This is because the main delay of IO operation is in the read-write disk operating, this delay is a Millisecond, and the delay of the map addresses process on data path is the microsecond level, its delay with respect to the read-write disk can be ignored, and therefore the IO performance impact of bringing owing to the introducing virtualization is not very big.
2.CPU utilization factor
The IO performance test is that the VIC entire system is used as a plurality of virtual memory facilitieses, measurement be access bandwidth and the average retardation that it can provide storage networking, this is the external performance of VIC system.But the VIC system will inevitably be to itself producing certain influence owing to the process that has increased map addresses on the access passage of data, and these are the most representative with cpu busy percentage in influencing.We used with the IO performance test in identical test environment, test VIC system and the readwrite bandwidth of SCSI TargetEmulator system and the relation between the cpu busy percentage respectively.
Read tape wide or the relation of writing bandwidth and cpu busy percentage respectively as Fig. 7, shown in Figure 8, the Iometer parameter that the test of these two figure correspondences is adopted all is 100% sequential operation, the transmission block size is 128K, 100% read request that the wide test of but reading tape is used, what write the bandwidth test use is 100% write request.Why we adopt the mode of reading fully or writing fully to measure relation between total bandwidth and the cpu busy percentage, are because the processing of write operation is than read operation complexity in the VIC system.For write operation, VIC will carry out twice interruption and take orders respectively and data, and only need interrupt once taking orders for read operation.
We are as can be seen from figure: no matter be VIC system or SCSI Target is Emulator, the lifting of its read bandwidth must bring the raising of cpu busy percentage.But under the situation of same magnitude bandwidth change, the amplitude that the cpu busy percentage of VIC system improves is greater than SCSI Target Emulator, and this explanation VIC system has prolonged IO processing of request path, has increased the burden of system.At present the high energy of the read/write bandwidth of VIC system reaches about 120MB, and this is subject to the 160MB SCSI bus bandwidth of Utlra 160.Cpu busy percentage also has a large amount of computational resources available less than 25% at this moment.Even just in case the not enough situation of computational resource takes place, we also can solve by the method that increases computational resource or renewal hardware system.
The invention brief summary
Virtual intelligent controller of the present invention is to have increased submodules such as access control management, map addresses, Storage Resource Management (SRM), metadata management on the basis of the SCSITarget of UNH university Emulator, thereby makes VIC have the function of virtual storage administration.When VIC receives the IO request that storage networking sends over, at first the authority of this request is verified that so just feasible do not have the request of operating right to be carried out, thereby improved the application server safety of data.Pass through map addresses when carrying out through the IO request of checking, the information of inquiring about virtual unit in real time, this makes application server can immediately know the virtual unit change in information; And the storage space of virtual unit is to organize by the mode of Table on the other hand, and this makes us can carry out the management of virtual memory space easily.The combination of this two aspect just makes the VIC system have functions such as dynmaic establishing virtual equipment, dynamic capacity-expanding, and the convenient use of application server to storage resources satisfied ecommerce etc. and used demand to the dynamic-configuration of storage.The metadata management mode of a plurality of copies has improved the reliability of system, and the system that makes can recover when having metadata to lose efficacy; The VIC system can test and selectively recovery to the configuration information of metadata system in addition, thereby the system that guarantees has availability preferably.Show that by the result to the VIC system performance testing a small amount of cpu resource that only need expend VIC just can obtain powerful Storage Resource Management (SRM) function, this illustrates that the design of our virtual intelligent controller is very reasonable, effective, successful.

Claims (1)

1.SAN the implementation method of virtual intelligent controller in the system, it is characterized in that: described virtual intelligent controller is added between the application server and memory device that storage area network is the SAN system, it is one or more virtual intelligent controllers of realizing with multi-purpose computer, is called for short VIC; Described one or more VIC is the SAN system divides main frame SAN and two parts of memory device SAN, and wherein main frame SAN is connecting application server and VIC, and that this moment, VIC served as is the role of storage resources; Memory device SAN is connecting VIC and all kinds of memory device, and this moment, the effect of VIC was a managing memory source; Described VIC comprises following three levels:
Figure C2005100118250002C1
The access control management layer: this layer is responsible for receiving the IO request that sends over from application server, the execution authority of each request checked, and the IO request that operating right is arranged is sent to Storage Virtualization layer described below; Described access control management layer is being safeguarded a device access authority list in internal memory, it is virtual device number that each entry record of this table VD Number, Access Bitmap promptly visits bitmap, Privilege Bitmap is a permission bitmap, wherein Access Bitmap and Privilege Bitmap are two isometric number of machines, writing down the access control information of relevant device, can on behalf of a station server, each bit that sequence number is counted from low level among the AccessBitmap all visit this equipment: institute is on the throne to be that " 1 " expression allows visit, and institute is on the throne to be " 0 " expression denied access; Each bit representative that sequence number is counted from low level among the Privilege Bitmap can be visited the concrete operations authority of the server of this equipment; In Privilege Bitmap, each that sequence number is counted from low level each that sequence number is counted from low level and the Access Bitmap is corresponding, and the access control information of a station server is determined in the combination of the corresponding position of AccessBitmap and Privilege Bitmap; Described access control information is comprising three kinds of access modules: visit position and permission bits all are " 0 ", the expression denied access; Visit position and permission bits all are " 1 ", and expression has access limit; The visit position is " 1 ", and permission bits is " 0 ", and expression has read right; When application server loads the optical fiber driver of starter pattern, which virtual unit it just has to its " as seen " by main frame SAN network to the device access authority list inquiry of VIC, and then the network virtual equipment of these " as seen " is added in the scsi device chained list of application server;
The Storage Virtualization layer: this layer realized the function of Storage Virtualization management, and can change the address information of the IO request that receives, and it can be carried out on actual physical device; This Storage Virtualization layer includes:
√ virtual device management module: this module is being safeguarded a virtual unit information table for each virtual unit in internal memory, it is the virtual unit title that this table includes following data item: VD_Name, lun is that IO asks pairing virtual device number, UUID i.e. the unique device identifier of the overall situation, Type is the virtual unit type, Capacity is the virtual unit capacity, and Space_list is a virtual unit storage space formation table; Described Space_list is that a PhysicalSegment is a physical segment, abbreviate the chained list of PS as, each PS is writing down following several data item: PD_ID, Offset, Length, in order to represent one section storage space continuous on same physical equipment, wherein PD_ID represents the sequence number of physical equipment; Offset represents the start offset in this section space; Length is the size of this section storage space;
The √ address mapping module: the virtual I O request that this module sends over described access control management layer change into one or more can be on physical equipment the actual scsi command of carrying out; The address information structure of described virtual unit IO request is the tlv triple of lun, an offset, length, and wherein lun represents this IO request corresponding virtual device number, and offset is the skew of this request, and length represents the size of data of this request; The specific address mapping process of described address mapping module is as follows successively: one, finding virtual device number is the VD of lun; Two,, determine that the skew of this IO request is the PS at start address place according to type and the offset of VD; Three, determine the number of physics request and the size of data of each corresponding physics request by the length field of each virtual request; Four, form a plurality of can be on physical equipment the actual scsi command of carrying out;
√ metadata management module: this module records has the system information that comprises physical equipment in the system, virtual unit and access control information, these information all are kept on two SCSI hard disks, be referred to as the metadata disk, one of them is the pivot data disks, another is the dimension data disks, and both form the backup relation; Whether a mark is arranged in the metadata information, can be that the complete or NOT_COMPLETE of metadata is that metadata is imperfect for WRITE_COMPLETE, complete in order to the mark metadata; Metadata is carried out as follows from the detailed process that physical disk imports internal memory:
All physical disk in a, the scanning system finds described two metadata dishes;
B, integrality are judged: if the mark of pivot data disks is the NOT_COMPLETE mark, and the mark of dimension data disks is WRITE_COMPLETE, then the metadata information of pivot data disks is incomplete, covers the data of pivot data disks with the data of dimension data disks; If the information of pivot data disks is WRITE_COMPLETE, and that the dimension data disks is NOT_COMPLETE, then makes mistakes when writing the dimension data disks, covers the metadata of dimension data disks with the data of pivot data disks; If the mark of two metadata dishes of primary and secondary all is WRITE_COMPLETE, the data of then representing two metadata dishes all are complete;
C, validity are judged: the metadata on the pivot data disks is imported internal memory, check the physical equipment information in the metadata information, the UUID of the physical equipment that i.e. contrast can scan and the tabulation of the UUID in the metadata information, thus judge that can a physical equipment be reused; If the physical equipment in the UUID of the metadata information tabulation does not scan, VIC writes daily record to the information of this physical equipment and error message, and deletes information and other relevant informations of this physical equipment from metadata information;
The physical equipment administration and supervision authorities, this layer carried out the scsi command that the Storage Virtualization layer sends over, simultaneously the also detection of responsible physical equipment and abstract; Scsi_do_req function during the execution of described scsi command drives by the SCSI middle layer of calling linux system is finished; And the detection of physical equipment and abstract realization successively according to the following steps:
When a, VIC start, the scsi device chained list of scanning system;
B, whenever scan a memory device, set up corresponding physical equipment structure;
C, be UUID of each devices allocation;
D, VIC divide the storage space of this equipment according to the piece of fixed size, and these spaces are added in the storage pool of Storage Virtualization into;
The implementation method of virtual intelligent controller contains following steps successively in the SAN of the present invention system:
Step 1: virtual intelligent controller receives the IO request that sends over from application server by the SAN network interface, and forwards the request to the access control management layer;
Step 2: the access control management layer parses operation and the corresponding apparatus information that will carry out from the IO request, and compares with the information in the device access authority list, judges whether to allow to carry out this operation; If be not inconsistent, then directly return with access authority information; If this IO request has operating right, just be transmitted to the Storage Virtualization layer;
Step 3: the Storage Virtualization layer is according to the information of virtual unit, the address information of IO request is analyzed, generation can be on physical storage device the direct scsi command of execution, and these orders are sent to the physical equipment administration and supervision authorities;
Step 4: the physical equipment administration and supervision authorities are carried out scsi command, and execution result is returned to main frame SAN network interface;
Step 5: main frame SAN network interface sends to the application corresponding server to the execution result of IO request.
CNB2005100118254A 2005-05-31 2005-05-31 Implementing method of virtual intelligent controller in SAN system Expired - Fee Related CN100347692C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005100118254A CN100347692C (en) 2005-05-31 2005-05-31 Implementing method of virtual intelligent controller in SAN system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005100118254A CN100347692C (en) 2005-05-31 2005-05-31 Implementing method of virtual intelligent controller in SAN system

Publications (2)

Publication Number Publication Date
CN1694081A CN1694081A (en) 2005-11-09
CN100347692C true CN100347692C (en) 2007-11-07

Family

ID=35353047

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100118254A Expired - Fee Related CN100347692C (en) 2005-05-31 2005-05-31 Implementing method of virtual intelligent controller in SAN system

Country Status (1)

Country Link
CN (1) CN100347692C (en)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101668339B (en) * 2008-09-05 2012-01-25 华为技术有限公司 Method and device for processing assignment message and communication system
CN101741861B (en) * 2010-01-07 2013-06-05 杭州华三通信技术有限公司 Data storage method and device
US8615544B2 (en) * 2011-02-25 2013-12-24 Wyse Technology Inc. System and method for unlocking a device remotely from a server
CN102202087B (en) 2011-04-25 2015-04-01 中兴通讯股份有限公司 Method for identifying storage equipment and system thereof
CN102546772A (en) * 2011-12-26 2012-07-04 浙江省电力公司 Virtual storage system for video monitor images
CN102523303A (en) * 2011-12-26 2012-06-27 浙江省电力公司 Data protection method for video monitoring system
CN102594868A (en) * 2011-12-26 2012-07-18 浙江省电力公司 Image hierarchical storage control method for video monitoring system
US20130262811A1 (en) * 2012-03-27 2013-10-03 Hitachi, Ltd. Method and apparatus of memory management by storage system
CN103036952B (en) * 2012-11-30 2016-04-20 国家电网公司 A kind of enterprise-level isomery merges storage management system
JP6025547B2 (en) * 2012-12-21 2016-11-16 キヤノンイメージングシステムズ株式会社 Information processing apparatus, device control apparatus, control method therefor, and device control system
CN103731309A (en) * 2013-12-31 2014-04-16 深圳市科漫达智能管理科技有限公司 Equipment management method and device
CN105446813B (en) * 2014-05-30 2018-12-14 华为技术有限公司 A kind of method and device of resource allocation
CN105786732B (en) * 2014-12-26 2019-02-12 华为技术有限公司 Data access method and device
CN105487813A (en) * 2015-10-21 2016-04-13 国家电网公司 Distributed storage based multi-path I/O transmission method
CN109213449B (en) * 2018-09-04 2021-07-06 超越科技股份有限公司 RAID drive implementation system and equipment based on domestic firmware
CN113849138B (en) * 2021-12-01 2022-02-22 浙江齐安信息科技有限公司 Safety control device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040028043A1 (en) * 2002-07-31 2004-02-12 Brocade Communications Systems, Inc. Method and apparatus for virtualizing storage devices inside a storage area network fabric
CN1540524A (en) * 2003-10-31 2004-10-27 清华大学 Method for accessing distributed and virtualized storage in local network
US20040267982A1 (en) * 2003-06-27 2004-12-30 Emulex Corporation Read/write command buffer pool resource management using read-path prediction of future resources
US6839746B1 (en) * 2003-06-03 2005-01-04 Veritas Operating Corporation Storage area network (SAN) device logical relationships manager

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040028043A1 (en) * 2002-07-31 2004-02-12 Brocade Communications Systems, Inc. Method and apparatus for virtualizing storage devices inside a storage area network fabric
US6839746B1 (en) * 2003-06-03 2005-01-04 Veritas Operating Corporation Storage area network (SAN) device logical relationships manager
US20040267982A1 (en) * 2003-06-27 2004-12-30 Emulex Corporation Read/write command buffer pool resource management using read-path prediction of future resources
CN1540524A (en) * 2003-10-31 2004-10-27 清华大学 Method for accessing distributed and virtualized storage in local network

Also Published As

Publication number Publication date
CN1694081A (en) 2005-11-09

Similar Documents

Publication Publication Date Title
CN100347692C (en) Implementing method of virtual intelligent controller in SAN system
TWI709073B (en) Distributed storage system, distributed storage method and distributed facility
EP2930910B1 (en) Method and system for sharing storage resources
US7660946B2 (en) Storage control system and storage control method
US8117387B2 (en) Storage system and method of managing a storage system using a management apparatus
US8307171B2 (en) Storage controller and storage control method for dynamically assigning partial areas of pool area as data storage areas
US8806169B1 (en) Memory management method, memory management apparatus and NUMA system
US8639898B2 (en) Storage apparatus and data copy method
KR102318477B1 (en) Stream identifier based storage system for managing array of ssds
US9971527B2 (en) Apparatus and method for managing storage for placing backup data into data blocks based on frequency information
US20120303926A1 (en) Storage subsystem
US9182912B2 (en) Method to allow storage cache acceleration when the slow tier is on independent controller
US9253014B2 (en) Computer system and application program execution environment migration method
US8725971B2 (en) Storage apparatus and method for controlling storage apparatus involving snapshots
KR20120050891A (en) Latency reduction associated with a response to a request in a storage system
CA2906534A1 (en) Multi-layered storage administration for flexible placement of data
US7617373B2 (en) Apparatus, system, and method for presenting a storage volume as a virtual volume
CN1838128A (en) Control technology for storage system
CN105739930A (en) Storage framework as well as initialization method, data storage method and data storage and management apparatus therefor
CN108733326B (en) Disk processing method and device
JPWO2008126202A1 (en) Storage system load balancing program, storage system load balancing method, and storage management device
CN1305265C (en) Asynchronous remote mirror image method based on load selfadaption in SAN system
CN112379825A (en) Distributed data storage method and device based on data feature sub-pools
US10705853B2 (en) Methods, systems, and computer-readable media for boot acceleration in a data storage system by consolidating client-specific boot data in a consolidated boot volume
US10242053B2 (en) Computer and data read method

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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20071107

Termination date: 20110531