One, MFS characteristics:
1. Free (GPL)
2. Universal file system, no need to modify the upper application can be used
3. Can be expanded online, the architecture scalability is very strong.
4. Simple deployment.
5. High availability, can set any degree of file redundancy (provide a higher level of redundancy than raid1+0, and will not affect the performance of read or write, will only accelerate)
6. Recoverable files deleted within a specified time (the "Recycle Bin" provides system-level services that are not afraid of misoperation and provide instant rollback characteristics of advanced DBMS such as Oralce-like flashback)
7. Provide snapshot features for commercial storage such as NETAPP,EMC,IBM. (a snapshot of the file can be created for the entire file, even in the file being written.)
8. A c implementation of Google FileSystem.
9. Provide a web GUI monitoring interface.
10. Improve the efficiency of random reading or writing.
11. Improve the reading and writing efficiency of large amount of small files.
Possible bottlenecks:
1. The performance bottleneck of Master itself. How does a single point of failure solve the MFS system master?
Moosefs+drbd+heartbeat to ensure master single point problem? However, it is not possible to completely shut down and intermittent network outages during use!
2. The maximum number of files that the architecture stores can meet. (MFS files The structure of the file system into master memory, the more files, master memory consumption is greater, 8g corresponds to the number of 2500w files, 200 million files will have 64GB memory).
The CPU load on the master server depends on the number of operations, and the memory usage depends on the number of files and folders.
Second, the MFS file system structure:
Contains 4 roles:
Management Server managing server (Master)
Meta data log Server Metalogger server (metalogger)
Datastore Server data Servers (chunkservers)
Client mount using client computers
Various role roles:
1. Management Server: Responsible for the management of each data storage server, file reading and writing scheduling, file space recovery and recovery, multi-node copy
PayPal
2. Metadata Log server: The change log file responsible for backing up the master server, the file type is Changelog_ml.*.mfs, so that it can be replaced when the master server fails.
3. Data Storage Server: Responsible for connecting the Management Server, listen to the Management Server scheduling, provide storage space, and provide customers with data transmission.
4. Client: The data storage server managed on the remote Management Server is hooked up via the fuse core interface, which looks like the shared file system and the local UNIX file system use the same effect.
The original read/write speed is obviously largely dependent on the performance of the hard disk being used, the capacity of the network and the topology, the use of hard
The better the throughput of disk and network, the better the performance of the whole system .
Three. MFS's installation configuration
1. Configuring the Environment
redhat6.5
Servre1:master 172.25.50.1 Mfsmaster
Server2:chunk 172.25.50.2
Server2:chunk 172.25.50.3
Real Machine client:172.25.50.250
2. Turn the MFS source package into RPM package installation
Installing Rpm-build Software
650) this.width=650; "src=" Https://s2.51cto.com/oss/201710/23/4a6a16f16ab64ea2ed080de35db9bd92.png "style=" float: none; "Title=" screenshot from 2017-10-21 22-53-51.png "alt=" 4a6a16f16ab64ea2ed080de35db9bd92.png "/>
650) this.width=650; "src=" Https://s2.51cto.com/oss/201710/23/0cdbff0699c7f0f813de0f83482000ec.png "style=" float: none; "Title=" screenshot from 2017-10-21 22-56-03.png "alt=" 0cdbff0699c7f0f813de0f83482000ec.png "/>
Package dependencies required to create RPM packages
650) this.width=650; "src=" Https://s2.51cto.com/oss/201710/23/00215ab01c1d53c257b7c650075ff9d9.png "style=" float: none; "Title=" screenshot from 2017-10-21 22-57-32.png "alt=" 00215ab01c1d53c257b7c650075ff9d9.png "/>
650) this.width=650; "src=" Https://s2.51cto.com/oss/201710/23/c59661d09538e98fdb4e900c426d42b3.png "style=" float: none; "Title=" screenshot from 2017-10-21 23-00-52.png "alt=" C59661d09538e98fdb4e900c426d42b3.png "/>
650) this.width=650; "src=" Https://s2.51cto.com/oss/201710/23/f131cc2fd7086eb1d86c09ff9ae59080.png "style=" float: none; "Title=" screenshot from 2017-10-21 23-01-31.png "alt=" F131cc2fd7086eb1d86c09ff9ae59080.png "/>
3. Install the Mfsmaster on the Server1
650) this.width=650; "src=" Https://s2.51cto.com/oss/201710/23/ffda662c816a1722d0eb074c64aa9fff.png "style=" float: none; "Title=" screenshot from 2017-10-21 23-03-14.png "alt=" Ffda662c816a1722d0eb074c64aa9fff.png "/>
4. Using the MFS Distributed File system needs to be resolved
Master End set to Mfsmaster
650) this.width=650; "src=" Https://s2.51cto.com/oss/201710/23/1885ebf98d42ab2d20f5afebfb705ef6.png "style=" float: none; "Title=" screenshot from 2017-10-21 23-06-55.png "alt=" 1885ebf98d42ab2d20f5afebfb705ef6.png "/>
5.mfsmaster terminal without configuration, direct start
650) this.width=650; "src=" Https://s2.51cto.com/oss/201710/23/4dfc6a01d0507c47ef05bb2fd5dc3ef6.png "style=" float: none; "Title=" screenshot from 2017-10-21 23-07-37.png "alt=" 4dfc6a01d0507c47ef05bb2fd5dc3ef6.png "/>
Master side Three ports start normally, CGI Web graphics ports are open
650) this.width=650; "src=" Https://s2.51cto.com/oss/201710/23/81886d86e6105fad6a27ed3527c55a0d.png "style=" float: none; "Title=" screenshot from 2017-10-21 23-08-08.png "alt=" 81886d86e6105fad6a27ed3527c55a0d.png "/>
6. Do the parsing on the client, Web Access
650) this.width=650; "src=" Https://s1.51cto.com/oss/201710/23/dc9742837c2231aff51e4a4febe403e5.png "style=" float: none; "Title=" screenshot from 2017-10-21 23-09-40.png "alt=" Dc9742837c2231aff51e4a4febe403e5.png "/>
650) this.width=650; "src=" Https://s5.51cto.com/oss/201710/23/c72108359b63027ca9d920ef7d7e0525.png "title=" Screenshot from 2017-10-21 23-09-59.png "alt=" C72108359b63027ca9d920ef7d7e0525.png "/>
Four. Server2 and Server3 configuration chunk
1.server2 installation Chunk
Installation package Dependencies
650) this.width=650; "src=" Https://s5.51cto.com/oss/201710/23/8af5a6214e208ac3a5e9de0f07665d14.png "title=" Screenshot from 2017-10-21 23-13-37.png "alt=" 8af5a6214e208ac3a5e9de0f07665d14.png "/>
2.server2 Configuration Resolution
650) this.width=650; "src=" Https://s5.51cto.com/oss/201710/23/043deaf042686a42d81466fcd07ed8f1.png "style=" float: none; "Title=" screenshot from 2017-10-21 23-14-21.png "alt=" 043deaf042686a42d81466fcd07ed8f1.png "/>
3. Configure the share point CHUNK1
Permission restrictions, before starting chunk server, you need to make sure that the user MFS has permission to read and write to the partition that will be mounted
650) this.width=650; "src=" Https://s1.51cto.com/oss/201710/23/d5a8715f13153a3e7430075ffc2e12f3.png "style=" float: none; "Title=" screenshot from 2017-10-21 23-17-32.png "alt=" D5a8715f13153a3e7430075ffc2e12f3.png "/>
650) this.width=650; "src=" Https://s1.51cto.com/oss/201710/23/59648adb072fd09dbaa2d032b19c2eea.png "style=" float: none; "Title=" screenshot from 2017-10-21 23-17-16.png "alt=" 59648adb072fd09dbaa2d032b19c2eea.png "/>
4. Start Chunk
650) this.width=650; "src=" Https://s1.51cto.com/oss/201710/23/c6e3df6e8b7dc7d3580072052595e098.png "style=" float: none; "Title=" screenshot from 2017-10-21 23-18-02.png "alt=" C6e3df6e8b7dc7d3580072052595e098.png "/>
View data
650) this.width=650; "src=" Https://s1.51cto.com/oss/201710/23/c2a5540acaa5469aefd3716ad67c4682.png "style=" float: none; "Title=" screenshot from 2017-10-21 23-18-47.png "alt=" C2a5540acaa5469aefd3716ad67c4682.png "/>
The chunk configuration on the 4.server3 is the same as Server2, and the share point is CHUNK2
650) this.width=650; "src=" Https://s1.51cto.com/oss/201710/23/c23f01b5b25a0a4cacd4da758825c6c6.png "style=" float: none; "Title=" screenshot from 2017-10-21 23-19-27.png "alt=" C23f01b5b25a0a4cacd4da758825c6c6.png "/>
650) this.width=650; "src=" Https://s1.51cto.com/oss/201710/23/01123f270b926b1e6e8083df75e9d25e.png "style=" float: none; "Title=" screenshot from 2017-10-21 23-19-53.png "alt=" 01123f270b926b1e6e8083df75e9d25e.png "/>
650) this.width=650; "src=" Https://s1.51cto.com/oss/201710/23/715050df6e688f60c07a3f8763cfd5c4.png "style=" float: none; "Title=" screenshot from 2017-10-21 23-22-15.png "alt=" 715050df6e688f60c07a3f8763cfd5c4.png "/>
650) this.width=650; "src=" Https://s1.51cto.com/oss/201710/23/d58492e1c1384fb3fbe7ef3dcd80275f.png "style=" float: none; "Title=" screenshot from 2017-10-21 23-21-48.png "alt=" D58492e1c1384fb3fbe7ef3dcd80275f.png "/>
Five. Client connection
1. Installing the MFS client software , configuration Resolution
650) this.width=650; "src=" Https://s1.51cto.com/oss/201710/23/766dc442838bd682472bff62a141c5fe.png "style=" float: none; "Title=" screenshot from 2017-10-21 23-26-19.png "alt=" 766dc442838bd682472bff62a141c5fe.png "/>
650) this.width=650; "src=" Https://s1.51cto.com/oss/201710/23/7ec67c167afc29cca21ef255a15700ca.png "style=" float: none; "Title=" screenshot from 2017-10-21 23-25-49.png "alt=" 7ec67c167afc29cca21ef255a15700ca.png "/>
2. Create a mount point and Mount Mfsmount
650) this.width=650; "src=" Https://s5.51cto.com/oss/201710/23/d35e8957e3ecee655d09345817b38599.png "style=" float: none; "Title=" screenshot from 2017-10-21 23-28-10.png "alt=" D35e8957e3ecee655d09345817b38599.png "/>
3. Create two directories in/mnt/mfs and set the number of copies of their files
650) this.width=650; "src=" Https://s4.51cto.com/oss/201710/23/73441c5147886cdd7d1c4914aaa58237.png "style=" float: none; "Title=" screenshot from 2017-10-21 23-30-04.png "alt=" 73441c5147886cdd7d1c4914aaa58237.png "/>
Set the number of copies of directory Dir1 to 1
650) this.width=650; "src=" Https://s4.51cto.com/oss/201710/23/61c009400d2fb0774729182dc5970590.png "style=" float: none; "Title=" screenshot from 2017-10-21 23-30-37.png "alt=" 61c009400d2fb0774729182dc5970590.png "/>
4. Testing
Copy the passwd file to view the information:
Dir1 a copy on the Server2.
Dir2 two parts on the Server2 and Server3.
650) this.width=650; "src=" Https://s1.51cto.com/oss/201710/23/0a171cb18b11db55d3bf712801f0327e.png "title=" Screenshot from 2017-10-21 23-38-55.png "alt=" 0a171cb18b11db55d3bf712801f0327e.png "/>
Browser View Server2 and Server3
650) this.width=650; "src=" Https://s4.51cto.com/oss/201710/23/15d603ce905c8235e778be51cfbabd6a.png "style=" float: none; "Title=" screenshot from 2017-10-21 23-42-06.png "alt=" 15d603ce905c8235e778be51cfbabd6a.png "/>
Note: After closing a chunkserver2 (172.25.50.2), Dir1 cannot view it because only one copy is saved on Sevrer2, but Dir2 has no effect because 2 copies are saved, and after the CHUNKSERVER2 restarts, it returns to normal.
Linux Enterprise-Distributed File System MFS (MOOSEFS) Setup and configuration