GithubHelp home page GithubHelp logo

moosefs / moosefs Goto Github PK

View Code? Open in Web Editor NEW
1.6K 1.6K 197.0 5.72 MB

MooseFS – Open Source, Petabyte, Fault-Tolerant, Highly Performing, Scalable Network Distributed File System (Software-Defined Storage)

Home Page: https://moosefs.com

License: GNU General Public License v2.0

Shell 9.36% Perl 0.01% C 69.87% JavaScript 0.38% CSS 0.47% Makefile 15.73% M4 0.94% Roff 3.25%
big-data clustering distributed-computing distributed-file-system distributed-storage ditributed-systems file-system filesystem fuse hadoop high-availability moosefs petabyte posix posix-compliant scalability snapshot software-defined-storage storage storage-tiering

moosefs's Introduction

MooseFS logo

MooseFS – A Petabyte Distributed File System

MooseFS is a Petabyte Open Source Network Distributed File System. It is easy to deploy and maintain, highly reliable, fault tolerant, highly performing, easily scalable and POSIX compliant.

MooseFS spreads data over a number of commodity servers, which are visible to the user as one resource. For standard file operations MooseFS acts like ordinary Unix-like file system:

  • A hierarchical structure – directory tree
  • Stores POSIX file attributes – permissions, last access and modification times, etc.
  • Supports ACLs
  • Supports POSIX and BSD file locks – including support for distributed file locking
  • Supports special files – block and character devices, pipes and sockets
  • Supports symbolic links – file names pointing to target files, not necessarily on MooseFS
  • Supports hard links – different names of files which refer to the same data on MooseFS

Distinctive MooseFS features:

  • High reliability – files are stored in several copies on separate servers. The number of copies is a configurable parameter, even per each file
  • No Single Point of Failure – all hardware and software components may be redundant
  • Parallel data operations – many clients can access many files concurrently
  • Capacity can be dynamically expanded by simply adding new servers/disks on the fly
  • Retired hardware may be removed on the fly
  • Deleted files are retained for a configurable period of time (a file system level "trash bin")
  • Coherent, "atomic" snapshots of files, even while the files are being written/accessed
  • Access to the file system can be limited based on IP address and/or password (similarly as in NFS)
  • Data tiering – supports different storage policies for different files/directories in Storage Classes mechanism
  • Per-directory, "project" quotas – configurable per RAW space, usable space, number of inodes with hard and soft quotas support
  • Apart from file system storage, MooseFS also provides block storage (mfsbdev)
  • Efficient, pure C implementation
  • Ethernet support

Supported platforms

MooseFS can be installed on any POSIX compliant operating system including various Linux distributions, FreeBSD and macOS:

  • Ubuntu
  • Debian
  • RHEL / CentOS
  • OpenSUSE
  • FreeBSD
  • macOS

MooseFS Linux Client uses FUSE. MooseFS macOS Client uses FUSE for macOS.

There is a separate MooseFS Client for Microsoft Windows available, built on top of Dokany.

Getting started

You can install MooseFS using your favourite package manager on one of the following platforms using officially supported repositories:

  • Ubuntu 16 / 18 / 20 / 22
  • Debian 8 / 9 / 10 / 11
  • RHEL / CentOS 7 / 8 / 9
  • FreeBSD 11 / 12 / 13
  • macOS 10.11+
  • Ubuntu 20 / 22 – Raspberry Pi
  • Debian 10 / 11 – Raspberry Pi

Packages for Ubuntu 14 and CentOS 6 are also available, but no longer supported.

Minimal set of packages, which are needed to run MooseFS:

  • moosefs-master MooseFS Master Server for metadata servers,
  • moosefs-chunkserver MooseFS Chunkserver for data storage servers,
  • moosefs-client MooseFS Client – client side package to mount the filesystem.

Source code

Feel free to download the source code from our GitHub code repository!

