Parity in addition to fault tolerance.

taltamir

Lifer
Mar 21, 2004
13,576
6
76
Anyone knows of a method of getting parity in addition to the fault tolerance of raid? With RAID I can protect myself from hard drive failure by having redundency. But that doesn't help against bad sectors or other issues that cause corruption in a single file here and there and causes me to loose individual files.

I think the most logical way of doing it is take a raid array, and use a file system that incorporates built in parity and error correction. Anyone knows of something that supports it?
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
All RAID levels except for 0 are redundant to some level. For example RAID5 uses parity to calculate the missing data whenever a drive fails. But if the data gets corrupted at another level then the array will have no problems writing that data for you.
 

taltamir

Lifer
Mar 21, 2004
13,576
6
76
Augh, this is overlapping with another thread.. and it wasn't my intention.
http://forums.anandtech.com/me...=2163599&enterthread=y

I am NOT interested in mere drive fault tolerance, where a dead drive can be replaced with no data loss. I am also interested in parity so that dead sectors will not cause data loss. And completely bypassing a single point of failure.
With raid5 if the controller gives you are done for. There is a single point of failure. If the CPU or RAM have a glich and mess up some data during file transfer then I loose data.
RAID5 will protect the data from bad sectors on a single drive. but it gives me multiple single points of failure at the OS and controller level.

RAID1 or 10 gives me supreme mobility and no singular point of failure. I can move it ANYWHERE and the data is there, in fact it is on two drives. So if a drive fails, I replace the drive and it is restored. If the controller or OS or whatever fails (or the CMOS gets reset) My data is there in duplicate.
But how can I protect the files in RAID1 from corruption? I can't imagine a way to protect against a CPU or mem error (aside from making sure they are completely stable.
But I can imagine a parity system that protects data from corruption due to a bad sector on a RAID1 array, it just needs to calculate the parity on both drives, and discard the defunct copy. The question is, how do I get it.
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
With raid5 if the controller gives you are done for. There is a single point of failure. If the CPU or RAM have a glich and mess up some data during file transfer then I loose data.

That's what backups are for. And do you also have off-site backups because if you have a flood, fire, break-in, etc then you lose data too.

But I can imagine a parity system that protects data from corruption due to a bad sector on a RAID1 array, it just needs to calculate the parity on both drives, and discard the defunct copy. The question is, how do I get it.

I have a vague recollection of ZFS doing some checksumming at the filesystem level but I never looked into it because the license isn't compatible with the GPL so it'll likely never be available in a good manner for Linux.
 

taltamir

Lifer
Mar 21, 2004
13,576
6
76
RAID is my backup. or rather, the elimination of the need for backups... if there is a flood or a fire or a break in then I will live with the loss of data. I have important stuff on a usb thumbdrive that is with me at all time anyways (I tell clients to backup REALLY important stuff unto multiple CDs, with one in a fireproof vault and off site, a theif would steal any sort of backup other then a non rewritable CD, and fire wouldn't get the vault, and federal raid due to a lying competitor wouldn't take the offsite data as "evidence" to be returned in 25 years).
Mainly I want to be able to store terabytes of junk at home... disk images (backups), music, movies, saved games, books (pdfs or invidual pages in zip/rar files) and what have you not.. its a REAL pain in the ass to loose those but it is not the end of the world, it is worth sevearl hundred dollars to me.. due to the weeks of work to replace. It is NOT worth several thousand dollars to me.
I lost it before due to a HDD failure. I almost lost it due to RAID5 controller issues. I have been safe with RAID1 (multiple large drive arrays). but I have encountered individual corrupted files with RAID1 thus far. So I want a way to protect myself from such corrupt files. Keeping a stable machine with error free mem and CPU I have done.

The only thing I still need to protect against is individual file corruption due to bad sectors. I had a few files ruined by that on RAID1 thus far. I am an archivist at heart, and a lot of this stuff is not replaceable (rarer stuff is not easily obtained online years later). So I want to protect myself.
Mmmm, I am really answering my own question here. The only way to really do it right is to make a linux tower with all the drives and install some form of advanced raid. Maybe even help code it. but damn, who has the time...

Know of any way to achieve it in windows?
 

Fullmetal Chocobo

Moderator<br>Distributed Computing
Moderator
May 13, 2003
13,704
7
81
If you are experiencing RAID 1 and RAID 5 issues, then there are underlying issues with the existing hardware. In my experience, *any* bad sectors on a disk is a reason to have the disk replaced, as one bad error usually leads to more. And a proper backup is the way you handle individual corrupt files. RAID is not a backup. Just as RAID does not protect against a virus--it's going to write the virus with the rest of your data.

