FreeBSD ZFS NAS Web-GUI

Status
Not open for further replies.
Alright done!

Uploaded and will give URLs by PM.

You need
- FreeBSD 8+
- 64-bit preferred (test 32-bit too if you can)
- Apache/Lighttpd + PHP5 + php5_sessions extension + sudo
- short tag needs to be on in php.ini

To install Lighttpd:
cd /usr/ports/www/lighttpd
make install clean
(deselect spawn_fcgi)
cd /usr/ports/www/fcgi
make install clean
cd /usr/ports/lang/php5
make install clean
(select CGI)
cd /usr/ports/www/php5-sessions
make install clean
(you need to do configuration stuff for fcgi in lighttpd.conf)

and sudo:
cd /usr/ports/security/sudo
make install clean
and give www user full root access without password:
export EDITOR=ee
visudo

Any further assistance; discuss in this thread. Please do not share the URL yet -- its not ready for the mass people yet and i don't want to be slashdotted just yet. ;-)
 
Last edited:
A minor corruption issue on the webserver storing the scripts file spoiled some early fun. The actual file on the server was not corrupted, though. Was some gzip compression that caused corruption.

Good thing i already implemented MD5, SHA1 and filesize checks in the remote update function; to prevent any corrupted archive from being extracted, overwriting your current version of files.

Anyway, hope you guys have more success now -- and don't be shy to ask for help installing/configuring. :)
 
and don't be shy to ask for help installing/configuring. :)

I had planned to play with your system today but I realized that I needed two (2) good copies of all my data before I assembled the new system permanently. While I could be testing I'm just sitting around waiting for Terabytes of data to transfer.

As a total novice in the ways of BSD I must ask... and please don't laugh... Where do I put your php files, and how do I run them? Is there any order in which they should be run or is there a structured menu from which all but the first file is run from?

Also if you please, clarify some questions I have concerning ZFS in general. I have calculated that the more drives which make up a dataset (sitting on top of a zpool) the greater the efficiency of drive utilization.

N disks of size x with P parity can hold (N-P)*X and withstand P devices failing. The "recommended" number of disks is between 3-9.

5 Disk Array example using 2TB drives

Total Space (approx) 10TB
raidz1 Loss 1/5 = 20% 8TB Free(approx) = 1 drive space lost
raidz2 Loss 2/5 = 40% 6TB Free 2 drive's space lost

8 Disk Array Z1 loss= 12.5% still only "loose" 1 drive
Z2 loss= 25% 2 drives

10 Disk Array Z1= 10% Loss
Z2=20% Loss

The efficiency is getting better exponentially!

1) In reality what is your suggestion for disk array size in a system of 30 drives?

2) MUST each added dataset be made up of the same number of disks?

3) What is your suggestion on the use of spare drives.

4) In real life systems, what degree of protection do you recommend ie: z1, z2, mirror?

5) After copying data to a z1 array, how long does it take for reliable protection kicks in?

6) Please explain to concept of snapshots.. are they needed and why.

Please don't invest a great deal of time in responding as I know you must be very busy and many pages can be written in response to any of these questions. I have read much already but you seem to have a very clear way of explaining zfs concepts.

Thanks, Jeff
 
I had planned to play with your system today but I realized that I needed two (2) good copies of all my data before I assembled the new system permanently. While I could be testing I'm just sitting around waiting for Terabytes of data to transfer.

As a total novice in the ways of BSD I must ask... and please don't laugh... Where do I put your php files, and how do I run them? Is there any order in which they should be run or is there a structured menu from which all but the first file is run from?
They are PHP files which should be executed by the webserver and PHP engine. The PHP files would reside in the document root, the directory that stores the index.html which you usually see. On FreeBSD this is typically located on /usr/local/www/data.

Did you try the install suggestions in a few posts back? That way you install Lighttpd+fastcgi+php5+php5_sessions+sudo which is about all you need.
Then you need to configure the configuration files, too:
ee /usr/local/etc/lighttpd.conf
ee /usr/local/etc/php.ini

I would write a more detailed howto just like the FreeBSD install howto on my website, but probably not before version 0.1 final is released and i go 'live' with a website and support forum and other stuff. :)

