WO2016122691A1 - File service operation on external host - Google Patents

File service operation on external host Download PDF

Info

Publication number
WO2016122691A1
WO2016122691A1 PCT/US2015/023674 US2015023674W WO2016122691A1 WO 2016122691 A1 WO2016122691 A1 WO 2016122691A1 US 2015023674 W US2015023674 W US 2015023674W WO 2016122691 A1 WO2016122691 A1 WO 2016122691A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
service operation
external host
host
file system
Prior art date
Application number
PCT/US2015/023674
Other languages
French (fr)
Inventor
Kishore Kumar Muppirala
Original Assignee
Hewlett Packard Enterprise Development Lp
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 Hewlett Packard Enterprise Development Lp filed Critical Hewlett Packard Enterprise Development Lp
Publication of WO2016122691A1 publication Critical patent/WO2016122691A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots

Definitions

  • FSCK file system consistency check operation
  • FIG. 1 is a block diagram of a system for initiating a file service operation on an external host, according to an example of the present subject matter
  • FIG. 2 is a block diagram of another system for initiating the file service operation on the external host, according to an example of the present subject matter
  • FIG. 3 illustrates an interaction between a host data storage system and the external host connected to the host data storage system, according to an example of the present subject matter
  • FIG. 4 is a flowchart of a method for initiating the file service operation on the external host, according to an example of the present subject matter
  • FIGs. 5A and 5B are a flowchart of another method for initiating the file service operation on the external host, according to an example of the present subject matter.
  • FIG. 6 is a block diagram of a network environment implementing a non- transitory computer-readable medium, for initiating the file service operation on the external host, according to an example of the present subject matter.
  • data is stored in a data storage system.
  • the data may be organized using a file system.
  • a file system may be understood as an abstraction for organizing and storing data on the data storage system.
  • the file system may also facilitate in controlling how the data is stored and retrieved from the data storage system, and also how the data is to be presented to a user.
  • Organizations may generate large amounts of data, which may in turn require file systems with increased capacity.
  • the file system implemented for the data storage system may experience unexpected crash events due to a variety of reasons, such as hardware failure, switching off a system without proper shutdown, and the like.
  • a file service operation such as a file system check (FSCK) operation
  • FSCK file system check
  • the FSCK operation may be understood as an operation that is used to recover the file system from the unexpected crash events.
  • other types of file service operations may also be implemented to control and manage other functions of the data storage system.
  • the entire file system may be scanned for errors. Once detected, the errors may be fixed as a result of the FSCK operation. Time taken for rectifying such errors using the FSCK operation would depend on the number of file objects stored in the data storage system. Therefore, larger the size of the data being maintained in the data storage system, the more time would be taken for completing the FSCK operation. For example, the amount of time taken would be dependent on a working set requirement of the FSCK operation.
  • the working set requirement may be understood as an amount of memory that the FSCK operation uses for its execution.
  • the time taken for completing the FSCK operation when the working set requirement of the FSCL operation is comparable to main memory of the data storage system would be less than the time taken in situations in which the working set requirement is substantially greater than the available memory.
  • the data storage system providing large storage capacity is generally a low-resource system, i.e. having low memory and low processing resources. If file service operations, such as the FSCK operation, are carried out by such data storage system having large storage space, the time period for completing such operations would be considerably large. This may result in data unavailability during the time the file service operations are being completed. The time period may be reduced by adding additional resources, such as memory or other processing resources. For example, such data storage systems may utilize specialized memory and processor. However, since such file service operations are not routinely implemented; deploying such additional hardware resources would be costly and inefficient.
  • the file service operation may be redirected to an external host having larger computational resources, for execution.
  • the computational resources may include memory or processing resources, or a combination of both, for completing the file service operation.
  • a file system of a host data storage system on which a file service operation is to be performed may be presented to the external host. Once the file system is presented, the file service operation is initiated on the external host.
  • the external host may be implemented as either one or more computing devices or may be implemented as a virtual machine. Implementing such an externa! host with greater computational resources is considerably less expensive. Consequently, directing file service operations to the external host would result in substantially reduced time required for completing the file service operations.
  • a working set requirement for performing the file service operation is determined.
  • a working set requirement may be understood as an amount of memory that a file service operation uses for its execution, in another example implementation, a working set requirement may also prescribe processing resource for completing the file service operation.
  • the file service operation is to be performed on a file system of a host data storage system.
  • a file service operation may be understood as an operation that is executed for performing one or more operations upon the file system.
  • Example of the file service operation includes, but is not limited to, a file system consistency check operation (FSCK) which checks consistency within a file system. The FSCK operation may be implemented in the event of the file system getting A
  • the working set requirement may be compared with a pre-defined threshold value.
  • the pre-defined threshold value may be based on at least one of available computational resources within the host data storage system and a capacity of the file system.
  • the computational resources may be indicative of memory or processing resources, or a combination of both.
  • the file system may be presented to an external host.
  • the external host may include larger computational resources than the host data storage system. For instance, if the pre-defined threshold value is 70 Gigabytes (GB) and the working set requirement is 100 GB, the file system is presented to the external host. Thereafter, the file service operation is initiated on the external host.
  • FIGS. 1 to 6 The above approaches are further described with reference to FIGS. 1 to 6. It should be noted that the description and figures merely illustrate the principles of the present subject matter, it may be understood that various arrangements may be devised that, although not explicitly described or shown herein, embody the principles of the present subject matter. Further, while aspects of described system and method for implementing a file service operation for a data storage system can be implemented in any number of different computing systems, environments, and/or implementations, the examples and implementations are described in the context of the following system(s).
  • FIG, 1 is a block diagram of a system 100 for initiating a file service operation on an external host, according to an example of the present subject matter.
  • the system 100 may be deployed in an environment having a network-based system for data storage and communication.
  • the system 100 may be a computing device, such as a laptop computer, a desktop computer, a workstation, or a server.
  • the system 100 is a system that allows a user, such as a system administrator, to implement a file service operation for a data storage system by redirecting the file service operation to an external host having more computational resources, for execution.
  • the system 100 includes processor(s) 102.
  • the processor(s) 102 may be implemented as microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, and/or any devices that manipulate signals based on operational instructions.
  • the functions of various elements shown in FIG. 1 including a functional block labeled as "processors)", may be provided through the use of dedicated hardware as well as hardware capable of executing machine readable instructions.
  • the system 100 further includes a redirecting module 104, coupled to the processor 102.
  • the redirecting module 104 may include routines, programs, objects, components, and data structures, which perform particular tasks or implement particular abstract data types.
  • the redirecting module 104 may also be implemented as, signal processor(s), state machine(s), logic circuitries, and/or any other device or component that manipulates signals based on operational instructions. Further, the redirecting module 104 can be implemented by hardware, by computer-readable instructions executed by a processing unit, or by a combination thereof.
  • the redirecting module 104 may receive a request to initiate a file service operation.
  • the file service operation may be directed for an identified file system of a host data storage system.
  • the host data storage system may include a plurality of disk arrays which store the data.
  • a working set requirement for performing the file service operation may be determined.
  • a file service operation may be understood as an operation that is executed to rectify errors in the file system, which may have been affected due to events, such as an unexpected crash.
  • the redirecting module 104 may compare the working set requirement with a pre-defined threshold value.
  • the redirecting module 104 may redirect the file service operation to an external host, for execution.
  • the external host is configured such that available computational resources are more than the available computational resources on the host data storage system, in other words, memory, number of CPUs, or CPU cores available on the external host are more in comparison to memory, number of CPUs, or CPU cores available on the host data storage system.
  • the redirecting module 104 presents the file system to the external host. Subsequently, the redirecting module 104 initiates the file service operation on the external host. For executing the file service operation, the external host may utilize its higher computational resources.
  • FIG. 2 illustrates the system 100 for initiating the file service operation on the external host, according to an example of the present subject matter.
  • the system 100 includes interface(s) 202.
  • the interface(s) 202 may include a variety of commercially available interfaces, for example, interfaces for peripheral device(s), such as data input output devices, referred to as I/O devices, storage devices, network device.
  • the I/O device(s) may include Universal Serial Bus (USB) ports, Ethernet ports, host bus adaptors, and their corresponding device drivers.
  • the interface(s) 202 may be used for facilitating communication between the system 100 and various other computing devices, such as host data storage system and the external host (not shown in FIG. 2).
  • the system 100 further includes a memory 204 coupled to the processor(s) 102.
  • the processor(s) 102 may fetch and execute computer-readable instructions stored in the memory 204.
  • the memory 204 may include any computer-readable medium known in the art including, for example, volatile memory, such as static random access memory (SRAM) and dynamic random access memory (DRAM), and/or non-volatile memory, such as read only memory (ROM), erasable programmable ROM, and flash memories.
  • SRAM static random access memory
  • DRAM dynamic random access memory
  • non-volatile memory such as read only memory (ROM), erasable programmable ROM, and flash memories.
  • the system 100 also includes module(s) 206 and data 208.
  • the module(s) 206 include the redirecting module 104 and other modu!e(s) 210.
  • the other module(s) 210 may include programs or coded instructions that supplement applications or functions performed by the system 100.
  • the data 208 includes device information 212, file system
  • the device information 212 may include information related to a host data storage system, such as available resources in the host data storage system and a number of disk arrays and logical blocks in the host data storage system.
  • the file system attribute(s) 214 includes information related to capacity of a file system, such as storage capacity of the file system and a number of objects in the file system, in addition to other information.
  • the host information 216 may include data related to the external host, for example, available resources on the external host.
  • the other data 218 may include data generated and/or saved by the modules 206 for providing various functionalities of the system 100.
  • the data 208 is shown internal to the system 100, the data 208 can also be implemented external to the system 100.
  • the redirecting module 104 may receive an instruction to perform the file service operation on a file system of a host data storage system.
  • the instruction to perform the file service operation may be received from a user, for example, a system administrator, in an example, the instruction may be received when the host data storage system experiences unexpected events which may affect the file system. Examples of such events include, but are not limited to, disk crash events. Any changes arising due to such unexpected events may be rectified through use of a file service operation.
  • the file service operation may be, for example, as operation which seek and fix errors in the file system, which may have occurred due to the unexpected event.
  • data may be stored within one or more disk arrays.
  • the disk arrays may further include one or more logical blocks or storage volumes.
  • the redirecting module 104 may determine, for the file service operation, a working set requirement for performing the file service operation.
  • a working set requirement may be understood as an amount of memory that a process requires for completion, in another implementation, a working set requirement may also prescribe processing resource for completing the file service operation.
  • the redirecting module 104 may compare the working set requirement with a pre-defined threshold value.
  • the pre-defined threshold value may be based on the device information 212 and the file system attribute(s) 214. In an example, the pre-defined threshold value may be based on at least one of available computational resources in the host data storage system and the capacity of the file system.
  • redirecting module 104 may redirect the file service operation to an external host by presenting logical blocks that make-up the file system to the external host.
  • the pre-defined threshold value is 50 GB and the working set requirement is 1 (30 GB, the logical blocks are presented to the external host.
  • the redirecting module 104 may initially unmount the file system from the host data storage system. In such a manner, the file system would subsequently not be presented to the host data storage system.
  • the redirecting module 104 may present the file system to the external host.
  • the redirecting module 104 may perform a mount operation, on the external host, such that the file system is made available or presented to the external host, if the file service operation requires the file system to be mounted.
  • file service operations such as FSCK
  • logical blocks that make-up the file system are presented to the external host.
  • the external host may be configured such that the available computational resources, such as memory or processing resources, or a combination of both, are more than the available computational resources on the host data storage system.
  • the redirecting module 104 may present the logical blocks to the external host over a communication channel.
  • the communication channel may be implemented as fibre channel, internet Small Computer System Interface (iSCS!), Serial Attached SCSI (SAS), and Serial ATA (SATA).
  • iSCS! internet Small Computer System Interface
  • SAS Serial Attached SCSI
  • SATA Serial ATA
  • the redirecting module 104 may initiate processes so as to stop presenting the logical blocks to the external host.
  • the redirecting module 104 may release the communication channel between the host data storage system and the external host.
  • the redirecting module 104 may present the logical blocks back to the host data storage system over the communication channel. Accordingly, the file service operation is temporarily offloaded to the external host that has more available computational resources in comparison to the host data storage system. As a result, time taken by the file service operation to complete is drastically cut-down, thereby reducing the downtime of the file system and consequently, improving the system availability.
  • system 10(3 may be implemented inside the host data storage system, such that the redirecting module 104 is hosted within the host data storage system.
  • FIG. 3 illustrates an interaction between a host data storage system and the external host connected to the host data storage system, as per one example.
  • FIG. 3 shows an environment 300.
  • the environment 300 includes a host data storage system 302.
  • the host data storage system 302 may be a disk array.
  • a virtual machine 304 is hosted in the host data storage system 302.
  • the host data storage system 302 also includes a controller 306.
  • the controller 306 includes a set of logical blocks, collectively referred to as logical blocks 308 and individually referred to as a logical block 308.
  • the controller 306 manages and controls the manner in which data may be stored in any of the logical blocks 308.
  • the logical blocks 308 to be used by file services may be presented to the virtual machine 304 by the controller 306.
  • the file services create a file system on the logical blocks 308 presented to the virtual machine 304.
  • the file services may be understood as technologies that enable a system to share data over file/object sharing protocols such as Server Message Block (SMB), Network File System (NFS), Object Application Programming Interface (API) interfaces within an organization, while using a file system over the logical blocks 308. Accordingly, the logical blocks 308 that make-up the file system are always presented and visible to the virtual machine 304.
  • SMB Server Message Block
  • NFS Network File System
  • API Object Application Programming Interface
  • the host data storage system 302 is connected to an external host 310.
  • the external host 310 includes computational resource 312.
  • the computational resource 312 further includes memory resource 314 and processing resource 316.
  • the computational resource 312 is substantially more in comparison to available computational resources in the controller 306.
  • the system 100 includes the redirecting module 104.
  • the system 100 is connected to the host data storage system 302 and the external host 310.
  • a file service operation to be performed on a file system is initiated on the virtual machine 304, where the logical blocks 308 that make-up the file system are already presented and visible to the virtual machine 304.
  • the file services and the file system may be hosted in the controller 306. In such as case, the file service operation to be performed on a file system is initiated on the controller 306.
  • the redirecting module 104 may perform a scan process on the logical blocks 308 in the virtual machine 304 to determine file systems associated with the logical blocks 308. Thereafter, for each file system, the redirecting module 104 may mount the file system. Mounting is a process in which, after a file system is created, the file system is made available to a system so that a user can use it. in case mount is successful, normal operation, such as activation of protocol shares, is carried on the file system, in case mount is not successful, the redirecting module 104 redirects the file service operation to the external host 310 based on capacity and the guiding threshold size of the file system. For redirecting the file service operation to the external host 31 (3, the redirecting module 104 stops presenting the logical blocks 308 that make-up the file system to the virtual machine 304.
  • the redirecting module 104 starts presenting the logical blocks 310 to the external host 310 over an interface between the host data storage system 302 and the external host 310.
  • Arrow 31 8 in FIG. 3 depicts the interface over which the logical blocks 308 are made available to the external host 310. Examples of the interface include fibre channel, iSCSI, SAS, and SATA.
  • the redirecting module 104 may trigger the file services hosted within the external host 31 0 for discovery of the logical blocks 308 on the external host 31 0.
  • the redirecting module 1 04 initiates the file service operation on the external host 310.
  • the file services are temporarily initiated on the external host 31 0 instead of being initiated on the controller 306.
  • the external host 31 Upon completion of the file service operation, the external host 31 (3 deactivates the file services and stops using the logical blocks 308. Thereafter, the redirecting module 104 stops presenting the logical blocks 308 to the external host 310 and presents the logical blocks 308 to the virtual machine 304 on the controller 306.
  • the execution time of the file service operation increases. For instance, if the available computational resource on the controller 306 is 8 GB and the working set requirement is 8 GB, then time period for completing the file service operation on the file system is 10 minutes. Further, if the available computational resource on the controller 306 is 4 GB and the working set requirement is 6 GB, then time period for completing the file service operation on the file system is 21 minutes.
  • the file service operation takes substantially longer time to execute when the available computational resource on the controller 306 is lower than the working set requirement. For instance, if the available memory resource on the controller 306 is 96 GB, the number of objects in the file system is 1 00 million, and the working set requirement is 10(3 GB, then time period for completing the file service operation on the file system is 180 minutes. Further, if the available memory resource on the controller 308 is 96 GB, the number of objects in the file system is 100 million, and the working set requirement is 100 GB, then time period for completing the file service operation on the file system is 433 minutes.
  • the execution time of the file service operation substantially reduces. Further, even with a large number of objects in the file system, the file service operation takes substantially lesser time to execute when the available computational resource in the external host 310 is more than the working set requirement.
  • FIGS. 4, 5A, and 5B illustrate methods 400 and 500, respectively, for initiating a file service operation on an external host, according to an example implementation of the present subject matter.
  • the order in which the methods are described is not intended to be construed as a limitation, and any number of the described method blocks may be combined in any order to implement the aforementioned methods, or an alternative method.
  • methods 400 and 500 may be implemented by processing resource or computing device(s) through any suitable hardware, non-transitory machine readable instructions, or combination thereof.
  • methods 400 and 500 may be performed by programmed computing devices, such as system 100 as depicted in FIGS. 1 -3. Furthermore, the methods 400 and 500 may be executed based on instructions stored in a non-transitory computer readable medium.
  • the non-transitory computer readable medium may include, for example, digital memories, magnetic storage media, such as one or more magnetic disks and magnetic tapes, hard drives, or optically readable digital data storage media.
  • the methods 400 and 5(30 are described below with reference to the system 100 as described above, other suitable systems for the execution of these methods can also be utilized. Additionally, implementation of these methods is not limited to such examples.
  • the method 400 includes receiving an instruction to perform a file service operation on a file system associated with one or more logical blocks of a host data storage system.
  • the instruction may be received by a user, such as a system administrator, or a configuration program/script of the host data storage system 302,
  • the file service operation may be directed for an identified file system of the host data storage system 302.
  • the file service operation may include a file system consistency check (FSCK) operation, in an example, the redirecting module 104 of the system 100 may receive the instruction from the user to perform the file service operation on the file system associated with the one or more logical blocks 308 of the host data storage system 302.
  • FSCK file system consistency check
  • the system 100 may retrieve the file system attribute(s) 214. Thereafter, a capacity of the file system is determined. Further it is determined whether the capacity of the file system is greater than an offloading threshold value.
  • the offloading threshold value may defined by the user based on available computational resources on the host data storage system 302. The computational resources may be indicative of memory or processing resources, or a combination of both. For instance, if available memory resources on the host data storage system 302 are much less in comparison to capacity of the file system, then the offloading threshold value may be set on a lower range.
  • the offloading threshold value may be set on a higher range.
  • the redirecting module 104 ascertains whether the file service operation is to be offloaded to the external host 310,
  • the one or more logical blocks are made available to the external host.
  • the one or more logical blocks 308 are made visible to the external host 310. For instance if the capacity of the file system is 64 Terabytes (TB) and the offloading threshold value is 50TB, then the one or more logical blocks 308 are made available to the external host 310.
  • the redirecting module 104 on ascertaining the file service operation to be offloaded to the external host 310, makes the one or more logical blocks 308 made available to the external host 310.
  • the file service operation is initiated on the external host.
  • the file service operation is performed on the file system associated with the one or more logical blocks 308 presented to the external host 31 (3.
  • the redirecting module 104 initiates the file service operation on the external host 310.
  • an instruction to perform a file service operation on a file system associated with one or more logical blocks of a host data storage system is received.
  • the redirecting module 104 of the system 100 may receive the instruction from the user to perform the file service operation on the file system associated with the one or more logical blocks 3(38 of the host data storage system 302.
  • a capacity of the file system is determined.
  • the capacity of the file system may be indicative of at least one of a storage capacity of the file system and a number of objects in the file systems.
  • the capacity of the file system may be determined based on the file attribute(s) 214. in an example, the redirecting module 104 may determine the capacity of the file system.
  • the offloading threshold value may be defined by a user, such as a system administrator.
  • the time taken by a file service operation to complete increases linearly with capacity of a file system on which the file service operation. Further, the time taken by the file service operation to complete also depends on available computational resources on the host data storage system 302. In an example, the offloading threshold value may be set based on available computational resources on the host data storage system 302.
  • the method 500 if it is determined that the capacity of the file system is less than the offloading threshold value, the method 500 proceeds to block 508 ('No' branch). At block 508, if the available computational resources on the host data storage system 302 are sufficient, then the file service operation is initiated on the host data storage system 302. However, if at block 506, it is determined that the capacity of the file system is greater than the offloading threshold value, the method 500 proceeds to block 510 ('Yes' branch).
  • the one or more logical blocks are made unavailable to a virtual machine hosted in the host data storage system.
  • a file service operation to be performed on a file system is initiated in the virtual machine 304, where the logical blocks 308 that make-up the file system are already presented and visible to the virtual machine 304.
  • the one or more logical blocks 308 are made invisible to the virtual machine 304 hosted in the host data storage system 302.
  • the redirecting module 104 makes the one or more logical blocks 308 unavailable to the virtual machine 304 hosted in the host data storage system 302.
  • the one or more logical blocks are made available to an external host connected to the host data storage system.
  • the external host 310 may include substantially more computational resource in comparison to the host data storage system 302.
  • the file system associated with the one or more logical blocks 308 becomes visible to the external host 310.
  • the one or more logical blocks 308 are made available to the external host 310 using a communication channel, such as fibre channel, iSCSi, SAS, and SATA.
  • the communication channel may act as an interface between the host data storage system 302 and the external host 310.
  • the redirecting module 104 makes the one or more logical blocks 308 available to the external host 310.
  • the file service operation is initiated on the external host.
  • the file service operation is performed on the file system associated with the one or more logical blocks 308 presented to the external host 310.
  • the redirecting module 104 initiates the file service operation on the external host 310.
  • the one or more logical blocks 308 are made unavailable to the external host.
  • the file service operation is temporarily offloaded to the external host 310.
  • the one or more logical blocks 308 are made unavailable to the external host 310 by releasing the communication channel between the interface between the host data storage system 302 and the external host 310.
  • FIG. 6 illustrates a block diagram of an example network environment 600 implementing a non-transitory computer-readable medium, for initiating a file service operation on the external host 310, in accordance with an example of the present subject matter.
  • the network environment 600 may comprise at least a portion of a public networking environment or a private networking environment, or a combination thereof.
  • the network environment 600 includes a processing resource 602 communicatively coupled to a non-transitory computer readable medium 604, hereinafter referred to as computer readable medium 604, through a communication link 606.
  • the processing resource 602 can be a computing device, such as the system 100.
  • the computer readable medium 604 can be, for example, an internal memory device of the computing device or an external memory device.
  • the communication link 606 may be a direct communication link, such as any memory read/write interface, in another implementation, the communication link 606 may be an indirect communication link, such as a network interface.
  • the processing resource 602 can access the computer readable medium 604 through a network 608.
  • the network 608 may be a single network or a combination of multiple networks and may use a variety of different communication protocols.
  • the processing resource 602 and the computer readable medium 604 may also be coupled to data sources 610 through the communication link 606, and/or to communication devices 612 over the network 608.
  • the coupling with the data sources 610 enables in receiving the requested data in an offline environment
  • the coupling with the communication devices 612 enables in receiving the requested data in an online environment.
  • the computer readable medium 604 includes a set of computer readable instructions, implementing the redirecting module 104.
  • the set of computer readable Instructions can be accessed by the processing resource 602 through the communication link 606 and subsequently executed to perform acts for initiating the file service operation on the external host 310.
  • the execution of the instructions by the processing resource 602 has been described with reference to various components introduced earlier with reference to description of FIGS. 1 , 2, and 3.
  • the redirecting module 104 may receive an instruction to initiate a file service operation, where the file service operation is directed for a file system of a host data storage system 302.
  • a file service operation may be understood as an operation that is executed to rectify errors in the file system which may have been affected due to events, such as an unexpected crash.
  • the file service operation includes a file system consistency check (FSCK) operation.
  • FSCK file system consistency check
  • the redirecting module 104 may determine a working set requirement for performing the file service operation and a capacity of the file system.
  • the file system is then presented to the external host 310 based on at the working set requirement for the file service operation and the capacity of the file system.
  • the capacity of the file system may indicate a storage capacity of the file system and a number of objects in the file system.
  • the available computational resources on the external host 310 may be substantially more than the available memory resources on the host data storage system 302. in an example, on determining the working set requirement to be greater than a predefined threshold value, the redirecting module 104 presents the file system to the external host 310.
  • the redirecting module 104 on determining the capacity of the file system to be greater than an offloading threshold value, the redirecting module 104 presents the file system to the external host 310.
  • the redirecting module 104 may present the file system to the external host 310 using one of fibre channel, iSCSI, SAS, and SATA.
  • the redirecting module 104 initiates the file service operation on the main memory 312 of the external host 310.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The present subject matter relates to initiating a file service operation on the external host. In one example, the present subject matter includes receiving an instruction to perform a file service operation on a file system associated with one or more logical blocks of a host data storage system. The present subject matter further includes ascertaining whether the file service operation is to be offloaded to an external host and on ascertaining the file service operation to be offloaded to the external host, making the one or more logical blocks available to the external host. Further, the present subject matter includes initiating the file service operation on the external host.

Description

FILE SERVICE OPERATION ON EXTERNAL HOST
BACKGROUND
[0001] Organizations rely on and produce ever-increasing amount of data which may be stored for varying time periods. The data is generally stored in file systems which are implemented in data storage systems. With the growing amount of data, the file systems may experience occasional unexpected crash events, and could end up in an inconsistent state. Generally, a file service operation, such as the file system consistency check operation (FSCK), is run on the file systems to resolve any issues arising out of such events.
B SEF DESCRIPTOR OF THE DRAWINGS
[0002] The following detailed description references the drawings, wherein:
[0003] FIG. 1 is a block diagram of a system for initiating a file service operation on an external host, according to an example of the present subject matter;
[0004] FIG. 2 is a block diagram of another system for initiating the file service operation on the external host, according to an example of the present subject matter;
[0005] FIG. 3 illustrates an interaction between a host data storage system and the external host connected to the host data storage system, according to an example of the present subject matter;
[0008] FIG. 4 is a flowchart of a method for initiating the file service operation on the external host, according to an example of the present subject matter;
[0007] FIGs. 5A and 5B are a flowchart of another method for initiating the file service operation on the external host, according to an example of the present subject matter; and
[0008] FIG. 6 is a block diagram of a network environment implementing a non- transitory computer-readable medium, for initiating the file service operation on the external host, according to an example of the present subject matter.
DETAILED DESCRIPTION
Typically, data is stored in a data storage system. Within the data storage system, the data may be organized using a file system. A file system may be understood as an abstraction for organizing and storing data on the data storage system. The file system may also facilitate in controlling how the data is stored and retrieved from the data storage system, and also how the data is to be presented to a user. Organizations may generate large amounts of data, which may in turn require file systems with increased capacity.
[0010] The file system implemented for the data storage system may experience unexpected crash events due to a variety of reasons, such as hardware failure, switching off a system without proper shutdown, and the like. In such cases, a file service operation, such as a file system check (FSCK) operation, may be executed to check and repair the file system. The FSCK operation may be understood as an operation that is used to recover the file system from the unexpected crash events. Besides the FSCK operation, other types of file service operations may also be implemented to control and manage other functions of the data storage system.
[0011] Returning to FSCK operation, in order to perform the FSCK operation, the entire file system may be scanned for errors. Once detected, the errors may be fixed as a result of the FSCK operation. Time taken for rectifying such errors using the FSCK operation would depend on the number of file objects stored in the data storage system. Therefore, larger the size of the data being maintained in the data storage system, the more time would be taken for completing the FSCK operation. For example, the amount of time taken would be dependent on a working set requirement of the FSCK operation. The working set requirement may be understood as an amount of memory that the FSCK operation uses for its execution. The time taken for completing the FSCK operation when the working set requirement of the FSCL operation is comparable to main memory of the data storage system would be less than the time taken in situations in which the working set requirement is substantially greater than the available memory.
[0012] The data storage system providing large storage capacity is generally a low-resource system, i.e. having low memory and low processing resources. If file service operations, such as the FSCK operation, are carried out by such data storage system having large storage space, the time period for completing such operations would be considerably large. This may result in data unavailability during the time the file service operations are being completed. The time period may be reduced by adding additional resources, such as memory or other processing resources. For example, such data storage systems may utilize specialized memory and processor. However, since such file service operations are not routinely implemented; deploying such additional hardware resources would be costly and inefficient.
[0013] Approaches for implementing a file service operation for a data storage system, are described. In an example, the file service operation may be redirected to an external host having larger computational resources, for execution. The computational resources may include memory or processing resources, or a combination of both, for completing the file service operation. In the present example, a file system of a host data storage system on which a file service operation is to be performed, may be presented to the external host. Once the file system is presented, the file service operation is initiated on the external host. The external host may be implemented as either one or more computing devices or may be implemented as a virtual machine. Implementing such an externa! host with greater computational resources is considerably less expensive. Consequently, directing file service operations to the external host would result in substantially reduced time required for completing the file service operations.
[0014] In accordance with an example implementation, for carrying out a file service operation, a working set requirement for performing the file service operation is determined. A working set requirement may be understood as an amount of memory that a file service operation uses for its execution, in another example implementation, a working set requirement may also prescribe processing resource for completing the file service operation. In an example, the file service operation is to be performed on a file system of a host data storage system. A file service operation may be understood as an operation that is executed for performing one or more operations upon the file system. Example of the file service operation includes, but is not limited to, a file system consistency check operation (FSCK) which checks consistency within a file system. The FSCK operation may be implemented in the event of the file system getting A
damaged.
[0015] Once determined, the working set requirement may be compared with a pre-defined threshold value. The pre-defined threshold value may be based on at least one of available computational resources within the host data storage system and a capacity of the file system. The computational resources may be indicative of memory or processing resources, or a combination of both. Upon determining the working set requirement to be greater than the pre-defined threshold value, the file system may be presented to an external host. The external host may include larger computational resources than the host data storage system. For instance, if the pre-defined threshold value is 70 Gigabytes (GB) and the working set requirement is 100 GB, the file system is presented to the external host. Thereafter, the file service operation is initiated on the external host.
[0018] With the approaches described above, time, cost, and resources associated with implementing the file service operation for the host data storage system are substantially reduced. As a result, data unavailability period and system downtime are also reduced. Although general concepts related to the claimed subject matter have been described in conjunction with the file service operation. However, any other similar operations for checking and repairing the file system would also be within the scope of the present subject matter.
[0017] The various approaches are further described in conjunction with the following figures, it should be noted that the description and figures merely illustrate the principles of the present subject matter. Further, various arrangements may be devised that, although not explicitly described or shown herein, embody the principles of the present subject matter and are included within its scope.
[0018] The above approaches are further described with reference to FIGS. 1 to 6. It should be noted that the description and figures merely illustrate the principles of the present subject matter, it may be understood that various arrangements may be devised that, although not explicitly described or shown herein, embody the principles of the present subject matter. Further, while aspects of described system and method for implementing a file service operation for a data storage system can be implemented in any number of different computing systems, environments, and/or implementations, the examples and implementations are described in the context of the following system(s).
[0019] FIG, 1 is a block diagram of a system 100 for initiating a file service operation on an external host, according to an example of the present subject matter. In an example, the system 100 may be deployed in an environment having a network-based system for data storage and communication. The system 100 may be a computing device, such as a laptop computer, a desktop computer, a workstation, or a server. The system 100 is a system that allows a user, such as a system administrator, to implement a file service operation for a data storage system by redirecting the file service operation to an external host having more computational resources, for execution.
[0020] The system 100 includes processor(s) 102. The processor(s) 102 may be implemented as microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, and/or any devices that manipulate signals based on operational instructions. The functions of various elements shown in FIG. 1 , including a functional block labeled as "processors)", may be provided through the use of dedicated hardware as well as hardware capable of executing machine readable instructions.
[0021] The system 100 further includes a redirecting module 104, coupled to the processor 102. The redirecting module 104, amongst other things, may include routines, programs, objects, components, and data structures, which perform particular tasks or implement particular abstract data types. The redirecting module 104 may also be implemented as, signal processor(s), state machine(s), logic circuitries, and/or any other device or component that manipulates signals based on operational instructions. Further, the redirecting module 104 can be implemented by hardware, by computer-readable instructions executed by a processing unit, or by a combination thereof.
[0022] in operation, the redirecting module 104 may receive a request to initiate a file service operation. The file service operation may be directed for an identified file system of a host data storage system. The host data storage system may include a plurality of disk arrays which store the data. On initiation of the file service operation, a working set requirement for performing the file service operation may be determined. As described above, a file service operation may be understood as an operation that is executed to rectify errors in the file system, which may have been affected due to events, such as an unexpected crash. [QQ23] Thereafter, the redirecting module 104 may compare the working set requirement with a pre-defined threshold value. Upon determining the working set requirement to be greater than the pre-defined threshold value, the redirecting module 104 may redirect the file service operation to an external host, for execution. The external host is configured such that available computational resources are more than the available computational resources on the host data storage system, in other words, memory, number of CPUs, or CPU cores available on the external host are more in comparison to memory, number of CPUs, or CPU cores available on the host data storage system. For execution of the file service operation, the redirecting module 104 presents the file system to the external host. Subsequently, the redirecting module 104 initiates the file service operation on the external host. For executing the file service operation, the external host may utilize its higher computational resources. These and other aspects are further described in conjunction with FIG. 2 and FIG. 3.
[QQ24] FIG. 2 illustrates the system 100 for initiating the file service operation on the external host, according to an example of the present subject matter. Apart from the processor(s) 102, the system 100 includes interface(s) 202. The interface(s) 202 may include a variety of commercially available interfaces, for example, interfaces for peripheral device(s), such as data input output devices, referred to as I/O devices, storage devices, network device. The I/O device(s) may include Universal Serial Bus (USB) ports, Ethernet ports, host bus adaptors, and their corresponding device drivers. The interface(s) 202 may be used for facilitating communication between the system 100 and various other computing devices, such as host data storage system and the external host (not shown in FIG. 2).
[0025] The system 100 further includes a memory 204 coupled to the processor(s) 102. Among other capabilities, the processor(s) 102 may fetch and execute computer-readable instructions stored in the memory 204. The memory 204 may include any computer-readable medium known in the art including, for example, volatile memory, such as static random access memory (SRAM) and dynamic random access memory (DRAM), and/or non-volatile memory, such as read only memory (ROM), erasable programmable ROM, and flash memories. [QQ26] The system 100 also includes module(s) 206 and data 208. The module(s) 206 include the redirecting module 104 and other modu!e(s) 210. The other module(s) 210 may include programs or coded instructions that supplement applications or functions performed by the system 100. The data 208 includes device information 212, file system attribute(s) 214, host information 216, and other data 218.
[0027] In an example, the device information 212 may include information related to a host data storage system, such as available resources in the host data storage system and a number of disk arrays and logical blocks in the host data storage system. The file system attribute(s) 214 includes information related to capacity of a file system, such as storage capacity of the file system and a number of objects in the file system, in addition to other information. Further, the host information 216 may include data related to the external host, for example, available resources on the external host. The other data 218 may include data generated and/or saved by the modules 206 for providing various functionalities of the system 100. Although the data 208 is shown internal to the system 100, the data 208 can also be implemented external to the system 100.
[0028] in one example implementation, for implementing a file service operation for a host data storage system, the redirecting module 104 may receive an instruction to perform the file service operation on a file system of a host data storage system. The instruction to perform the file service operation may be received from a user, for example, a system administrator, in an example, the instruction may be received when the host data storage system experiences unexpected events which may affect the file system. Examples of such events include, but are not limited to, disk crash events. Any changes arising due to such unexpected events may be rectified through use of a file service operation. The file service operation may be, for example, as operation which seek and fix errors in the file system, which may have occurred due to the unexpected event. [0029] Within the host data storage system, data may be stored within one or more disk arrays. The disk arrays may further include one or more logical blocks or storage volumes. On receiving the instruction to perform the file service operation, the redirecting module 104 may determine, for the file service operation, a working set requirement for performing the file service operation. A working set requirement may be understood as an amount of memory that a process requires for completion, in another implementation, a working set requirement may also prescribe processing resource for completing the file service operation. Once determined, the redirecting module 104 may compare the working set requirement with a pre-defined threshold value. The pre-defined threshold value may be based on the device information 212 and the file system attribute(s) 214. In an example, the pre-defined threshold value may be based on at least one of available computational resources in the host data storage system and the capacity of the file system.
[0030] Upon determining the working set requirement to be greater than the pre-defined threshold value, redirecting module 104 may redirect the file service operation to an external host by presenting logical blocks that make-up the file system to the external host. In an example, if the pre-defined threshold value is 50 GB and the working set requirement is 1 (30 GB, the logical blocks are presented to the external host. To this end, the redirecting module 104 may initially unmount the file system from the host data storage system. In such a manner, the file system would subsequently not be presented to the host data storage system.
[0031] Subsequently, the redirecting module 104 may present the file system to the external host. To this end, the redirecting module 104 may perform a mount operation, on the external host, such that the file system is made available or presented to the external host, if the file service operation requires the file system to be mounted. For file service operations, such as FSCK, logical blocks that make-up the file system are presented to the external host. The external host may be configured such that the available computational resources, such as memory or processing resources, or a combination of both, are more than the available computational resources on the host data storage system. According to an example implementation, the redirecting module 104 may present the logical blocks to the external host over a communication channel. In one example, the communication channel may be implemented as fibre channel, internet Small Computer System Interface (iSCS!), Serial Attached SCSI (SAS), and Serial ATA (SATA). At this stage, when the logical blocks are presented to the external host, the file service operation is carried out on the file system. For this, the working set of the file service operation is provided onto the memory of the external system. The file service operation scans the entire file system for errors and fixes the errors.
[0032] Upon completion of the file service operation on the external host, the redirecting module 104 may initiate processes so as to stop presenting the logical blocks to the external host. In one example, the redirecting module 104 may release the communication channel between the host data storage system and the external host. Subsequently, the redirecting module 104 may present the logical blocks back to the host data storage system over the communication channel. Accordingly, the file service operation is temporarily offloaded to the external host that has more available computational resources in comparison to the host data storage system. As a result, time taken by the file service operation to complete is drastically cut-down, thereby reducing the downtime of the file system and consequently, improving the system availability.
[0033] Although, it is described that the system 100 is implemented external to the host data storage system, in an example implementation, the system 10(3 may be implemented inside the host data storage system, such that the redirecting module 104 is hosted within the host data storage system.
[0034] FIG. 3 illustrates an interaction between a host data storage system and the external host connected to the host data storage system, as per one example.
[0035] As shown, FIG. 3 shows an environment 300. The environment 300 includes a host data storage system 302. In an example, the host data storage system 302 may be a disk array. A virtual machine 304 is hosted in the host data storage system 302. Further, the host data storage system 302 also includes a controller 306. The controller 306 includes a set of logical blocks, collectively referred to as logical blocks 308 and individually referred to as a logical block 308. The controller 306 manages and controls the manner in which data may be stored in any of the logical blocks 308. The logical blocks 308 to be used by file services may be presented to the virtual machine 304 by the controller 306. The file services create a file system on the logical blocks 308 presented to the virtual machine 304. The file services may be understood as technologies that enable a system to share data over file/object sharing protocols such as Server Message Block (SMB), Network File System (NFS), Object Application Programming Interface (API) interfaces within an organization, while using a file system over the logical blocks 308. Accordingly, the logical blocks 308 that make-up the file system are always presented and visible to the virtual machine 304.
[0038] As shown in FIG. 3, the host data storage system 302 is connected to an external host 310. The external host 310 includes computational resource 312. The computational resource 312 further includes memory resource 314 and processing resource 316. The computational resource 312 is substantially more in comparison to available computational resources in the controller 306. As can be seen in the FIG. 3, the system 100 includes the redirecting module 104. The system 100 is connected to the host data storage system 302 and the external host 310. Generally, a file service operation to be performed on a file system is initiated on the virtual machine 304, where the logical blocks 308 that make-up the file system are already presented and visible to the virtual machine 304. In an example, the file services and the file system may be hosted in the controller 306. In such as case, the file service operation to be performed on a file system is initiated on the controller 306.
[0037] in operation, the redirecting module 104 may perform a scan process on the logical blocks 308 in the virtual machine 304 to determine file systems associated with the logical blocks 308. Thereafter, for each file system, the redirecting module 104 may mount the file system. Mounting is a process in which, after a file system is created, the file system is made available to a system so that a user can use it. in case mount is successful, normal operation, such as activation of protocol shares, is carried on the file system, in case mount is not successful, the redirecting module 104 redirects the file service operation to the external host 310 based on capacity and the guiding threshold size of the file system. For redirecting the file service operation to the external host 31 (3, the redirecting module 104 stops presenting the logical blocks 308 that make-up the file system to the virtual machine 304.
[0038J Subsequently, the redirecting module 104 starts presenting the logical blocks 310 to the external host 310 over an interface between the host data storage system 302 and the external host 310. Arrow 31 8 in FIG. 3 depicts the interface over which the logical blocks 308 are made available to the external host 310. Examples of the interface include fibre channel, iSCSI, SAS, and SATA. Once the logical blocks 308 are presented to the external host 310, the redirecting module 104 may trigger the file services hosted within the external host 31 0 for discovery of the logical blocks 308 on the external host 31 0. Subsequently, the redirecting module 1 04 initiates the file service operation on the external host 310. In other words, the file services are temporarily initiated on the external host 31 0 instead of being initiated on the controller 306. Upon completion of the file service operation, the external host 31 (3 deactivates the file services and stops using the logical blocks 308. Thereafter, the redirecting module 104 stops presenting the logical blocks 308 to the external host 310 and presents the logical blocks 308 to the virtual machine 304 on the controller 306.
[0039] in an example, in case the available computational resources on the controller 308 are lower than the working set requirement of the file service operation, the execution time of the file service operation increases. For instance, if the available computational resource on the controller 306 is 8 GB and the working set requirement is 8 GB, then time period for completing the file service operation on the file system is 10 minutes. Further, if the available computational resource on the controller 306 is 4 GB and the working set requirement is 6 GB, then time period for completing the file service operation on the file system is 21 minutes.
[0040] In another example, with a large number of objects in the file system, the file service operation takes substantially longer time to execute when the available computational resource on the controller 306 is lower than the working set requirement. For instance, if the available memory resource on the controller 306 is 96 GB, the number of objects in the file system is 1 00 million, and the working set requirement is 10(3 GB, then time period for completing the file service operation on the file system is 180 minutes. Further, if the available memory resource on the controller 308 is 96 GB, the number of objects in the file system is 100 million, and the working set requirement is 100 GB, then time period for completing the file service operation on the file system is 433 minutes.
[0041] On the other hand, by directing the file service operation to the external host 310 having more computational resource than the controller 306, such that the available computational resource is more than the working set requirement for the file service operation, the execution time of the file service operation substantially reduces. Further, even with a large number of objects in the file system, the file service operation takes substantially lesser time to execute when the available computational resource in the external host 310 is more than the working set requirement.
[0042] FIGS. 4, 5A, and 5B illustrate methods 400 and 500, respectively, for initiating a file service operation on an external host, according to an example implementation of the present subject matter. The order in which the methods are described is not intended to be construed as a limitation, and any number of the described method blocks may be combined in any order to implement the aforementioned methods, or an alternative method. Furthermore, methods 400 and 500 may be implemented by processing resource or computing device(s) through any suitable hardware, non-transitory machine readable instructions, or combination thereof.
[0043] it may also be understood that methods 400 and 500 may be performed by programmed computing devices, such as system 100 as depicted in FIGS. 1 -3. Furthermore, the methods 400 and 500 may be executed based on instructions stored in a non-transitory computer readable medium. The non-transitory computer readable medium may include, for example, digital memories, magnetic storage media, such as one or more magnetic disks and magnetic tapes, hard drives, or optically readable digital data storage media. Although, the methods 400 and 5(30 are described below with reference to the system 100 as described above, other suitable systems for the execution of these methods can also be utilized. Additionally, implementation of these methods is not limited to such examples. [0044] With reference to the method 400 as depicted in FIG. 4, at block 402, the method 400 includes receiving an instruction to perform a file service operation on a file system associated with one or more logical blocks of a host data storage system. In an example, the instruction may be received by a user, such as a system administrator, or a configuration program/script of the host data storage system 302, The file service operation may be directed for an identified file system of the host data storage system 302. In an example, the file service operation may include a file system consistency check (FSCK) operation, in an example, the redirecting module 104 of the system 100 may receive the instruction from the user to perform the file service operation on the file system associated with the one or more logical blocks 308 of the host data storage system 302.
[0045] At block 404, it is ascertained whether the file service operation is to be offloaded to an external host. For ascertaining, the system 100 may retrieve the file system attribute(s) 214. Thereafter, a capacity of the file system is determined. Further it is determined whether the capacity of the file system is greater than an offloading threshold value. The offloading threshold value may defined by the user based on available computational resources on the host data storage system 302. The computational resources may be indicative of memory or processing resources, or a combination of both. For instance, if available memory resources on the host data storage system 302 are much less in comparison to capacity of the file system, then the offloading threshold value may be set on a lower range. In another case, if available memory resources on the host data storage system 302 are comparable to capacity of the file system, then the offloading threshold value may be set on a higher range. In an example, the redirecting module 104 ascertains whether the file service operation is to be offloaded to the external host 310,
[0048] At block 406, on ascertaining the file service operation to be offloaded to the external host, the one or more logical blocks are made available to the external host. In an example, on determining the capacity of the file system to be greater than the offloading threshold value, the one or more logical blocks 308 are made visible to the external host 310. For instance if the capacity of the file system is 64 Terabytes (TB) and the offloading threshold value is 50TB, then the one or more logical blocks 308 are made available to the external host 310. in an example, the redirecting module 104, on ascertaining the file service operation to be offloaded to the external host 310, makes the one or more logical blocks 308 made available to the external host 310.
[0047] At block 408, the file service operation is initiated on the external host. The file service operation is performed on the file system associated with the one or more logical blocks 308 presented to the external host 31 (3. In an example, the redirecting module 104 initiates the file service operation on the external host 310.
[0048] With reference to method 500 as depicted in FIGS. 5A and 5B, at block 502, an instruction to perform a file service operation on a file system associated with one or more logical blocks of a host data storage system is received. In an example, the redirecting module 104 of the system 100 may receive the instruction from the user to perform the file service operation on the file system associated with the one or more logical blocks 3(38 of the host data storage system 302.
[0049] At block 504, a capacity of the file system is determined. The capacity of the file system may be indicative of at least one of a storage capacity of the file system and a number of objects in the file systems. The capacity of the file system may be determined based on the file attribute(s) 214. in an example, the redirecting module 104 may determine the capacity of the file system.
[0050] At block 508, it is ascertained whether the capacity of the file system is greater than an offloading threshold value. In an example, the offloading threshold value may be defined by a user, such as a system administrator. The time taken by a file service operation to complete increases linearly with capacity of a file system on which the file service operation. Further, the time taken by the file service operation to complete also depends on available computational resources on the host data storage system 302. In an example, the offloading threshold value may be set based on available computational resources on the host data storage system 302.
[0051] if it is determined that the capacity of the file system is less than the offloading threshold value, the method 500 proceeds to block 508 ('No' branch). At block 508, if the available computational resources on the host data storage system 302 are sufficient, then the file service operation is initiated on the host data storage system 302. However, if at block 506, it is determined that the capacity of the file system is greater than the offloading threshold value, the method 500 proceeds to block 510 ('Yes' branch).
[0052] At block 510, the one or more logical blocks are made unavailable to a virtual machine hosted in the host data storage system. Generally, a file service operation to be performed on a file system is initiated in the virtual machine 304, where the logical blocks 308 that make-up the file system are already presented and visible to the virtual machine 304. Thus, when the capacity of the file system is greater than the offloading threshold value, the one or more logical blocks 308 are made invisible to the virtual machine 304 hosted in the host data storage system 302. In an example, the redirecting module 104 makes the one or more logical blocks 308 unavailable to the virtual machine 304 hosted in the host data storage system 302.
[0053] At block 512, the one or more logical blocks are made available to an external host connected to the host data storage system. The external host 310 may include substantially more computational resource in comparison to the host data storage system 302. When the one or more logical blocks 308 are made available to the external host 310, the file system associated with the one or more logical blocks 308 becomes visible to the external host 310. In an example, the one or more logical blocks 308 are made available to the external host 310 using a communication channel, such as fibre channel, iSCSi, SAS, and SATA. The communication channel may act as an interface between the host data storage system 302 and the external host 310. In an example, the redirecting module 104 makes the one or more logical blocks 308 available to the external host 310.
[0054] At block 514, the file service operation is initiated on the external host. The file service operation is performed on the file system associated with the one or more logical blocks 308 presented to the external host 310. In an example, the redirecting module 104 initiates the file service operation on the external host 310.
[0055] At block 516, upon completion of the file service operation on the external host, the one or more logical blocks 308 are made unavailable to the external host. The file service operation is temporarily offloaded to the external host 310. Thus, after execution of the file service operation, the one or more logical blocks 308 are made unavailable to the external host 310 by releasing the communication channel between the interface between the host data storage system 302 and the external host 310.
[0058] FIG. 6 illustrates a block diagram of an example network environment 600 implementing a non-transitory computer-readable medium, for initiating a file service operation on the external host 310, in accordance with an example of the present subject matter. The network environment 600 may comprise at least a portion of a public networking environment or a private networking environment, or a combination thereof. In one implementation, the network environment 600 includes a processing resource 602 communicatively coupled to a non-transitory computer readable medium 604, hereinafter referred to as computer readable medium 604, through a communication link 606. In an example, the processing resource 602 can be a computing device, such as the system 100.
[0057] The computer readable medium 604 can be, for example, an internal memory device of the computing device or an external memory device. In one implementation, the communication link 606 may be a direct communication link, such as any memory read/write interface, in another implementation, the communication link 606 may be an indirect communication link, such as a network interface. In such a case, the processing resource 602 can access the computer readable medium 604 through a network 608. The network 608 may be a single network or a combination of multiple networks and may use a variety of different communication protocols.
[0058J The processing resource 602 and the computer readable medium 604 may also be coupled to data sources 610 through the communication link 606, and/or to communication devices 612 over the network 608. The coupling with the data sources 610 enables in receiving the requested data in an offline environment, and the coupling with the communication devices 612 enables in receiving the requested data in an online environment.
[0059] in one implementation, the computer readable medium 604 includes a set of computer readable instructions, implementing the redirecting module 104. The set of computer readable Instructions, referred to as instructions hereinafter, can be accessed by the processing resource 602 through the communication link 606 and subsequently executed to perform acts for initiating the file service operation on the external host 310. For discussion purposes, the execution of the instructions by the processing resource 602 has been described with reference to various components introduced earlier with reference to description of FIGS. 1 , 2, and 3.
[0080] On execution by the processing resource 602, the redirecting module 104 may receive an instruction to initiate a file service operation, where the file service operation is directed for a file system of a host data storage system 302. A file service operation may be understood as an operation that is executed to rectify errors in the file system which may have been affected due to events, such as an unexpected crash. In an example, the file service operation includes a file system consistency check (FSCK) operation.
[0081] Thereafter, the redirecting module 104 may determine a working set requirement for performing the file service operation and a capacity of the file system. The file system is then presented to the external host 310 based on at the working set requirement for the file service operation and the capacity of the file system. The capacity of the file system may indicate a storage capacity of the file system and a number of objects in the file system. The available computational resources on the external host 310 may be substantially more than the available memory resources on the host data storage system 302. in an example, on determining the working set requirement to be greater than a predefined threshold value, the redirecting module 104 presents the file system to the external host 310. In another example, on determining the capacity of the file system to be greater than an offloading threshold value, the redirecting module 104 presents the file system to the external host 310. in an example, the redirecting module 104 may present the file system to the external host 310 using one of fibre channel, iSCSI, SAS, and SATA. Finally, the redirecting module 104 initiates the file service operation on the main memory 312 of the external host 310.
[0082] Although implementations of initiating the file service operation on an external host have been described in language specific to structural features and/or methods, it is to be understood that the present subject matter is not necessarily limited to the specific features or methods described. Rather, the specific features and methods are disclosed and explained in the context of a few implementations for initiating the file service operation on an external host.

Claims

I/We claim:
1 . A system comprising:
a processor;
a redirecting module coupled to the processor, wherein the redirecting module is to,
for a file service operation to be performed on a file system of a host data storage system, determine a working set requirement for performing the file service operation;
on determining the working set requirement to be greater than a pre-defined threshold value, present the file system to an external host; and
initiate the file service operation on the external host.
2. The system as claimed in claim 1 , wherein the file service operation comprises a file system consistency check (FSCK) operation.
3. The system as claimed in claim 1 , wherein available computational resources on the external host are more than available computational resources on the host data storage system.
4. The system as claimed in claim 1 , wherein the redirecting module is to present the file system to the external host using one of fibre channel, internet small computer system interface (iSCSI), Serial Attached SCSI (SAS), and Serial ATA (SATA).
5. The system as claimed in claim 1 , wherein the redirecting module is to:
on determining the working set requirement to be greater than the pre-defined threshold value, stop presenting the file system to the host data storage system; and
start presenting the file system to the external host, wherein the external host is connected to the host data storage system.
6. A method comprising:
receiving an instruction to perform a file service operation on a file system associated with one or more logical blocks of a host data storage system;
ascertaining whether the file service operation is to be offloaded to an external host;
on ascertaining the file service operation to be offloaded to the external host, making the one or more logical blocks available to the external host; and
initiating the file service operation on the external host,
7. The method as claimed in claim 6, wherein the ascertaining whether the file service operation is to be offloaded to the external host comprises:
determining a capacity of the file system, wherein the capacity of the file system indicates at least one of a storage capacity of the file system and a number of objects in the file system;
determining whether the capacity of the file system is greater than an offloading threshold value; and
on determining the capacity of the file system to be greater than the offloading threshold value, initiating offloading of the file service operation to the external host.
8. The method as claimed in claim 7, wherein the initiating the offloading of the file service operation to the external host comprises:
making the one or more logical blocks unavailable to the host data storage system; and
making the one or more logical blocks available to the external host.
9. The method as claimed in claim 6, wherein the method further comprises:
upon completion of the file service operation on the external host, making the one or more logical blocks unavailable to the external host.
10. The method as claimed in claim 6, wherein available computational resources on the external host are more than available computational resources on the host data storage system.
1 1 . A non-transitory machine-readable storage medium encoded with instructions executable by a processing resource to:
receive an instruction to initiate a file service operation, wherein the file service operation is directed for a file system of a host data storage system;
present the file system to an external host based on a working set requirement for performing the file service operation and a capacity of the file system; and
initiate the file service operation on the external host.
12. The non-transitory machine-readable storage medium as claimed in claim
1 1 , wherein the instructions are further executable to:
determine the working set requirement for performing the file service operation and the capacity of the file system; and
on determining the working set requirement to be greater than a pre-defined threshold value and the capacity of the file system to be greater than an offloading threshold value, present the file system to the external host, wherein the external host is connected to the host data storage system.
13. The non-transitory machine-readable storage medium as claimed in claim
12, wherein the capacity of the file system indicates at least of a storage capacity of the file system and a number of objects in the file system.
14. The non-transitory machine-readable storage medium as claimed in claim 1 1 , wherein the file system is presented to the external host using one of fibre channel, internet small computer system interface (iSCSi), Serial Attached SCSI (SAS), and Serial ATA (SATA).
15. The non-transiiory machine-readable storage medium as claimed in claim 1 1 , wherein available computational resources on the externa! host are more than available computational resources on the host data storage system.
PCT/US2015/023674 2015-01-29 2015-03-31 File service operation on external host WO2016122691A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN430CH2015 2015-01-29
IN430/CHE/2015 2015-01-29

Publications (1)

Publication Number Publication Date
WO2016122691A1 true WO2016122691A1 (en) 2016-08-04

Family

ID=56544099

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2015/023674 WO2016122691A1 (en) 2015-01-29 2015-03-31 File service operation on external host

Country Status (1)

Country Link
WO (1) WO2016122691A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7653699B1 (en) * 2003-06-12 2010-01-26 Symantec Operating Corporation System and method for partitioning a file system for enhanced availability and scalability
WO2010050944A1 (en) * 2008-10-30 2010-05-06 Hewlett-Packard Development Company, L.P. Online checking of data structures of a file system
US20120095971A1 (en) * 2010-10-19 2012-04-19 Symantec Corporation Online file system consistency check
US20120117035A1 (en) * 2010-11-09 2012-05-10 Symantec Corporation File system consistency check on part of a file system
US8903877B1 (en) * 2011-10-26 2014-12-02 Emc Corporation Extent of data blocks as an allocation unit in a unix-based file system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7653699B1 (en) * 2003-06-12 2010-01-26 Symantec Operating Corporation System and method for partitioning a file system for enhanced availability and scalability
WO2010050944A1 (en) * 2008-10-30 2010-05-06 Hewlett-Packard Development Company, L.P. Online checking of data structures of a file system
US20120095971A1 (en) * 2010-10-19 2012-04-19 Symantec Corporation Online file system consistency check
US20120117035A1 (en) * 2010-11-09 2012-05-10 Symantec Corporation File system consistency check on part of a file system
US8903877B1 (en) * 2011-10-26 2014-12-02 Emc Corporation Extent of data blocks as an allocation unit in a unix-based file system

Similar Documents

Publication Publication Date Title
US10120887B1 (en) Demand-driven initialization of data storage structures
US9501245B2 (en) Systems and methods for NVMe controller virtualization to support multiple virtual machines running on a host
KR101471879B1 (en) Hypervisor-based server duplication system, method thereof and recording medium storing the computer program for the duplication
US10922135B2 (en) Dynamic multitasking for distributed storage systems by detecting events for triggering a context switch
US20150095597A1 (en) High performance intelligent virtual desktop infrastructure using volatile memory arrays
US20170031768A1 (en) Method and apparatus for reconstructing and checking the consistency of deduplication metadata of a deduplication file system
US9519581B2 (en) Storage integration for host-based write-back caching
US20170177443A1 (en) Point-in-time-copy creation for direct cloud backup
US9875057B2 (en) Method of live migration
US20120284471A1 (en) Virtual machine disk migration
CN106777394B (en) Cluster file system
US20160103613A1 (en) Tagging for storage device regions
US9513829B1 (en) Transaction logging using round-robin block allocation and I/O size based partitions
US10157001B2 (en) Reducing data storage system I/O bandwidth via read-once point in time copy
US20170344293A1 (en) Volume integrity in a shared-resource environment
US10346269B2 (en) Selective mirroring of predictively isolated memory
US10063425B1 (en) Event-based in-band host registration
US20140082275A1 (en) Server, host and method for reading base image through storage area network
US9805038B2 (en) Efficient conflict resolution among stateless processes
US9984112B1 (en) Dynamically adjustable transaction log
US9864643B1 (en) Using locks of different scopes in a data storage system to optimize performance and complexity
US20200349149A1 (en) Bulk updating of mapping pointers with metadata transaction log
US10606802B2 (en) Catalog backup and recovery using logical mirroring
WO2016122691A1 (en) File service operation on external host
US9369405B2 (en) Mapping computer resources to consumers in a computer system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15880580

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15880580

Country of ref document: EP

Kind code of ref document: A1