Jump to content
  • Sky
  • Blueberry
  • Slate
  • Blackcurrant
  • Watermelon
  • Strawberry
  • Orange
  • Banana
  • Apple
  • Emerald
  • Chocolate
  • Charcoal
TetraSource

Bundle - allows to use multiple filesystems as a single one

Recommended Posts

2018-09-25_21_29_06.thumb.png.27c41df96c9871c9ffe1e0ac6cfaf080.png

I just finished the first version of bundle - a rc application which virtually merges multiple filesystems into a bigger one. You can use it whenever a RAID full of tier 3 HDD isn't enough for your needs. On the picture above, for example, you can see 10 RAIDs with 30 tier 3 HDDs which yield a virtual HDD that can store over 200MB of data. You can also use filesystems of different size and create files bigger than any of the used filesystems since bundle is capable of storing a file on multiple HDDs.

If you encounter any bug, please report it on my github repository. Also check out the wiki page.

How to use it

First of all you can download it from pastebin (id: TmeSNidd) or my github repository and install the file in the directory for rc script (/etc/rc.d/bundle.lua). Before using it you should configure the constants at the top of the script in accordance with their descriptions. Otherwise Bundle might work incorrectly. Then you need to add some filesystems by executing

rc bundle add [address]

in the shell. Please replace [address] by the address of the desired filesystem. Doing so wipes the added filesystem. However, Bundle never incorporates filesystems automatically. Next you should allow bundle to run in background by executing

rc bundle enable

Just reboot the computer and it should be listed by

df

2018-09-25_21_29_44.thumb.png.9bb42bcf97449b009b26deea5b8f5e2d.png

Note that the label of the first added filesystem and the filesystem provided by Bundle are always equal since that's the way how bundle stores it. You can also view the added filesystems by executing

rc bundle list

You can also remove added filesystems by

rc bundle remove [forcefully]

Currently, this just removes the last added filesystem, however. If the removal causes the lose of data this fails except you set [forcefully].

Usage notes

  • Don't install the OS on a Bundle filesystem since Bundle requires some functions of OpenOS.
  • Bundle uses a virtual copy of the file structure. On the one hand this makes "hardware" operations faster, on the other hand it might lead to errors when running out of memory.
  • Bundle works with Lua 5.2 as well as Lua 5.3.

Known bugs

  • Seek operations that set the current position to a value that is bigger than the size of the file cause the file the become bigger than its actual physical size. This is also the case on filesystem components of Open Computers but with bundle it might cause internal errors.

That is it for now, have fun using Bundle.

Share this post


Link to post
Share on other sites

I'm sorry to hear that. However, I need some more pieces of infomation in order to help you. Could you send me your version of Lua and OpenOS on your Minecraft Computer and a step-by-step description how you set the system up, please? An error message or a screenshot would be helpful, too.

Share this post


Link to post
Share on other sites

I've modified this to be able to remove either a specific filesystem or the last added filesystem by either passing an address or '.' (for the last added) as the first parameter to the remove command. The second parameter is the forcefully option.

so 'rc bundle remove ad432df3 true' (yes, short addresses are allowed).

Share this post


Link to post
Share on other sites

Thanks for the effort @BrisingrAerowing . I've just integrated your changes with minor changes and bugfixes on my part into the repo and updated the pastebin file.


In order to distinguish it from the old version, I also moved Bundle to version v1.1.

Share this post


Link to post
Share on other sites

I think this is cool, but I am unable to download a 15 MiB file using wget onto a bundle formed out of several RAIDs. It fills up the first RAID, then stops writing to any disks for a minute or so.

Share this post


Link to post
Share on other sites

I just checked this out and it seems this problem is rather complicated. Unfortunately life keeps me very busy at the moment, so I will probably not have any time to fix this soon. Sorry for the that. But I am going to come back once I have enough time to analyse it thoroughly.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.