Install the following dependencies before building MooseFS from sources:

  • Debian/Ubuntu: sudo apt install build-essential libpcap-dev zlib1g-dev libfuse3-dev pkg-config (if you don't have FUSE v. 3 in your system, use sudo apt install build-essential libpcap-dev zlib1g-dev libfuse-dev pkg-config)
  • CentOS/RHEL: sudo yum install gcc make libpcap-devel zlib-devel fuse3-devel pkgconfig (if you don't have FUSE v. 3 in your system, use sudo yum install gcc make libpcap-devel zlib-devel fuse-devel pkgconfig)

Recommended packages:

  • Debian/Ubuntu: sudo apt install fuse3 (if you don't have FUSE v. 3 in your system, use sudo apt install fuse)
  • CentOS/RHEL: sudo yum install fuse3 (if you don't have FUSE v. 3 in your system, use sudo yum install fuse)

Building MooseFS on Linux can be easily done by running ./linux_build.sh. Similarly, use ./freebsd_build.sh in order to build MooseFS on FreeBSD and respectively ./macosx_build.sh on macOS. Remember that these scripts do not install binaries (i.e. do not run make install) at the end. Run this command manually.

Minimal setup

Just three steps to have MooseFS up and running:

1. Install at least one Master Server

  1. Install moosefs-master package
  2. Prepare default config (as root):
cd /etc/mfs
cp mfsmaster.cfg.sample mfsmaster.cfg
cp mfsexports.cfg.sample mfsexports.cfg
  1. Prepare the metadata file (as root):
cd /var/lib/mfs
cp metadata.mfs.empty metadata.mfs
chown mfs:mfs metadata.mfs
rm metadata.mfs.empty
  1. Run Master Server (as root): mfsmaster start
  2. Make this machine visible under mfsmaster name, e.g. by adding a DNS entry (recommended) or by adding it in /etc/hosts on all servers that run any of MooseFS components.

2. Install at least two Chunkservers

  1. Install moosefs-chunkserver package
  2. Prepare default config (as root):
cd /etc/mfs
cp mfschunkserver.cfg.sample mfschunkserver.cfg
cp mfshdd.cfg.sample mfshdd.cfg
  1. At the end of mfshdd.cfg file make one or more entries containing paths to HDDs / partitions designated for storing chunks, e.g.:
/mnt/chunks1
/mnt/chunks2
/mnt/chunks3

It is recommended to use XFS as an underlying filesystem for disks designated to store chunks. More than two Chunkservers are strongly recommended.

  1. Change the ownership and permissions to mfs:mfs to above mentioned locations:
chown mfs:mfs /mnt/chunks1 /mnt/chunks2 /mnt/chunks3
chmod 770 /mnt/chunks1 /mnt/chunks2 /mnt/chunks3
  1. Start the Chunkserver: mfschunkserver start

Repeat steps above for second (third, ...) Chunkserver.

3. Client side: mount MooseFS filesystem

  1. Install moosefs-client package
  2. Mount MooseFS (as root):
mkdir /mnt/mfs
mount -t moosefs mfsmaster: /mnt/mfs

or: mfsmount -H mfsmaster /mnt/mfs if the above method is not supported by your system

  1. You can also add an /etc/fstab entry to mount MooseFS during the system boot:
mfsmaster:    /mnt/mfs    moosefs    defaults,mfsdelayedinit    0 0

There are more configuration parameters available but most of them may stay with defaults. We do our best to keep MooseFS easy to deploy and maintain.

MooseFS, for testing purposes, can even be installed on a single machine!

Additional tools

Setting up moosefs-cli or moosefs-cgi with moosefs-cgiserv is also recommended – it gives you a possibility to monitor the cluster online:

  1. Install moosefs-cli moosefs-cgi moosefs-cgiserv packages (they are typically set up on the Master Server)
  2. Run MooseFS CGI Server (as root): mfscgiserv start
  3. Open http://mfsmaster:9425 in your web browser

It is also strongly recommended to set up at least one Metalogger on a different machine than Master Server (e.g. on one of Chunkservers). Metalogger constantly synchronizes and backups the metadata:

  1. Install moosefs-metalogger package
  2. Prepare default config (as root):
cd /etc/mfs
cp mfsmetalogger.cfg.sample mfsmetalogger.cfg
  1. Run Metalogger (as root): mfsmetalogger start

Refer to installation guides for more details.

Some facts

Contact us

Copyright

Copyright (c) 2008-2023 Jakub Kruszona-Zawadzki, Saglabs SA

This file is part of MooseFS.

MooseFS is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2 (only).

MooseFS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with MooseFS; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA or visit http://www.gnu.org/licenses/gpl-2.0.html.

moosefs's People

Contributors

acid-maker avatar borkd avatar chogata avatar davies avatar eronana avatar maxice8 avatar onlyjob avatar pkonopelko avatar tclh123 avatar tianon avatar yinjiawind avatar zcalusic avatar zorlin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

moosefs's Issues

A better README for new comers

A good and comprehensive README.md is very important for project in github, that's the first piece of words most of new comer will read to understand the project.

We could just put some of the docs from moosefs.org into it.

oddness with mfschunkserver on BSD

hi guys, setting up a new cluster here; have added current moosefs.conf as below;

[administrator@test] /usr/home/administrator# cat /etc/pkg/moosefs.conf
moosefs: { url: http://ppa.moosefs.com/moosefs-3/freebsd/10:x86:64,
enabled: yes, mirror_type: NONE }

but on install it's giving me a copy from the 2x branch -

Updating pcbsd-major repository catalogue...
pcbsd-major repository is up-to-date.
All repositories are up-to-date.
Checking integrity... done (0 conflicting)
The following 1 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
moosefs-chunkserver: 2.0.89

...any ideas? am i being a total noob?

I can't set trash time for file

when I run mfssettrash to file then it show

mfssettrashtime -r 5 /home/shop/data/upload
/home/shop/data/upload:
 inodes with trashtime changed:              0
 inodes with trashtime not changed:       1309
 inodes with permission denied:              1

msmount is in fstab:mfsmount /home/shop/data/upload fuse defaults,nonempty,mfspassword=123456,mfsmaster=192.168.1.244,mfsport=9421 0 0

the master configuration is

# Allow everything but "meta".
192.168.1.0/24                  /       rw,admin,alldirs,mapall=498:498,password=12345
# Allow "meta".
192.168.1.0/24                  .       rw,password=123456

master user is nginx UID is 498 and web user is nginx ID is 498,the mount point is drwxr-xr-x 2 nginx nginx 4096 Dec 14 19:41 upload but when I run mfsmount the upload is drwxrwxrwx 10 root root 2004173 Dec 29 19:53 upload why the upload‘s UID is root? and I cant‘ change the trash time’

How to migrate data to new Chunk servers?

Hi all! Here I have a question, pls help!

I want to migrate the mfs cluster servers to new cluster servers(master, metalogger and chunks included)?
How should I do? How to migrate the data from old chunk servers to new chunk servers?

ETIMEDOUT (Operation timed out)

my mfsmaster version is 3.0.84 and my chunkserver version is 3.0.85 .

recently ,some error appear:

Mar 15 03:00:29 localhost mfschunkserver[3545]: connect to 10.39.54.219:9432 failed, error: ETIMEDOUT (Operation timed out)
Mar 15 03:00:31 localhost mfschunkserver[3545]: connect to 10.39.54.219:9432 failed, error: ETIMEDOUT (Operation timed out)
Mar 15 03:00:33 localhost mfschunkserver[3545]: connect to 10.39.54.218:9432 failed, error: ETIMEDOUT (Operation timed out)
Mar 15 03:00:36 localhost mfschunkserver[3545]: connect to 10.39.54.219:9432 failed, error: ETIMEDOUT (Operation timed out)
Mar 15 03:00:38 localhost mfschunkserver[3545]: connect to 10.39.54.220:9432 failed, error: ETIMEDOUT (Operation timed out)
Mar 15 03:00:44 localhost mfschunkserver[3545]: connect to 10.39.54.219:9432 failed, error: ETIMEDOUT (Operation timed out)
Mar 15 03:00:51 localhost mfschunkserver[3545]: connect to 10.39.54.219:9432 failed, error: ETIMEDOUT (Operation timed out)
Mar 15 03:00:52 localhost mfschunkserver[3545]: connect to 10.39.54.219:9432 failed, error: ETIMEDOUT (Operation timed out)
Mar 15 03:00:53 localhost mfschunkserver[3545]: connect to 10.39.54.217:9432 failed, error: ETIMEDOUT (Operation timed out)
Mar 15 03:00:58 localhost mfschunkserver[3545]: connect to 10.39.54.218:9432 failed, error: ETIMEDOUT (Operation timed out)

and in the mfscgi , max operations in queue at the time 03--04 . is very high . sure that time the
concurrent write operation is high ,but the traffice in only 70% of the network card.

and also ,the cpu wait io ,load in that time is very low .

any idea about this ? should i make the queue size bigger ?

Could not recovery delete file from trash bin!

When I copy the delete jpg file to undel directory it show “cp: cannot create regular file `undel/0000054C|shop|goods_class|04849412911666956.jpg': Function not implemented” and I could not set the trashtime it show “mfssettrashtime -r 5 /home/shop/data/upload/
/home/shop/data/upload/:
inodes with trashtime changed: 0
inodes with trashtime not changed: 1303
inodes with permission denied: 1
You have new mail in /var/spool/mail/root

mount the meta is “mfsmount -H 192.168.1.205 -o mfsmeta,mfsflattrash,mfspassword=123456 /home/shop/data/mfsmeta” and the directory jurisdiction is “dr-xr-xr-x 4 root root 0 Dec 26 11:22 mfsmeta”
below is my configuration screenshot
qq 20161226111924
qq 20161226112212
qq 20161226112243

cppcheck errors

cppcheck found multiple errors, notably

[mfschunkserver/masterconn.c:1295]: (error) Common realloc mistake: 'readbuff' nulled but not freed upon failure
[mfsmaster/matoclserv.c:5678]: (error) Common realloc mistake: 'readbuff' nulled but not freed upon failure
[mfsmaster/matoclserv.c:3855]: (error) Uninitialized variable: cs_data
[mfsmaster/matocsserv.c:2137]: (error) Common realloc mistake: 'readbuff' nulled but not freed upon failure
[mfsmaster/matomlserv.c:663]: (error) Common realloc mistake: 'readbuff' nulled but not freed upon failure
[mfsmetalogger/masterconn.c:754]: (error) Common realloc mistake: 'readbuff' nulled but not freed upon failure
[mfsmount/mfs_fuse.c:181]: (error) Common realloc mistake: 'sinfo_tab' nulled but not freed upon failure
[mfsmount/mfs_fuse.c:266]: (error) Common realloc mistake: 'dirbuf_tab' nulled but not freed upon failure
[mfsmount/mfs_fuse.c:351]: (error) Common realloc mistake: 'finfo_tab' nulled but not freed upon failure
[mfsmount/readdata.c:1653]: (error) Common realloc mistake: 'ranges' nulled but not freed upon failure
[mfsmount/readdata.c:1666]: (error) Common realloc mistake: 'ranges' nulled but not freed upon failure

as well as the following warnings:

[mfscommon/cfg.c:205]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                               
[mfscommon/charts.c:1316]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                           
[mfscommon/charts.c:1319]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                           
[mfscommon/charts.c:1322]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                           
[mfscommon/charts.c:1325]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                           
[mfscommon/charts.c:1334]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                           
[mfscommon/charts.c:1336]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                           
[mfscommon/charts.c:1356]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                           
[mfscommon/charts.c:1362]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                           
[mfscommon/charts.c:1373]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                           
[mfscommon/charts.c:1380]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                           
[mfscommon/charts.c:1397]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                           
[mfscommon/charts.c:1399]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                           
[mfscommon/charts.c:1404]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                           
[mfscommon/conncache.c:82]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                          
[mfscommon/conncache.c:101]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                         
[mfscommon/conncache.c:111]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                         
[mfscommon/conncache.c:118]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                         
[mfscommon/conncache.c:131]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                         
[mfscommon/conncache.c:163]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                         
[mfscommon/conncache.c:171]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                         
[mfscommon/conncache.c:173]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                         
[mfscommon/conncache.c:175]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                         
[mfscommon/conncache.c:183]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                         
[mfscommon/conncache.c:184]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                         
[mfscommon/delayrun.c:78]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                           
[mfscommon/delayrun.c:81]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                           
[mfscommon/delayrun.c:106]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                          
[mfscommon/delayrun.c:108]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                          
[mfscommon/delayrun.c:112]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                          
[mfscommon/delayrun.c:116]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                          
[mfscommon/delayrun.c:121]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                          
[mfscommon/delayrun.c:125]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                          
[mfscommon/delayrun.c:133]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                          
[mfscommon/delayrun.c:135]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                          
[mfscommon/delayrun.c:139]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                          
[mfscommon/delayrun.c:142]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                          
[mfscommon/delayrun.c:144]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                          
[mfscommon/delayrun.c:145]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                          
[mfscommon/delayrun.c:146]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                          
[mfscommon/delayrun.c:147]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                          
[mfscommon/delayrun.c:164]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                          
[mfscommon/delayrun.c:167]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                          
[mfscommon/delayrun.c:168]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                          
[mfscommon/delayrun.c:170]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                          
[mfscommon/delayrun.c:171]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                          
[mfscommon/delayrun.c:178]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                          
[mfscommon/delayrun.c:180]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                          
[mfscommon/delayrun.c:182]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                          
[mfscommon/delayrun.c:184]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                          
[mfscommon/lwthread.c:89]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                           
[mfscommon/lwthread.c:90]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                           
[mfscommon/lwthread.c:99]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                           
[mfscommon/lwthread.c:104]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                          
[mfscommon/lwthread.c:106]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                          
[mfscommon/main.c:185]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                              
[mfscommon/main.c:193]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                              
[mfscommon/main.c:201]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                              
[mfscommon/main.c:209]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                              
[mfscommon/main.c:217]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                              
[mfscommon/main.c:225]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                              
[mfscommon/main.c:233]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                              
[mfscommon/main.c:242]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                              
[mfscommon/main.c:250]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                              
[mfscommon/main.c:265]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                              
[mfscommon/main.c:719]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                              
[mfscommon/main.c:1063]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                             
[mfscommon/main.c:1065]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                             
[mfscommon/main.c:1067]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                             
[mfscommon/main.c:1075]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                             
[mfscommon/main.c:1140]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                             
[mfscommon/main.c:1143]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                             
[mfscommon/main.c:1178]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                             
[mfscommon/main.c:1285]: (warning) %u in format string (no. 1) requires 'unsigned int' but the argument type is 'signed int'.                                             
[mfscommon/pcqueue.c:55]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.                                            
[mfscommon/pcqueue.c:65]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.
[mfscommon/pcqueue.c:67]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.
[mfscommon/pcqueue.c:68]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.
[mfscommon/pcqueue.c:75]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.
[mfscommon/pcqueue.c:76]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.
[mfscommon/pcqueue.c:77]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.
[mfscommon/pcqueue.c:83]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.
[mfscommon/pcqueue.c:84]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.
[mfscommon/pcqueue.c:85]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.
[mfscommon/pcqueue.c:87]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.
[mfscommon/pcqueue.c:94]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.
[mfscommon/pcqueue.c:97]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.
[mfscommon/pcqueue.c:101]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.
[mfscommon/pcqueue.c:104]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.
[mfscommon/pcqueue.c:110]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.
[mfscommon/pcqueue.c:112]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.
[mfscommon/pcqueue.c:119]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.
[mfscommon/pcqueue.c:121]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.
[mfscommon/pcqueue.c:128]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.
[mfscommon/pcqueue.c:130]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.
[mfscommon/pcqueue.c:137]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.
[mfscommon/pcqueue.c:143]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.
[mfscommon/pcqueue.c:151]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.
[mfscommon/pcqueue.c:157]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.
[mfscommon/pcqueue.c:160]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.
[mfscommon/pcqueue.c:167]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.
[mfscommon/pcqueue.c:170]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.
[mfscommon/pcqueue.c:181]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.
[mfscommon/pcqueue.c:184]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.
[mfscommon/pcqueue.c:191]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.
[mfscommon/pcqueue.c:194]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.
[mfscommon/pcqueue.c:199]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.
[mfscommon/pcqueue.c:205]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.
[mfscommon/pcqueue.c:216]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.
[mfscommon/pcqueue.c:219]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.
[mfscommon/pcqueue.c:226]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.
[mfscommon/pcqueue.c:229]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.
[mfscommon/pcqueue.c:232]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.
[mfscommon/pcqueue.c:256]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.
[mfscommon/pcqueue.c:259]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.
[mfscommon/pcqueue.c:279]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.
[mfscommon/pcqueue.c:281]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.
[mfscommon/pcqueue.c:305]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.
[mfscommon/pcqueue.c:308]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.
[mfscommon/strerr.c:538]: (warning) %u in format string (no. 2) requires 'unsigned int' but the argument type is 'signed int'.
[mfsmaster/filesystem.c:5251]: (warning) The array 'chunkcount' is too small, the function 'fsnodes_checkfile' expects a bigger one.
[mfsmaster/restore.c:266]: (warning) Assignment of function parameter has no effect outside the function. Did you forget dereferencing it?
[mfsmaster/restore.c:334]: (warning) Assignment of function parameter has no effect outside the function. Did you forget dereferencing it?
[mfsmaster/restore.c:415]: (warning) Assignment of function parameter has no effect outside the function. Did you forget dereferencing it?
[mfsmaster/restore.c:424]: (warning) Assignment of function parameter has no effect outside the function. Did you forget dereferencing it?
[mfsmaster/restore.c:454]: (warning) Assignment of function parameter has no effect outside the function. Did you forget dereferencing it?
[mfsmaster/restore.c:602]: (warning) Assignment of function parameter has no effect outside the function. Did you forget dereferencing it?
[mfsmaster/restore.c:720]: (warning) Assignment of function parameter has no effect outside the function. Did you forget dereferencing it?
[mfsmaster/restore.c:730]: (warning) Assignment of function parameter has no effect outside the function. Did you forget dereferencing it?
[mfsmaster/restore.c:748]: (warning) Assignment of function parameter has no effect outside the function. Did you forget dereferencing it?
[mfsmaster/restore.c:806]: (warning) Assignment of function parameter has no effect outside the function. Did you forget dereferencing it?
[mfsmaster/restore.c:920]: (warning) Assignment of function parameter has no effect outside the function. Did you forget dereferencing it?
[mfsmaster/restore.c:955]: (warning) Assignment of function parameter has no effect outside the function. Did you forget dereferencing it?
[mfsmaster/restore.c:999]: (warning) Assignment of function parameter has no effect outside the function. Did you forget dereferencing it?
[mfsmaster/restore.c:1118]: (warning) Assignment of function parameter has no effect outside the function. Did you forget dereferencing it?
[mfsmaster/restore.c:1139]: (warning) Assignment of function parameter has no effect outside the function. Did you forget dereferencing it?
[mfsmaster/restore.c:1161]: (warning) Assignment of function parameter has no effect outside the function. Did you forget dereferencing it?
[mfsmaster/restore.c:1187]: (warning) Assignment of function parameter has no effect outside the function. Did you forget dereferencing it?
[mfsmount/main.c:728]: (warning) %d in format string (no. 1) requires 'int' but the argument type is 'unsigned int'.

moosefs mfsmount issue

moosefs version2.0.71-1 , many mfschunk client CPU usage 170% and different mfschunk client Access to the same file the result are different.

The solution:
umount -l /mnt/mfs
/usr/local/mfs/bin/mfsmount /mnt/mfs -H XXX.XXX.XXX.XX

Why is this case?thank you

compilation warnings

exports.c:726:1969: warning: array index 3 is past the end of the array (which contains 3 elements) [-Warray-bounds]
exports.c:732:1976: warning: array index 3 is past the end of the array (which contains 3 elements) [-Warray-bounds]

mfs_meta_fuse.c:397:1898: warning: array index 2 is past the end of the array (which contains 2 elements) [-Warray-bounds]
mfs_meta_fuse.c:397:2007: warning: array index 3 is past the end of the array (which contains 2 elements) [-Warray-bounds]
mfs_meta_fuse.c:397:4110: warning: array index 3 is past the end of the array (which contains 3 elements) [-Warray-bounds]
mfs_meta_fuse.c:422:1898: warning: array index 2 is past the end of the array (which contains 2 elements) [-Warray-bounds]
mfs_meta_fuse.c:422:2007: warning: array index 3 is past the end of the array (which contains 2 elements) [-Warray-bounds]
mfs_meta_fuse.c:424:2032: warning: array index 3 is past the end of the array (which contains 3 elements) [-Warray-bounds]
mfs_meta_fuse.c:456:1898: warning: array index 2 is past the end of the array (which contains 2 elements) [-Warray-bounds]
mfs_meta_fuse.c:456:2007: warning: array index 3 is past the end of the array (which contains 2 elements) [-Warray-bounds]
mfs_meta_fuse.c:458:2032: warning: array index 3 is past the end of the array (which contains 3 elements) [-Warray-bounds]
mfs_meta_fuse.c:463:1898: warning: array index 2 is past the end of the array (which contains 2 elements) [-Warray-bounds]
mfs_meta_fuse.c:463:2007: warning: array index 3 is past the end of the array (which contains 2 elements) [-Warray-bounds]
mfs_meta_fuse.c:465:2032: warning: array index 3 is past the end of the array (which contains 3 elements) [-Warray-bounds]
mfs_meta_fuse.c:489:1899: warning: array index 2 is past the end of the array (which contains 2 elements) [-Warray-bounds]
mfs_meta_fuse.c:489:2008: warning: array index 3 is past the end of the array (which contains 2 elements) [-Warray-bounds]
mfs_meta_fuse.c:491:2033: warning: array index 3 is past the end of the array (which contains 3 elements) [-Warray-bounds]

Moosefs-3.0.78 fails to compile in Cygwin64

I'm having an issue (when I wasn't before) compiling the latest v3.0.78 in Cygwin. Here is the issue when I run make:

$ make
make  all-recursive
make[1]: Entering directory '/home/Nate/moosefs-3.0.78'
Making all in mfstests
make[2]: Entering directory '/home/Nate/moosefs-3.0.78/mfstests'
  CC       mfstest_datapack-mfstest_datapack.o
  CCLD     mfstest_datapack.exe
  CC       mfstest_clocks-mfstest_clocks.o
In file included from /usr/include/time.h:12:0,
                 from /usr/include/sys/time.h:268,
                 from mfstest_clocks.c:22:
/usr/include/sys/reent.h:276:3: error: expected specifier-qualifier-list before ‘_fpos64_t’
   _fpos64_t _EXFNPTR(_seek64, (struct _reent *, _PTR, _fpos64_t, int));
   ^
In file included from mfstest_clocks.c:25:0:
/usr/include/stdio.h:58:9: error: unknown type name ‘_fpos64_t’
 typedef _fpos64_t fpos_t;
         ^
make[2]: *** [Makefile:737: mfstest_clocks-mfstest_clocks.o] Error 1
make[2]: Leaving directory '/home/Nate/moosefs-3.0.78/mfstests'
make[1]: *** [Makefile:462: all-recursive] Error 1
make[1]: Leaving directory '/home/Nate/moosefs-3.0.78'
make: *** [Makefile:394: all] Error 2

It seems all related to not knowing about the "_fpos64_t" type and google isn't that helpful.

The funny thing is this... I have the code base from an older version of Moose (3.0.73) still in my Cygwin database from a few months ago. Since that time I had reinstalled my OS (my Cygwin dir structure was located on a different partition and remained in place). So I reran make on the older one just to see what would happen. And sure enough I got the same error (even though I compiled perfectly just a month ago from the very same files!).

So I'm pretty sure it's NOT something in the MooseFS code but likely Cygwin. Still I'm trying lots of things here (even installed MinGW and tried compiling with that but no go). I'm hoping you guys can help me.

All I really need is the chunkserver for 1 windows box... I don't use Windows for anything else... all my other boxes are Linux.

In the meantime I will continue to use this 3.0.74 version I comiled last month... but going into the future this won't be optimal.

moosefs changelog not rotate,that make changelog.0.mfs become huge big .

so is any idea of why the changlog did not rotate. the master cfg file is not make any change.

like this .
[root@yz381 mfs]# ll -h
total 7.0G
-rw-r----- 1 mfs mfs 177M Mar 9 15:20 bak.changelog.0.mfs
-rw-r----- 1 mfs mfs 673M Mar 8 05:27 bak.metadata.mfs.back
-rw-r----- 1 mfs mfs 4.0G Mar 9 20:18 changelog.0.mfs
-rw-r--r-- 1 mfs mfs 845M Mar 9 15:27 metadata.mfs.back
-rw-r----- 1 mfs mfs 854M Mar 8 05:24 metadata.mfs.back.tmp
-rw-r----- 1 mfs mfs 530M Mar 9 15:21 metadata.mfs.emergency
-rw-r----- 1 mfs mfs 22K Mar 9 19:59 sessions.mfs
-rw-r----- 1 mfs mfs 745K Mar 9 20:00 stats.mfs

mfsmount: sysctl(kern.proc.filedesc) error: ESRCH (No such process)

We have a lot of those errors in our logs on FreeBSD servers. Remount doesn't help. It shows up all the time from time to time randomly.

I found that ESRCH means:
https://www.freebsd.org/cgi/man.cgi?query=errno&apropos=0&sektion=2&manpath=FreeBSD+10.0-RELEASE&arch=default&format=html

3 ESRCH No such process. No process could be found corresponding to that
specified by the given process ID.

Part of log files:

cat /var/log/messages | grep mfsmount
Sep 15 03:11:27 s2 mfsmount[46429]: sysctl(kern.proc.filedesc) error: ESRCH (No such process)
Sep 15 03:27:26 s2 mfsmount[46429]: sysctl(kern.proc.filedesc) error: ESRCH (No such process)
Sep 15 03:27:26 s2 mfsmount[46429]: sysctl(kern.proc.filedesc) error: ESRCH (No such process)
Sep 15 03:57:13 s2 mfsmount[46429]: sysctl(kern.proc.filedesc) error: ESRCH (No such process)
Sep 15 03:57:13 s2 mfsmount[46429]: sysctl(kern.proc.filedesc) error: ESRCH (No such process)
Sep 15 04:03:24 s2 mfsmount[46429]: sysctl(kern.proc.filedesc) error: ESRCH (No such process)
Sep 15 04:23:27 s2 mfsmount[46429]: sysctl(kern.proc.filedesc) error: ESRCH (No such process)
Sep 15 04:23:27 s2 mfsmount[46429]: sysctl(kern.proc.filedesc) error: ESRCH (No such process)
Sep 15 04:33:46 s2 mfsmount[46429]: sysctl(kern.proc.filedesc) error: ESRCH (No such process)
Sep 15 04:33:46 s2 mfsmount[46429]: sysctl(kern.proc.filedesc) error: ESRCH (No such process)
Sep 15 04:58:26 s2 mfsmount[46429]: sysctl(kern.proc.filedesc) error: ESRCH (No such process)
Sep 15 05:23:37 s2 mfsmount[46429]: sysctl(kern.proc.filedesc) error: ESRCH (No such process)
Sep 15 05:53:24 s2 mfsmount[46429]: sysctl(kern.proc.filedesc) error: ESRCH (No such process)

System info:

[root@s2 ~]# uname -a 
FreeBSD xxxx.xxx 10.0-RELEASE-p3 FreeBSD 10.0-RELEASE-p3 #0: Tue May 13 18:31:10 UTC 2014     [email protected]:/usr/obj/usr/src/sys/GENERIC  amd64
[root@s2 ~]# mfsmount -V
MFS version 3.0.81-1
FUSE library version: 2.9.5
mount_fusefs [fuse4bsd] version: 0.3.9-pre1

Please re-license as GPL-2+

License grant says that MooseFS is GPL-2 (only). This is bad practice. Please consider re-licensing as GPL-2+ (or (at your option) any later version).

Lazy chunk removal

Original idea from #8:

I think an option to make removing extra chunks more lazy would be good.

Scenario is that a disk goes offline and gets replicated then comes online and gets removed, then it happens again. All this churn would be reduced by more lazy removal of extra chunks.

Metalogger restart bug: metadata files miss

Hi:
I used HostA for mfsmaster, HostB for mfsmetalogger. Sometimes when I stop the mfsmetalogger, clean the /var/lib/mfs(remove change log files and metadata files), restart the metalogger, I found that metadata files miss:
ls -lh
total 4.0K
-rw-r----- 1 mfs mfs 2.4K 5May 15 17:25 changelog_ml.0.mfs

But sometimes it work well:
ls -lh
total 36M
-rw-r----- 1 mfs mfs 1.7K 5May 15 17:49 changelog_ml.0.mfs
-rw-r----- 1 mfs mfs 1.4K 5May 15 17:47 changelog_ml_back.0.mfs
-rw-r----- 1 mfs mfs 16K 5May 15 17:47 changelog_ml_back.1.mfs
-rw-r----- 1 mfs mfs 36M 5May 15 17:47 metadata_ml.mfs.back

How can I fix this bug?
As follows:
mfsmetalogger version: 3.0.92-1
mfsmetalogger.cfg: default config

Thanks for your help !

chunkserver: please implement data compression [feature]

Chunk size is not optimal for small files (e.g. sources). Because chunk files are not sparse HDD space utilisation is not optimal and a lot of space is wasted. To certain extent it can be compensated by using file system with compression (e.g. Btrfs mounted with compress=lzo) on chunkservers but it would be great if chunkservers could optionally compress their chunks natively with LZ4 (preferable) or similar compression algorithm.

Related to #6 and lizardfs/lizardfs#366

Internal rebalance highspeed mode

Internal rebalance is not a good state of a chunkserver from my practise. Such a CHSRV does not receive/write new data and it's free space for some time is present but can't be used.

Now internal rebalance of a chunkserver is quite slow. It's 1 mv operation at a time from one drive to the other. This is OK with big chunks and with 1 drive that only slightly drifted away from the others. The gap can be closed in reasonable time.

But, if you want to change f.ex. a drive in CHSRV for a bigger one you have a problem. You will empty the small/old drive (1TB?), remove it, insert new/empty big drive (4TB?) and... let the slow internal rebalance begin... 1 chunk at a time every few sec, not too fast. If avg chunk size will be ~5MB this process can take even 4 weeks! All this time this chunkserver is not taking part in writing/receiving new data. All this time it's free space won't be used. After this time this chunkserver will need to be rebalanced with other chunkservers that was receiving new data and drifted away with used space %.

My sugestion is to be make an option to be able to set chunkserver in some special mode (like MNT mode) in whith mfsmaster will not use this chunkserver and it will perform multiple mv operations from all drives with less space to all drive with more space internally. Administrator can set this mode for some time and let the internal rebalance end ASAP.

Maintenance mode questions

Recently, our mfs cluster network will have an update, and that time ,all our servers will lost connect with other servers in the cluster .

Should I make all the chunkservers in maintenance mode ? and stop my mfsmasters process ?

Any other advise ?

Server select menu for Disks tab

It would be very nice to by able to narrow the Disks tab to 1 chunkserver via the select dropdown, same as on Servers Charts to display all charts for a particular chkserver. As the cluster grows (f.ex. we have 10 CHKSRV with 200 drives total), Disks tab starts to be difficult to read if you want to focus on a particular chunkserver.

NFS server on MooseFS client

Hi,
I want to share a directory by NFS that the directory is in mount point. Follow is my /etc/exports file.

/mnt/mfs/nfs-share *(rw,fsid=1,no_root_squash) # /mnt/mfs is my mount point
/mnt/nfs *(rw,fsid=1,no_root_squash)

In other machine, I can see those NFS mount point like follow

[root@YU-72 nfs]# showmount -e 192.168.0.73
Export list for 192.168.0.73:
/mnt/nfs           *
/mnt/mfs/nfs-share *

The problem is that i can not mount the path like the follow

[root@YU-72 mnt]# mount -t nfs 192.168.0.73:/mnt/mfs/nfs-share nfs #blocking 
^C
[root@YU-72 mnt]# mount -t nfs 192.168.0.73:/mnt/nfs nfs # working good

With this configure, I can share "/mnt/mfs/nfs-share". Is there any other better method to share this directory?
System info:

[root@YU-73 test1]# mfsmount -V
MFS version 3.0.84-1
FUSE library version: 2.9.3
fusermount version: 2.9.3
[root@YU-73 test1]# cat /etc/issue
CentOS release 6.8 (Final)
Kernel \r on an \m

[root@YU-73 test1]# uname -a
Linux YU-73 2.6.32-642.el6.x86_64 #1 SMP Tue May 10 17:27:01 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

[root@YU-73 test1]# rpm -qa | grep rpcbind
245:rpcbind-0.2.0-12.el6.x86_64
[root@YU-73 test1]# rpm -qa | grep nfs
59:nfs4-acl-tools-0.3.3-8.el6.x86_64
144:nfs-utils-lib-1.1.5-11.el6.x86_64
515:nfs-utils-1.2.3-70.el6.x86_64

Archive delay in hours

It would be nice to have option to set delay time for archive in hours, not only in days ;) This will allow f.ex. to create/keep data during the day and archive it at night.

mfssetquota Operation not permitted

I have got the problem when I tried to use the mfssetquota command to set the directory of the users, it showed that Operation not permitted , the shell command like this :

mfssetquota -R 1024  /var/storage/user/19064/

Debian repository weak key

This is not about the product, but about the Debian repository, which has a weak key (SHA-1) it seems. The behaviour is observed on Debian 9.0 stretch (still unreleased), which is more picky about security details.

apt-get update:

W: GPG error: http://ppa.moosefs.com/moosefs-3/apt/debian/jessie jessie InRelease: The following signatures were invalid: 0F425A568FAFF43DEA2F6843042765FCCF82ADBA
W: The repository 'http://ppa.moosefs.com/moosefs-3/apt/debian/jessie jessie InRelease' is not signed.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
apt-key list:

/etc/apt/trusted.gpg
--------------------
pub   rsa2048 2014-06-04 [SC] [expires: 2017-06-07]
      0F42 5A56 8FAF F43D EA2F  6843 0427 65FC CF82 ADBA
uid           [ unknown] MooseFS Development Team (Official MooseFS Repositories) <[email protected]>

Locked unused files, can't delete

Hello, moosefs 3.0.86 user here.

I have 693 files in pending deletion state (goal 1), but they haven't been deleted in more than a week! The number hasn't changed the whole time. They're not in the trash, 'cause trash has been set to purge after only 1 day, and only 677 files are reported in trash, anyway (which is less than 693, so this is something different).

In chunk operations section, I see exactly 693 chunks in locked/unused state. All other numbers are zero. Can you explain what that state signifies, how I got there, and how I get rid of those chunks?

So far, I tried unmounting mfs on all clients (in case some files are locked that way, to free locks), and mounting again, but that hasn't helped at all.

This is a rather small moosefs installation with 3 cs, several TB on them, and several clients. Using goals 2 & 3. Nothing special. Beside that persistant locked chunks, everything's been working really great, I'm pretty much amazed with the software. Thanks for sharing it!

chunk hasn't been deleted since previous loop - retry

Recently,I found one of my chunkserver cpu wio sometime is very high,that make some write work failed. check the master log,I find some problem,just like below:

Feb 7 03:19:01 yz147 mfsmaster[20934]: chunk hasn't been deleted since previous loop - retry
Feb 7 03:19:32 yz147 last message repeated 368 times
Feb 7 03:19:45 yz147 last message repeated 194 times
Feb 7 03:19:45 yz147 mfsmaster[20934]: (10.39.2.111:9422) chunk: 00000000220860AD deletion status: 13
Feb 7 03:19:45 yz147 mfsmaster[20934]: (10.39.2.111:9422) chunk: 00000000220760AD deletion status: 13
Feb 7 03:19:45 yz147 mfsmaster[20934]: (10.39.2.111:9422) chunk: 00000000220786A2 deletion status: 13
Feb 7 03:19:45 yz147 mfsmaster[20934]: (10.39.2.111:9422) chunk: 000000002207903E deletion status: 13
Feb 7 03:19:45 yz147 mfsmaster[20934]: (10.39.2.111:9422) chunk: 00000000220890B9 deletion status: 13
Feb 7 03:19:45 yz147 mfsmaster[20934]: (10.39.2.111:9422) chunk: 000000002207B2D6 deletion status: 13
Feb 7 03:19:45 yz147 mfsmaster[20934]: (10.39.2.111:9422) chunk: 000000002207B89A deletion status: 13
Feb 7 03:19:45 yz147 mfsmaster[20934]: (10.39.2.111:9422) chunk: 000000002207C704 deletion status: 13
Feb 7 03:19:45 yz147 mfsmaster[20934]: (10.39.2.111:9422) chunk: 000000002207F2BD deletion status: 13
Feb 7 03:19:45 yz147 mfsmaster[20934]: (10.39.2.111:9422) chunk: 000000002207F9F2 deletion status: 13
Feb 7 03:19:45 yz147 mfsmaster[20934]: (10.39.2.111:9422) chunk: 000000002207FA6D deletion status: 13
Feb 7 03:19:45 yz147 mfsmaster[20934]: (10.39.2.111:9422) chunk: 000000002207FEC0 deletion status: 13
Feb 7 03:19:45 yz147 mfsmaster[20934]: (10.39.2.111:9422) chunk: 000000002209FF3B deletion status: 13
Feb 7 03:19:45 yz147 mfsmaster[20934]: (10.39.2.111:9422) chunk: 000000002207FFB6 deletion status: 13
Feb 7 03:19:45 yz147 mfsmaster[20934]: (10.39.2.111:9422) chunk: 0000000022080409 deletion status: 13
Feb 7 03:19:45 yz147 mfsmaster[20934]: (10.39.2.111:9422) chunk: 0000000022080484 deletion status: 13
Feb 7 03:19:45 yz147 mfsmaster[20934]: (10.39.2.111:9422) chunk: 000000002208057A deletion status: 13
Feb 7 03:19:45 yz147 mfsmaster[20934]: (10.39.2.111:9422) chunk: 00000000220806EB deletion status: 13
Feb 7 03:19:45 yz147 mfsmaster[20934]: (10.39.2.111:9422) chunk: 0000000022080766 deletion status: 13
Feb 7 03:19:45 yz147 mfsmaster[20934]: (10.39.2.111:9422) chunk: 0000000022071B19 deletion status: 13
Feb 7 03:19:45 yz147 mfsmaster[20934]: (10.39.2.111:9422) chunk: 0000000022091DFB deletion status: 13

In one second ,these message repeat nearly 3000 times , that means a lot of deletion is working in chunkserver 10.39.2.111 . I don't understand why this happen . my trash time is 86400 ,everyday I clean the space on 17:00:00 .why deletion happen in 03.

my moosefs version is 1.6.20 . work on Redhat 5.4 .

Any ideas ? Thanks

mfschunkserver --bug: soft lockup

Hi, I found this twice on my computer.


Jul 31 20:48:21 chunk62 kernel: BUG: soft lockup - CPU#0 stuck for 22s! [mfschunkserver:10206]
Jul 31 20:48:21 chunk62 kernel: Modules linked in: snd_seq_midi snd_seq_midi_event snd_ens1371 snd_rawmidi snd_ac97_codec ppdev coretemp ac97_bus snd_seq snd_seq_device snd_pcm crc32_pclmul ghash_clmulni_intel aesni_intel lrw gf128mul glue_helper ablk_helper cryptd snd_timer snd soundcore pcspkr sg vmw_balloon parport_pc parport shpchp vmw_vmci i2c_piix4 ip_tables xfs libcrc32c sd_mod crc_t10dif crct10dif_generic sr_mod cdrom ata_generic pata_acpi crct10dif_pclmul crct10dif_common vmwgfx crc32c_intel mptspi scsi_transport_spi serio_raw drm_kms_helper mptscsih mptbase e1000 ttm drm ata_piix libata i2c_core dm_mirror dm_region_hash dm_log dm_mod
Jul 31 20:48:21 chunk62 kernel: CPU: 0 PID: 10206 Comm: mfschunkserver Not tainted 3.10.0-327.el7.x86_64 #1
Jul 31 20:48:21 chunk62 kernel: Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 07/02/2015
Jul 31 20:48:21 chunk62 kernel: task: ffff880039ec9700 ti: ffff88003629c000 task.ti: ffff88003629c000
Jul 31 20:48:21 chunk62 kernel: RIP: 0010:[<ffffffff810e675a>]  [<ffffffff810e675a>] generic_exec_single+0xfa/0x1a0
Jul 31 20:48:21 chunk62 kernel: RSP: 0018:ffff88003629fc80  EFLAGS: 00000202
Jul 31 20:48:21 chunk62 kernel: RAX: 0000000000000080 RBX: ffff88003629fc50 RCX: 0000000000000002
Jul 31 20:48:21 chunk62 kernel: RDX: ffffffff8165ea70 RSI: 0000000000000080 RDI: 0000000000000282
Jul 31 20:48:21 chunk62 kernel: RBP: ffff88003629fcd0 R08: ffffffff8165ea68 R09: ffff88003d617520
Jul 31 20:48:21 chunk62 kernel: R10: ffffffff811a2b52 R11: ffffea0000e8d600 R12: ffff88003ffd9800
Jul 31 20:48:21 chunk62 kernel: R13: 00000000000007fe R14: 0000000200000000 R15: ffffffff811d027e
Jul 31 20:48:21 chunk62 kernel: FS:  00007f1ce7ae4700(0000) GS:ffff88003d600000(0000) knlGS:0000000000000000
Jul 31 20:48:21 chunk62 kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Jul 31 20:48:21 chunk62 kernel: CR2: 00007fb0187bc000 CR3: 0000000039c2d000 CR4: 00000000003407f0
Jul 31 20:48:21 chunk62 kernel: DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
Jul 31 20:48:21 chunk62 kernel: DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Jul 31 20:48:21 chunk62 kernel: Stack:
Jul 31 20:48:21 chunk62 kernel: 0000000000000000 0000000000000000 ffffffff81065c90 ffff88003629fd58
Jul 31 20:48:21 chunk62 kernel: 0000000000000003 00000000a5f7070d 0000000000000000 0000000000000001
Jul 31 20:48:21 chunk62 kernel: ffffffff81065c90 ffffffff81065c90 ffff88003629fd00 ffffffff810e685f
Jul 31 20:48:21 chunk62 kernel: Call Trace:
Jul 31 20:48:21 chunk62 kernel: [<ffffffff81065c90>] ? leave_mm+0x70/0x70
Jul 31 20:48:21 chunk62 kernel: [<ffffffff81065c90>] ? leave_mm+0x70/0x70
Jul 31 20:48:21 chunk62 kernel: [<ffffffff81065c90>] ? leave_mm+0x70/0x70
Jul 31 20:48:21 chunk62 kernel: [<ffffffff810e685f>] smp_call_function_single+0x5f/0xa0
Jul 31 20:48:21 chunk62 kernel: [<ffffffff812f2785>] ? cpumask_next_and+0x35/0x50
Jul 31 20:48:21 chunk62 kernel: [<ffffffff810e6e03>] smp_call_function_many+0x223/0x260
Jul 31 20:48:21 chunk62 kernel: [<ffffffff81065e58>] native_flush_tlb_others+0xb8/0xc0
Jul 31 20:48:21 chunk62 kernel: [<ffffffff81065f26>] flush_tlb_mm_range+0x66/0x140
Jul 31 20:48:21 chunk62 kernel: [<ffffffff81192563>] tlb_flush_mmu.part.54+0x33/0xc0
Jul 31 20:48:21 chunk62 kernel: [<ffffffff811930f5>] tlb_finish_mmu+0x55/0x60
Jul 31 20:48:21 chunk62 kernel: [<ffffffff8119b2d2>] unmap_region+0xe2/0x130
Jul 31 20:48:21 chunk62 kernel: [<ffffffff8119d612>] do_munmap+0x242/0x410
Jul 31 20:48:21 chunk62 kernel: [<ffffffff8119d821>] vm_munmap+0x41/0x60
Jul 31 20:48:21 chunk62 kernel: [<ffffffff8119e772>] SyS_munmap+0x22/0x30
Jul 31 20:48:21 chunk62 kernel: [<ffffffff81645909>] system_call_fastpath+0x16/0x1b
## Jul 31 20:48:21 chunk62 kernel: Code: 40 52 01 00 48 89 de 48 03 14 c5 e0 b8 a5 81 48 89 df e8 da fc 21 00 84 c0 75 46 45 85 ed 74 11 f6 43 20 01 74 0b 0f 1f 00 f3 90 <f6> 43 20 01 75 f8 31 c0 48 8b 7c 24 28 65 48 33 3c 25 28 00 00 

thank you.

all file times altered at read/access to file

This is what I have observed while testing Moose mounted at FreeBSD...

[root@s4 ~]# stat /moose/1427833 
3976265515 272905 -rw-r--r-- 1 www www 0 686828 "May 11 16:33:40 2016" "Feb 22 11:41:37 2013" "May 11 16:32:05 2016" "Jan  1 00:59:59 1970" 4096 1342 0 /moose/1427833
[root@s4 ~]# cat /moose/1427833 > test
[root@s4 ~]# stat /moose/1427833 
3976265515 272905 -rw-r--r-- 1 www www 0 686828 "Jun 19 23:40:27 2016" "Jun 19 23:40:27 2016" "Jun 19 23:40:27 2016" "Jan  1 00:59:59 1970" 4096 1342 0 /moose/1427833

Moose version: 3.0.78 @ Ubuntu (recently upgraded from 2.x.x)
Mount @ Freebsd with moose client 2.0.88

It doesn't look good as all file times are changed on file read/access.

I don't know if this is freebsd or moose related. I don't have linux box by the hand to test it there.

samba on MooseFS

Hi,
I share a directory on samba(Such as /mnt/mfs/samba, /mnt/mfs is MooseFS mount point), When I mount this directory on windows, Then I copy a directory with some files (Such as 1.txt, 2.txt..) to this point. I found all of files in the directory (Such as 1.txt, 2.txt) that don't send CLTOMA_WRITE_CHUNK_END to tell master write end. Is this ok?

System info:

[root@localhost 0]# cat /etc/redhat-release 
CentOS Linux release 7.3.1611 (Core) 
[root@localhost 0]# uname -a
Linux localhost.localdomain 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

MooseFS info:

[root@localhost 0]# mfsmount -V
MFS version 3.0.88-1
FUSE library version: 2.9.2
fusermount version: 2.9.2

samba info:

[root@localhost 0]# smbd --version
Version 4.4.4

samba conf:

[global]
        workgroup = WORKGROUP       
        server string = David Samba Server Version %v
        netbios name = node2      
        log file = /var/log/samba/log.%m  
        security = user                         
[disk]
        comment = disk
        path = /mnt/mfs/samba 
        writable = yes
        createmask = 0644  
        directorymask = 0755

I/O errors reported by chunkserver after growing filesystem and reload

moosefs-3.0.88
I resized filesystem from 20GB to 50GB. As expected chunkserver throws:
Feb 10 13:41:29 ch1 mfschunkserver[10411]: disk: /var/lib/mfs/chunks/ ; number of total blocks has been changed significantly (5238272 -> 13104640) - mark it as damaged
Next I sent HUP to mfs-chunkserver - I hope this change state from damaged to online. But I got:

Feb 10 13:42:03 ch1 mfschunkserver[10411]: reloading config files
Feb 10 13:42:03 ch1 mfschunkserver[10411]: main server module: socket address hasn't changed (*:9422)
Feb 10 13:42:03 ch1 mfschunkserver[10411]: reloading hdd data ...
Feb 10 13:42:03 ch1 mfschunkserver[10411]: hdd space manager: folder /var/lib/mfs/chunks/ will be scanned
Feb 10 13:42:04 ch1 mfschunkserver[10411]: scanning folder /var/lib/mfs/chunks/: complete (0s)
Feb 10 13:42:05 ch1 mfschunkserver[10411]: connecting ...
Feb 10 13:42:05 ch1 mfschunkserver[10411]: connected to Master
Feb 10 13:42:08 ch1 mfschunkserver[10411]: hdd_io_begin: file:/var/lib/mfs/chunks//00/chunk_00000000000001CC_00000002.mfs - open error: ENOENT (No such file or directory)
Feb 10 13:42:09 ch1 mfschunkserver[10411]: set_chunk_version: file:/var/lib/mfs/chunks//00/chunk_00000000000001B8_00000008.mfs->/var/lib/mfs/chunks//00/chunk_00000000000001B8_00000009.mfs - rename error: ENOENT (No such file or directory)
Feb 10 13:42:18 ch1 mfschunkserver[10411]: hdd_io_begin: file:/var/lib/mfs/chunks//00/chunk_00000000000001BC_0000000A.mfs - open error: ENOENT (No such file or directory)
Feb 10 13:42:19 ch1 mfschunkserver[10411]: 3 errors occurred in 600 seconds on folder: /var/lib/mfs/chunks/

After this I restarted chunkserver and it started work correctly. Is it my fault - should I stop chunkserver before resize filesystem?

free documentation

I'd love to see PDF documentation sources committed to this repository under GPL-2+ license.

mfsmount: run samba server on it

I have a samba server that it running on the MooseFS(e.g “/mnt/mfs/share” is shareded by samba. “/mnt/mfs” is mount point ), In the windows, when I create file in the share directory, the samba server have a system call that is flock(fd, 0x20). What's the problem is mfsmount just return without fuse_reply. So the server can not get response.
What should I do to solve this probelm?

Drive's SMART data at Disks tab

It would be really nice to see SMART data of a drive via Disks tab. smartmontools can be used by chunkserver for this if you don't want to make internal own code for this feature. It should be avaible per drive per request, some small popup with SMART table in it.

ISCSI server on MFSMount

Hi:
I run a ISCSI server on MFSMount, some problem occured.
In the mount point, I create a block device. The size of block device is 10TB.Then I share this block device by ISCSI server. In the win7 client, I mount this block device as disk,Then I write this disk for a long time(I have a python script that have 10 threads to create files, The file size between in 100MB and 800MB).The time may less than 10 hours(In the ISCSI server you may simulated network packet loss to make this problem occured faster).In the ISCSI server, you will find the client connected for many times.In mount point that you can open this block device. But seek this block device would block without any reply.
System info:

[root@YU-73 mnt]# mfsmount -V
MFS version 3.0.84-1
FUSE library version: 2.8.3
fusermount version: 2.8.3
[root@YU-73 mnt]# cat /etc/issue
CentOS release 6.8 (Final)
Kernel \r on an \m
[root@YU-73 mnt]# tgtd -V
1.0.24

Automatic maintenace mode

This is continuation of topic started in <#8>:

This is my idea:

Chunkserver during graceful stop just before disconnection from master will send command that will turn on "temporary maintenance mode".

When chunkserver with "temporary maintenance mode" will connect again then master will turns off "temporary maintenance mode".

With such approach you will be able to restart chunkservers, or do some quick maintenance without changing anything in the master server. In such case replication will not start, but during real server failure chunkserver will not disconnect gracefully and in such case replication will start immediately.

MAINTENANCE BUG

Hi,
I found a bug with maintenance mode. My MooseFS version is in 3.0.84.
If I shutdown a chunkserver A with maintenance mode on, the chunk under this chunkserver will not be replication.Then, I shutdown another chunkserver B with maintenance mode off, I found that the chunk under chunkserver A will be replication.
The reason on this bug is that step 9 in mfsmaster/chunks.c::chunk_do_jobs(). if disconnected_server is not equal disconnected_server_in_maintenance, will replicate chunks that under the goal.
I think this bug influence all the version of MooseFS that have maintenance mode.I hope you can understand what I mean. Because My english is not good :)

hdd_delayed_ops: file:/foo/bar.mfs - fsync (direct call) error: EBADF (Bad file descriptor)

Hi!
I've added chunkserver to MooseFs cluster, Moosefs started rebalance. After a couple of minutes I changed option:
from HDD_FSYNC_BEFORE_CLOSE = 0 to 1
and I did reload chunkserver. Then I got in log this:

May 12 14:09:46 chunk1 systemd[1]: Reloading LSB: Start moosefs-chunkserver at boot time.
May 12 14:09:46 chunk1 moosefs-chunkserver[25644]: Reloading moosefs-chunkserver:
May 12 14:09:46 chunk1 mfschunkserver[25650]: set gid to 118
May 12 14:09:46 chunk1 moosefs-chunkserver[25644]: reload signal has been sent
May 12 14:09:46 chunk1 mfschunkserver[25650]: set uid to 112
May 12 14:09:46 chunk1 mfschunkserver[25352]: reloading config files
May 12 14:09:46 chunk1 mfschunkserver[25352]: main server module: socket address hasn't changed (*:9422)
May 12 14:09:46 chunk1 systemd[1]: Reloaded LSB: Start moosefs-chunkserver at boot time.
May 12 14:09:46 chunk1 mfschunkserver[25352]: reloading hdd data ...
May 12 14:09:46 chunk1 mfschunkserver[25352]: hdd space manager: folder /var/lib/mfs/sdd4/ didn't change
May 12 14:09:46 chunk1 mfschunkserver[25352]: hdd space manager: folder /var/lib/mfs/sdc4/ didn't change
May 12 14:09:46 chunk1 mfschunkserver[25352]: hdd space manager: folder /var/lib/mfs/sdb4/ didn't change
May 12 14:09:46 chunk1 mfschunkserver[25352]: hdd space manager: folder /var/lib/mfs/sda4/ didn't change
May 12 14:09:46 chunk1 mfschunkserver[25352]: hdd_delayed_ops: file:/var/lib/mfs/sdb4//00/chunk_0000000000001C40_00000001.mfs - fsync (direct call) error: EBADF (Bad file descriptor)
May 12 14:09:46 chunk1 mfschunkserver[25352]: hdd_delayed_ops: file:/var/lib/mfs/sdd4//00/chunk_0000000000003AC0_00000001.mfs - fsync (direct call) error: EBADF (Bad file descriptor)
May 12 14:09:46 chunk1 mfschunkserver[25352]: hdd_delayed_ops: file:/var/lib/mfs/sdb4//00/chunk_0000000000004E00_00000001.mfs - fsync (direct call) error: EBADF (Bad file descriptor)
[...]
May 12 14:09:47 chunk1 mfschunkserver[25352]: hdd_delayed_ops: file:/var/lib/mfs/sdd4//00/chunk_000000000000717F_00000001.mfs - fsync (direct call) error: EBADF (Bad file descriptor)
May 12 14:09:50 chunk1 mfschunkserver[25352]: connecting ...
May 12 14:09:50 chunk1 mfschunkserver[25352]: connected to Master

mtime is not correct after untar

It's expected that untar will preserve the stats of a file (for example, mtime), but in MooseFS, the mtime of files from untar are not preserved.

For example, untar a file into local disk:

-rw-r--r-- 1 ubuntu ubuntu 997 Apr 19 16:07 README.txt

But in MooseFS:

-rw-r--r--     1 ubuntu ubuntu     997 Apr 25 06:07 README.txt

strace showed that tar will issue utimensat before close

openat(AT_FDCWD, "profiles/README.txt", O_WRONLY|O_CREAT|O_EXCL|O_NOCTTY|O_NONBLOCK|O_CLOEXEC, 0644) = 4
write(4, "Installation profiles define add"..., 997) = 997
fstat(4, {st_mode=S_IFREG|0644, st_size=997, ...}) = 0
utimensat(4, NULL, [{1493100371, 505698059}, {1492618042, 0}], 0) = 0
close(4)                                = 0

But in MooseFS, the mtime will be updated again in close().

Should we tracking the mtime in client (during write()), and update it during setattr. When we actually flush the data out, issue WRITE_END to master, we should use the mtime from client rather than using the localtime in master. Does this sounds reasonable?

Could not recover delete files from the trash bin

When I copy the delete jpg file to undel directory it show “cp: cannot create regular file `undel/0000054C|shop|goods_class|04849412911666956.jpg': Function not implemented” and I could not set the trashtime it show “mfssettrashtime -r 5 /home/shop/data/upload/
/home/shop/data/upload/:
inodes with trashtime changed: 0
inodes with trashtime not changed: 1303
inodes with permission denied: 1
You have new mail in /var/spool/mail/root

mount the meta is “mfsmount -H 192.168.1.205 -o mfsmeta,mfsflattrash,mfspassword=123456 /home/shop/data/mfsmeta” and the directory jurisdiction is “dr-xr-xr-x 4 root root 0 Dec 26 11:22 mfsmeta”
below is my configuration screenshot
qq 20161226111924
qq 20161226112212
qq 20161226112243

Mfsmount in /etc/fstab error

When I use mfsmount in /etc/fstab to mount mfs,but it show "mount: wrong fs type, bad option, bad superblock on mfsmount,
missing codepage or helper program, or other error

   In some cases useful info is found in syslog - try
   dmesg | tail or so.

mount: wrong fs type, bad option, bad superblock on mfsmount,
missing codepage or helper program, or other error

   In some cases useful info is found in syslog - try
   dmesg | tail or so"    and my linux version is centos7 kernel is 3.10.0-123.9.3.el7.x86_64,but at the same other one is success

Please make master multithreaded

IMHO the biggest bottleneck in MooseFS is the single-threaded nature of the master server. We have about 320 roaming windows profiles on Samba+Moose and loading them is about 20-50% slower than on a single XFS hosted samba machine. During times when lots of users are logging in the master server CPU becomes almost saturated on the single master process.

If an organisation with 1000+ users was doing the same I should imagine it would be proportionally worse.

I appreciate this if probably not an easy task, so I won't hold my breath.

Regards

Alex

Obtaining Data Delays Severe

Hi:
I used Moosefs to keep the nginx log, which produced 2000~5000 records per minute. I was in another machine to read nginx logs, found that there are more than 25 seconds delay. Is there any way to reduce the data read delay?

As follows:
mfsmaster/mfsclient version: 3.0.86
mfsmount /home/data/logs/nginx -H mfsmaster -S /logs/xxx/nginx -o nonempty -o mfstimeout=5

Thanks for your help !

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.