Wednesday, October 13, 2010

RAID Levels Explained

By: Samara Lynn
 
Source
Whether you're looking to optimize performance on your small business server or you just want to defend against total data loss on a NAS box, you need RAID. But what the heck is it, and which RAID do you need? RAID 0? Raid 1? RAID 10? Don't worry, we'll help you pick.
 
Anyone who's ever looked into purchasing a NAS device or server, particularly for a business, has inevitably stumbled across the term "RAID." RAID stands for Redundant Array of Inexpensive or (the more marketing-friendly "Independent) Disks." In general, RAID uses two or more hard disk drives to improve the performance or provide some level of fault tolerance for a machine—typically a NAS or server. Fault tolerance is simply providing a "safety net" for failed hardware, usually a hard drive, by ensuring that the machine with the failed component can still operate. Fault tolerance lessens interruptions in productivity and the chance of data loss.

Hardware RAID

There are two ways to configure RAID: with hardware or software. Hardware RAID is most traditionally implemented in businesses and organizations where disk fault tolerance and optimized performance are must-haves, not luxuries. There are some advantages and disadvantages with hardware-based RAID. It's more expensive, because configuring it requires an additional hardware component, a RAID controller which is a piece of hardware that controls the RAID array. RAID controllers can be internal, meaning they connect inside of a server to the motherboard or external (usually reserved for enterprise, high-level RAID solutions). Hardware- based RAID is also considered a better performing, more efficient way to implement RAID than software RAID. Hardware-based RAID is used most in corporate servers and business-class NAS drives.

Software RAID

Software RAID is arguably not as reliable as hardware RAID, but it's definitely more economical and can still deliver basic fault tolerance. You can't configure RAID arrays as complex with software as you can with hardware, but if you just want to implement mirroring (which is copying data from one drive to another, to keep that data accessible in case a drive fails) then software RAID is a cheaper, less complicated to set up option. Instead of using a bunch of disks and a controller to make an array, some software RAID solutions can use logical partitions on a single disk. That's what makes it both cheaper and less reliable—if that single disk fails completely, your data is gone.

Windows 7 (Pro and Ultimate editions) has inherent support for RAID; you can set up a single disk with two partitions, and have those partitions mirrored (RAID 1) or you can setup disk striping for performance (RAID 0). This type of RAID is available in other operating systems as well like Apple's Snow Leopard Server 10.6, Linux and Windows Server 2003 and 2008. Since this type of RAID already comes as a feature in the OS, the price can't be beat. Software RAID can also comprise of virtual RAID solutions offered by vendors such as Dot Hill to deliver powerful host-based virtual RAID adapters. This is a solution that is more tailored to enterprise networks.

Which RAID Is Right For Me?

Once you've decided whether software or hardware RAID best suits your purposes, you need to pick a RAID level—this refers to how you are going to configure RAID on your device. There are several RAID levels, and the one you choose depends on whether you are using RAID for performance or fault tolerance (or both). It also matters whether you have hardware or software RAID, because software supports fewer levels than hardware-based RAID. In the case of hardware RAID, the type of controller you have matters, too. Different controllers support different levels of RAID and also dictate the kinds of disks you can use in an array: SAS, SATA or SSD).

