DISTRIBUTED DATA STORAGE-FETCHING SYSTEM AND METHOD
A distributed data storage-fetching system for storing and fetching data in multiple servers includes a partition module, a setup module, a first establishing module, and a second establishing module. The partition module segments a solid state disk of a first server to multiple partition areas. The SSD partitions are configured by the setup module, one for its own first server, and one for each of the other servers, accessible and sharable via a network. The first establishing module establishes the partitions in all SSDs into a block device. The second establishing module maps the block device to hard disk drives to establish a device mapper for storing and fetching data. A distributed data storage-fetching method is also provided.
1 . A distributed data storage-fetching system comprising:
multiple servers, coupled to each other via a network, each servers comprising at least one solid state disk (SSD) and at least one hard disk drive (HDD);
a partition module, configured to segment a SSD of a first server into multiple partition areas;
a setup module, configured to set a partition area as a local partition area to the first server for use, and set other partition areas as remote partition areas to share to the other servers for use via the network;
a first establishing module, configured to establish the local partition area of the first server and remote partition areas shared by other servers into a block device; and
a second establishing module, configured to map the block device to a HDD to establish a device mapper (DM), to fetch and store data.
2 . The distributed data storage-fetching system of claim 1 , wherein a number of the multiple partition areas segmented by the partition module is equal to a number of the multiple servers.
3 . The distributed data storage-fetching system of claim 1 , wherein the first establishing module establishes the local partition area of the first server and the remote partition areas shared by other servers into the block device according to a zettabyte file system (ZFS) algorithm.
4 . The distributed data storage-fetching system of claim 3 , wherein the block device sets the local partition area of the first server as a first priority channel, and sets the remote partition areas shared by other servers as second priority channels.
5 . The distributed data storage-fetching system of claim 1 , wherein when the first server comprises multiple HDDs, the second establishing module is further configured to establish the multiple HDDs to a redundant array of independent disks (RAID), and map the block device to the RAID to establish the DM.
6 . The distributed data storage-fetching system of claim 5 , wherein the second establishing module is configured to map the block device to the RAID to establish the DM via a flash cache module; the flash cache module comprises a flash cache algorithm or a buffer cache algorithm.
7 . The distributed data storage-fetching system of claim 1 , wherein the setup module sets the other partition areas as the remote partition areas to share to the other servers for use via a internet small computer system interface (iSCSI) protocol.
8 . A distributed data storage-fetching method used in a distributed data storage-fetching system, the distributed data storage-fetching system comprising multiple servers, the multiple servers coupled to each other via a network, the distributed data storage-fetching method comprising:
segmenting a SSD of a first server into multiple partition areas;
setting a partition area as a local partition area to the first server for use, and setting other partition areas as remote partition areas to share to the other servers for use via the network;
establishing the local partition area of the first server and remote partition areas shared by other servers into a block device; and
mapping the block device to a HDD to establish a DM to fetch and store data.
9 . The distributed data storage-fetching method of claim 8 , wherein a number of the multiple partition areas segmented by the partition module is equal to a number of the multiple servers.
10 . The distributed data storage-fetching method of claim 8 , wherein the step of establishing the local partition area of the first server and remote partition areas shared by other servers into a block device comprises:
establishing the local partition area of the first server and the remote partition areas shared by other servers into a block device according to a ZFS algorithm.
11 . The distributed data storage-fetching method of claim 10 , wherein the block device sets the local partition area of the first server as a first priority channel, and sets the remote partition areas shared by other servers as second priority channels.
12 . The distributed data storage-fetching method of claim 11 , wherein when the first server comprises multiple HDDs, the step of mapping the block device to a HDD to establish a DM to fetch and store data on the DM comprises:
establishing the multiple HDDs to a RAID, and mapping the block device to the RAID to establish a DM to fetch and store data on the DM.
13 . The distributed data storage-fetching method of claim 12 , wherein the step of mapping the block device to the RAID to establish a DM comprises:
mapping the block device to the RAID to establish a DM via a flash cache algorithm or a buffer cache algorithm.
14 . The distributed data storage-fetching method of claim 8 , wherein the step of setting other partition areas as remote partition areas to share to the other servers for use via the network comprises:
setting other partition areas as remote partition areas to share to the other servers for use via a iSCSI protocol.