CPC G06F 8/65 (2013.01) [G06F 3/0619 (2013.01); G06F 3/0647 (2013.01); G06F 3/065 (2013.01); G06F 3/0664 (2013.01); G06F 3/0665 (2013.01); G06F 3/0683 (2013.01); G06F 3/0689 (2013.01); G06F 9/4406 (2013.01); G06F 9/45558 (2013.01); G06F 11/0712 (2013.01); G06F 11/0751 (2013.01); G06F 11/0793 (2013.01); G06F 11/1451 (2013.01); G06F 11/1464 (2013.01); G06F 11/1484 (2013.01); G06F 11/2025 (2013.01); G06F 11/2033 (2013.01); G06F 11/2035 (2013.01); G06F 11/2046 (2013.01); G06F 11/2058 (2013.01); G06F 11/2069 (2013.01); G06F 16/1727 (2019.01); G06F 16/176 (2019.01); G06F 16/1774 (2019.01); G06F 16/183 (2019.01); G06F 16/1844 (2019.01); G06F 16/2365 (2019.01); G06F 21/53 (2013.01); G06F 21/56 (2013.01); G06F 21/6218 (2013.01); G06F 21/78 (2013.01); H04L 41/06 (2013.01); H04L 41/082 (2013.01); H04L 67/1095 (2013.01); H04L 67/1097 (2013.01); G06F 2009/45579 (2013.01); G06F 2009/45583 (2013.01); G06F 2009/45587 (2013.01); G06F 2009/45595 (2013.01); G06F 2201/80 (2013.01); G06F 2201/815 (2013.01); G06F 2201/825 (2013.01); G06F 2201/84 (2013.01); G06F 2201/87 (2013.01); G06F 2221/034 (2013.01); G06F 2221/2101 (2013.01); G06F 2221/2141 (2013.01); G06F 2221/2145 (2013.01); H04L 41/0859 (2013.01); H04L 41/5009 (2013.01); H04L 67/10 (2013.01); H04L 67/34 (2013.01)] | 32 Claims |
1. A non-transitory computer readable medium encoded with instructions which, when executed, cause at least one processor to perform operations, the operations comprising:
receiving a storage access operation at a file system virtual machine (FSVM) of a plurality of FSVMs, each hosted on a respective computing node of a plurality of computing nodes, the storage access operation using a first protocol to access a storage item of a namespace of storage items presented by the FSVMs, the namespace implemented using local storage devices of the plurality of computing nodes organized as a storage pool distributed across the plurality of computing nodes, the storage access operation processed at one computing nodes of the plurality of computing nodes to determine at least one storage location of the storage item in the storage pool using a map;
translating the storage access operation to a block request at a filesystem hosted on the one computing node, the block request configured to access one or more data blocks of the storage item at the at least one storage location in the storage pool;
sending the block request using a second protocol to a virtualized storage controller configured to manage the storage devices of the storage pool; and
processing the block request at the virtualized storage controller to access at least a portion of the storage item at the at least one storage location as specified in the block request.
|