If you are looking at data replication, why not build a file server and have it shadow copy your data. Another option would be to make regular backups to an external device or NAS. I'm not too familiar with NAS stuff, but I'm sure someone can provide further info on that.

EDIT: You might also considering implementing something like SVN + Tortoise SVN. Works great for deploying multiple copies of data; I used it for documents on several machines
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
RAID is my backup. or rather, the elimination of the need for backups...

Then you're going about it the wrong way. What happens if you accidentally delete something or just want to go back to a revision of a file from a week ago?
 

imported_wired247

Golden Member
Jan 18, 2008
1,184
0
0
I think it's clear that taltamir knows that if anything is mission critical then RAID is not backup.

RAID has many benefits over JBOD, let's not forget that. You guys almost make it sound like a bad thing.
 

taltamir

Lifer
Mar 21, 2004
13,576
6
76
@ nothinman:
then I loose that porn movie/comic book/song/whatever and I am a little sad. I back up my IMPORTANT stuff across 3 seperate raid 1 arrays AND on a USB drive attached to my keychain which I NEVER leave home without. But the bulk of the stuff is impractical to backup. I just want to protect the hours that went into aquiring, ripping, encoding, and sorting them.

@Fullmetal: That is way WAY beyond the scope and budget of what I need. I have only ever had RAID5 issues, and in fact, everyone has those. I should have listened to my friends who do that professionally who told me "RAID5 is crap, use RAID1 or 10". But I tried RAID5 and learned for myself. RAID5 is simply not reliable, its slow as hell, risky in a variety of ways, etc.
I use RAID1, and if I my storage ever advances so much beyond current hard drive capacities, then I would go and make a RAID10 array.
RAID1 IS essentially a backup, its two perfect copies of one hard drive. If I want to can take EITHER drive to another computer and they BOTH contain all the data separately .This is much superior to what I had before... Drive D was data, and drive E was a backup where software would copy/remove/replace all files that were changed on the backup on drive E. RAID1 gives me that instantly, and also gives me faster read speeds, and less drive activity. (and one less drive letter to look at)

Of course bad sectors are a signal that a drive needs to be replaced. The question is, how do I protect my data from them. Or from loss in other methods.

I realize that its not simply a matter of "I have a backup, I am safe", but rather, predicting issues and protecting myself from them... what could go wrong? drive failure? hardware failure? theft? fire? flood? bad sectors? error during copy? etc etc.
Thus I want three things:
1. A program that will replace window's built in copy function, with one that would compare the copy to the original, in case there was an error during transfer.
2. An automatic file parity system that could repair corrupt files, this will protect me in case I get bad sectors or who knows what.

Honestly, I doubt I will find either.

@wired247: thanks for the vote of competence there :p.
 

drebo

Diamond Member
Feb 24, 2006
7,034
1
81
RAID5 is simply not reliable, its slow as hell, risky in a variety of ways, etc.

Huh?

Only if you use a poor quality controller/software will RAID 5 ever give you any issues aside from issues you create yourself.

I have 10-year-old servers in my colo still running their original RAID 5 arrays without any issues.

What you're trying to do is simply not practical. You're trying to force a system (RAID) to behave in a way other than what it was intended to do. RAID was developed to increase uptime, not provide disaster recovery on any level. RAID was never intended to provide against user error. RAID was intended to protect against hard-drive failure.

If you have a hard drive with a bad sector, your RAID array will reconstruct the data. Both RAID 1 and RAID 5 will take care of that. Under RAID 1, the controller reads both sets of data and compares them. Under RAID 5, the controller reconstructs the data from the three components and compares it to verify that it is correct. If you are having data integrity problems with a RAID system, there is an underlying cause, such as program data corruption, rather than physical data corruption, or you're doing it wrong.

As it stands, you're trying to stick a octagonal peg in a triangular hole. Keep it simple and buy a USB hard drive. Copy your important files there and deal with it if a drive goes down. Or buy some backup software and create a disaster recovery image. NovaBACKUP is pretty cheap.

The question is, how do I protect my data from them

The answer is that you don't need to. If a sector fails on one drive, that data is not written to the other under any RAID level, particularly not RAID 5. Your problem is that you're taking the simplistic view most other consumers have to RAID: you're assuming that it just "writes it twice" or "makes a copy". That's not it at all.

My advice is to stop over-complicating the issue and run JBOD, doing a nightly backup to rotating USB hard drives. Put the one that's not in use in a fire safe (can get them for like $40 at Target) and swap them in the morning. Total cost: about $300. Or, if you want real-time, cataloged backups, I could hook you up with a BackupEXEC CPS server. Those realistically only run about $7000 including all software and proper backup hardware (LTO is the only way to go).
 

taltamir

