After nearly two weeks of development and testing, the distributed file system FastDFS V6.16 has been released. The main improvements in this version include support for deploying multiple storage instances of the same group on a single server, as well as the provision of tools such as fdfs_storage_stat for intuitive viewing of storage status and fdfs_volumn_stat for concise viewing of cluster capacity.
Multiple storage instances of the same group can be deployed on a single server, primarily for development and testing environments. However, this is not recommended for production environments. If a group of storage servers consists of only one server, two instances of the same group can be deployed on that server, with each instance using a different storage path (corresponding to a different hard disk), to achieve data redundancy across multiple disks on a single machine.
The original fdfs_monitor can view detailed information about the storage service, including a plethora of statistics on file uploads and downloads. However, its output content is overly cumbersome, making it inconvenient to concisely check the health status of the storage service and the storage capacity of the cluster. Therefore, fdfs_storage_stat and fdfs_volumn_stat have been added.
Together with the tool fdfs_tracker_stat provided in V6.15.5, FastDFS now offers a total of four cluster viewing and monitoring tools. Additionally, fdfs_exporter, which provides monitoring metrics for Prometheus, is available in the source code directory monitoring/prometheus_exporter. Friends in need are welcome to use it, and please feel free to provide feedback if you have any questions.
All the above four monitoring tools support the -h option to view help. For fdfs_tracker_stat and fdfs_storage_stat, specifying the -N option displays a list of tracker servers and storage servers in a non-ACTIVE state. If the output of fdfs_tracker_stat -N is empty, it indicates that all trackers are functioning normally. Similarly, if the output of fdfs_storage_stat -N is empty, it indicates that all storage services are functioning normally.
Example output snippet of fdfs_volumn_stat:
group1 disk_available: 1, disk space {total: 234 GB, free: 13 GB, reserved: 2.3 GB, avail: 11 GB, util: 95.19%}
The descriptions of each field are as follows:
disk_available: Whether the disk is available (it is available if the disk is not full)
total: Total disk space, consistent with what is seen using the df command
free: disk free space, consistent with what is seen using the df command
reserved: disk reserved space, set in tracker.conf, parameter name reserved_storage_space
avail: available disk space, equal to free - reserved
util: disk space utilization, where the denominator is not total, but total - reserved
The change log for V6.16 is as follows:
* one storage group supports multi storage instances in one server
Note: MUST set use_storage_id to true in tracker.conf and configure
storage_ids.conf to enable this feature
* expand version's buffer size of tracker and storage server
* storage access log supports log time_used in microsecond
* add monitor tool: fdfs_storage_stat and fdfs_volumn_stat