LinuxConf.Au: HTTP-FUSE CLOOP with Software RAID and DNS-Balance for Embedded Linux
This demonstration proposes a method to improve performance and tolerance of network virtual block device "HTTP-FUSE CLOOP". HTTP-FUSE CLOOP is virtual network block device. It reconstructs loopback device from split block files on HTTP Servers. It has some benefits by comparison of other network block device. It doesn't require special server software. It can be implemented on normal Web hosting service. It also allows replacing hosting servers dynamically because it based on connection-less HTTP protocol. Unfortunately HTTP-FUSE CLOOP is sensitive for network latency and network disconnection because HTTP-FUSE CLOOP is a kind of loopback block device and accepts only one read-request at a time. So it can't deal with multiple read-requests. To solve the problem we integrated HTTP-FUSE CLOOP with Software RAID (Linux "MD" driver), proxy cache servers and DNS-Balance.
HTTP Proxy cache servers, software RAID, and DNS server realize efficient performance for HTTP-FUSE CLOOP. HTTP Proxy (Squid) caches block files and makes short network latency. Software RAID is applied to HTTP-FUSE CLOOP and allows parallel read-requests. It makes wide bandwidth of HTTP-FUSE CLOOP when several Proxy Cache servers are prepared. DNS-Balance allocates suitable proxies to Software RAID HTTP-FUSE CLOOP. As the result of evaluations, the performance of four-server RAID array was 4.1 times. It is caused by allowing multiple read-requests and blockfiles are cached on memory of servers than normal HTTP-FUSE CLOOP.
Additionally, software RAID and DNS-Balance provide fault tolerance for HTTP-FUSE CLOOP. Software RAID realizes fault tolerance by a redundancy of RAID1 in network problems. DNS realizes fault tolerance in server problems. DNS software "DNS-Balance" detects server problems and assigns an optimum server for clients when DNS requests is issued periodically. Therefore, DNS provides fault tolerance for clients which are already assigned to failed servers by switching servers dynamically.
We implemented HTTP-FUSE CLOOP on ARM Linux Machine "Armadillo" as well as X86 for normal desk top. It shows convenience for embedded Linux because normal Embedded Linux has small storage. Software RAID and DNS-Balance also help performance and tolerance on HTTP-FUSE CLOOP of embedded Linux.