Lifer
Mar 21, 2004
13,576
6
76
You have managed to completely misunderstand, misinterpret, and misrepresent everything I have said. I am baffled as to why.

JBOD is the stupidest thing ever created. with JBOD if one drive fails all the data is lost on all drives. It makes much more sense to have seperate drives each one with its own letter, containing its own information. If I was willing to make it so that one drive failure looses all the data, I would have used RAID0 and at least enjoyed faster speeds.
Offsite backups? Rotate external USB drives? I went with RAID to get RID of that kind of crap. RAID1 works perfectly for that.

Thank you for the hookup offer. But a 7000$ server for my music, game, video, and other junk collection would be an atrocious waste of money.
I am merely trying to more efficiently protect 1.5TB of multimedia content. All important data is backed up. Regular backup methods are impractical for this kind of size, and unneeded. It is not worth my time and money to do so. RAID1 is really that is needed to keep it "fairly safe".
 

QuixoticOne

Golden Member
Nov 4, 2005
1,855
0
0
Well I pretty much get where you're coming from. I've been having similar questions about how to engineer my next generation personal data storage system, and avoiding silent data corruption is high on the list.

Modern CPUs do tend to have some parts of their workings protected by ECC or PARITY type checks and some level of fault tolerance protocol to recover the data if there's a problem. That may just be using ECC bits, or it may mean just invalidating the cache line if there's a parity error detected in a cached read, or whatever.

Modern hard drives do almost universally use an ECC type encoding algorithm at their low levels of physical read / write sector operations. You can query the full SMART data of a typical PATA/SATA disc to see the statistics on things like *corrected* read errors et. al. for instance. This detection / correction / encoding can and does happen typically totally without operating system / filesystem / driver control; it is all inside the disk drive's hardware/firmware. Usually the OS doesn't even TELL (or maybe even NOTICE) when an error correction is performed so long as the drive doesn't indicate an "error" result for the read operation indicating lost data or malfunctioning hardware etc.

It is also typical that over an PATA / SATA / SCSI type link that the TRANSFERS of data packets between the HDD and the PC (this has nothing to do with the data STORED on the disc) during a READ or WRITE will actually be protected by a CRC checksum within the packet; it is calculated at the sender, and checked at the receiver, and the data received is not considered valid if the CRC isn't correct for that data transfer operation. The operation is generally semi-automatically retried at the driver / firmware level if the CRC of the data *transfer* is incorrect.

However it doesn't take too much of a scrape / crash / glitch to cause an UNCORRECTABLE ECC error that will prevent a READ of valid data, so it is good to have some protection from unrecoverable read (or write) errors by using a redundant mirrored or parity set (RAID 5 etc) type of disk aggregation system.

RAID 5, for instance, will calculate true "parity" checksums for your data and distrubute that error detection / correction information among your drives so that not only is the loss of a single drive detectable / repairable, but also the corruption of data read from and single drive. Now this is where the fine details start as to wondering what YOUR RAID software / controller really does in the case of checking parity for data from read operations where the read operation itself was SUCCESSFUL according to the individual drives involved. In theory the individual drives hardware level ECC and transfer level CRC should detect corruption of stored / read data with good probability, but it's possible to double-check according to the distributed RAID parity data. I assume most implementations do perform raid-level parity checks 'always' even for cases where no read errors are detected by the storage drivers.

There are some vulnerable points, though. As it turns out a typical PC case will have several thousands of cosmic rays passing through it every minute, and additionally several events of radiation bursts from natural materials in the environment. If one of these hits a spot in non-ECC protected RAM, or a vulnerable part of your CPU / chipset which isn't protected by ECC / parity, data could be corrupted.

I think the statistic at one point was several induced errors per month per gigabyte of memory were expected from sources like cosmic rays.

Of course poorly designed hardware that is susceptible to electrostatic discharge, EMI/RFI type problems, errors due to bad power fluctuations, due to dust / humidity affecting the circuits, high temperatures, vibration, etc. will also introduce errors.

With my 1TB RAID 5 system it isn't too uncommon for me to see a couple undetected corruptions per terabyte of data read from the system. Since they were undetected, I can only assume it was a "glitch" in some non parity / ECC protected portion of the transfer, or due to a rare software bug.

To get still better protection you can "tune" or select / configure your RAID to be more on the "paranoid" side with more intense levels of ECC / parity per amount of data stored to improve the chances more severe errors will be detected / corrected.

