Storage systems may be implemented as converged systems or hyper-converged systems. In some example converged or hyper-converged storage systems, physical storage media, such as, storage disks and/or solid-state drive (SSD) memory devices, may be abstracted and virtual volumes may be exposed to a file management system. The file management system may in-turn manage and control file operations such as, but not limited to, various write operations and read operations on the virtual volumes.
These and other features, aspects, and advantages of the present specification will become better understood when the following detailed description is read with reference to the accompanying drawings in which like characters represent like parts throughout the drawings, wherein:
It is emphasized that, in the drawings, various features are not drawn to scale. In fact, in the drawings, the dimensions of the various features have been arbitrarily increased or reduced for clarity of discussion.
The following detailed description refers to the accompanying drawings. Wherever possible, same reference numbers are used in the drawings and the following description to refer to the same or similar parts. It is to be expressly understood that the drawings are for the purpose of illustration and description only. While several examples are described in this document, modifications, adaptations, and other implementations are possible. Accordingly, the following detailed description does not limit disclosed examples. Instead, the proper scope of the disclosed examples may be defined by the appended claims.
The terminology used herein is for the purpose of describing particular examples and is not intended to be limiting. As used herein, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. The term “another,” as used herein, is defined as at least a second or more. The term “coupled,” as used herein, is defined as connected, whether directly without any intervening elements or indirectly with at least one intervening element, unless indicated otherwise. For example, two elements can be coupled mechanically, electrically, or communicatively linked through a communication channel, pathway, network, or system. The term “and/or” as used herein refers to and encompasses any and all possible combinations of the associated listed items. It will also be understood that, although the terms first, second, etc., may be used herein to describe various elements, these elements should not be limited by these terms, as these terms are only used to distinguish one element from another unless stated otherwise or the context indicates otherwise. As used herein, the term “includes” means includes but not limited to, the term “including” means including but not limited to. The term “based on” means based at least in part on.
In some example converged or hyper-converged storage systems, physical storage media, such as, storage disks and/or solid-state drive (SSD) memory devices, may be abstracted and virtual volumes may be exposed to a file management system. The file management system may in-turn manage and control file operations such as, but not limited to, various write operations and read operations on the virtual volumes. By way of example, a typical virtual storage system may include one or more physical storage devices, for example, storage disks and/or solid-state drives. The physical storage devices may be disposed in a common enclosure or may be disposed at remote locations from each other and may be coupled to each other via a communication network. The physical storage devices may be divided into chunklets. Each chunklet may occupy physically contiguous space on a physical storage device.
Further, one or more logical disks may be created from groups of chunklets. In particular, in a logical disk, the chunklets may be arranged as rows of RAID sets. Furthermore, the logical disks may be pooled together in a common provisioning group (CPG). The CPG is a template for creating logical disks that allocate space to virtual volumes on demand. Several virtual volumes may be created using a storage space defined by the CPG. Examples of the virtual volumes that can be created using the CPG may include, but are not limited to, a fully-provisioned virtual volume (FPVV) and a thinly-provisioned virtual volume (TRVV). An FPVV of a predetermined fixed storage size, when created, may occupy the predetermined fixed storage size from the CPG immediately upon creation. Whereas, a TPVV of a specific storage size, when created, may not occupy the specific storage space upon creation. In fact, a storage space may be allocated to such TRVV as needed based on utilization of such TRVV.
A virtual volume defined using the CPG may be exposed to file management systems as a Logical Unit Numbers (LUN). The file management system may facilitate file management operations and may allow clients to access the virtual volume for various file storage applications using one or more file access protocols, such as, Server Message Block (SMB), Network File system (NFS), and File Transfer Protocol (FTP), and Object Access API protocols such as Representational State Transfer (REST) Application Programming Interface (API). To provide such access to the virtual volume, the file management system may implement one or more of a filesystem, Virtual File Server (VFS), File Stores (FS), and File Shares.
The filesystem may control how files are stored and retrieved from an underlying virtual volume (e.g., FPVV or TPVV). The filesystem may be transparently constructed from one or multiple virtual volumes and may be a unit for replication and disaster recovery for the file management system. The VFS may be a server which presents virtual IP addresses to clients, participates in user authentication services and may have properties for user or group quota management, file lock policies, and/or antivirus policies. Certain file management tasks and policy decisions may be made at the VFS level. Further, the FS may represent a slice of the VFS and filesystem at which snapshots may be taken, capacity quota management may be performed, and file lock policies and antivirus scan service policies may be customized. File shares may provide file level access to the clients via file access protocols, e.g., SMB, NFS, FTP, REST API, subject to the share permissions applied to them. Multiple file shares may be created in a given file store and at different directory levels within the given file store.
In certain configurations of file management systems, a filesystem may be defined using a TPVV. In such file management systems defined using the TPVV, the clients accessing the file management system may not have visibility of a used capacity of the underlying CPG. In traditional approaches, when the underlying CPG runs-out of storage space, alerts may be issued to the clients and the filesystem may be deactivated (e.g., transitioned to a read-only mode). Typically, in the read-only mode no operation other than merely viewing the files may be permitted. While such deactivation of the filesystem may ensure data consistency, it may result in Data Unavailability (DU) for the file shares exported from such deactivated filesystem.
In order to overcome such DU events, in accordance with aspects of the present disclosure, a method for dynamically adapting write modes of a filesystem mapped to a TPVV is presented. For example, during normal operation (i.e., when the CPG is not full), the filesystem may be operated in a read-write mode which may allow various file management operations that can consume and/or free-up space from the CPG. In some examples, a used storage capacity of the CPG may be monitored when the filesystem is operational in a read-write mode. Further, a check may be performed to determine whether the used storage capacity of the CPG has reached a storage fullness threshold value. In some examples, the storage fullness threshold value may be indicative of a storage capacity equal to a total storage capacity of the CPG. In certain examples, the storage fullness threshold value may be indicative of a storage capacity that is substantially close to the total storage capacity of the CPG. In one example, the term “substantially close to” may refer to being within 20% of the total storage capacity. In another example, the term “substantially close to” may refer to being less than the total storage capacity by a predetermined storage capacity. The predetermined storage capacity may be defined by a user or preconfigured.
In response to determining that the used storage capacity of the CPG has reached the storage fullness threshold value, the filesystem may be transitioned to a partial read-only mode from the read-write mode. In the partial read-only mode, in accordance with aspects of the present disclosure, file management operations that use additional storage space may be disabled, however, a user initiated file management operation that frees up at least a portion of storage space from the CPG may be allowed in the filesystem.
As will be appreciated, by permitting the user initiated file management operations, for example, a file delete operation, an operation to delete data within a file, a truncate operation, etc. any unused and/or redundant data as determined by the user may be deleted and at least some portion of the storage space from the CPG may be made available. Advantageously, this helps in avoiding DU to file shares; and will also allow individual share users to free up space and optimize the usage of storage space. Once, certain amount of storage space is made available in the CPG, the filesystem may again be transitioned to the read-write mode.
Referring now to drawings, in
The network 106 may be a medium that interconnects the storage management system 104 and the storage system 102 with each other. Examples of the network 106 may include, but are not limited to, an Internet Protocol (IP) or non-IP-based local area network (LAN), wireless LAN (WLAN), metropolitan area network (MAN), wide area network (WAN), a cellular communication network, and the Internet. Communication over the network 106 may be performed in accordance with various communication protocols such as, but not limited to, Transmission Control Protocol and Internet Protocol (TCP/IP), User Datagram Protocol (UDP), IEEE 802.11, and/or cellular communication protocols over communication links 111. The communication over the network 106 may be enabled via a wired (e.g., copper, optical communication, etc.) or wireless (e.g., Wi-Fi, cellular communication, satellite communication, Bluetooth, etc.) communication technologies. In some examples, the network 106 may be enabled via private communication links including, but not limited to, communication links established via Bluetooth, cellular communication, optical communication, radio frequency communication, wired (e.g., copper), and the like. In some examples, the private communication links may be direct communication links between the storage system 102 and the storage management system 104.
The storage system 102 may include any electronic device capable of storing data, processing data, and/or communicating data with external devices over the network 106. Examples of the storage system 102 may include, but are not limited to, a server, a storage device, a network switch, a router, a mobile communication device, a desktop computer, a portable computer, or combinations thereof. In some examples, the storage system 102 may be a converged or a hyper-converged storage system. The storage system 102 may be implemented as a storage blade, for example. Although not shown, the storage system 102 may include one or more processing resources to process the data during operation. For illustration purposes, the system 100 of
In some examples, the storage system 102 may include a physical storage 108 including one or more physical storage devices 110. Examples of the physical storage devices 110, but are not limited to, a random access memory (RAM), a read-only memory (ROM), an electrically erasable programmable read-only memory (EEPROM), a flash memory, a hard disk drive, solid state drive (SSD), etc. During operation of the storage system 102, data may be physically stored in the physical storage devices 110.
In some examples, the storage system 102 may also implement a data virtualization platform 112. The data virtualization platform 112 may abstract aspects (e.g., addressing, configurations, etc.) of the physical storage 108, into a virtual storage, for example as one or more virtual volumes. The data virtualization platform 112 may also provide data services such as deduplication, compression, replication, and the like. In some examples, the data virtualization platform 112 may be enabled via a hypervisor (not shown). The hypervisor may be a computer program, firmware, or a hardware that may facilitate hosting of multiple operating system instances and/or virtual volumes on a common processing resource. Each operating system instance installed on the hypervisor may be referred to as a virtual machine.
The physical storage devices 110 may be divided in multiple chunklets (not shown). In certain examples, in the data virtualization platform 112, one or more logical disks (not shown) may be created from groups of such chunklets. In a logical disk, the chunklets may be arranged as rows of redundant array of independent disks (RAID) sets. Furthermore, the logical disks may be pooled together in a common provisioning group (CPG) 114. For example, the CPG 114 may provide a pool of logical disks for creating several virtual volumes. Accordingly, virtual volumes of varying storage capacity may be created using a storage space defined by the CPG 114. In some examples, the CPG 114 may be any possible mechanism to represent a set of physical storage devices 110 and provision one or more volumes from one or more of the physical storage devices 110. Examples of the virtual volumes that can be created using the CPG 114 may include, but are not limited to, a fully-provisioned virtual volume (FPVV) and a thinly-provisioned virtual volume (TRVV). An FPVV of a predetermined fixed storage size, when created, may occupy the predetermined fixed storage size from the CPG 114 immediately upon creation. Whereas, a TRVV of a certain storage size, when created, may not occupy the certain storage space upon creation. In fact, a storage space may be allocated to such TPVV as needed based on the utilization of such TRVV.
In the data virtualization platform 112 shown in
The file-service VM 120 may be hosted on the storage system 102 via the hypervisor, for example. In the example of
The filesystem 124 may control how files are stored and retrieved from an underlying virtual volume (e.g., the TPVV 116 represented by the LUN 118). The filesystem 124 may be transparently constructed from one or multiple virtual volumes, for example, the TPVV 116, and may be a unit for replication and disaster recovery for the file management system 122. The VFS may be a server which presents virtual IP addresses to clients, participates in user authentication services and may have properties for user or group quota management, file lock policies, and/or antivirus policies. Certain file management tasks and policy decisions may be made at the VFS level. Further, the FS may represent a slice of the VFS and filesystem 124 at which snapshots may be taken, capacity quota management may be performed, and file lock policies and antivirus scan service policies may be customized. The file shares may provide file level access to the clients via file access protocols, e.g., SMB, NFS, FTP, REST API, subject to the share permissions applied to them. Multiple file shares may be created in a given file store and at different directory levels within the given file store.
In certain configurations of file management systems and as shown in
The storage management system 104 may be coupled to the storage system 102 via the network 106. In some examples, the storage management system 104 may be implemented as physical computing device. In some other examples, the storage management system 104 may be hosted on a computing device as a virtual machine, a container, or a containerized application which may utilize resources (e.g., processing power and/or storage capacity) of the host computing device. The container or containerized application may be located on a single host computing device or distributed across multiple computing devices. In certain examples, the storage management system 104 may be an application running on a storage system similar to the storage system 102. In some other examples, the storage management system 104 may be an application running on the storage system 102. In such a configuration, the network 106 may not be required.
In some examples, as depicted in
The machine-readable medium 128 may be any electronic, magnetic, optical, or other physical storage device that may store data and/or executable instructions, for example, instructions 130. Therefore, the machine-readable medium 128 may be, for example, Random Access Memory (RAM), an Electrically Erasable Programmable Read-Only Memory (EEPROM), a storage drive, a flash memory, a Compact Disc Read Only Memory (CD-ROM), and the like. The machine-readable medium 128 may be non-transitory. As described in detail herein, the machine-readable medium 128 may be encoded with executable instructions 130 for performing one or more methods, for example, methods described in
The processing resource 126 may be a physical device, for example, one or more central processing unit (CPU), one or more semiconductor-based microprocessors, one or more graphics processing unit (GPU), application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), other hardware devices capable of retrieving and executing of the instructions 130 stored in the machine-readable medium 128, or combinations thereof. The processing resource 126 may fetch, decode, and execute the instructions 130 stored in the machine-readable medium 128 to manage the storage system 102, more particularly, to manage write mode of the filesystem 124. As an alternative or in addition to executing the instructions 130, the processing resource 126 may include at least one integrated circuit (IC), control logic, electronic circuits, or combinations thereof that include a number of electronic components for performing the functionalities intended to be performed by the storage management system 104.
In certain examples, the processing resource 126 may perform various actions to overcome issues such as the DU events, in accordance with aspects of the present disclosure. During normal operation (i.e., when the CPG 114 is not full), the processing resource 126 may instruct the storage system 102 to operate the filesystem 124 in a read-write mode. When operated in the read-write mode that filesystem 124 may allow various file management operations that can consume and/or free-up space from the CPG 114. As will be understood, in the read-write mode, operations such as adding content to files, adding new files, renaming files, over writing files, deleting files, deleting content within the file, truncating, creating and/or deleting directories, creating and/or deleting snapshots, and the like may be allowed.
As various file management operations are performed on the filesystem 124, data may be written to the physical storage 108 and/or data may be deleted from the physical storage 108. As previously noted, a storage capacity of the CPG 114 may be representative of a storage space provided by the physical storage 108. Depending on the operations performed, a used storage capacity of the CPG 114 may increase or decrease. It may be noted that the CPG 114 may also host other virtual volumes (not shown in
The processing resource 126 may monitor the used storage capacity of the CPG 114 when the filesystem 124 is operational in the read-write mode. Further, a check may be performed by the processing resource 126 to determine whether the used storage capacity of the CPG 114 has reached a storage fullness threshold value. The storage fullness threshold value may be indicative of a storage capacity equal to the total storage capacity presented by the CPG 114 to or substantially close to the total storage capacity presented by the CPG 114. As previously noted, in one example, the term “substantially close to” may refer to being within 20% of the total storage capacity. In another example, the term “substantially close to” may refer to being less than the total storage capacity by a predetermined storage capacity. The predetermined storage capacity may be defined by a user or preconfigured. In some examples, the storage fullness threshold value may be defined based on a virtual memory allocated to the file-service VM 120.
In response to determining that the used storage capacity of the CPG 114 has reached the storage fullness threshold value, the processing resource 126 may transition the filesystem 124 to a partial read-only mode from the read-write mode. In the partial read-only mode, in accordance with aspects of the present disclosure, file management operations that use additional storage space may be disabled, however, a user initiated file management operation that frees up at least a portion of storage space from the CPG 114 may be allowed in the filesystem 124. Examples of the user initiated operation that may be allowed in the partial read-only mode may include, but are not limited to, a file delete operation, an operation to delete data within a file, a truncate operation, or combinations thereof. Additional details of these and other operations performed by the storage management system 104 will be described on conjunction with methods described in
As will be appreciated, the storage management system 104 allows the user initiated file management operations, for example, the file delete operation, the operation to delete data within the file, the truncate operation, etc. when the filesystem 124 is operational in the partial read-only mode. Advantageously, any unused and/or redundant data as determined by the user may be deleted and at least some portion of the storage space from the CPG 114 may be made available. This helps in avoiding DU events for file shares optimize the usage of storage space. Once, certain amount of storage space is made available in the CPG 114, the filesystem 124 may again be transitioned to the read-write mode (see
Referring now to
During normal operation of the file management system 122, at block 202, the storage management system 104 may operate the filesystem 124 of the file management system 122 in a read-write mode. The filesystem 124 may be mapped to the TRVV 116 via the LUN 118. In the read-write mode, various operations including, but not limited to, adding content to files, adding new files, renaming files, over writing files, deleting files, deleting content within the file, truncating, creating and/or deleting directories, creating and/or deleting snapshots, and the like may be allowed on the filesystem 124. As will be understood, depending on the operations performed on the filesystem 124, a used storage capacity of the CPG 114 may increase or decrease.
Further, at block 204, the storage management system 104 may monitor a used storage capacity USED, (ST-CAPUSED) of the CPG 114 when the filesystem 124 is operational in the read-write mode. In some examples, the storage management system 104 may monitor the used storage capacity of the CPG 114 on a real-time basis. In some other examples, the storage management system 104 may periodically monitor the used storage capacity of the CPG 114. Further, in certain examples, the storage management system 104 may monitor the used storage capacity of the CPG 114 at random intervals or upon demand from an administrator of the storage management system 104.
Furthermore, at block 206, a check may be performed by the storage management system 104 to determine whether the used storage capacity of the CPG 114 has reached a storage fullness threshold value (STFULL THRESHOLD). For example, at block 206, the storage management system 104 may compare the used storage capacity of the CPG 114 with the storage fullness threshold value to ascertain whether the used storage capacity of the CPG 114 is greater than or equal to the storage fullness threshold value. In some instances, the used storage capacity being greater than or equal to the storage fullness threshold value may be indicative of the CPG 114 being full or about to become full.
At block 206, if it is determined that the used storage capacity of the CPG 114 has not reached the storage fullness threshold value, the storage management system 104 may continue to monitor the used storage capacity at block 204. However, at block 206, if it is determined that the used storage capacity of the CPG 114 has reached the storage fullness threshold value, the storage management system 104 may perform a method step at block 208. At block 208, the storage management system 104 may transition the filesystem 124 to the partial read-only mode from the read-write mode.
In comparison to conventional read-only mode, the partial read-only mode, in accordance with the present disclosure, does not disable every operations other than reading of files. In particular, as indicated by sub-block 210, the storage management system 104 may disable file management operations that use additional storage space. Further, in accordance with aspects of the present disclosure, in the partial read-only mode, the storage management system 104 may allow a user initiated file management operation that frees up storage space from the CPG 114. Examples of such user initiated file management operations may include, but are not limited to, a file delete operation, an operation to delete data within a file, a truncate operation, a file move operation, or combinations thereof. The term “user initiated file management operations” may include file management operations that are initiated by a user of the storage system 102 and/or storage management system 104. For example, knowing that the used storage capacity of the CPG 114 has reached the storage fullness threshold value, the user may decide to delete certain file and/or directories that are no longer required. Also, the user may decide to move certain files and/or directories to a different storage system so that at some storage space can be released from the CPG 114.
As such, in some examples, the storage space released due to such operations may cause reduction in the used capacity of the CPG 114. Consequently, available storage space in the CPG 114 may increase for further operations/data storage. Accordingly, in some examples, the storage management system 104 may transition the filesystem 124 back to the read-write mode (see
Turning now to
As previously noted, at block 302 the storage management system 104 may operate the filesystem 124 in the read-write mode. Also at block 304, the storage management system 104 may monitor the used storage capacity (ST-CAPUSED) of the CPG 114. Referring now to block 306, a check may be performed by the storage management system 104 to determine whether the used storage capacity of the CPG 114 has reached a warning threshold value (STWARNING THRESHOLD). In some examples, the warning threshold value may be smaller than the storage fullness threshold value. The warning threshold value may be set/selected by the user. As such, the warning threshold value may be indicative of a certain amount of storage space left in the physical storage 108. For example, at block 306, the storage management system 104 may compare the used storage capacity of the CPG 114 with the warning threshold value to ascertain whether the used storage capacity is greater than or equal to the warning threshold value. In some instances, the used storage capacity being greater than or equal to the warning threshold value may be indicative of the CPG 114 is going to be full and the certain amount of storage space is available in the physical storage 108.
At block 306, if it is determined that the used storage capacity of the CPG 114 has not reached the warning threshold value, the storage management system 104 may continue to monitor the used storage capacity at block 304. However, at block 306, if it is determined that the used storage capacity of the CPG 114 has reached the warning threshold value, at block 308, the storage management system 104 may generate a warning, for example, storage space running-out warning, to indicate that the CPG 114 is going to be full and the predetermined amount of storage space is available in the physical storage 108. In some examples, the storage space running-out warning may be displayed on a display associated with the storage management system 104 and/or the storage system 102. In some examples, the storage space running-out warning may be presented to the user via an audio, a video, text, or an audio-visual message. In certain examples, a message indicative of the storage space running-out warning may be communicated to the user via a mobile communication device. Based on such storage space running-out warning, the user may consider various file management options to optimize storage space utilization. Further, at block 310, the storage management system 104 may continue to monitor the used storage capacity of the CPG 114 in a similar fashion as described in block 304.
Moreover, the block 312 may be similar to block 206 where the storage management system 104 may perform a check to determine whether the used storage capacity of the CPG 114 has reached the storage fullness threshold value (STFULL THRESHOLD). At block 312, if it is determined that the used storage capacity of the CPG 114 has not reached the storage fullness threshold value, the storage management system 104 may continue to monitor the used storage capacity at block 304. However, at block 312, if it is determined that the used storage capacity of the CPG 114 has reached the storage fullness threshold value, the storage management system 104 may generate a first alert as indicated by block 314. The first alert may indicate that the CPG 114 is full and filesystem 124 will be transitioned to a partial read-only mode. Further, in some examples, at block 316, the storage management system 104 may generate a second alert. The second alert may indicate that the file management operation that can free-up the storage space from the CPG 114 is permissible in the partial read-only mode. In some examples, the second alert may also include a list of such file management operations that may free-up the storage space from the CPG 114. Accordingly, the user may choose to perform any of such file management operations.
In certain examples, the storage management system 104 may generate a common alert instead of generating two separate alerts, such as, the first and second alerts. Such common alert may provide similar indication as provided by the first and second alerts. As will be appreciated, the first alert, the second alert, or the common alert may be displayed on the display associated with the storage management system 104 and/or the storage system 102. In some examples, the first alert, the second alert, or the common alert may be presented to the user via an audio, video, text, or an audio-visual message. In certain examples, a message indicative of the first alert, the second alert, or the common alert may be communicated to the user via a mobile communication device.
Moreover, at block 318, the storage management system 104 may transition the filesystem 124 to the partial read-only mode from the read-write mode. In addition to method blocks 320, 322 which are respectively similar to blocks 210, 212, the storage management system 104 may also allow certain ongoing file management operations in the partial read-only mode. For example, file management operations that were being performed when the filesystem 124 transitioned to the partial read-only mode and that do not use any additional storage space, may continue to be allowed. Examples of such operations that are continued to be allowed may include, but are not limited to, various write operations, file truncate operations, snapshot delete operations, if it is determined that such operations do not use any additional storage space.
As such, the method 400 may be performed when the filesystem 124 is operational in the partial read-only mode as indicated by block 402. While the filesystem 124 is operational in the partial read-only mode, at block 404, the storage management system 104 may monitor the used storage capacity of the CPG 114. Further, at block 406, a check may be performed by the storage management system 104 to determine whether the used storage capacity of the CPG 114 is reduced below the storage fullness threshold value (STFULL THRESHOLD). For example, at block 406, the storage management system 104 may compare the used storage capacity of the CPG 114 with the storage fullness threshold value to ascertain whether the used storage capacity is smaller than the storage fullness threshold value.
At block 406, if it is determined that the used storage capacity of the CPG 114 is not smaller than the storage fullness threshold value, the storage management system 104 may continue to monitor the used storage capacity at block 404. However, at block 406, if it is determined that the used storage capacity of the CPG 114 is reduced below (i.e., smaller than) the storage fullness threshold value, the storage management system 104 may transition the filesystem 124 back to the read-write mode from the partial read-only mode from the read-write mode. In some examples, the used storage capacity of the CPG 114 might have been reduced below the storage fullness threshold value due to one or more allowed/permissible file management operations performed by the user in the partial read-only mode. In certain other examples, the used storage capacity of the CPG 114 might have been reduced below the storage fullness threshold value due to inclusion of one or more additional physical storage devices in the physical storage 108 or by increasing storage space of existing physical storage devices 110.
In
The machine-readable medium 504 may be any electronic, magnetic, optical, or other physical storage device that may store data and/or executable instructions. Therefore, the machine-readable medium 504 may be, for example, RAM, an EEPROM, a storage drive, a flash memory, a CD-ROM, and the like. As described in detail herein, the machine-readable medium 504 may be encoded with executable instructions 506-516 for performing one or more methods, for example, the method 200 described in
The processing resource 502 may be a physical device, for example, one or more CPU, one or more semiconductor-based microprocessor, one or more GPU, ASIC, FPGA, other hardware devices capable of retrieving and executing of the instructions 506-516 stored in the machine-readable medium 504, or combinations thereof. In some examples, the processing resource 502 may fetch, decode, and execute the instructions 506-516 stored in the machine-readable medium 504 to manage write modes of the filesystem 124. In certain examples, as an alternative or in addition to retrieving and executing the instructions 506-516, the processing resource 502 may include at least one IC, other control logic, other electronic circuits, or combinations thereof that include a number of electronic components for performing the functionalities intended to be performed by the storage management system 104.
The instructions 506, when executed, may cause the processing resource 502 to operate the filesystem 124 in a read-write mode. Further, the instructions 508, when executed, may cause the processing resource 502 to monitor a used storage capacity USED, (ST-CAPUSED) of the CPG 114 when the filesystem 124 is operational in the read-write mode. Furthermore, the instructions 510, when executed, may cause the processing resource 502 to determine whether the used storage capacity of the CPG 114 has reached a storage fullness threshold value (STFULL THRESHOLD). Moreover, the instructions 512, when executed, may cause the processing resource 502 to transition the filesystem 124 to a partial read-only mode from the read-write mode upon determining that the used storage capacity of the CPG 114 has reached the storage fullness threshold value. In the partial read-only mode, the instructions 514, when executed, may cause the processing resource 502 to disable file management operations that use additional storage space. Moreover, in the partial read-only mode, the instructions 516, when executed, may cause the processing resource 502 to allow a user initiated file management operation that frees up storage space from the CPG 114.
Referring now to
As such, the machine-readable medium 602 of
Instructions 604, when executed, may cause the processing resource 502 to determine whether the used storage capacity USED, (ST-CAPUSED) of the CPG has reached a warning threshold value (STWARNING THRESHOLD) smaller than the storage fullness threshold value (STFULL THRESHOLD). Further, instructions 606, when executed, may cause the processing resource 502 to generate a storage space running-out warning in response to determining that the used storage capacity of the CPG 114 has reached the warning threshold value. Furthermore, instructions 608, when executed, may cause the processing resource 502 to generate one or more alerts (e.g., the first alert and the second alert) in response to determining that the used capacity of the CPG 114 has reached the storage fullness threshold value. The one or more alerts indicate that the CPG 114 is full and the filesystem 124 is transitioning to the partial read-only mode, and the file management operation that frees up the storage space from the CPG 114 is permissible in the partial read-only mode.
Moreover, instructions 610, when executed, may cause the processing resource 502 to transition the filesystem 124 to the partial read-only mode from the read-write mode upon determining that the used storage capacity of the CPG 114 has reached the storage fullness threshold value. In addition to the instructions 514, 516, in the partial read-only mode, the machine-readable medium 602 may include instructions 612. The instructions 612, when executed, may cause the processing resource 502 to allow one or more file management operations that are ongoing while the filesystem 124 is transitioned to the partial read-only mode. The one or more such ongoing file management operations do not use additional storage space.
In some examples, instructions 614, when executed, may cause the processing resource 502 to monitor the used storage capacity of the CPG 114 when the filesystem 124 is operational in the partial read-only mode. Further, instructions 616, when executed, may cause the processing resource 502 to determine whether the used storage capacity USED, (ST-CAPUSED) of the CPG 114 is lower than the storage fullness threshold value (STFULL THRESHOLD) (see
As will be appreciated, the storage management system 104 allows the user initiated file management operations, for example, the file delete operation, the operation to delete data within the file, the truncate operation, etc. when the filesystem 124 is operational in the partial read-only mode. Advantageously, any unused and/or redundant data as determined by the user may be deleted and at least some portion of the storage space from the CPG 114 may be made available. This helps in avoiding DU events for file shares optimize the usage of storage space. Once, certain amount of storage space is made available in the CPG 114, the filesystem 124 may again be transitioned to the read-write mode.
While certain implementations have been shown and described above, various changes in form and details may be made. For example, some features, functions, and/or formulas/equations that have been described in relation to one implementation and/or process can be related to other implementations. In other words, processes, features, components, and/or properties described in relation to one implementation can be useful in other implementations. Furthermore, it should be appreciated that the systems and methods described herein can include various combinations and/or sub-combinations of the components and/or features of the different implementations described.
In the foregoing description, numerous details are set forth to provide an understanding of the subject matter disclosed herein. However, implementation may be practiced without some or all of these details. Other implementations may include modifications, combinations, and variations from the details discussed above. It is intended that the following claims cover such modifications and variations.