Lizardfs Documentation Release Latest
Total Page:16
File Type:pdf, Size:1020Kb
LizardFS Documentation Release latest Michal Bielicki Sep 08, 2021 Contents 1 Introduction to LizardFS 3 1.1 Architecture...............................................3 1.2 Replication-Modes............................................4 1.3 Possible application of LizardFS.....................................4 1.4 Hardware recommendation.......................................5 1.5 Additional Features...........................................5 2 LizardFS QuickStart on Debian7 2.1 Master server installation........................................7 2.2 Shadow master installation........................................8 2.3 Metalogger installation..........................................9 2.4 Chunk server installation.........................................9 2.5 Cgi server installation.......................................... 10 2.6 Command line administration tools................................... 11 3 LizardFS Administration Guide 13 3.1 Installing LizardFS............................................ 13 3.2 Basic Configuration........................................... 16 3.3 Configuring Replication Modes..................................... 23 3.4 Advanced configuration......................................... 27 3.5 Configuring Optional Features...................................... 32 3.6 Connecting Clients to your LizardFS installation............................ 33 3.7 LizardFS Gateways to other protocols.................................. 38 3.8 Securing your LizardFS installation................................... 41 3.9 Troubleshooting............................................. 41 3.10 Upgrading Lizardfs............................................ 43 3.11 LizardFS Manual Pages......................................... 46 4 LizardFS Developers Guide 93 4.1 Obtaining and installing LizardFS from source............................. 93 4.2 Setting up a development workspace.................................. 94 4.3 LizardFS functional testing....................................... 98 4.4 Participation Rules............................................ 99 4.5 Submitting Patches............................................ 100 4.6 Repository rules............................................. 100 4.7 Versioning and Release Engineering................................... 103 4.8 Dummy-Bughunt............................................. 104 i 4.9 Documentation-HowTo......................................... 104 5 Dummy-Technical-TOC 109 6 LizardFS Frequently Asked Questions 111 6.1 General Questions............................................ 111 6.2 Server related............................................... 112 6.3 Dummy-Clients............................................. 112 6.4 Dummy-Platforms............................................ 112 6.5 Networking................................................ 112 6.6 High Availability............................................. 113 7 LizardFS’ers CookBook 115 7.1 Dummy-Filesystems........................................... 115 7.2 LizardFS linux CookBook........................................ 115 7.3 Dummy-freebsd............................................. 118 7.4 LizardFS MacOS Cookbook....................................... 118 7.5 Dummy-illumos............................................. 119 7.6 LizardFS Hypervisors and Virtualization Cookbook.......................... 119 7.7 Dummy-georeplication.......................................... 127 8 Glossary 129 8.1 A..................................................... 129 8.2 B..................................................... 129 8.3 C..................................................... 129 8.4 D..................................................... 130 8.5 E..................................................... 130 8.6 F..................................................... 130 8.7 G..................................................... 131 8.8 H..................................................... 132 8.9 I...................................................... 133 8.10 J...................................................... 133 8.11 K..................................................... 133 8.12 L..................................................... 133 8.13 M..................................................... 133 8.14 N..................................................... 133 8.15 O..................................................... 133 8.16 P..................................................... 133 8.17 Q..................................................... 134 8.18 R..................................................... 134 8.19 S..................................................... 135 8.20 T..................................................... 136 8.21 U..................................................... 136 8.22 V..................................................... 136 8.23 W..................................................... 136 8.24 X..................................................... 136 8.25 Y..................................................... 137 8.26 Z..................................................... 137 9 Release Notes 139 9.1 Release 3.13.0-rc1............................................ 139 9.2 Release 3.12.0.............................................. 140 9.3 Release 3.11.1 – 3.11.3.......................................... 141 9.4 Release 3.11.0.............................................. 142 9.5 Release 3.10.6.............................................. 143 ii 9.6 Release 3.10.4.............................................. 143 9.7 Release 3.10.4.............................................. 143 9.8 Release 3.10............................................... 144 10 Resources 147 10.1 General.................................................. 147 10.2 Developer Specific............................................ 147 10.3 Third Party AddOns........................................... 148 10.4 Packages from the community...................................... 148 11 Commercial Support 149 12 References 151 13 Authors 153 14 Indices and tables 155 iii iv LizardFS Documentation, Release latest Contents: Contents 1 LizardFS Documentation, Release latest 2 Contents CHAPTER 1 Introduction to LizardFS LizardFS is a distributed, scalable, fault-tolerant and highly available file system. It allows users to combine disk space located on many servers into a single name space which is visible on Unix-like and Windows systems in the same way as other file systems. LizardFS makes files secure by keeping all the data in many replicas spread over available servers. It can be used also to build an affordable storage, because it runs without any problems on commodity hardware. Disk and server failures are handled transparently without any downtime or loss of data. If storage requirements grow, it’s possible to scale an existing LizardFS installation just by adding new servers - at any time, without any downtime. The system will automatically move some data to newly added servers, because it continuously takes care of balancing disk usage across all connected nodes. Removing servers is as easy as adding a new one. Unique features like: • support for many data centers and media types, • fast snapshots, • transparent trash bin, • QoS mechanisms, • quotas and a comprehensive set of monitoring tools make it suitable for a range of enterprise-class applications. 1.1 Architecture LizardFS keeps metadata (like file names, modification timestamps, directory trees) and the actual data separately. Metadata is kept on metadata servers, while data is kept on machines called chunkservers. A typical installation consists of: • At least two metadata servers, which work in master-slave mode for failure recovery. Their role is also to manage the whole installation, so the active metadata server is often called the master server. The role of other metadata servers is just to keep in sync with the active master servers, so they are often called shadow master servers. Any shadow master server is ready to take the role of the active master server at any time. A suggested 3 LizardFS Documentation, Release latest configuration of a metadata server is a machine with fast CPU, at least 32 GB of RAM and at least one drive (preferably SSD) to store several dozens of gigabytes of metadata. • A set of chunkservers which store the data. Each file is divided into blocks called chunks (each up to 64 MiB) which are stored on the chunkservers. A suggested configuration of a chunkserver is a machine with large disk space available either in a JBOD or RAID configuration, depending on requirements. CPU and RAM are not very important. You can have as little as 2 chunkservers (a minimum to make your data resistant to any disk failure) or as many as hundreds of them. A typical chunkserver is equipped with 8, 12, 16, or even more hard drives. Each file can be distributed on the chunkservers in a specific replication mode which is one of standard, xor or ec. • Clients which use the data stored on LizardFS. These machines use LizardFS mount to access files in the installation and process them just as those on their local hard drives. Files stored on LizardFS can be seen and simultaneously accessed by as many clients as needed. Fig. 1: Figure 1: Architecture of LizardFS 1.2 Replication-Modes The replication-mode of a directory or even of a file can be defined individually. standard this mode is for defining explicitly how many copies of the data-chunks you want to be stored in your cluster and on which group of nodes the copies reside. In conjunction with “custom-goals”