Beyond that, yes, you can use filesystems that at the logical filesystem level use some kinds of parity / ECC type of data to detect corruptions in blocks of ordinary file data as another tier of redundancy and protection. Few filesystems do this, and I've thought about advocating change in this area or maybe even forking one of the popular filesystems to implement this mechanism as an optional feature. If you'll notice the
"Checksum / ECC" column in the extreme right hand side of one of the colored tables, you'll find a few filesystem choices that do implement this sort of thing at least as an option. You might give GPFS / ZFS a try. You could do much worse than to set up a ZFS 'RAID' on a OpenSolaris cheap file server or two.
http://en.wikipedia.org/wiki/Comparison_of_file_systems

Beyond that, you can start storing redundancy / recovery metadata yourself at the application / end user files level. Programs like "par2", "parchive", "dvdisaster" et. al exist to calculate such redundancy data and store it in files that can later be aggregated and processed to recover from certain amounts of the protected files being corrupted / missing.
http://parchive.sourceforge.net/
http://dvdisaster.net/en/index.php
et. al.

There are also programs like AIDE / Tripwire / etc. that calculate parity hashes of your files (and you can do this somewhat automatically for virtually EVERY file on your discs). They store these hashes either in some kind of list / table file, or in distinct files, or as metadata in a stream of the original file, or whatever, depending on the program you use. These hashes (of which MD5, SHA1, et. al. are just examples of a wide class of options) can then be automatically verified at any point to determine any unexpected alterations / corruptions of the original files' contents.
This is a fairly "lightweight" and handy thing since the hash of a given file is no more than several dozens of printable characters long, so it is usually trivial in size in comparison to the size of the hashed file, and it is easily readable / verifiable by a person, and it can be transported / copied / backed up along with the file(s) it relates to easily enough.
I see little reason NOT to use something like this as a matter of course, especially if your mode of operation is often "acquire / create / download once, store unmodified forever" for many of your digital assets. Any hash / ecc data you ever create for a file should stay correct forever, so the overhead in calculating it isn't high, and you can check it either quite infrequently (in an automated exhaustive way), or at the point of use when you retrieve something from your digital library.
http://www.cs.tut.fi/~rammer/aide.html

 

drebo

Diamond Member
Feb 24, 2006
7,034
1
81
with JBOD if one drive fails all the data is lost on all drives

Uhm, JBOD simply means "Just a Bunch Of Disks". In essence, it's a bunch of disks acting independently of one another. What you are thinking of is probably drive spanning or RAID 0. In RAID 0, yes, you do lose everything if a single drive fails. With drive spanning, you only lose the data on that disk, though this is typically implemented at the software level, so it usually breaks lots of stuff.

JBOD simply means to run vanilla disks without any kind of array/spanning.

Other than that, no, I did not misinterpret what you're trying to do. I simply pointed out that you are vastly misinformed about what RAID is intended to do.
 

taltamir

Lifer
Mar 21, 2004
13,576
6
76
http://en.wikipedia.org/wiki/JBOD

Concatenation or Spanning of disks is not one of the numbered RAID levels, but it is a popular method for combining multiple physical disk drives into a single virtual disk. It provides no data redundancy. As the name implies, disks are merely concatenated together, end to beginning, so they appear to be a single large disk. This mode is sometimes called JBOD, or "Just a Bunch Of Disks".
Some RAID controllers use JBOD to refer to configuring drives without RAID features. Each drive shows up separately in the OS. This JBOD is not the same as concatenation.

JBOD is generally referring to concatenation. And all RAID controllers I have used thus far referred to spanning as JBOD. And if one drive fails all the data is lost (at least in the controllers I have tested).

The name is misleading, and just a bunch of disks sounds like it would be separate disks with nothing to do with each other. But that just doesn't have a name. Although I have seen many people refer to it as you have and as I noted above, some raid controllers will also refer to it as such. Generally speaking, you would be clearer if you call it "concatenation" or "no raid" rather then using JBOD as JBOD can mean either of those


@QuixoticOne: thanks for the excellent info. This is exactly what I was looking for.
 

imported_wired247

Golden Member
Jan 18, 2008
1,184
0
0
Originally posted by: drebo

RAID was developed to increase uptime, not provide disaster recovery on any level. RAID was never intended to provide against user error. RAID was intended to protect against hard-drive failure.

Precisely why I did it... :)


and in case anyone is wondering if raid5 is slow... that would depend on your controller, but if you have a good controller:
http://img171.imageshack.us/my.php?image=defragbk8.jpg

just an example, but defragging at about 60MB/s average with up to 300MB/s bursts, it is not bad at all. seek time isn't bad either with NCQ


http://img148.imageshack.us/my...mage=vista128kbkv8.png
 

taltamir

Lifer
Mar 21, 2004
13,576
6
76
RAID5 is slow and needs NVRAM and special hardware to solve it. RAID5 has the write hole issue. RAID5 has other faults.
http://opensolaris.org/os/comm.../zfs/docs/zfs_last.pdf