The efficiency is getting better exponentially!
Well, your redundancy protection is also decreased with each disk you add. So while only one parity disks on 100 data drives would be extremely efficient as storage space is concerned; i would be highly unreliable if those were mechanical drives.

Also, for performance reasons it is better to keep the number of disks in a vdev (RAID-Z or RAID-Z2 array) under 10; though it's no limit set in stone.

1) In reality what is your suggestion for disk array size in a system of 30 drives?
Well at the least 3 vdevs of 10-disk RAID-Z. You may also consider two big RAID-Z2's. I have to say 30 drives is quite alot! I have not run such huge arrays; i run two 8-disk RAID-Z's though.

2) MUST each added dataset be made up of the same number of disks?
No. The disks can also have different sizes, but keep all disks in a vdev of the same size. Thus:

vdev1: raid-z disk1-10 1TB per disk
vdev2: raid-z disk11-20 2TB per disk
vdev3: raid-z disk21-30 3TB per disk

That would work.

3) What is your suggestion on the use of spare drives.
Hot spares can be used for any ZFS pool; so you can have only one for seven RAID-Z's if you want.

4) In real life systems, what degree of protection do you recommend ie: z1, z2, mirror?
A backup would be best; at all times. But as far as redundancy i think two big RAID-Z2 (raid6) would offer a reasonable protection.

As spoiled as i am, i have two FreeBSD fileservers where one is a complete mirror backup of the first; mostly offline and powers up only to run rsync (sync with main fileserver). The nice thing is with snapshots is that i can make incremental backups this way. So i have a history of each week version of my files. If i ever deleted something that was valuable i can find it again; and also prevents any 'accidents' such as rsync deleting all files due to a malformed/incorrect command that transfers an empty directory, for example. If that happened a simple rollback would get all files back instantly.

5) After copying data to a z1 array, how long does it take for reliable protection kicks in?
When the ZFS Intent Log (ZIL) is committed; generally not more than a minute after writing data to your ZFS filesystem.

6) Please explain to concept of snapshots.. are they needed and why.
They are not needed, but they are very useful. An example shows this well:

zfs create tank/photos
<store photos>
zfs snapshot tank/photos@2010-06-06-backup
<now make a mistake, corrupt your files, whatever>
zfs rollback tank/photos@2010-06-06-backup

After the rollback, any changes since making the snapshot will be gone. This means the snapshots act as backup, something which redundancy alone cannot provide. This protects against dangers such as accidental file deletion, virusses, etc.

You can make a snapshot every day if you want. They are created instantly, but as you make changes after making the snapshot, it would have to store both the new version and the old version so disk usage space is higher here; but only for the parts that differ.

Please don't invest a great deal of time in responding as I know you must be very busy and many pages can be written in response to any of these questions. I have read much already but you seem to have a very clear way of explaining zfs concepts.
It's quite alright, and most hard work is done now i think -- but the installation procedure could be a lot easier of course. I'm currently testing out ways to benchmark disks via the web-interface; as i think that's a cool feature.

More work needs to be done, but i rather wait for the first feedback from you guys. At least i want to get the scripts to work on your systems, too. ;-)
 
I already have a cache devices tab, but its not implemented yet.

I'm not quite sure if putting the ZIL on an SSD is such a good idea, as it would mainly see sequential writes. Most SSDs aren't really good at that, and it would put strain on the write lifetime as well. Perhaps when faster SSDs come out this would be worthwhile; though we still have to see if their write durability is acceptable for this purpose.
 
Also most SSD's ignore cache flush commands, which can lead to data loss of anything in the drive's cache that hasn't been written. This could potentially lead to loss of the ZIL and a lot of problems if freebsd isn't running a ZFS version yet that can handle removal of the ZIL (I think that comes a few versions ahead of where BSD is now)

The ZIL on an SSD probably won't benefit most home users either, as it would mainly help with database type workloads with thousands of tiny single-digit KB writes rather than most home loads consisting of documents/pictures/music/movies/etc.