Here's a rundown on each level of RAID:
  • RAID 0 is used to boost a server's performance. It's also known as "disk striping." With RAID 0, data is written across multiple disks. This means the work that the computer is doing is handled by multiple disks rather than just one, increasing performance because multiple drives are reading and writing data, improving disk I/O. A minimum of two disks is required, but RAID 0 can be implemented with up to four disks. Both software and hardware RAID support RAID 0 as do most controllers. The downside is that there is no fault tolerance. If one disk fails then that affects the entire array and the chances for data loss or corruption increases.
  • RAID 1 is a fault-tolerance configuration known as "disk mirroring." With RAID 1, data is copied seamlessly and simultaneously, from one disk to another, creating a replica, or mirror. If one disk gets fried, the other can keep working. It's the simplest relatively low-cost way to implement fault-tolerance. The downside is that RAID 1 causes a slight drag on performance. RAID 1 can be implemented through either software or hardware RAID. A minimum of two disks are required for RAID 1 hardware implementations. With software RAID 1, instead of two physical disks, data is mirrored between volumes on a single disk. One additional point to remember is that RAID 1 cuts total disk capacity in half: if a server with two 1 TB drives is configured with RAID 1, then total storage capacity will be 1 TB not 2 TB.
  • RAID 5 is by far the most common RAID configuration for business servers and enterprise NAS devices. This RAID level provides better performance than mirroring as well as fault-tolerance. With RAID 5, data and parity (which is additional data used for recovery) are striped across three or more disks. Disk drives typically fail in sectors, rather than the entire drive dying. When RAID 5 is configured, if a portion of a disk fails, that data gets recreated from the remaining data and parity, seamlessly and automatically. This is beneficial because RAID 5 allows many NAS and server drives to be "hot-swappable" meaning in case a drive in the array fails, that drive can be swapped with a new drive without shutting down the server or NAS and without having to interrupt users who may be accessing the server or NAS. It's a great solution for data redundancy, because as drives fail (and they eventually will), the data can be re-built to new disks as failing disks are replaced. RAID 5 can be implemented as a software or hardware solution. You'll get better performance with hardware RAID 5, because the work is done by the controller without taxing the system processor. The downside to RAID 5 is the performance hit to servers that perform a lot of write operations. For example, with RAID 5 on a server that has a database that many employees access in a workday, there could be noticeable lag.
  • RAID 10 is a combination of RAID 1 and 0 and is often denoted as RAID 1+0. It combines the mirroring of RAID 1 with the striping of RAID 0. It's the RAID level that gives the best performance, but it is also costly, requiring two times as many disks of other RAID levels, for a minimum of four. This is the RAID level ideal for highly used database servers or any server that's performing many write operations. RAID 10 can be implemented as hardware or software but the general consensus is that many of the performance advantages are lost when you use software RAID 10. RAID 10 requires a minimum of four disks.
Other RAID Levels   There are other RAID levels: 2, 3, 4, 7, 0+1...but they are really variants of the main RAID configurations already mentioned and used for specific instances. Here are some short descriptions of each:
  • RAID 2 is similar to RAID 5, but instead of disk striping using parity, striping occurs at the bit-level. RAID 2 is seldom deployed because costs to implement are usually prohibitive (a typical setup requires 10 disks) and gives poor performance with some disk I/O operations.
  • RAID 3 is also similar to RAID 5, except this solution requires a dedicated parity drive. RAID 3 is seldom used but in the most specific types of database or processing environments that would benefit from it.
  • RAID 4 is similar to RAID except disk striping happens at the byte level, rather than the bit-level as in RAID 3.
  • RAID 7 is a proprietary level of RAID owned by the now-extinct Storage Computer Corporation.
  • RAID 0+1 is often interchanged for RAID 10 (which is RAID 1+0) but the two are not same. RAID 0+1 is a mirrored array with segments that are RAID 0 arrays. It's implemented in specific infrastructures requiring high performance but not a high level of scalability.
For most small to mid-size business purposes, RAID 0, 1, 5 and in some cases 10 suffice for good fault tolerance and or performance solutions. For most home users RAID 5 may be overkill, but software RAID 1 mirroring provides decent fault tolerance, and hardware mirroring with two physical drives is provides even better, if you can afford it. One last thought: Remember, RAID is not backup, nor does it replace a backup strategy—preferably an automated one. RAID can be a great way to optimize NAS and server performance, but it's only part of an overall disaster recovery solution.

Thursday, December 3, 2009

Are open source programmers fools and suckers?

SOURCE
by David M Williams
Monday, 30 November 2009
Analyst and consultant Josh Greenbaum has criticised the European Commission’s view that Oracle should jettison MySQL. Part of his argument is that MySQL can’t die because it is open source – and, Greenbaum says, this means there is no end of suckers willing to maintain it for free.

This line of argument isn’t new and the open source software model has long been criticised. Microsoft has previously shrugged off open source software as something which doesn’t provide incentive to software developers to innovate.

Greenbaum echoes this when he offers an apology to offended open source professionals by saying he believes their interests are best served by no longer working for free and, effectively, making fat-cat speculative investors rich.