I am so far very VERY impressed with RAID-Z and ZFS and am currently in the process of building a solaris file server with it using old hardware lying around. (finally, a use for that X2 3800+ system I had lying around since I upgraded to an E8400 last month)
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
RAID5 doesn't need special hardware, only writes are going to have any performance hit and for a personal server I really doubt you'll notice.

As for ZFS, too bad the licensing is incompatible with the GPL so it'll never be properly included in Linux. The fact that it requires Solaris is a deal breaker for me.
 

taltamir

Lifer
Mar 21, 2004
13,576
6
76
OPEN solaris, which uses a certified open source license according to OSI. the problem is with the GPL.
ZFS is fully open source and partial ports have already been made to most operating systems.

And software raid5 gives atrocious speed. Also each RAID5 implementation is propriatary. So you cannot transfer arrays between different controllers.

Platforms

ZFS is part of Sun's own Solaris operating system and is thus available on both SPARC and x86-based systems. Since the code for ZFS is open source, a port to other operating systems and platforms can be produced without Sun's involvement.

[edit] Nexenta OS

Nexenta OS, a complete GNU-based open source operating system built on top of the OpenSolaris kernel and runtime, includes a ZFS implementation, added in version alpha1. More recently, Nexenta Systems announced NexentaStor, their ZFS storage appliance providing NAS/SAN/iSCSI capabilities and based on Nexenta OS. NexentaStor includes a GUI that simplifies the process of utilizing ZFS. Also, Nexenta announced in February of 2008 a significant release, called version NexentaCore Platform 1.0, of their operating system which serves as a basis for software appliances from Nexenta and other distributions.

[edit] Mac OS X

In a post on the opensolaris.org zfs-discuss mailing list, Apple Inc. announced it was porting ZFS to their Mac OS X operating system.[27] From Mac OS X 10.5 Developer Seed 9A321, support for ZFS has been included, but lacks the ability to act as a root partition, noted above. Also, attempts to format local drives using ZFS were unsuccessful; this is a known bug.[28]

On June 6, 2007, Sun's CEO Jonathan I. Schwartz announced that Apple would make ZFS "the" filesystem in Mac OS 10.5 Leopard.[29] Marc Hamilton, VP for Solaris Marketing later wrote to clarify that, in his opinion, Apple is planning to use ZFS in future versions of Mac OS X, but not necessarily as the default filesystem for Mac OS X 10.5 Leopard.[30] In the release version of Mac OS X 10.5, ZFS is available in read-only mode from the command line, which lacks the possibility to create zpools or write to them,[31] but Apple has also released the "ZFS Read/Write Developer Preview 1.1 for Leopard"[32], which allows read-write access and the creation of zpools. The installer for the "ZFS Read/Write Developer Preview 1.1 for Leopard" is currently only working on version 10.5.0, and has not been updated for version 10.5.1 and above.[33] As of January 2008, Apple provides read-write binaries and source, but they must be installed by hand.

[edit] Linux

Porting ZFS to Linux is complicated by the fact that the GNU General Public License, which governs the Linux kernel, prohibits linking with code under certain licenses, such as CDDL, the license ZFS is released under.[34] One solution to this problem is to port ZFS to Linux's FUSE system so the filesystem runs in userspace instead. A project to do this was sponsored by Google's Summer of Code program in 2006, and is in Beta stage as of May 2007.[35] Running a file system outside the kernel on traditional Unix-like systems can have a significant performance impact. However, NTFS-3G (another file system driver built on FUSE) performs well when compared to other traditional file system drivers.[36] This shows that excellent performance is possible with ZFS on Linux after proper optimization. Sun Microsystems has stated that a Linux port is being investigated.[37]

[edit] BSD

Pawel Jakub Dawidek has ported and committed ZFS to FreeBSD for inclusion in FreeBSD 7.0, released on February 28, 2008.[38]

As a part of the 2007 Google Summer of Code ZFS is being ported to NetBSD.[39]

[edit] Other

There are no plans to port ZFS to HP-UX or AIX.[37]
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
OPEN solaris, which uses a certified open source license according to OSI. the problem is with the GPL.
ZFS is fully open source and partial ports have already been made to most operating systems.

The problem is with the CDDL which has restrictions that are incompatible with the GPL. Sun knew this from the beginning and didn't do anything about it.

I don't think you can call OS X, 2 forms of BSD and one port of OpenSolaris as "most operating systems".

And software raid5 gives atrocious speed. Also each RAID5 implementation is propriatary. So you cannot transfer arrays between different controllers.

Atrocious? Have you done any real tests or are you just guessing because Linux says that it can do async xor at 7744MB/s using SSE which is a good bit faster than any of the drives I have here can write data out.