One question that I do have is would it be possible to implement something akin to the lightsout WHS plugin on freebsd/opensolaris? I don't usually need the server on on weekdays between midnight and 5pm when I get home from work, so having it check for usage and shut down after midnight would be useful, or spinning down the array during that time if I run web/email servers on it.
 
The URL i provided was also missing three files ending with .sh; i re-uploaded a newer version to the same URL; i recommend you guys redownload.

The new version adds:
- more checks to configuration file; if it doesn't exist it will be automatically created
- fixed the exclusion of .sh files in the tar archive
- Disks got a new Benchmark page (if Advanced Mode is enabled in the Preferences) that measured disk throughput; still lots of work to do here.
 
Uploaded yet another version at same URL - handles non-existing configuration files more friendly, by creating them with the proper permissions and owner using sudo access.
 
Gonna try out your WebGUI later tonight or tmr. Gots to find a spare PC though :)
 
This was a bigger project then I thought... I have spent many hours setting up FreeBSD using all the manuels provided. I think the part that messed me up is when installing lighttpd I executed the commands and THEN I saw... Uncheck spawing fcgi... Well the error log reads /etc/exports is not readable and failed precmd routine for mountd. I tried to deinstall and reinstall but I guess I made a total mess.

I may give up until this is further developed.... All that code flashing by has made me dizzy.

Jeff
 
@wingfat: yes i understand; i don't blame you. :) I do hope you can try the GUI at a later stage, though.

I now am one step further: i created a raw disk image with everything pre-installed. All you need to do is write it to a physical disk of at least 614MiB; so any 1GB USB stick should do. You can also use regular harddrives, but any excess space will be wasted and be unusable.

The procedure is quite short, and is explained in detail on this page:
http://submesa.com/mesa

Anyone with some spare time can try this out?
 
I was waiting for that point, I've got a 4GB usb stick and plenty of spare PCs laying around
 
@sub.mesa: Is the disk image 64 bit? Because I can't seem to get it to boot in virtual box. I used a ubuntu vm and dd to copy the image to the virtual box disk but when I try booting the vm it says
Code:
CPU doesn't support long mode
warning: module 'acpi' already loaded
\
hit [Enter] to boot immediately, or and other key for command prompt
Booting [/boot/kernel/kernel/]...
CPU doesn't support long mode

Type '?' for a list of commands, 'help' for more detailed help/
OK
 
@wingfat: yes i understand; i don't blame you. :) I do hope you can try the GUI at a later stage, though.

I now am one step further: i created a raw disk image with everything pre-installed. All you need to do is write it to a physical disk of at least 614MiB; so any 1GB USB stick should do. You can also use regular harddrives, but any excess space will be wasted and be unusable.

The procedure is quite short, and is explained in detail on this page:
http://submesa.com/mesa

Anyone with some spare time can try this out?
!
Ok I'll try again. Should be streamlined with the setup disk. I have enough disks to substitute so I can start fresh. In the meantime I had setup OS v134 using 5x2tb (raidz) zpool with separate cache drive and spare. After I transferred @ 4tb to the tank/video , I pulled a live drive out of the pool. The results were amazing. The pool although degraded was still totally available!!
Is the link the same as the original dl link?

I will never go back to Whs
 
Last edited:
@jtg1993: yes amd64/x86-64. I believe Virtualbox can also provide 64-bit Guests even while on 32-bit host system; could you try that perhaps?

I would note that a 32-bit CPU is much less suitable to running ZFS; ZFS should be considered unstable on 32-bit systems; though for minor workloads it can work without crashing. 32-bit systems are/were limited to 512MiB of kernel memory; that's too few for ZFS in common situations. 64-bit CPU and 4GB+ RAM is highly recommended.

But hey; to test out the web-GUI the above doesn't matter, but it does when you're building a real system. I can make 32-bit test images as well, but i was thinking perhaps it is easier to only release 64-bit versions of the pre-installed disk image.

I will add a clear note that the provided image is for amd64 systems only, though.

@wingfat: the actual download link to the .img file used for writing to USB stick, is different from the Scripts-only URL, and appears on the http://submesa.com/mesa page in the install instructions. Where the script tarball was only about 40KB, the USB image file is 170MB compressed and 614MB uncompressed.