In part, open source software isn’t about money. Young Finnish student Linus Torvalds certainly wasn’t thinking “how can I monetise this?” when he posted his now-famous Usenet post that he’d made a rudimentary Linux-like kernel.

It’s possible Greenbaum hasn’t heard of a little company known as Red Hat Linux. Red Hat is behind two significant Linux distributions today; Fedora and Red Hat Enterprise Linux (RHEL). Anyone can download Fedora for free.

RHEL, on the other hand, is available to enterprises for a license fee. By working with major server vendors like Hewlett Packard (HP) and IBM Red Hat has successfully certified its operating system on hardware that big companies want to use.

Actually, if you want RHEL you can still get it for free, anyway. Being an open source product the source code is available. The CentOS Linux team take this source code, remove the proprietary Red Hat branding, compile and distribute it in the form of CentOS. Thus, you can still have an enterprise-grade Linux at no cost.

Going back further, the Linux kernel is maintained by Linus Torvalds still to this day.

So, while Red Hat is making money from selling Linux perhaps it is the type of fat cat Greenbaum is thinking of, exploiting Torvalds?

Actually, while I have no knowledge of Torvalds wealth or otherwise, he successfully makes a living out of Linux. He is sponsored by the Linux Foundation so that he can devote himself to the operating system without need to pursue other employment. The Linux Foundation in turn draws its revenue from member companies – of which IBM, Red Hat and HP are members, along with Novell and other big names.

Similarly, these large organisations have themselves contributed to the Linux kernel, and take some credit for its continued development and improvement. In fact, 70% of contributions to the Linux kernel have come from companies who are paying developers for this work.

In case you think the Linux kernel is a special case, consider too that the most widely-used web server powering the Internet is Apache, itself an open source project and with source code given away.

Both Linux and Apache are big business. As is WordPress, SugarCRM and many other well-known and widely-used open source systems.

So, are these people chumps? Are they working for free? Can you really make a dime out of open source?

Yes. It’s important to make the distinction that “open source” isn’t the same as “anti-commercial.”

In fact, because open source is accessible – you can download it and use it at no cost and without functionality restrictions – it has a lower barrier to adoption than any commercial product.

Test out SugarCRM, for instance, and if it doesn’t suit your needs you’ve only lost time. By contrast, you will barely find any company that lets you test drive Microsoft CRM without lengthy and costly business analysis and gap analysis and project meetings.

Here’s where one of the primary open source business models kicks in. If customers have your product already and are using it chances are they’ll need help or need some extra feature.

Consequently, open source companies don’t primarily sell licenses but instead services such as support and custom development.

This concept isn’t strange and unusual. Since the dawn of time people have been giving things away in order to sell something else. Telcos offer $0 mobile phone handsets if you sign up on a contract phone plan. Finance companies will give you a television or holiday if you take out your loan with them.

In the same manner giving away software for free is actually a smart move. It encourages adoption and consumption, and increasing consumption of a product increases the size of the market for any ancillary or derivative product or service that accompanies the product.

If the product is unique enough and good enough it can become the market leader. Apache is the world’s leading web server, despite that Microsoft’s Internet Information Server (IIS) ships for free with Microsoft server products.

By being free and very good it’s a mammoth task for any person who thinks they can make a competing commercial web server product. You can’t beat Apache on price so it will take an awful lot of work to beat it on features.

Consequently, companies and individuals providing paid Apache support can expect continued work for years to come. The same for Red Hat with Linux support, for IBM and HP for Linux server hardware sales and support, the same for WordPress and SugarCRM with custom themes and addons.

Indeed, the real ‘suckers’ could possibly be those who continue purchasing proprietary applications and then pay for continued upgrades and maintenance where those products are inferior to open source equivalents.

SOURCE

Tuesday, December 1, 2009

Campbell: Linux presents a competitor to Chrome OS

published: Mon, 30 Nov, 2009

An operating systems war has begun.

The possibility of a series of netbooks available for bargain-basement prices became realistic in the minds of computer buyers because of cloud computing and its lack of hefty hardware requirements.

The war might prove not nearly as bitter as the war waged between avid Windows fans and die-hard Apple supporters, but considering the jabs between Google’s Chrome OS and Jolicloud — a new Ubuntu Linux-based cloud operating system for netbooks — the battle looks like it could get pretty heated.