Every hardware RAID controller's implementation of all RAID levels is proprietary, it's part of the price you pay. Software RAID5 isn't proprietary and you can move the drives to any machine running the OS that built the array.
 

taltamir

Lifer
Mar 21, 2004
13,576
6
76
When someone says software raid, they are typically referring to a raid controller that uses the CPU to do the calculation, rather then a built in processor. Since last I checked windows doesn't do RAID5.

EDIT: oh what do you know... you seem to agree with me:
Originally posted by: Nothinman
Any cheap card that you find saying it'll do RAID5 will almost certainly be a software fakeRAID card so you might as well just use software RAID.
http://forums.anandtech.com/me...=2166644&enterthread=y

Please don't grossly misinterpret me in such negative ways. Not when you yourself use the same vernacular.

I have ran various tests on performance on both nForce and intel chipset based "software" (hardware but with CPU) raid. I did not try it in linux though, only XP and vista.

So fine, if you run a linux server with OS based raid (no controller interaction whatsoever) you eliminate two of the biggest problems. Leaving the issues of silent data corrupt, write hole, etc etc. Or you can use a proprietary controller with NVRAM to compensate for the write hole, which costs and arm and leg, lacks in features, and introduces a new single point of failure, the controller.

I would go with ZFS. It not only fixes all the problems here, it also provides improvements I have not dared dream about before. I am not only gonna have my cake, I am getting icing and a cherry on top!

PS. From what I have read the issue with the licensing seems to be GPL's fault, it doesn't play nice with other licenses. They are realeasing it under an open license that works fine with the openBSD and other open licenses... And even with closed licenses. All those other OSes are fine and peachy, but once macOS starts shipping with full scale ZFS the pressure would be on microsoft to include it into windows. And THAT, that would be peachy.
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
When someone says software raid, they are typically referring to a raid controller that uses the CPU to do the calculation, rather then a built in processor. Since last I checked windows doesn't do RAID5.

When I say software RAID I mean software RAID, not cheap controller fakeRAID that's done in a 3rd party driver. Windows does do software RAID5 as long as you're running Server.

I have ran various tests on performance on both nForce and intel chipset based "software" (hardware but with CPU) raid. I did not try it in linux though, only XP and vista.

Which aren't the same thing, I'd guess that even Windows software RAID would outperform that fakeRAID stuff and on top of that be more portable and simpler to use.

I would go with ZFS. It not only fixes all the problems here, it also provides improvements I have not dared dream about before. I am not only gonna have my cake, I am getting icing and a cherry on top!

Except that the icing is beef flavored and the cherry is rotten because you have to use Solaris to actually use ZFS.

PS. From what I have read the issue with the licensing seems to be GPL's fault, it doesn't play nice with other licenses.

The restrictions of the GPL have been known forever, the only reason Sun could have for creating a license that's intentionally incompatible with the GPL is to keep the software separate. Most likely because they know that if Linux supported ZFS natively a lot less people would have any reason to consider Solaris. They don't need to worry about OS X and the BSDs because they're not real competition.

They are realeasing it under an open license that works fine with the openBSD and other open licenses...

http://marc.info/?l=openbsd-tech&m=110806948606417&w=2

According to that the OpenBSD people aren't willing to put CDDL'd code into their base tree.

But legally yes the BSD license is compatible with the CDDL because the BSD license is only one step away from public domain, the only way a license could be incompatible with it is if it said directly "You can't use this code with BSD licensed code".

And even with closed licenses.

That's impossible since the CDDL is an open source license that requires the source stay open IIRC. I'm sure Sun is willing to sell copies under closed licenses to interested parties but that's a separate issue.

All those other OSes are fine and peachy, but once macOS starts shipping with full scale ZFS the pressure would be on microsoft to include it into windows. And THAT, that would be peachy.

Even if OS X ships with ZFS as the default root filesystem I doubt it'll matter to MS for a very long time.
 

taltamir

Lifer
Mar 21, 2004
13,576
6
76
how exactly is linux so inherantly better then solaris that solaris is "rotten beef"? Solaris works on x84 platforms and is an open source OS and free. Ship more units? I mean it is already being ported to everything. Even linux (albeit more slowly since more parts need to be rewritten due to licensing issues).

Anyways you go ahead then and champion your devine linux then. And enjoy sub par linux servers.

And as for your nice little conspiracy there. I think the reason they chose to license it the way they did, was so that it would be useable in windows and macOSX. had the released it under GPL it would have been restricted to linux and its flavors. Now its available for almost everything, and with macos x 10.5 and and later maybe even windows, we will finally have a non crappy file system that is ALSO cross platform. Everyone wins. except linux. which could still use it, but will have to wait longer to get it.
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
how exactly is linux so inherantly better then solaris that solaris is "rotten beef"?

