Comments (11)
Hi,
Basically this is not good idea to do partition resize on a working file system and during read write operations.
By the way. Please check this option in /etc/mfs/mfshdd.cfg
file.
~
at the beginning of the path means that significant change of total blocks count will not mark this drive as damaged. You can read more about it here.
from moosefs.
But why error " hdd_io_begin ..." appeared?
from moosefs.
Cześć @marcin-github,
Such fragile modifications shouldn't be done when processes are performing I/O operations on a filesystem (of course including mfschunkserver
, but I mean in general). The proper way to do grow the filesystem is as follows:
- Enable maintenance mode for the specific Chunkserver via MFS CGI (tab
Servers
) or via MFSCLI:mfscli -CM1/ip_of_chunkserver/port_of_chunkserver
- Stop
mfschunkserver
process:mfschunkserver stop
or your system's specific command (service...
/systemctl...
) - Unmount the filesystem
- Grow (resize) the filesystem
- Start
mfschunkserver
process - Disable maintenance mode for the specific Chunkserver via MFS CGI (tab
Servers
) or via MFSCLI:mfscli -CM0/ip_of_chunkserver/port_of_chunkserver
You can read more about Maintenance mode in "MooseFS 3.0 User's Manual" - Chapter 5.3 "Maintenance mode", p. 48. This document can be obtained from here.
Of course in case of any further questions, please don't hesitate to ask! :)
Best regards / Pozdrawiam
Peter / MooseFS Team
from moosefs.
How about unnecessary / at the end of /var/lib/mfs/chunks/ what makes double // :
/var/lib/mfs/chunks//00/chunk_00000000000001B8_00000009.mfs
from moosefs.
@jamarat: yes, double /
can be removed, but it actually shouldn't affect I/O operations.
Resizing the filesystem in a mentioned by @marcin-github way may be dangerous for data stored on a filesystem. Fortunately MooseFS is fault-tolerant, so if you have goal >= 2, MooseFS will automatically replicate eventual missing chunk(s) from another copy.
from moosefs.
Cześć @OXide94 ,
I don't know what did you meant in "the currently resized block might be used by mfschunkserver". I resized filesystem many times while fs was under heavy load (postgres, mysql, or other services, on ext4 or xfs) and never ever I didn't had any issue with it. Only "issue" was frozed I/O for a while.
@jamarat double slash is because in mfshdd.cfg I have:
/var/lib/mfs/ - slash on the end.
from moosefs.
I would like to add that we added such a security - number of total blocks has been changed significantly
in MooseFS chunkserver in case of hdd error.
We had such a situation when hard disk crashed and started to report 1PB HDD in system.
When you want to resize hard disk you have to add ~
at the beginning of hdd path.
from moosefs.
I don't know what did you meant in "the currently resized block might be used by mfschunkserver".
Ok, sorry, I read everything once again. It is not true of course. I will edit and remove it from my previous reply not to mislead other users. I'm sorry.
Theoretically such resize (growing) of the filesystem should work properly on working, mounted FS. I just had a bad experience with it once in the past and now, when I have to do it, I always try to do it in the most safest way I can. Nevermind.
As @xandrus wrote:
When you want to resize hard disk you have to add ~ at the beginning of hdd path.
If you do so, mfschunkserver
will not consider such HDD as damaged. (Of course after doing so, please don't forget to reload the Chunkserver process).
Peter / MooseFS Team
from moosefs.
Thanks for answers. I think that we are not focusing on the same problem but nevermind. I didn't have any data loss nor other problems so if you don't see anything wrong with it then it's also ok for me:)
from moosefs.
Messages you mentioned:
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)
actually mean, that Chunkserver wanted to open chunk 1CC
(1st), increase chunk's 1B8
version (2nd) an open chunk 1BC
(3rd) - and in each case failed, because for some reason these files were not present.
We'll check it out with our developers next week and get back to you. What filesystem exactly do you have? XFS or EXT4?
Peter
from moosefs.
xfs, kernel 3.18. Thank you
from moosefs.
Related Issues (20)
- supports IPv6 HOT 4
- [BUG] The data displayed by mfs has garbled characters HOT 8
- mfsmaster -a restore hangs with 100% CPU usage HOT 5
- [Question] 2 copys of chunks on one chunkserver HOT 1
- [BUG] Performance impact and write amplification with CHANGELOG_SAVE_MODE = 2 HOT 9
- Do the Master and Chunk servers have to be the same architecture? HOT 3
- chunkserver: High speed rebalance blocks deletions? HOT 7
- [BUG] fuse: bad mount point `/matrix/synapse/storage/media-store/': Input/output error HOT 2
- [FEATURE] Official packages of MooseFS / MooseFS Pro for Debian 12 Bookworm HOT 2
- [BUG] mfsbdev and map + unmap + map on /dev/ndb0 = input/output error HOT 1
- [FEATURE] mfsclient mfstimeout default 0 HOT 1
- mfsmaster register error: No such file or directory HOT 3
- Can't mount MooseFS on Proxmox 8.1 properly. HOT 4
- MooseFS 3.x Erasure Code Support
- [BUG] mfsmaster hung and in unkillable D state HOT 3
- [BUG] DeprecationWarning: 'cgi' is deprecated and slated for removal in Python 3.13 HOT 2
- [FEATURE] mfsbdev as standard (TCP/Unix Socket) NBD server HOT 1
- [BUG] Empty chunks and copies with different checksums HOT 8
- Recovery data from chunks without metadata :) HOT 4
- [BUG] FUSE mount forces DIRECT I/O mode with Samba
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from moosefs.