I'm also looking for a Windows alternative though, which can burn the .img file directly to USB pendrive. So far, i've found WinImage can do the job; but it's not open source and not even freeware; its shareware/evaluation:
ftp://ftp.winimage.com/winimage/winima85.zip

But this means you can skip the Ubuntu Linux part and use Windows to write the .img file to your USB stick. I probably should find a free alternative for this application, before i publish it online.
 
Last edited:
@sub.mesa: what about using Physdiskwrite instead of Winimage. You just use the command: physdiskwrite filename.img
Use the -u tag if the disk it's writing to is over 2GB.

There is a GUI version as well but I've never used it.
edit; the GUI's in German so rather useless.

edit2;

Using a 1GB USB stick. Diskpart is required for Vista/7.

I have your file extracted and physdiskwrite.exe in the 'raw' folder.
Code:
Microsoft Windows [Version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\Users\Mark>[b]cd c:\raw[/b]

c:\raw>[b]diskpart[/b]

Microsoft DiskPart version 6.1.7600
Copyright (C) 1999-2008 Microsoft Corporation.
On computer: MARK-PC

DISKPART> [b]list disk[/b]

  Disk ###  Status         Size     Free     Dyn  Gpt
  --------  -------------  -------  -------  ---  ---
  Disk 0    Online          931 GB      0 B
  Disk 1    Online           74 GB      0 B
  Disk 2    Online          931 GB      0 B
  Disk 3    Online         1000 MB      0 B

DISKPART> [b]select disk 3[/b]

Disk 3 is now the selected disk.

DISKPART> [b]clean[/b]

DiskPart succeeded in cleaning the disk.

DISKPART> [b]exit[/b]

Leaving DiskPart...

c:\raw>[b]physdiskwrite mesa-0.1.0-prerelease.img[/b]

physdiskwrite v0.5.2 by Manuel Kasper <[email protected]>

Searching for physical drives...

Information for \\.\PhysicalDrive0:
   Windows:       cyl: 121601
                  tpc: 255
                  spt: 63
   C/H/S:         16383/16/63
   Model:         SAMSUNG HD103SJ
   Serial number: S246JDWSC21205
   Firmware rev.: 1AJ100E4

Information for \\.\PhysicalDrive1:
   Windows:       cyl: 10337
                  tpc: 240
                  spt: 63
   C/H/S:         16383/16/63
   Model:         INTEL SSDSA2M080G2GC
   Serial number: CVPO944500FL080BGN
   Firmware rev.: 2CV102HD

Information for \\.\PhysicalDrive2:
   Windows:       cyl: 121601
                  tpc: 255
                  spt: 63

Information for \\.\PhysicalDrive3:
   Windows:       cyl: 127
                  tpc: 255
                  spt: 63

Which disk do you want to write? (0..3) [b]3[/b]
About to overwrite the contents of disk 3 with new data. Proceed? (y/n) [b]y[/b]
643825664/643825664 bytes written in total

c:\raw>
 
Last edited:
Oh well that was short lived as I get errors while trying to boot.

mountroot> GEOM: da0: partition 1 does not start on a track boundary.
GEOM: da0: partition 1 does not end on a track boundary.
GEOM: da0s1: geometry does not match label (16h, 63s != 64h,32s).

Any ideas?
 
Oh well that was short lived as I get errors while trying to boot.

mountroot> GEOM: da0: partition 1 does not start on a track boundary.

I'm getting that error as well also
GEOM: da1: partition 1 does not start on a tract boundary
GEOM: da1s1 geometry does not match label (16h,63s != 64h,32s)
MOUNTPOINT>


the system stops loading at this point.


also see: (on boot screen)
set.vfs.root.mountfrom.options=rw

then remove invalid mount options from /etc/fstab
...................................................................................
Looking at the USB key from Open Solaris....

Can't mount USB Drive in Opensolaris

USB=/dev/dsk/c70d0p0 first sector=63
 
Last edited:
I used the same method as I normally use for Freenas, using the same usb drive as well.

But anything more than that is out of my league. I'm guessing my error is a formatting issue of some sort.
 
Hmm, strange that it didn't work for you guys. I'm thinking perhaps i missed something; but it does appear to work for me. For those having problems with the image file:

1. Did you actually extract the .tbz file and got an .img file which is 614MB large?
2. Did you try the Ubuntu method or the windows-method, or both?
3. After writing the raw image, could you give me the output of the partition table? In linux enter "fdisk /dev/sdb" for example; Windows doesn't display the start offset of the partition; which is what i need. It should be 63. GParted/PartedMagic would also be suitable, and is located on UBCD and Ubuntu cd.
4. At the mountroot> prompt, could you press '?' (question mark) and hit enter? Does it print any text? If so please paste the exact output (should be things like /dev/da0s1a) in this thread.

When you got to the mountroot prompt, the system is almost fully booted; the kernel is running and all needs is a system disk to mount the 'root' filesystem (/).

And just a hint: the Ubuntu livecd can be used to logon these forums and post data, so you can copy-paste easily. In Linux, any test you select is copied automatically, and pasted with the middle mouse button; which is the mouse wheel button for most mice.
 
Hmm, strange that it didn't work for you guys. I'm thinking perhaps i missed something; but it does appear to work for me. For those having problems with the image file:

1. Did you actually extract the .tbz file and got an .img file which is 614MB large?
Yes.... 1GB thumbdrive with @ 300+ MB free

2. Did you try the Ubuntu method or the windows-method, or both?
Windows only

3. After writing the raw image, could you give me the output of the partition table? In linux enter "fdisk /dev/sdb" for example; Windows doesn't display the start offset of the partition; which is what i need. It should be 63. GParted/PartedMagic would also be suitable, and is located on UBCD and Ubuntu cd.
Gparted in opensolaris showed usb=/dev/dsk/c70d0p0 first sector 63

4. At the mountroot> prompt, could you press '?' (question mark) and hit enter? Does it print any text?

Print text="YES"
# my attempt at being funny


If so please paste the exact output (should be things like /dev/da0s1a) in this thread.

When you got to the mountroot prompt, the system is almost fully booted; the kernel is running and all needs is a system disk to mount the 'root' filesystem (/).

Thats what I think its trying to say... the error which causes the failure is not on screen, however I do see it trying to give advice on how to fix;

set.vfs.root.mountfrom.options=rw
then remove invalid mount options from /etc/fstab

Hope this helps..
 
Same as above just my output was a bit different.
4. At the mountroot> prompt, could you press '?' (question mark) and hit enter? Does it print any text? If so please paste the exact output (should be things like /dev/da0s1a) in this thread.
List of GEOM managed disk devices:
label/MESA-SYSTEM da0s1a da0s1 da0
Loader variables:
vfs.root.mountfrom=ufs:/dev/label/MESA-SYSTEM
vfs.root.mountfrom.options=rw,noatime
 
By the way, could everyone state how they are running FreeBSD; in a VM like Virtualbox or on a real system? This may be a BIOS-setting issue.

I have been able to reproduce the problem in Virtualbox after disabling the I/O APIC interrupt controller. This caused FreeBSD to not register your ata ports; so it doesn't see the system disk either. Note that any I/O done before this stage is using the help of the BIOS; after the kernel boots it needs to stand up its own feet.

So in Virtualbox, check the setting "I/O APIC" and see that it is enabled.

@m4rkNZ: yes that is what you are supposed to see; well sort of; it should just continue booting and not yield any error since the label/MESA-SYSTEM is detected which means you should be able to boot. Could you try entering:

ufs:/dev/label/MESA-SYSTEM

if that doesn't work, try:

ufs:/dev/da0s1a


Thanks for trying guys!
 
Awesome, entering "ufs:/dev/label/MESA-SYSTEM" worked and I'm up and running.

I'll set up a RAIDZ and have a play around tonight with it.

edit;

Going good so far! I actually prefer it over Freenas already :D Got a pool up with 2x250GB drives in RAID0 as I can't find a third drive to test RAIDZ. Started off at an abysmal 22MB/s write speed and managed to get that up to 60MB/s write speed using:
Code:
max xmit = 65535
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_SNDBUF=65535 SO_RCVBUF=65535

Only getting 45MB/s read though so I guess more tweaking is needed of Samba. Excellent work sub.mesa, for a prerelease I'm excited to see what can be done with it in the future :)
 
Last edited:
Oh my! how very very nice!
#Success achieved @ 6/14/2010 7:30am EST

The "ufs:/dev/label/MESA-SYSTEM" allowed the system to continue..
I will set up a 5x2tb test system and report back

Thank you again... you rock!
 
Hey, finally! :D

Though i'm still clueless why you actually get the mountroot prompt if the default setting let's you boot; i have to think about that. It should 'just work' without entering '/dev/label/MESA-SYSTEM'.

But at least it works now and both of you can access the web-interface i assume. Well just look at the interface and see if it works as expected. Any suggestions on improving usability is welcome.

Probably the next features will be:
- creating samba shares
- creating nfs shares
- change samba settings and restart samba
- change nfs settings

Then it is actually feature complete for the most elemental featureset; a basic NAS.

If you can tune setting using the GUI and restart Samba easily, you can also test the most ideal/fastest settings more easily. And i can learn from how tuned Samba performs on other systems and draw some general conclusions.

Probably i would go lobby for a kernel-level CIFS driver, just like OpenSolaris has. That makes FreeBSD less dependent on linux-optimized software like Samba. Actually i hate Samba; its one of the most bloated and non-functional opensource projects i've ever seen. Likely the whole Samba project has to be rewritten; in a clean 100KB kernel driver that implements every core functionality.

Then a simple zfs sharesmb="on" <pool> command would activate SMB/CIFS on that dataset. Right now, i have to implement parsing and updating of the smb.conf configuration file. ;-)
 