Private invitation-only users currently test Jolicloud, but some people arguing on Computerworld.com’s blogs have, as well.

The approaches that Google and Jolicloud have taken in developing an operating system for “The Cloud” seem to create the main source of contention.

The two operating systems are similar in that their respective developers designed them for low-cost netbooks. They also both rely on Internet applications to provide most of their functionalities.

Both operating systems will allow users to function without a large hard drive, as servers on the Internet store all the data — hence the moniker “cloud.”

Both machines rely heavily on Internet technologies, specifically HTML, JavaScript and CSS, for user interface function and are geared toward running Web applications.

Both operating systems will sport user interfaces that allow quick and easy access to Internet-based information.

Not surprisingly, both operating systems’ developers cite the separation of the Internet and the local machine, prevalent in modern incarnations of Windows, Mac OS X and traditional Linux distributions, as problematic and inefficient.

They differ in underlying platform and generic outlook on the way to look forward for cloud-oriented netbooks.

Google, according to an article on Computerworld.com describing Jolicloud, will actively prevent users from utilizing hard drives on its Chrome OS-enabled netbooks.

It will instead utilize smaller bits of on-board memory for temporary storage, and it will rely completely on the cloud for long-term data storage and application support.

Jolicloud will more resemble traditional Linux, specifically Ubuntu Linux, in that it will include support for hard drives and will gear users’ activities toward the cloud.

Eric Lai, the author of a Computerworld.com article about Jolicloud, described Jolicloud’s approach as allowing some limited local storage, using hard drives within Jolicloud-enabled netbooks, for saving data that users feel reluctant to publish to the cloud.

Jolicloud will also allow users to run specific applications — Lai specifically cites Skype — from a local machine, rather than relying on the cloud to provide application support.

Its developers have also started promoting Jolicloud’s inherent graphical abilities.

Jolicloud has support for the graphics chips that are common among the industry’s top-selling netbooks, allowing them to display high definition graphics. Jolicloud also trumpets a complex, Mac-like user interface.

Tariq Krim, the CEO of Jolicloud, described Google Chrome’s user interface alternatively as “generic.”
In this way, Jolicloud appears to promote itself as a Linux platform first and a cloud solution a close second — Google’s Chrome is comparatively uninterested in pure graphical ability, insofar as it exceeds the requirements of attractive, efficient Internet rendering.

Google plans on aggressively going after the netbook market, while Jolicloud seems to plan to taking over the netbook market by evolution.

Google has started actively seeking contracts with various netbook manufacturers, Lai wrote, to have Chrome shipped with many netbook devices.

Jolicloud’s makers seems content to provide users with a free download of its eventual final product, making it simply to dual-boot machines for users who do not wish to convert entirely and permanently to Jolicloud.

Jolicloud might ultimately prove to be a legitimate competitor to Google’s previously-published plans to take over the netbook market.

Its course seems less severe than Google’s in that its design doesn’t force users to abandon locally stored data and applications.

Ubuntu, the underlying distribution that led to Jolicloud, is also extremely popular. Jolicloud might gain market share simply by having loyal Ubuntu users switching to it on their machines to take advantage of cloud-centric features.

The graphical abilities of Jolicloud and its inherent hardware support of the graphics chips on many popular netbooks will also make the operating system a less painful, and possibly beneficial, transition for users accustomed to traditional Ubuntu distributions on their netbook devices.

SOURCE

Thursday, October 15, 2009

Five ways the Linux desktop shoots itself in the foot

Source

Steven J. Vaughan-Nichols
Cyber Cynic

I don't just write about the Linux desktop; I use it every day. At my desk, I tend to use MEPIS and Mint, while on the road, it's Ubuntu on my Dell netbook and openSUSE on my Lenovo ThinkPad. I do this because they work well and they're as safe as a desktop operating system can get. So why aren't more people using them?

Microsoft is the biggest reason. Microsoft is a jealous monopoly that doesn't want to share the desktop with anyone. Desktop Linux is just another target in a long list that has included OS/2, DR-DOS, and -- that eternal thorn in their side -- the Mac. It's no surprise, then, to see in the history of the Linux desktop that Microsoft has always tried to crush it.