Have you used Solaris? Every time I have to do so I yearn for my Debian systems. The kernel itself isn't bad but the package management is terrible and the base system utilities are frustratingly limited compared to the GNU versions. And I only called the cherry rotten because I couldn't come up with a good flavor pun for it. =)

I think the reason they chose to license it the way they did, was so that it would be useable in windows and macOSX. had the released it under GPL it would have been restricted to linux and its flavors.

You have that backwards. The CDDL is just as incompatible with Windows licensing as the GPL so ZFS will never touch Windows without Sun selling MS a custom, closed source license. Parts of Darwin are released under multiple licenses so I can't say if a GPL'd filesystem could be legally added to it without a good bit of work that I'm not willing to do right now. And the GPL and BSD license are perfectly fine so all of the BSDs could use ZFS under the GPL if Sun chose it.

The only tangible benefits that I can come up with for Sun using the CDDL over the GPL are:

1) Sun got to create it so their lawyers are happy
2) It's incompatible with the GPL so there's no chance of "contamination" in either direction with Linux

Now its available for almost everything, and with macos x 10.5 and and later maybe even windows, we will finally have a non crappy file system that is ALSO cross platform. Everyone wins. except linux. which could still use it, but will have to wait longer to get it.

Almost everything? You keep completely ignoring the facts that ZFS won't touch Windows, Linux or OpenBSD (which you ironically mentioned first) with the current licensing issues so the only people "winning" are users of FreeBSD, Solaris and OS X which is a pretty small group of people. =)

And by your definition NTFS and ext2 are currently more cross platform than ZFS because there's drivers for more than just Windows and Linux for them.
 

QuixoticOne

Golden Member
Nov 4, 2005
1,855
0
0
OpenSolaris is great for a file server.

Sure, LINUX has come a long way and I wouldn't really hesitate to consider something like CentOS or Fedora for some kinds of server duties.

But Solaris has always been good in the server space.
It has started to lag a fair bit behind in the consumer desktop PC space compared to something like Ubuntu, but that's not what they're trying to compete in.

I used to run Solaris for years but eventually switched to BSD just when it became feasible and cheaper / more stable to run on x86 platforms with BSD than SPARC platforms with Solaris since Solaris x86 had a lot of hardware compatibility issues for a while for a desktop type of usage.

Is LINUX's ecosystem of packages for things like multimedia and hardware support of things like audio devices, webcams, and so on better than Solaris? Sure, most likely.

Would I personally want to try to port/build stuff like compiz or gstreamer to Solaris if it didn't have a port? No, I'm sure it'd be easier to just install the existing LINUX package on a LINUX box.

But on a file server your MAIN purpose is keeping your data safe and available, and you choose the OS, the drives, the filesystem, and the rest of the system accordingly. As long as OpenSolaris runs on your hardware, it seems to have an advantage in the file server department given that ZFS is a superior filesystem for many uses. If you have to run Solaris to get your filesystem of choice, great, as long as the NFS / SAMBA / ARLA / whatever works then it's pretty irrelevant to the rest of your setup what OS that box runs.

I probably wouldn't WANT to be running a bunch of other stuff like interactive workstation / multimedia programs on my fileserver. It'd only make it much more unstable and insecure.

Package management? Eh IMHO it still sucks in general for all major BSD and LINUX variants. yum still can be a pain in the rear. I understand apt / jigdo / etc. offer some benefits, but I think they still have a long way to go.

Until you can really specify in a machine understandable way all the file locations, permissions, dependencies, et. al. among various packages, AND also have the configuration files for those be automatically managed it'll be a mess.
Now you're lucky if you can remove a single package to upgrade it with a different build without breaking twenty others that ostensibly depend on the first one. And if any local customizations of the package to be replaced have happened you'll have to manually track all those down and port them over to your newer packages' configuration pretty much manually. Good luck. In a typical LINUX environment it is a non-trivial (or 'impossible') operation to even validate that a given package is currently fully installed properly, or to force a reinstallation of an existing installed package (if something might be corrupt or misconfigured).

And despite all the source codes being in something like CVS / Subversion / etc. there's still no light on the horizon for most UNIX/LINUX systems to keep their actual system configuration files or even the packages themselves in a revision control system so you can audit changes and easily make, test, and revert them without a huge risk and tedious process.

And in general clean installs are still often strongly recommended or flat out necessary as opposed to 'upgrades' between major revisions of the SAME LINUX distribution e.g. Fedora 6 -> Fedora 7 or whatever. Until that kind of upgrade works 99% of the time seamlessly I know the package management / configuration management is really not yet so good on LINUX or BSD or Solaris or anything else.