I just got it working under Lighttpd+fcgi+php5.

...

and add a rule like this:
%www ALL=(ALL) NOPASSWD: ALL

This will allow root access to all "www" users, including your web-server. This might be a security concern if your server is directly connected to the internet. Currently this is the way i gain root access on my scripts, but since i use a single execute function i can change that if possible.

Just a thought to avoid giving www and the webserver root: Why not run your script as another user (in wheel or as root) with fastcgi? You can either write a rc.d script that spawns it via spawn-fcgi or using fcgictl (a spawn-fcgi wrapper with yaml conf syntax). Either way works pretty easy with lighttpd.

You could spawn all php that way or ideally code a launcher that keeps your webui running as a fcgi daemon.
 
Hey, finally! :D

Though i'm still clueless why you actually get the mountroot prompt if the default setting let's you boot; i have to think about that. It should 'just work' without entering '/dev/label/MESA-SYSTEM'.

Now that I've had a taste I hope there is a simple way for me to transfer the system onto my System Drive. NFS and samba are critical for me as I need to re-transfer @ 4TB of data back to my zfs drives. I have the data on Solaris ZFS V 14 and I believe I cant "go back" to V13.
I know these things take time but any ETA as to when I may be able to setup for real?

My plans for adding an additional 20 disks are on hold while I work things out with the guy who supplied me with the HP Expander Card. Not happy. Depending on how things go I'll tell you what it's about.

