A method for sharing a storage resource, applied to a server cluster system, wherein the server cluster system comprises one or more server nodes and one or more network storage nodes, each server node comprises a hard disk, each network storage node comprises a storage array, a distributed storage controller runs on each server node, and the distributed storage controller comprises a metadata controller, a virtual block service module and a read-write control module, the read-write control module comprises an object storage delegate configured to perform read-write control on the storage resource of the hard disk and a SAN storage agent configured to perform read-write control on the storage resource of the storage array and the method comprises: determining, by the metadata controller, deployment statuses of the object storage delegate and the SAN storage agent on the server node; generating view information of the read-write control module according to the determined deployment statuses, said view information including the server on which the object storage delegate or SAN storage agent is deployed, and delivering the view information of the read-write control module to the virtual block service module, the view information of the read-write control module is used to indicate routing information of each read-write control module; dividing, by the metadata controller, storage resources of the hard disks and the storage arrays into multiple storage partitions, wherein the multiple storage partitions form a shared storage resource pool; allocating, by the metadata controller, one read-write control module to each storage partition; generating, by the metadata controller, global partition information and delivering the global partition information to the virtual block service module, wherein the global partition information records a correspondence between each storage partition in the shared storage resource pool and the allocated read-write control module of each storage partition; when receiving, by the virtual block service module, a storage request message, performing the following process: determining, by the virtual block service module, a storage partition corresponding to the storage request message; determining, by the virtual block service module, according to the global partition information, a read-write control module that is corresponding to the storage partition corresponding to the storage request message; determining, by the virtual block service module, routing information of the determined read-write control module according to the view information of the read-write control module; and sending, by the virtual block service module, the storage request message to the determined read-write control module according to the routing information of the determined read-write control module, so that the determined read-write control module performs an operation requested by the storage request message. determining, by the metadata controller, deployment statuses of the object storage delegate and the SAN storage agent on the server node; generating view information of the read-write control module according to the determined deployment statuses, said view information including the server on which the object storage delegate or SAN storage agent is deployed, and delivering the view information of the read-write control module to the virtual block service module, the view information of the read-write control module is used to indicate routing information of each read-write control module; dividing, by the metadata controller, storage resources of the hard disks and the storage arrays into multiple storage partitions, wherein the multiple storage partitions form a shared storage resource pool; allocating, by the metadata controller, one read-write control module to each storage partition; generating, by the metadata controller, global partition information and delivering the global partition information to the virtual block service module, wherein the global partition information records a correspondence between each storage partition in the shared storage resource pool and the allocated read-write control module of each storage partition; determining, by the virtual block service module, a storage partition corresponding to the storage request message; determining, by the virtual block service module, according to the global partition information, a read-write control module that is corresponding to the storage partition corresponding to the storage request message; determining, by the virtual block service module, routing information of the determined read-write control module according to the view information of the read-write control module; and sending, by the virtual block service module, the storage request message to the determined read-write control module according to the routing information of the determined read-write control module, so that the determined read-write control module performs an operation requested by the storage request message.