High-availability file management system and method based on beegfs and load balancing
By installing a management service in the BeeGFS file system and combining it with F5 load balancing, high availability and load balancing are achieved, solving the problems of low network I/O efficiency and single point of failure caused by fixed IP addresses, and improving the overall performance of the file system.
Patent Information
- Application Number
- CN202211556276.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-06
- Publication Date
- 2026-02-10
- Estimated Expiration
- 2042-12-06
AI Technical Summary
When sharing files across multiple nodes, the BeeGFS file system suffers from low network I/O read/write efficiency due to fixed IP addresses, and poses a single point of failure risk, affecting high availability and load balancing.
By installing the BeeGFS management service and configuring F5 load balancing on the file service cluster nodes, high availability switching of the management service is achieved using automated scripts, and the IPs of all storage servers are mapped to the same virtual IP port. F5 automatically adjusts the communication IP based on network load.
It achieves high availability and load balancing for the BeeGFS file system, improves file exchange performance, and solves network I/O bottlenecks and single points of failure caused by fixed IP addresses.
Smart Images

Figure CN116048715B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of file management technology, and more specifically, to a highly available file management system and method based on BeeGFS and load balancing. Background Technology
[0002] BeeGFS includes service components: Management Server (MS management service), MetaData Server (MDS, metadata service), Object Storage Server (OSS object storage service), and File System Client.
[0003] Management Server (MS): Installed and deployed via the BeeGFS-mgmtd package, the actual service started in the operating system is named BeeGFS-mgmtd. This program is generally referred to as mgmtd or the MS management program. An MS must exist in the system, and all configuration files installed with BeeGFS must point to the same MS. MS maintains a list of all file system components, including Clients, MetaData Servers, MetaData Targets, Storage Servers, and Storage Targets.
[0004] MetaData Server (MDS): An MDS contains information about the metadata in the system. MetaData Servers are infinitely scalable. Each MDS has a MetaData Target (MDT, which stores the metadata of the MDS).
[0005] Object Storage Server (OSS): OSS is the primary service for storing file content. Each OSS may have one or more Object Storage Targets (OSTs), which can be local file systems (such as xfs, ext4, or zfs) or LUNs.
[0006] File System Client: The BeeGFS client is a kernel module that runs in Linux and must be compiled to match the kernel being used. The client is an open-source product provided under the GPL. The BeeGFS client service provides a normal mount point, allowing your applications to directly access the BeeGFS storage system. The client includes two daemon services: BeeGFS-client and BeeGFS-helperd. Summary of the Invention
[0007] To address the shortcomings of existing technologies, the purpose of this invention is to provide a highly available file management system and method based on BeeGFS and load balancing.
[0008] A highly available file management method based on BeeGFS and load balancing, provided by the present invention, includes:
[0009] Step A: Install the BeeGFS program mgmtd on each node of the file service cluster, distribute the MS configuration file of the management service node to the corresponding directories of other nodes in the file service cluster, and replace the MS node IP recorded in the MS configuration files of other nodes with the IP of each node.
[0010] Step B: Use F5 load balancing to map the IPs of all BeeGFS storage servers to the same virtual IP port, so that when remote services write, the transmission target is configured to the virtual IP, and the F5 service automatically adjusts the actual communication IP according to the network load.
[0011] Preferably, in step A, the status of the management service is checked periodically by an automated script. When the status of the management service is abnormal, the service is automatically switched over. The switching process includes: shutting down all related services in the file service cluster system; specifying the new MS node through shell script parameters and generating the corresponding remote command; updating the IP configuration of MS in the configuration files of each node and each service to the new parameter value; and starting the BeeGFS service.
[0012] The process switching is all done in the switching script, which is called by configuring the parameters.
[0013] Preferably, in step B, an F5 load balancer is deployed, and files are pushed to the BeeGFS file server cluster through the public IP of the F5 load balancer; the BeeGFS file system is used in conjunction with the F5 load balancer to provide a public IP.
[0014] Preferably, for end servers with machine code recognition enabled, the known_hosts configuration file is manually modified to write the machine codes of all servers corresponding to the F5 integrated IP and the actual IP as a mapping relationship; the ownership and permissions of the BeeGFS shared directory of the nodes are unified, the ID number of the owner user and user group is unified, and the corresponding read and write permissions are given to the user who pushes data remotely; the passwords of all node users are unified; and for pushing data using the passwordless policy, all nodes are uniformly configured with public keys.
[0015] A highly available file management system based on BeeGFS and load balancing, provided by the present invention, includes: BeeGFS and F5;
[0016] Install the BeeGFS program mgmtd on each node of the file service cluster, distribute the MS configuration file of the management service node to the corresponding directory of each other node in the file service cluster, and replace the MS node IP recorded in the MS configuration file of each other node with the IP of each other node.
[0017] F5 load balancer integrates and maps the IPs of all BeeGFS storage servers to the same virtual IP port, so that when remote services write, the transmission target is configured to the virtual IP, and the F5 service automatically adjusts the actual communication IP according to the network load.
[0018] Preferably, the status of the management service is checked periodically by an automated script. When the status of the management service is abnormal, the service is automatically switched over. The switching process includes: shutting down all related services in the file service cluster system; specifying the new MS node through shell script parameters and generating the corresponding remote command; updating the IP configuration of MS in the configuration files of each node and each service to the new parameter value; and starting the BeeGFS service.
[0019] The process switching is all done in the switching script, which is called by configuring the parameters.
[0020] Preferably, the public IP of the F5 load balancer pushes files to the BeeGFS file server cluster; the BeeGFS file system is used in conjunction with the F5 load balancer to provide a public IP.
[0021] Preferably, for end servers with machine code recognition enabled, the known_hosts configuration file is manually modified to write the machine codes of all servers corresponding to the F5 integrated IP and the actual IP as a mapping relationship; the ownership and permissions of the BeeGFS shared directory of the nodes are unified, the ID number of the owner user and user group is unified, and the corresponding read and write permissions are given to the user who pushes data remotely; the passwords of all node users are unified; and for pushing data using the passwordless policy, all nodes are uniformly configured with public keys.
[0022] According to the present invention, a computer-readable storage medium storing a computer program is provided, wherein when the computer program is executed by a processor, the steps of the high-availability file management method based on BeeGFS and load balancing are implemented.
[0023] An electronic device according to the present invention includes a memory, a processor, and a computer program stored in the memory and executable on the processor. When the computer program is executed by the processor, it implements the steps of the high-availability file management method based on BeeGFS and load balancing.
[0024] Compared with the prior art, the present invention has the following beneficial effects:
[0025] This invention solves the first technical problem through BeeGFS: high availability.
[0026] This invention solves the second technical problem through F5: load balancing.
[0027] This invention also solves a third technical problem: fixed IP addresses. Specifically, although BeeGFS allows multiple nodes to share files—files only need to be transferred to the shared directory of any node, and all other nodes can read the file normally—BeeGFS IP addresses are not fixed. For scripts with fixed IP addresses, the network I / O of all nodes cannot be fully utilized, and the read / write efficiency is no better than directly reading and writing to a single node. In fact, because the BeeGFS file system needs to synchronize metadata to each node, efficiency may even slightly decrease. Therefore, this invention creatively combines F5 to integrate and map the IP addresses of all BeeGFS storage servers to the same virtual IP port, thus solving the fixed IP address problem. Attached Figure Description
[0028] Other features, objects, and advantages of the present invention will become more apparent from the following detailed description of non-limiting embodiments with reference to the accompanying drawings:
[0029] Figure 1 This is a schematic diagram of the process steps of the present invention. Detailed Implementation
[0030] The present invention will now be described in detail with reference to specific embodiments. These embodiments will help those skilled in the art to further understand the present invention, but do not limit the invention in any way. It should be noted that those skilled in the art can make several changes and improvements without departing from the concept of the present invention. These all fall within the scope of protection of the present invention.
[0031] This invention addresses the single point of failure issue in the file service cluster by deploying the configuration file of the management service node to all nodes. Specifically, it distributes the configuration file of the BeeGFS parallel file system management service node to the corresponding directories on each other node in the file service cluster and uses automated scripts to periodically check the status of the management service. When the management service status is abnormal, the Mtmg service is automatically switched over, thus ensuring the high availability of the entire file service cluster. Simultaneously, the BeeGFS file system is used in conjunction with F5 load balancing, providing a public IP address. F5 (Load Balancer) enables availability detection and load balancing of the file system cluster, further improving the high availability and file exchange performance of the cluster.
[0032] A highly available file management method based on BeeGFS and load balancing, provided by the present invention, includes:
[0033] Step 1: Set up the BeeGFS file system. BeeGFS includes the following service components: Management Server (MS), MetaData Server (MDS), Object Storage Server (OSS), File System Client, and Storage Pool. The Management Server (MS) is installed and deployed through the package BeeGFS-mgmtd. The actual service name started in the operating system is BeeGFS-mgmtd, and it is often referred to as mgmtd or the MS management program. A storage pool consists of targets. Without manual intervention, BeeGFS defaults to assigning all targets to the `default` pool with ID 1. Pools can be created using commands like BeeGFS-ctl. When creating a file with BeeGFS-ctl, the specified storage pool can be used (if not specified, the pool with the lowest available ID is used by default, usually the `default` pool with ID 1). When creating a directory, the pool cannot be specified; only the storage service ID (node ID) can be specified. You can directly view these across nodes using Linux commands.
[0034] Step 2: Create high availability for the BeeGFS parallel file system's mgmtd (management service). Install the mgmtd program on each node, with the first node serving as the management service node. Distribute the MS configuration file generated by the first node to the corresponding directories on all other nodes in the file service cluster, replacing the MS node IPs recorded in the MS configuration files of the other nodes with their own IPs. Deploy a shell script to switch over the mgmtd service when the first node encounters a problem. An automated script periodically checks the management service status and automatically switches over the mgmtd service when the management service status is abnormal.
[0035] The specific switchover process is as follows: Shut down all relevant services in the cluster system; specify the new MS node via shell script parameters to generate the corresponding remote command; update the MS's IP configuration in the configuration files of each node and service to the new parameter value; start the BeeGFS service. All of these operations are completed within the switchover script, which is invoked after configuring the parameters. This approach can be used to address scenarios where the original MS node's configuration, packages, or hardware are unexpectedly damaged, causing the MS to be unable to provide services. The script quickly switches the MS to the new node to take over the BeeGFS system.
[0036] Step 3: Deploy F5 load balancer. Push files to the BeeGFS file server cluster via the public IP of the F5 load balancer. The BeeGFS file system is used in conjunction with the F5 load balancer, providing a public IP address.
[0037] When remotely writing to the BeeGFS file system, a remote server can transfer files to the BeeGFS storage directory mapped on any server within the BeeGFS node. However, considering that some services and system configuration programs or scripts require a fixed IP address as the transmission target, this may lead to transmission failure if the server corresponding to the remotely configured IP address experiences a communication failure.
[0038] To address the aforementioned potential risks, and considering the file-sharing characteristics of the BeeGFS file system, a solution was determined after research and practical testing: adding F5 load balancing to the BeeGFS file system. F5 load balancing integrates and maps the IPs of all BeeGFS storage servers to the same virtual IP port. This allows remote service writes to be configured with the transmission target as this virtual IP, and F5 automatically adjusts the actual communication IP based on network load, ensuring network balancing and high availability of the BeeGFS service.
[0039] More specifically, normally, a one-to-one mapping is automatically established when accessing an IP address for the first time. However, since F5 uses one IP address to correspond to multiple machines, automatic verification will result in an error. Therefore, if the end server has machine code recognition enabled, manually modify the `known_hosts` configuration file to write the machine codes of all servers corresponding to the integrated F5 IP address and the actual IP address as mappings. The ownership and permissions of the BeeGFS shared directory on each node must be consistent, the user and group IDs must be consistent, and the corresponding read and write permissions must be granted to the user pushing data remotely. All node user passwords must be consistent; if a passwordless data push strategy is used, all nodes need to be configured with a consistent public key.
[0040] A highly available file management system based on BeeGFS and load balancing, provided by the present invention, includes: BeeGFS and F5;
[0041] Install the BeeGFS program mgmtd on each node of the file service cluster. Distribute the MS configuration file of the management service node to the corresponding directories of other nodes in the file service cluster. Replace the MS node IP recorded in the MS configuration files of other nodes with the IP of each node. Use an automated script to periodically check the status of the management service. When the management service status is abnormal, automatically complete the service switch. The switchover process includes: shutting down all related services in the file service cluster system; specifying the new MS node through shell script parameters and generating the corresponding remote command; updating the MS IP configuration in the configuration files of each node and each service to the new parameter value; and starting the BeeGFS service. All operations in the switchover process are completed in the switchover script, which is called by configuring the parameters.
[0042] F5 load balancer integrates and maps the IPs of all BeeGFS storage servers to the same virtual IP port. This allows remote services to configure the transmission target to this virtual IP during writes, and F5 services automatically adjust the actual communication IP based on network load. The public IP of F5 load balancer pushes files to the BeeGFS file server cluster; the BeeGFS file system, used in conjunction with F5 load balancer, provides a public IP address.
[0043] For end servers with machine code recognition enabled, manually modify the known_hosts configuration file to write all server machine codes corresponding to the F5 integrated IP and the actual IP as a mapping relationship; unify the ownership and permissions of the BeeGFS shared directory on each node, unify the ID number of the owner and user group, and grant the corresponding read and write permissions to the user who pushes data remotely; unify the passwords of all node users; and configure the public key uniformly for pushing data using the passwordless policy.
[0044] According to the present invention, a computer-readable storage medium storing a computer program is provided, wherein when the computer program is executed by a processor, the steps of the high-availability file management method based on BeeGFS and load balancing are implemented.
[0045] An electronic device according to the present invention includes a memory, a processor, and a computer program stored in the memory and executable on the processor. When the computer program is executed by the processor, it implements the steps of the high-availability file management method based on BeeGFS and load balancing.
[0046] Those skilled in the art will understand that, in addition to implementing the system, apparatus, and their modules provided by this invention in purely computer-readable program code, the same program can be implemented in the form of logic gates, switches, application-specific integrated circuits, programmable logic controllers, and embedded microcontrollers by logically programming the method steps. Therefore, the system, apparatus, and their modules provided by this invention can be considered a hardware component, and the modules included therein for implementing various programs can also be considered structures within the hardware component; alternatively, modules for implementing various functions can be considered both software programs implementing the method and structures within the hardware component.
[0047] Specific embodiments of the present invention have been described above. It should be understood that the present invention is not limited to the specific embodiments described above, and those skilled in the art can make various changes or modifications within the scope of the claims, which do not affect the essence of the present invention. Unless otherwise specified, the embodiments and features described in this application can be arbitrarily combined with each other.
Claims
1. A highly available file management method based on BeeGFS and load balancing, characterized in that, include: Step A: Install the BeeGFS program mgmtd on each node of the file service cluster, distribute the MS configuration file of the management service node to the corresponding directories of other nodes in the file service cluster, and replace the MS node IP recorded in the MS configuration files of other nodes with the IP of each node. Step B: Use F5 load balancing to map the IPs of all BeeGFS storage servers to the same virtual IP port, so that when remote services write, the transmission target is configured to the virtual IP, and the F5 service automatically adjusts the actual communication IP according to the network load. In step B, an F5 load balancer is deployed, and files are pushed to the BeeGFS file server cluster through the public IP of the F5 load balancer; the BeeGFS file system is used in conjunction with the F5 load balancer, providing a public IP to the outside world; For end servers with machine code recognition enabled, manually modify the known_hosts configuration file to write all server machine codes corresponding to the F5 integrated IP and the actual IP as a mapping relationship; unify the ownership and permissions of the BeeGFS shared directory on each node, unify the ID number of the owner and user group, and grant the corresponding read and write permissions to the user who pushes data remotely; unify the passwords of all node users; and configure the public key uniformly for pushing data using the passwordless policy.
2. The high-availability file management method based on BeeGFS and load balancing according to claim 1, characterized in that, In step A, the status of the management service is checked periodically by an automated script. When the status of the management service is abnormal, the service is automatically switched over. The switching process includes: shutting down all related services in the file service cluster system; specifying the new MS node through shell script parameters and generating the corresponding remote command; updating the IP configuration of MS in the configuration files of each node and each service to the new parameter value; and starting the BeeGFS service. The process switching is all done in the switching script, which is called by configuring the parameters.
3. A highly available file management system based on BeeGFS and load balancing, characterized in that, include: BeeGFS and F5; Install the BeeGFS program mgmtd on each node of the file service cluster, distribute the MS configuration file of the management service node to the corresponding directory of each other node in the file service cluster, and replace the MS node IP recorded in the MS configuration file of each other node with the IP of each other node. F5 load balancer integrates and maps the IPs of all BeeGFS storage servers to the same virtual IP port, so that when remote services write, the transmission target is configured to the virtual IP, and the F5 service automatically adjusts the actual communication IP according to the network load. F5 load balancer uses its public IP address to push files to the BeeGFS file server cluster; the BeeGFS file system is used in conjunction with F5 load balancer to provide a public IP address. For end servers with machine code recognition enabled, manually modify the known_hosts configuration file to write all server machine codes corresponding to the F5 integrated IP and the actual IP as a mapping relationship; unify the ownership and permissions of the BeeGFS shared directory on each node, unify the ID number of the owner and user group, and grant the corresponding read and write permissions to the user who pushes data remotely; unify the passwords of all node users; and configure the public key uniformly for pushing data using the passwordless policy.
4. The high-availability file management system based on BeeGFS and load balancing according to claim 3, characterized in that, The system uses automated scripts to periodically check the status of the management service. When the management service status is abnormal, it automatically switches the service. The switching process includes: shutting down all related services in the file service cluster system; specifying the new MS node through shell script parameters and generating the corresponding remote command; updating the MS IP configuration in the configuration files of each node and each service to the new parameter value; and starting the BeeGFS service. The process switching is all done in the switching script, which is called by configuring the parameters.
5. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by the processor, it implements the steps of the high-availability file management method based on BeeGFS and load balancing as described in claim 1 or 2.
6. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the computer program is executed by the processor, it implements the steps of the high-availability file management method based on BeeGFS and load balancing as described in claim 1 or 2.
Citation Information
Patent Citations
Parallel cluster file system dual-network deployment method and system, terminal and storage medium
CN114124960A
Data life cycle management method and system based on data consanguinity map
CN115080758A