Jeff
 
Just a quick answer: i will be releasing 8.1 builds too soon; they would have ZFS V14. You're correct in that you can't go lower; once your filesystem is version 14 you can't use it on systems with a lower version.

So just wait a day or so for me to put up a new .img file based on 8.1 (or even 9.0) instead. 8-STABLE (a 'stable' branch separate from 8.x releases) also has V14; but that's only useful if you're upgrading FreeBSD yourself.

The cool thing of this .img thing is: you can just download a new .img and boot it; all ZFS things are stored on the array disks themselves so even a different/new OS would just boot straight and detect your array with all the settings you left it. So you don't need anything from your Operating System to make ZFS stuff work. All it would lose is your tiny web-interface configuration file, and any other configuration files you modified yourself. In the future you will be able to export and import all those system settings with a single button. ;-)
 
Just a thought to avoid giving www and the webserver root
Interesting suggestion; though it would probably require me some time to get it working that way. I don't feel it is a priority at this point, especially because i consider the intended usage for this product to be behind NAT routers which shield any unauthorized access to the FreeBSD system anyway. I would consider it unsafe if the whole internet could directly interact with your fileserver; even if you have it properly protected.

But i sure will address this issue, as i'm not too comfortable with giving www full sudo access. But for now this is an easy way to get access to the things the scripts need to do. It does execute all normal commands as the www user; only the commands that require root use sudo. Still this means any security hole in the webserver would allow an attacker to execute code at root level with ease. Thus, it is definately not recommended to allow it to directly interact with the internet; that means not being behind a NAT router commonly but incorrectly referred to as modem or router.