I'd say the worst risks about Solaris (or LINUX or BSD) as a server on PC class hardware would just be possible flakiness due to incompatibilities with closed / proprietary / undocumented motherboard chips like the PATA / SATA controllers, USB controllers, ethernet controllers, etc. ATI and NVIDIA are particularly HORRIBLE about not documenting their chipsets / controllers well enough for 3rd party drivers to be stable, so I'll no longer buy motherboard / controller products with those chipsets.

To this day my NFORCE4 chipset X2 system is way more unstable in LINUX than my newer Intel P35 chipset systems, and that's quite attributable to Intel publically documenting their chips, and NVIDIA not, as well as the Intel stuff being more stable / less quirky / broadly supported in general.

 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
Is LINUX's ecosystem of packages for things like multimedia and hardware support of things like audio devices, webcams, and so on better than Solaris? Sure, most likely.

What I'm talking about has nothing to do with multimedia or hardware support, although both are excellent benefits for me since I prefer to use Linux on my desktops as well.

Package management? Eh IMHO it still sucks in general for all major BSD and LINUX variants. yum still can be a pain in the rear. I understand apt / jigdo / etc. offer some benefits, but I think they still have a long way to go.

Then you're doing something wrong. A good example is a cacti box I had to setup recently so that one of our networking guys could play with it. A base install of Debian in VMWare took maybe a half hour, then I fired up aptitude and selected cacti for installation. That pulled in all of the required packages from Apache and PHP to MySQL. After the packages were installed I started looking through the cacti docs to see what I needed to do to finish the setup but every step in them was already done for me by the packaging scripts. Once I found the default username/password I was in and ready to go.

But on a file server your MAIN purpose is keeping your data safe and available, and you choose the OS, the drives, the filesystem, and the rest of the system accordingly. As long as OpenSolaris runs on your hardware, it seems to have an advantage in the file server department given that ZFS is a superior filesystem for many uses. If you have to run Solaris to get your filesystem of choice, great, as long as the NFS / SAMBA / ARLA / whatever works then it's pretty irrelevant to the rest of your setup what OS that box runs.

But if the system sucks to use, maintain, update, etc then the tradeoff isn't worth it and IMO the benefits of ZFS don't outweight the crap that is the rest of the system.

I probably wouldn't WANT to be running a bunch of other stuff like interactive workstation / multimedia programs on my fileserver. It'd only make it much more unstable and insecure.

Ignoring the fact that installing packages that you won't use won't affect stability at all, I don't install any of that crap on my servers. The cacti box mentioned above has just 221 packages installed and that's a little high because a lot of larger packages like MySQL are broken up into multiple packages.

Until you can really specify in a machine understandable way all the file locations, permissions, dependencies, et. al. among various packages, AND also have the configuration files for those be automatically managed it'll be a mess.

With a properly managed system you don't need to be quite that fine-grained. Saying that package X depends on package Y is good enough. There's no need to specify files directly. And the way dpkg handles config files works well enough, if it can tell that you haven't touched the config file it updates it automatically and if you did touch it you get prompted about the file. And that's the way I like it because if I did change the file then I want to know if it needs fixed after the upgrade.

Good luck. In a typical LINUX environment it is a non-trivial (or 'impossible') operation to even validate that a given package is currently fully installed properly, or to force a reinstallation of an existing installed package (if something might be corrupt or misconfigured).

Again you're doing something wrong. RPM has a built-in verify command that will compare the size, MD5, permissions, etc of the real files to what the package database says they should be and tell you which ones don't match. dpkg doesn't have a similar function AFAIK but there is the debsums package to verify the md5s of all installed files. And forcing a reinstallation is trivial in both systems.

And despite all the source codes being in something like CVS / Subversion / etc. there's still no light on the horizon for most UNIX/LINUX systems to keep their actual system configuration files or even the packages themselves in a revision control system so you can audit changes and easily make, test, and revert them without a huge risk and tedious process.

I've read tons of stories of people keeping /etc, their home directory and other places in a VCS without any problems. In Debian there's a package called etckeeper that will track /etc in a repository which hooks into apt to automatically commit changes during upgrades. I know that I've seen other packages that do similar things but I can't remember their names right now.

And in general clean installs are still often strongly recommended or flat out necessary as opposed to 'upgrades' between major revisions of the SAME LINUX distribution e.g. Fedora 6 -> Fedora 7 or whatever. Until that kind of upgrade works 99% of the time seamlessly I know the package management / configuration management is really not yet so good on LINUX or BSD or Solaris or anything else.

That might be true for Fedora and CentOS but it's definitely not true of Debian or Ubuntu. At home I ran the same Debian install for like 8 years before I finally decided to reinstall and switch to the AMD64 port.