REQ: WebUI for RAID or Volume Manager

273 views
Skip to first unread message

jonathan...@gmail.com

unread,
Feb 9, 2015, 10:47:55 AM2/9/15
to neths...@googlegroups.com
All,


After discussing this on the IRC channel I was encouraged to post this request here:


A fully functional Web based UI for controlling additional disks outside of the OS to store data similar to a NAS device such as Synology or NetAPP. 


Currently NethServer (and other SME setups) have only the ability to manage volumes on the main disk that is installed with the OS.  When this task is performed  all drives that are setup during initial install are all that is available. All data shares, volumes, configurations are written to only that which is available in the WebUI after setup is complete.  At no time is there the ability in the WebUI to change how volumes are created, disks are setup, or RAID reconfigured on the fly.


My proposal is to create a WebUI function with MDADM similar to how WebMin controls disks , file systems, volumes here:


Example Setup:

6 disk system:

Disks 1/2=OS - Non changeable
Disk 3-6= Available to be changed into RAID 0,1,5,6,10, etc. 


Example Use Case:

After the initial install the User wishes to setup an OwnCloud instance. The user clicks on the link for Storage manager, presented with options with disks not attached to the OS.  From there the user is presented with the various options to use for disks, user selects RAID 5 for the 4 disks above, the RAID array is created and volume allocated.  OwnCloud is then pointed to store user shares at the newly created volume.    User then remembers that they need a separate file system for local users as a department file share with NO internet access and on their own set of disks.  The User then destroys the volume after being warned "THERE IS CURRENT DATA ON THE DISK ARE YOU SURE?" and the RAID set.  From there the User creates 2 RAID 1 volumes, one for OwnCloud and the other for local access.*


*NOTE: This is an example use case and may not be the best and/or practical implementation. This is for demonstration purposes only.


Caveats:
There are ways to change disks and reconfigure RAID via CL. This is not User Friendly and requires some amount technical expertise.  A common user wants a single Admin Interface for all tasks and dropping to a Command Line breaks this work flow.


With this method in place NethServer has the ability to be installed in larger organizations,  with greater ability for User's to add or change data disks on the fly.  Currently this functionality is available in Open Source NAS implementations (FreeNAS, unRAID, etc) that MAY have fire-walling tacked on as an afterthought. I propose to reverse that with a firewall feature set firmly in place with the NAS suite added and available to use. 

I am a firm believer in the K.I.S.S (Keep It Simple Stupid) principle and this is why a Web UI based implementation is viable, practical, and provides a great value to the community. 


 Any questions, comments, or concerns please feel free to post

Giacomo Sanchietti

unread,
Feb 17, 2015, 3:21:22 AM2/17/15
to neths...@googlegroups.com
Hi,

> A fully functional Web based UI for controlling additional disks outside
> of the OS to store data similar to a NAS device such as Synology or NetAPP.

I think this is a good idea.

Analyzing some usage scenarios I suggest to narrow a little bit the problem.


> After the initial install the User wishes to setup an OwnCloud instance.
> The user clicks on the link for Storage manager, presented with options
> with disks not attached to the OS. From there the user is presented
> with the various options to use for disks, user selects RAID 5 for the 4
> disks above, the RAID array is created and volume allocated. OwnCloud
> is then pointed to store user shares at the newly created volume.
> User then remembers that they need a separate file system for local
> users as a department file share with NO internet access and on their
> own set of disks. The User then destroys the volume after being warned
> "THERE IS CURRENT DATA ON THE DISK ARE YOU SURE?" and the RAID set.
> From there the User creates 2 RAID 1 volumes, one for OwnCloud and the
> other for local access.*


I agree on this. The system should be able to present some available
raid levels based on free disks (disks must be unmountend and without
paritions).
After this, the system will automatically create the MD device and one
big LVM partition.
Finally, the user must choose where the block should me mounted.
I'd prefer to force the user to select something like
/var/lib/nethserver/<dir>

I think we still miss something: failure handling.
The user should be guided to replace failed disks both for the the OS
and the data block storage.
This is part is not always straightforward.

> I am a firm believer in the K.I.S.S (Keep It Simple Stupid) principle
> and this is why a Web UI based implementation is viable, practical, and
> provides a great value to the community.

I think coding this implementation it's feasible (if we restrict user
choices) but very very time consuming.

I looked to webmin interface and it seems very confusing. The same apply
to Anaconda UI (it's a total mess).

So, anyone with a good UI example on this?


Giacomo
Giacomo

Jelle Langbroek

unread,
Feb 17, 2015, 5:25:07 AM2/17/15
to neths...@googlegroups.com
I've always used serial numbers to identify disks.
First, label the disks with serial number on the front/back for easy reading. With 'cat /proc/mdstat' you can identify the faulty disk. Then with
'hdparm -I /dev/sdX | grep Serial' you can read out the serial number of the faulty disk. Then just pick the label that you've printed on the disk and you have the right disk to swap. Of course this can be easily scripted for a frontend to display the faulty disk immediately when RAID fails.
 
I am a firm believer in the K.I.S.S (Keep It Simple Stupid) principle
and this is why a Web UI based implementation is viable, practical, and
provides a great value to the community.


I think coding this implementation it's feasible (if we restrict user
choices) but very very time consuming.

I looked to webmin interface and it seems very confusing. The same apply
to Anaconda UI (it's a total mess).

So, anyone with a good UI example on this?

Giacomo
Giacomo

--
You received this message because you are subscribed to the Google Groups "NethServer" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
nethserver+...@googlegroups.com.
To post to this group, send an email to neths...@googlegroups.com.
To view this discussion on the web, visit
https://groups.google.com/d/msgid/nethserver/54E2FA00.4030800%40nethesis.it.
For more options, visit https://groups.google.com/d/optout.




Reply all
Reply to author
Forward
0 new messages