The very first attempt at a mass-market Linux desktop, 1999's Corel Linux Desktop, lasted less than a year. Why? In 2000, Microsoft paid off debt-ridden Corel to kill it.

Much more recently, Microsoft, caught by surprise by the rise of Linux-powered netbooks, brought XP Home back from the dead and offered it to OEMs (original equipment manufacturers) for next to nothing to stem Linux's rise on low-end netbooks.

It's hard to beat a monopoly that will do whatever it takes to make sure people don't see there's a better, cheaper alternative. I understand that. At the same time, Linux has shot itself in the foot quite often. How?

1) Lack of Linux vendor support

Every Linux distribution has a desktop version. But how many of them actively try to sell them? Not many. Red Hat is the number one Linux vendor, but makes its hundreds of millions from the server, not from the desktop. Canonical, Ubuntu's parent company, has arguably the most popular Linux desktop, but if you look closely, you'll see its hopes for making significant profits lie in server and cloud-based services.

Only Novell, with SLED (SUSE Linux Enterprise Desktop), tries to make a real business out of the desktop. For everyone else, the desktop gets a lot of lip service, but it's not really part of their core business plans.

2) Lack of Linux advertising and marketing

Companies like IBM and Oracle have made billions from Linux. Along the way, they've spent some advertising and marketing dollars on Linux. But neither they nor anyone else have spent more than pocket change on promoting the Linux desktop.

Think about it. If you use the Linux desktop, chances are you're a techie who deliberately sought it out. Even now, most people have never even heard of Ubuntu, never mind any of the rest.

3) Too much bad techie attitude

In 2009, any reasonably smart person can use any major Linux distribution without much trouble. You can run Linux without ever seeing a shell or manually tuning a conf file. But what if someone new does run into a problem with installing Adobe Flash and asks for help online?

If he or she is lucky, they'll get a considerable and informative answer from an Ubuntu forum or LinuxQuestions. But all too often, I've seen such questions answered with responses like "RTFM you noob! What are you doing running that trash distro anyway! It's GNU/Linux, not Linux!"

Yeah, that's going to encourage new users. If you don't have anything nice and informative to say to new Linux users, then don't say anything. Far too many Linux users seem to confuse acting superior and being rude with how people should act online. It's not.

4) Too much infighting

In a little over a week, Windows 7 is coming out. So, what are hardcore Linux users doing to get ready for the coming of the next major threat to the Linux desktop? A lot of them are fighting about whether Miguel de Icaza, founder of the GNOME and the Mono implementation of .NET on Linux, is "a traitor to the Free Software community."

This is just the latest chapter in the ongoing fight between free-software purists and open-source pragmatists. It's an obnoxious little war that's been flaming up over one personality or issue or another for ages now. I am so tired of this bickering — and more to the point, no one outside of certain developer circles cares. What does matter that is anyone from the outside looking in sees not a group of rational people working to create great systems, but a bunch of loonies fighting over ideological issues.

While otherwise bright people continue to squabble, Microsoft keeps quietly gaining more mind-share and users every day. Good work team!

5) Not enough developer co-operation

Back in 2005, a miracle happened. Linux desktop developers from feuding camps came together in the Portland Project and found out that, when they talked to each other face to face instead of screaming at each other over IRC (Internet Relay Chat), they had more in common than they ever would have believed. The result was a lot of useful cooperation between KDE and GNOME Linux developers.

That's the good news. The bad news is, after two years of working together well, the programmers began drifting away again to work on their own little development islands. There are still efforts afoot to keep Linux desktop programming coordination going, but it's nothing as concrete as it once was.

If Linux is to attract more ISV (independent software vendors) to make desktop programs, the desktop programmers must keep working on interoperability. No ISV wants to write one version of their program for Debian, another for Fedora, and yet another for openSUSE. If the Linux desktop developers keep wandering apart from each other, we'll lose those ISVs, like Adobe, that are willing to release some programs for Linux. That, in turn, will make desktop Linux less attractive to end-users.

If Linux gets all these things right, will it stop the Windows desktop monopoly? Nope. But it will be a good start towards making desktop Linux more competitive. If nothing else, making sure that users always have a good, inexpensive alternative to Windows will always be a worthwhile goal.


SOURCE