Now that I've had a taste I hope there is a simple way for me to transfer the system onto my System Drive.
Do you mean transferring the system image (.img) you installed on a USB pendrive for example, and you want to transfer that to another drive?

Do you want to run any other OS on the system which will be running FreeBSD?
To what kind of device would you like to transfer the image to?

NFS and samba are critical for me as I need to re-transfer @ 4TB of data back to my zfs drives.
NFS should be working soon, for now you can issue zfs commands on the root command line like: zfs sharenfs="on" poolname/filesystem

To do that, you first need to format several disks, create a ZFS pool and create a filesystem on that pool. Then use the command above, replacing poolname and filesystem with the names you chosen.

I know these things take time but any ETA as to when I may be able to setup for real?
An optimistic guess would be: when 8.1 final releases. But really, you're one of the first people to try out this software. Essentially you could think of software reliability in terms of users: if millions of users use a product, even the most obscure bugs may be discovered (and fixed). For a product only used by a few hundred users, there may still be obscure bugs undetected; then hit someone in the back and lose data.

With this more pessimistic view, my product would only be safe after it is in wide use with at least 100.000 unique users around the globe. And assume that i'm able to fix any issues quickly and upload a new - stable - release.

Reality probably lies somewhere in between, but do keep in mind you're one of the first - so that means this software is not production quality. Not even beta. That said the scope of what the scripts can do is limited; its mostly a FreeBSD system. This is unlike FreeNAS where many parts of BSD have been removed, tweaked or patched. That's probably also why they are so slow issuing updates; like 8.0; which was released in November 2009 - half a year ago already.

So please keep this in mind - being an 'early adopter' means you pretty much are a test driver, and any issues or bugs will hit you in the face. The early stages of this product really is 'trial and error'.

My plans for adding an additional 20 disks are on hold while I work things out with the guy who supplied me with the HP Expander Card. Not happy. Depending on how things go I'll tell you what it's about.
Alright; please pick hardware that is known to work with FreeBSD. The FreeBSD 8.0 hardware compatibility list (google) is a useful guide here. I'm not using any port multipliers or expanders myself; the results of several people who tried it with ZFS varied. Please make sure you won't have any surprises after you built your rig; that's usually quite demotivating. Building your rig should be fun!
 
i have several different pcs laying around. which would be prefered for the test?


fast dual core
low power dual core
2.0 ghz quad core xeon?
dual socket 1.4?


is this more processor or memory hungry?
Posted via [H] Mobile Device
 
^^ that, and freebsd scales well with multiple cores, keep that in mind as well. but adequate amount of RAM is probably more important.
 
Indeed. :)

2GB minimum for a ZFS box i would say. 4GB highly recommended. For large arrays and if you want prefetching, you need more than 4GB. The default settings will disable prefetching below 4GB RAM.

Multiple cores scale (virtually) linearly with compression and encryption (with multiple queue depth). Also de-duplication in the future would use more CPU time.
 
easy enough, I've got just the test server for it.. quad... 8gb ram..

reason I ask, when this gets finalized and stable and trusting to some important data (as a back-up won't fully rely on it calm down) I read about a lot of people using the mATX SM board with an i3 and dual intel NICs as a low power solution and has a few 8x slots for expansion.

basically can I get away with the i3 if I don't plan on compression or encryption, or do I actually need one of those Xeons in there? (I plan on using it in my very tiny business enviroment for shared storage and maybe a VM or 2 with iSCSI or NFS? but that's for another thread prolly)


it has a internal USB port, so I can use the USB image, everything has pretty much been falling into place as I kept reading the thread.
 
Status
Not open for further replies.
Back
Top