General IT

QR Code Generator

posted 19 Aug 2011 07:47 by Tristan Self

QR codes are cool, fact.

Generate some of your own to stick around the place, then get a barcode reader on your smartphone to start using them.

http://code.google.com/apis/chart/image/docs/chart_wizard.html

Asterisk Grandstream BudgeTone 100 Attended and Unattended Transfers

posted 23 Jun 2011 11:21 by Tristan Self

An attended transfer is one where a user A recieves an external call, he wishes to transfer to user B, user A calls user B and confirms they are willing to take the call then if they confirm they transfer to user B if not they hang up.

An unattended (blind) transfer is one where user A recieves an external call, he wishes to transfer to user B, user A transfers to user B and hangs up. If user B is busy or doesnt answer the call goes to voicemail.

On Asterisk there is talk of using the features.conf file to specify a short code (e.g. *2) to perform a transfer, ive tested this and never been able to make it work, however I have managed to find a way it can be done by using the manual!

To perform an attended transfer:

1. Answer call.

2. Press the "FLASH" button, you will then hear a dial tone.

3. Dial the third party's (phone you want to transfer to) number and press "SEND"

4. If the call is answered and the user wants the call press "TRANSFER" to complete the transfer.

4a. If the call is not answered pressing the "FLASH" button to resume the call.

To perform an unattended blind transfer.

1. Answer call.

2. Press the "TRANSFER" button, you will then hear a dial tone.

3. Dial the third party's (phone you want to transfer to) number and press "SEND"

4. Hang up your phone.

Viewing CHM file from a UNC path

posted 15 Jun 2011 05:14 by Tristan Self

I was viewing a CHM file from a UNC path, and was getting a "page cannot be displayed error", this appears to be down to the CHM file being read by Internet explorer, as it thinks this is a remote site it applies the internet zone restrictions.
 
To workaround this I copied the CHM file from the UNC path to my local hard disk and then ran it from there, and hey presto it works fine.

Visual Basic Tutorial

posted 13 Jun 2011 11:48 by Tristan Self   [ updated 23 Jun 2011 11:39 ]

Visual Basic is a more complex and updated version of an old programming language known as BASIC. BASIC stands for Beginners All Purpose Symbolic Instruction Code.

BASIC became popular as a simple high-level programming language due to its simplicity and its ease to learn, that why most people now probably learnt to program with BASIC.

So what about Visual Basic then? Well back in the day around 1984 there were two competing software companies, Apple and Microsoft. The Apple Macintosh had a BASIC language called MacBasic it allowed a kind of Object Oriented way of programming and the use of controls to build a GUI (Graphical User Interface).

Then along came Hypercard written by one of Apple's top programmers. This again "copied" or a alternative was developed by Microsoft that became Visual Basic in Windows 3.0. And now there was Visual Basic that has moved from Version 1 on Windows 3.0 to Visual Basic.NET on the Win32 platform.

For more history information check out the links below.

Below you will find the notes I used to teach the course, they cover the basics then some more advanced concepts, I hope they are of use to someone! They are in alphabetical, but most topics build on something more basic before.

All files are provided in Microsoft Word 2000 format, please see the attachments to this post.

The documents shown here are composite documents of my own work and the odd bits from other people's Visual Basic documentation from the Internet. Many thanks to those who provide any information on Visual Basic it helped me compile this lot!

Related Links

http://www.hitmill.com/programming/vb/beginner.html - Good history of Visual Basic.

http://www.vbexplorer.com/VBExplorer/VBExplorer.asp - A useful resource.

http://www.officecomputertraining.com/vbtutorial/tutpages/default.asp - All you need to know about Visual Basic.


Wargames

posted 13 Jun 2011 11:46 by Tristan Self

At least once a year in the UK on a Bank Holiday the film WarGames is shown, possibly the best film about computer hackers ever made, as the inspiration for films such as Hackers, Swordfish, Sneakers, The Net and others. The computers and technology in it may be dated but its still an excellent sci-fi computer movie.


Year: 1983

Studio: MGM

Director: John Badham

Starring: Matthew Broderick, Ally Sheedy, John Wood, Dabney Coleman, Barry Corbin, Michael Madsen.

Trailer: IMDB.com

Synopsis

David Lightman (Matthew Broderick) is a computer whizz kid, the first of many computer geeks.

Despite how clever he is isn't doing well in school and so hacks into the schools computer system to change his grades. He demonstrates his computing tom-foolery to his new friend Jennifer Mack (Ally Sheedy).

David see an interesting advert in a magazine about computer games company. He tries to hack in to find games that have not been released yet but stumbles upon something far more dangerous than a computer game, and starts a game that may end in the end of the world.

LOGON:_

"Is it a Game....or is it Real?"


Background Information

The 1983 WarGames movie has been defined many times as a cult film. Starring Matthew Broderick, the story takes place during the peak of the Cold War: the Ronald Reagan years. 

The film builds on the public fear of nuclear war and the fears over the advent of new technologies that the general public did not comprehend at the time.

David Lightman is a young computer genius who can get by at school by trafficking his grades. While on a "wardialing" search for new video games he would stumble on an intelligent NORAD computer which will let him play a simulation of World War III.


Interesting Facts

  • The NORAD mainframe to which Matthew Broderick's character finds a backdoor was called "W.O.P.R." in the movie. In the late '70s, NORAD's central processor was named "B.U.R.G.R."
  • Kevin Costner turned down the lead role for a part in The Big Chill (1983) which was eventually cut.
  • The computer used to break into NORAD was programmed to make the correct words appear on the screen, no matter which keys were pressed.
  • The NORAD command center built for the movie was the most expensive set ever constructed up to that time, built at the cost of one million dollars. The producers were not allowed into the actual NORAD command center, so they had to imagine what it was like.

Quotes

WarGames has some fantastic quotes, so listed below are some of my favorites.

Mr. Liggett- Alright, Lightman. Maybe you can tell us who first suggested the idea of reproduction without sex.
David Lightman- Um, your wife?

Nigan- He does fit the profile perfectly. He's intelligent, but an underachiever; alienated from his parents; has few friends. Classic case for recruitment by the Soviets.

Joshua- Greetings, Professor Falken.
Stephen Falken- Hello, Joshua.
Joshua- A strange game. The only winning move is not to play. How about a nice game of chess?


Other WarGames Links

http://www.fast-rewind.com/wargames.htm

http://www.imsai.net/Movies/WarGames.htm

http://www-public.rz.uni-duesseldorf.de/~ritterd/wargames/warmain.htm

What is ADSL?

posted 13 Jun 2011 11:44 by Tristan Self

The increasing use of the Internet is driving the use of ADSL among businesses and homes, more and more people are getting hooked up and using ADSL and the Internet in new and exciting ways, running more services and using their internet connection to links networks through VPN and running their own web servers.

Getting ADSL can be a bit confusing, so this guide should give you some help when deciding what ISP and also how you go about getting wired up with a super fast Internet connection.


What is ADSL?

ADSL is an Asymmetric Digital Subscriber Line, well basically its a way to get high bandwidth data services down some old twisted pair copper wire. Basically ADSL is operated by BT (British Telecom) and you sign up to an ISP (Internet Service Provider) who provides your Internet connection via BT ADSL ATM (Asynchronous Transfer Mode) network. The ISP could be BT but there are over 100 ISP offering ADSL services via BT lines, check www.adslguide.org.uk to see a list of ISPs and reviews of them.


How does it Work?

Information about how BT's ATM network works is near impossible to find, but ive come up with a diagram which is kind of how it works.

Below is a diagram of how the whole thing works then underneath that each specific section explained.

Basically when you make a request of something from the Internet the request is passed to your modem or router which then goes through your line splitter to the phone line to the exchange, this is then routed through BTs ATM network to the home gateway where it connects to your specific ISP and thus the Internet.

Other ISPs also offer their services in the same way across the same system, that's why switching ISP when on ADSL is as easy as changing settings in your router or modem and within a few seconds it can be changed to use the new ISP.

Listed below is the various parts and a more details explanation of what they are.

Modem/Router

This is some hardware that converts the ADSL line signals into computer signals and back a again. You need one of these, whether it be a router or a modem its up to you.

Microfilter/Spliter

Its the thing that filters out the telephoen voice calls from the ADSL Internet signals, see the section below marked "What is a Microfilter?" for more details.

Local Loop

The lines between a customer and the telephone company's central office, often called the "last mile." Local loops use copper-based telephone wire.

Local Exchange

This is the local exchange where your telephone supplier connects your local line to its main telephone network. Basically its a load of switches.

BTs ATM Network

Asynchronous Transfer Mode A network technology for both local and wide area networks (LANs and WANs) that supports realtime voice and video as well as data. The topology uses switches that establish a logical circuit from end to end, which guarantees quality of service (QoS). However, unlike telephone switches that dedicate circuits end to end, unused bandwidth in ATM's logical circuits can be appropriated when needed. For example, idle bandwidth in a videoconference circuit can be used to transfer data.

ATM is used so BT can supply its data services through it a scalable speed of of 1.5, 25, 100, 155, 622, 2488 and 9953 Mbps (see OC). ATM is also running as slow as 9.6 Kbps between ships at sea. An ATM switch can be added into the middle of a switch fabric to enhance total capacity, and the new switch is automatically updated using ATM's PNNI routing protocol.

Home Gateway

Not totally sure what this is but is seems to connect you to your specific ISP through the ATM network, it is changed if you change ISP, the connection switch is made logically, i.e. not moving wires done on a computer.

Your ISP

An ISP or Internet Service Provider is an organization that provides access to the Internet. Small Internet service providers (ISPs) provide service via modem and ISDN and ADSL while the larger ones also offer private line hookups (T1, fractional T1, etc.). Customers are generally billed a fixed rate per month, but other charges may apply. 

Large Internet services, such as America Online (AOL) and Microsoft Network (MSN), also provide proprietary databases, forums and services in addition to Internet access. 


What is RADSL?

It is essentially ADSL except its Rate Adjusted Asymmetric Digital Subscriber Line, what this means is that the upstream channel is rate adjusted meaning its speed can vary depending on line conditions, this makes the theoretical maximum distance from the exchange that a subscriber can be increase from 3.3km to around 5.5km.


I want ADSL, how do I get it?

Firstly check on the BT website or check on the ADSL Guide website (and go for "Availability Check") to see if your local exchange has been ADSL enabled.

If it hasn't all is not lost your can check the demand tracker to see if your exchange will be cabled soon, and you can add your interest on the BT site or on the ADSL Guide site.

If your local exchange is enabled start looking for an ISP, you can find one from the ADSL Guide site. Once you have found one that you like the look of go to their site and register.

Once registered and normally you will need to pay a connection fee the ADSL will be set to be installed by BT. BT will conduct line checks to see that your line is ADSL capable. The "lead time" as they call it is around 2 weeks but can be shorter.

Assuming all is well with the line you should be notified by your ISP and/or BT when your line is ready. Now you can buy the ADSL equipment (Router, Microfilter) or if you selected a ISP that provides a modem and microfilter you can now install it.

You should have been supplied with all the information you need to install your ADSL and get it working. This should include things like usernames and passwords, connection settings and DNS server IP addresses and the like.

You should be ready to start surfing.


Choosing an ISP

There are loads of ISPs out there that can provide your Internet connection, they all offer something slightly different and for a different price. Check out the ADSL guide website for a ISP summary http://www.adslguide.org.uk/isps/summarylist.asp.


What's Best a Router? or a Modem?

It depends. If you have only one computer in your house and no network a modem is the cheapest way to go, also if you have little computer experience this is the most simple way to connect.

However if you have more than one computer and probably a network, a router is best, although it is more expensive it will allow you to use your ADSL in a more flexible way. This is what I have got, I have a Draytek Vigor2600 ADSL router, its only about £120 ($150) and is packed with features.


What's a Microfilter?

A microfilter splits your normal voice telephone signals from the broadband Internet signals on your phone line. Without one you will be able to hear interference when you use your telephone. It also makes sure the ADSL line is terminated properly it stops reflections down the line that could cause errors on the ADSL line.



I live in the middle of nowhere and can't get ADSL what do I do?

There are some alternatives, these include things like Satellite Internet, ISDN or joining a wireless or broadband community scheme. Some links are shown below:

http://www.abcampaign.org.uk/ - Access to Broadband Campaign.

http://www.communitywireless.org/ - Community Wireless.


Can I use an analog modem or fax machine on the same line as the ADSL?

As far as I know yes, you can. However I have read somewhere that the performance of the analog modem or fax machine will be reduced because of ADSL on the same line. This seems to make sense but also doesn't make sense, the modem should only use the range of frequencies used by a normal phone call so should not be affected by the ADSL. But the simple answer is yes.


Whats the difference between PPPoE and PPPoA?

Both of these protocols are layers between the ATM and Point to Point Protocol (PPP). A PPP over ATM (PPPoA) session indicates that PPP protocol is running on top of the ATM layers. A PPP over Ethernet (PPPoE), indicates that the PPP session is running over an Ethernet protocol that in turn is running over ATM. Technically PPPoE should be called
PPPoEoA in ADSL networks.

Also possibly the main difference is that PPPoA is for the UK/Europe and PPPoE is for the US. Though always check with your ISP and equipment supplier before purchase.


Related Links

http://www.adslguide.org.uk/ - ADSLGuide, one of the best for UK ADSL services.

http://www.multithread.co.uk/adsl/ - Another good ADSL site.

http://www.wown.com/articles_tutorials/adslinfo.html - More good information.

Telnet to POP3 or SMTP for Testing

posted 13 Jun 2011 11:43 by Tristan Self

Email is a tricky thing to do right, though a couple of simple tools can help you test your mail server before you start to use it, i.e. make sure mail can be delivered correctly to a users mailbox. Also it can help diagnosing certain problems that you might have with your email.

POP - Post Office Protocol is for recieving mail, this is the slightly simpler service to use.

SMTP - Simple Mail Transfer Protocol, this is used for delivery of mail between mail servers. There are certain rules that are useful when diagnosing problems with SMTP servers, check out www.dnsstuff.com and also www.dnsreport.com for more details.

For more information regarding how to use telnet to POP3 or SMTP see the sections below:


Telnet to POP3

It is possible, with many ISPs, to use a Telnet program to do maintenance on your mailbox on the POP3 mail server. This allows you to look at, and possibly delete, any problem causing message (e.g. too large to download, improperly formatted message, etc.) 

You'll be surprised how often this can happen especially if targeted by hackers who use "mail bombs" to fill up your inbox.

First load up a telnet client, such as the one included in windows. In Win '95, '98, click "Start" then "Run" then enter:

telnet name.of.host portnumber

telnet = The name of the program.

name.of.host = The address of your mail server. (e.g. mail.fastisp.com)

portnumber = The port used for mail, normally 110.

You may want to enable "local echo" so you can see what you are typing (quite handy!)

Now Connect.....

1. Enter the above command substituting the correct server address and port number.

2. You should now see this: "+OK InterMail POP3 server ready."

3. Type: "user yourusername" Where yourusername is your user name.

4. Assuming that is accepted type : "pass yourpassword" where yourpassword is your password.

5. You should then see: " +OK yourusername is welcome here" or something like it.

6. Now you can use the commands to edit your mail box see the list below:

USER userid
This must be the first command after the connect. Supply your e-mail userid (not the full e-mail address). Example: USER john.smith

PASS password
This must be the next command after USER. Supply your e-mail password. The password may be case sensitive.

The following commands may be used as needed:

STAT
The response to this is: +OK #msgs #bytes Where #msgs is the number of messages in the mail box and #bytes is the total bytes used by all messages. Sample response: +OK 3 345910

LIST
The response to this lists a line for each message with its number and size in bytes, ending with a period on a line by itself. Sample response:
+OK 3 messages
1 1205
2 305
3 344400
.

RETR msg#
This sends message number msg# to you (displays on the Telnet screen). You probably don't want to do this in Telnet (unless you have turned on Telnet logging). Example: RETR 2

TOP msg# #lines
This is an optional POP3 command. Not all POP3 servers support it. It lists the header for msg# and the first #lines of the message text. For example, TOP 1 0 would list just the headers for message 1, where as TOP 1 5 would list the headers and first 5 lines of the message text.

DELE msg#
This marks message number msg# for deletion from the server. This is the way to get rid a problem causing message. It is not actually deleted until the QUIT command is issued. If you lose the connection to the mail server before issuing the QUIT command, the server should not delete any messages. Example: DELE 3

RSET
This resets (unmarks) any messages previously marked for deletion in this session so that the QUIT command will not delete them.

QUIT
This deletes any messages marked for deletion, and then logs you off of the mail server. This is the last command to use. This does not disconnect you from the ISP, just the mailbox.


Telnet to SMTP

Telneting to SMTP is quite straight forward, though for this example will use the following email addreses etc:

Sender Address: bert@sendthatmail.com

Reciever Address: jimmy@givememail.com

Reciever Mail Server: mail.givememail.com

Connecting to SMTP Port

Telnet to port 25 using the following command: telnet mail.givememail.com 25

If you are connected you should see something like:

Trying A.B.C.D...
Connected to mail.givememail.com.
Escape character is '^]'.
220 mail.givememail.com ESMTP Exim 4.04 Wed, 13 Nov 2002 16:27:42 -0700

 

Now you need to use the HELO command followed by the senders domain i.e. sendthatmail.com: helo sendthatmail.com

Now you have done that you should see:

250 mail.givememail.com Hello sendthatmail.com [E.F.G.H]

 

Now you need to enter the "MAIL FROM:" command followed by the sender's whole email address: mail from: bert@sendthatmail.com

You will then see:

250 OK

 

Now put in the reciever address using the command: rcpt to: jimmy@givememail.com

You will then see:

250 Accepted

 

Now you need to type in the mail message use the "DATA" command as shown below:

data
354 Enter message, ending with "." on a line by itself
Subject:Test Message
This is a test message.
.

Once completed you should see this:

250 OK id=18C6vd-0005Ey-00

 

Now when you are done, type in "QUIT" to end the session.


Below is a quick summary that I found from the Internet regarding this, quite handy just for quick reference:

root@Linux:/> telnet mailhub.somedomain.com 25
Trying A.B.C.D...
Connected to mailhub.somedomain.com.
Escape character is '^]'.
220 mailhub.somedomain.com ESMTP Exim 4.04 Wed, 13 Nov 2002 16:27:42 -0700
helo someotherdomain.com
250 mailhub.somedomain.com Hello someotherdomain.com [E.F.G.H]
mail from: Jim@someotherdomain.com
250 OK
rcpt to: Joe@somedomain.com
250 Accepted
data
354 Enter message, ending with "." on a line by itself
Subject:Test Message
This is a test message.
.
250 OK id=18C6vd-0005Ey-00
quit

RAID - Redundant Array of Inexpensive Disks

posted 12 Jun 2011 07:27 by Tristan Self   [ updated 12 Jun 2011 07:39 ]

RAID (Redundant Array of Inexpensive Disks) is a way of organising and using disks (Hard Disks) to increase performance or provide fault tolerance. RAID can also be set up to provide both functions at the same time. 

RAID is a set of two or more ordinary hard disks and a specialized disk controller that contains the RAID functionality. Developed initially for servers and stand-alone disk storage systems, RAID is increasingly popular in desktop PCs.

RAID can be implemented by using software or by using hardware, both do essentially the same thing, except the hardware is faster, especially when rebuilding after a failure.

RAID Levels

Raid can be setup in plethora of different ways, each one is called a level, these range from Level 0 to Level 53. The characteristics, applications, advantages and disadvantages are discussed below.

Additional RAID Information

Additional information regarding RAID and its implementations are discussed below, these include implementations by hardware or software and how it can be done in Windows 2000 Server software RAID.


RAID Level 0 - Striping

RAID 0 is a disk array where the data is broken down into blocks and each block is written to a different drive. Normally a striped disk array has 2 disks with a data is written partly to drive 1 and the next part of the data to disk 2. So a file which is split into A, B, C, D. It would be written to the drives like this: Drive 1 = A and C, Drive 2 = B and D.



Advantages

  • The output and input of the drive(s) is greatly improved as the computer can read from the two drives simultaneously and thus can spread the load across both for better performance.
  • No parity calculation overhead is involved.
  • Very Simple Design
  • Easy to Implement.

Disadvantages

  • No fault tolerance, i.e. if one of the disks breaks all the data is lost, even though the other disk might be okay the both disks are needed to get any data.
  • Should never be used in mission critical applications.

Applications

Striping is useful for applications where you need maximum input and output, this is normally video and audio applications.

  • Video Production and Editing
  • Image Editing
  • Pre-Press Applications
  • Any application requiring high bandwidth

RAID Level 1 - Mirroring

Mirroring is where the data is duplicated in its entirety and copied to one or more disks, so the data is "mirrored" across 2 or more disks. This gives 100% redundancy of data it also requires a large overhead. This is one of the best forms of RAID as far as redundancy and speed of disaster recovery. In the diagram below the data "A" is duplicated on both disk 1 and 2.

Advantages

  • Increased read throughput as there can be one write and two reads possible per mirrored pair.
  • 100% data redundancy means not rebuild is necessary in case of disk failure the contents can just be copied off to the new disk.
  • In certain circumstances RAID 1 can sustain multiple drive failures. (Very Cool!)
  • Simplest RAID storage subsystem design.

Disadvantages

  • Highest disk overhead of all RAID types, 100% redundancy so higher cost for more disk space and inefficiency.
  • Software RAID 1 can be done via software however this can cause slow down on high load servers, hardware recommended, additional cost from this.
  • "Hot Swap" of failed disk may not implemented in software RAID.

Applications

Anything were you have to have the data with very high availability, so the basis of a person's or a companies operations. (This is what I use on my fileserver.)

  • Accounting
  • Payroll
  • Financial
  • All other critical data storage applications.

RAID Level 2 - Hamming Code ECC

The Hamming Code ECC RAID system is quite complicated, it requires many disks, some used as storage and the rest used to store ECC (Error Correction Codes) for the data stored on the other disks. Using the example below, the idea is that each bit of data is written to on of the disk drives (4 of them labeled 0 to 3). Each data word written to the disks also has its Hamming Code ECC recorded on the ECC Disks. When the data is read back ECC code verifies data or corrects single disk errors.

Advantages

  • "On the fly" data error correction.

  • Very high data transfer rates possible.

  • Relatively simple controller design compared to RAID levels 3.4 & 5.

Disadvantages

  • Very high ratio of ECC disks to data disks when smaller word sizes are used.

  • Very Expensive, when you've got to have the highest possible transfer rates you can probably justify it.

  • No commercial implementations exist and its not very commercially viable due to the cost!

Applications

As there are no commercial implementations there are no real applications however things like video editing or digital movie production or the "Toy Story" type CGI (Computer Generated Images) movie might find this useful.


RAID Level 3 - Bit Interleaved Parity Organisation

RAID 3 is a commonly used RAID level, it is common as it is of moderate cost to implement, but has very high read and write access and transfer rates it also handles any drive failure well and this failure has no real impact on the read and write speeds (throughput) of the drives. The example below uses 3 disks to implement RAID 3, this is the minimum number of drives required to implement RAID 3, other flavors of RAID 3 can have 4 or 5 drives. The basic idea is that the data is written across the multiple disks, the data is striped across the disks. At the same time the parity information is sent to a dedicated parity disk. Any (one) of the disks can fail without loss of data. The dedicated parity disk can be a performance bottleneck as it must be accessed every time something accesses the array.

The stripe parity is generated on writes and recorded on the parity disk, and then checked on the reads.

Advantages

  • Very high read data transfer rate.
  • Very high write data transfer rate.
  • Disk failure has an insignificant impact on throughput.
  • Low ratio of ECC (Parity) disks to data disks means high efficiency.

Disadvantages

  • Transaction rate equal to that of a single drive at best (if spindles are synchronised.)
  • Controller design is fairly complex.
  • Very difficult and resource intensive to do as a "software" RAID.

Applications

  • Video Production and live streaming
  • Image Editing
  • Video Editing
  • Any application requiring high throughput.

RAID Level 4 - Block Interleaved Parity Organisation

RAID 4 is like RAID 3, except the entire block of data is written onto a data disk (striped by blocks) rather than striping bytes like used in RAID 3. By doing this random access performance is increased compared to RAID 3 but the dedicated parity disk still remains a bottleneck. 

The system works in the same way by generating parity on writes recording it to the parity disk and this is checked when data is read from the array. 

Advantages

  • Very high read data transfer rate.
  • High aggregate read transfer rate.
  • Low ratio of ECC (Parity) disks to data disks means high efficiency.
  • Better random access performance than RAID 3 because of storing data as blocks rather than as bits.

Disadvantages

  • Worst Write transaction rate and Write aggregate transfer rate.
  • Controller design is fairly complex.
  • Difficult and inefficient data rebuild in the event of disk failure.

Applications

  • Video Production and live streaming
  • Image Editing
  • Video Editing
  • Any application requiring high throughput, but with faster random access times.

RAID Level 5 - Block Interleaved Distributed Parity

The basic idea is the same as RAID 3 and 4, when data is written to disk parity is generated and then stored on another disk (i.e. in a distributed location.) On reads the data is read back and its parity is checked. As you can see from the diagram the parity from drive 1 is stored on drive 2 and parity for drive 2 is stored on drive 3 and so on. In reality the blocks that are written are written in a more complex way so that parity for all the drives is stored on all the drives too.

Advantages

  • Highest read data transaction rate.
  • Medium write data transaction rate.
  • Low ratio of ECC (Parity) disks to data disks means high efficiency.
  • Good aggregate transfer rate.

Disadvantages

  • A failure of a disk has an average impact on throughput.
  • Most complex controller design, means highest cost.
  • Difficult to rebuild the data in the event of a disk failure, compared to RAID 1.
  • Individual block data transfer rate the same as a single disk.

Applications

  • Servers of any description really: File and Application Servers.
  • Database Servers
  • Web Servers, E-Mail and News Servers
  • Intranet Servers

RAID Level 6 - P+Q Redundancy Scheme

RAID 6 is like RAID 5 except it has two distributed parity schemes so by doing this it increases the fault tolerance of the array. Data is striped at block level like in RAID 5 and when data is written a second set of parity is generated and written across all the drives, like with RAID 5 but twice. This makes very high fault tolerance and the array can sustain multiple simultaneous drives failures, pretty neat!

This is the ideal solution for a mission critical application, such as storage of a company's files, without the data there would be no company.

Advantages

  • Some of the advantages of RAID 5
  • Very high fault tolerance that allows for multiple simultaneous drive failures.

Disadvantages

  • More complex controller design.
  • Controller overhead to compute parity address is very high because of the 2-Dimensional parity scheme.
  • Write performance not as good as RAID 5.
  • Requires N+2 drives to implement because of the 2-Dimensional array.

Applications

  • Servers of any description really: File and Application Servers.
  • Database Servers
  • Web Servers, E-Mail and News Servers
  • Intranet Servers
  • Mission Critical Storage Applications

RAID Level 7 - Optimised Asynchrony

This is an uncommon custom built RAID array, but has very high I/O rates as well as very high data transfer rates. All the data on the disks is cached and parity calculated, the cache help ensure that the array works with very high I/O and data rates. A real time operating system controls the array and its processors.

Advantages

  • Write performance is between 25% and 90% better than single spindle performance and is between 1.5 and 6 times better than other array levels.
  • The host interfaces are scalable for more systems to be connected or for increased bandwidth to each host.
  • Small reads in this multi user environment can have very high cache hit rate giving very short access times.
  • The more drives in the array the better the write performance.
  • Access times decrease with increase with more actuators that are in the array.
  • No extra data transfers required when manipulating the parity data.

Disadvantages

  • Only one vendor supplies this RAID solution.
  • Extremely high cost per MB.
  • Very short warranty.
  • Not user serviceable.
  • Must have a UPS to protect cache data.

Applications

  • Its really fast and when a very reliable and very high speed, multi-user solution is needed this is the one to choose.

RAID 7 is a registered trademark of Storage Computer Corporation.


RAID Level 10 - Mirroring and Striping

Mirroring has good redundancy but poor performance, Striping has good performance but no redundancy, wouldn't it be great to have the best of both. Well you can, using RAID level 10 you combine Mirroring with Striping so you get the redundancy of Mirroring but with the performance of Striping.

RAID 10 works by having a striped array whose segments are RAID 1 arrays. So if data was written to the array, it would be mirrored across the mirrored pair of disks as well as being striped across the striped pair.


Advantages

  • RAID 10 has the same fault tolerance of RAID 1.
  • RAID 10 has the same overhead as RAID 1.
  • Good solution for a need that requires redundancy but with better performance.
  • Higher read/write is achieved by striping RAID 1 segments.

Disadvantages

  • Because a minimum of 4 disks are required to implement RAID 10 its expensive and has high overhead.
  • All drives must be made to move in parallel to ensure performance.

Applications

  • Any application RAID 1 might be used for, but an application that needs better performance than what RAID 1 can provide.

RAID Level 53 - RAID 3 with Striping

RAID 53 is a combination of RAID 3 and RAID 0. It basically works by having a normal RAID 3 array (data disks and a parity disk), then also striping this data on a striped array too. This gives it the higher IO rates. Each part of the striped array are made part of a RAID 3 array with parity. For example the data part "A" exists in the striped layer, this data is also spread across the 2 RAID 3 disks and its parity stored on the parity disk of the RAID 3 array.


Advantages

  • RAID 53 has the same fault tolerance as RAID 3.

  • High data transfer rates because the striping of data from the RAID 3 array.

  • Small requests achieve High IO Rates because of the RAID 0 striping.

  • Like a faster version of RAID 3.

Disadvantages

  • Very Expensive to implement.

  • All the disks must have their spindles synchronized this is difficult and requires specific hardware.

  • If striping at byte level is used, the drive's formatted capacity is not used.

Applications

  • Anything that would use RAID 3 but needs a bit more oomph!
  • Video Production and live streaming
  • Image Editing
  • Video Editing
  • Any application requiring high throughput.

RAID Level 0 + 1 - Mirroring and Striping

RAID Level 0 + 1 looks like RAID 10, but in fact it is different, rather than having a RAID 1 array and then a separate RAID 0 array, where the information is read to and from the RAID 0 array and sync'ed with the RAID 1 array. RAID 0 + 1 uses two RAID 0 arrays that are mirrored to form a RAID 1 array. Basically a mirrored array whose segments are RAID 0 arrays.


Advantages

  • RAID 0 + 1 has the same fault tolerance as RAID 5.

  • RAID 0 + 1 has the same overhead for fault tolerance as mirroring alone.

  • High I/O rates are achieved as the disks are striped in RAID 0.

  • Good solution for high performance but not maximum reliability.

Disadvantages

  • RAID 0 + 1 is not like RAID 10, as a single drive failure will make the whole array become a RAID 0 array.

  • Expensive because of the high overheads.

  • All drives must move is parallel to ensure performance.

  • Limited scalability at a very high cost.

Applications

  • Audio/Video requiring high I/O rates but with redundancy.
  • High Performance Fileserver.

Hardware RAID

Hardware RAID uses dedicated hardware to implement the array as opposed to using software to control the array. The RAID controller cards have powerful microprocessors on board to reduce the amount of processing required by the CPU.

Now for the rundown of the advantages and disadvantages of hardware RAID:

Advantages

  • Performance - Its quicker and more powerful than software RAID.
  • Boot Volume included in the RAID - As hardware is below all OS software levels you can include in the array the boot volume.
  • Level Support - Hardware supports all the RAID levels.
  • Hot Swappable - Most hardware implementations allow for hot swapping of disks.
  • No/Very Few Operating System Compatibility Problems.
  • No/Very Few Software Compatibility Issues.
  • Reliability - Its more reliable as its implemented in hardware, the is far less chance of bugs.

Disadvantages

  • Cost - It costs more to implement in hardware so the system will cost more.
  • Not Simple - Depending on the complexity of the controller the RAID configuration and installation can be more complicated than that of software RAID.

Software RAID

Like with hardware RAID but implemented without using dedicated hardware instead the OS (operating system or drivers) implement the RAID array. Most flavors of UNIX and Windows NT and 2000 have some sort of software implementations of RAID.

Now for the rundown of the advantages and disadvantages of software RAID.

Advantages

  • Cost - If your OS already supports RAID, no additional costs for hardware needed.
  • Simplicity - You don't need to install configure a RAID hardware controller.

Disadvantages (There's alot!)

  • Performance - Software RAID is not as quick and gives worse system performance than hardware implementations.
  • Boot Volume Limitations - Software RAID can only be implemented on Data partitions not the boot partition, meaning separate partitions are needed for OS booting.
  • Level Support - Normally only 0, 1 and 5 are implementable in software, sometimes you want something more than this!
  • No Hot-Swap or Drive Spares - Software doesn't normally allow these.
  • Not compatible between other RAID arrays that are software implemented in multiple OS environments.
  • Compatibility - Some software, low-level utilities may conflict with software RAID implementations.
  • Reliability - Software does have bugs, hardware might to but this is much more un-likely, the equation explains this problem: Software RAID + Bugs = No Data!

Although software RAID seems to have nothing going for it the advantages it does have are possibly the most important for a business especially a small business that is money and time (simplicity). I run software RAID with no real problems so it is okay and cheap, but if your serious go for hardware.


How to Setup RAID 0 (Striping) in Microsoft Windows 2000 Server

To setup a software RAID 0 stripe set in Microsoft Windows 2000 Server, follow the steps below, note that striping provides no redundancy.

Note! You can't use RAID on the system or boot volume, you need two (or more) separate data disks!

Step 1 - Ensure that you have 2 hard disks ready and installed in your computer ready to be used for RAID. Make sure they are the same model, make and size. Although this is not the most important thing RAID works best when both are the same size.

Step 2 - Click "Start" -> "Settings" -> "Control Panel". Then in "Control Panel" select "Administrative Tools", once you have done this select "Computer Management".

Step 3 - Now select "Disk Management" from the left hand side. The Disk Manager will load this may take some time. You will see the list of volumes on the top right pane, and then a more detail view below.

Step 4 - Now "right click" on the unallocated volume space on the first of the two disk you want to use, and select "Create Volume"

Step 5 - Click "Next" in the Create Volume Wizard.

Step 5 - Click "Striped Volume" under "Volume Type", and then click "Next."

Step 6 - In the left pane under "Select Two or More Disks", a list of all disks that have enough free unallocated space to be used are show.

Step 7 - In the right pane under "Selected Dynamic Disks", the disk that you right-clicked in step one is displayed.

Step 8 - In the left pane under "All Available Dynamic Disks", click the disk, and then click "Add."

Step 9 - Click "Next" and assign a drive letter to the drives, select "Assign Drive Letter" give the drives a drive letter.

Step 10 - Now to format the disks, click "Format this partition with the following settings", make the disks "NTFS" leave the default "Allocation Unit Size", then give the drive a "Volume Label", click "Next" and then click "Finish" once complete reboot the computer and the striped RAID array is ready to go.


How to Setup RAID 1 (Mirroring) in Microsoft Windows 2000 Server

To setup a software RAID 1 mirrored set in Microsoft Windows 2000 Server, follow the steps below, note that striping provides no redundancy.

Note! You can't use RAID on the system or boot volume, you need two (or more) separate data disks!

Step 1 - Ensure that you have 2 hard disks ready and installed in your computer ready to be used for RAID. Make sure they are the same model, make and size. Although this is not the most important thing RAID works best when both are the same size.

Step 2 - Click "Start" -> "Settings" -> "Control Panel". Then in "Control Panel" select "Administrative Tools", once you have done this select "Computer Management".

Step 3 - Now select "Disk Management" from the left hand side. The Disk Manager will load this may take some time. You will see the list of volumes on the top right pane, and then a more detail view below.

Step 4 - Now "right click" on the unallocated volume space on the first of the two disk you want to use, and select "Create Volume"

Step 5 - Click "Next" in the Create Volume Wizard.

Step 5 - Click "Mirrored Volume" under "Volume Type", and then click "Next."

Step 6 - In the left pane under "Select Two or More Disks", a list of all disks that have enough free unallocated space to be used are show.

Step 7 - In the right pane under "Selected Dynamic Disks", the disk that you right-clicked in step one is displayed.

Step 8 - In the left pane under "All Available Dynamic Disks", click the disk, and then click "Add."

Step 9 - Click "Next" and assign a drive letter to the drives, select "Assign Drive Letter" give the drives a drive letter.

Step 10 - Now to format the disks, click "Format this partition with the following settings", make the disks "NTFS" leave the default "Allocation Unit Size", then give the drive a "Volume Label", click "Next" and then click "Finish" once complete reboot the computer and the mirrroed RAID array is ready to go.


How to Setup RAID 5 (Striping with Parity) in Microsoft Windows 2000 Server

If you are going to use RAID 5 you are better off using hardware, as RAID 5 can get very slow on a software implementation. I suggest a RAID controller card if you are thinking about RAID 5.


Why Should I Use RAID?

Well if you have the above the answer could be yes, it depends what your needs are, how much money you have and how much data you are willing to lose. The general guidelines are if your business relies on your data then using RAID is a yes. If you are a home user the answer could be yes, depending on how valuable your data is and if you have a way of backing data up.

Many home users don't back up anything at all, mostly because they don't realise that hardware can break, hard disks do go wrong. Or because they do not have the technical know-how or money to implement some sort of back up.

Many home PC's have 80GB or more hard disks how are you supposed to back this up? Without using expensive tape drives, the only way is to use RAID and or hot swap backup drives.

But overall the question "Why should I use RAID?" can be answered with another question, "How much data can you afford to lose?"


Mirroring Vs. Parity

The technique (or techniques) used to provide redundancy in a RAID array is a primary differentiator between levels. Redundancy is provided in most RAID levels through the use of mirroring or parity (which is implemented with striping):

  • Mirroring: Single RAID level 1, and multiple RAID levels 0+1 and 1+0 ("RAID 10"), employ mirroring for redundancy. One variant of RAID 1 includes mirroring of the hard disk controller as well as the disk, called duplexing.
  • Striping with Parity: Single RAID levels 2 through 7, and multiple RAID levels 0+3 (aka "53"), 3+0, 0+5 and 5+0, use parity with striping for data redundancy.
  • Neither Mirroring nor Parity: RAID level 0 is striping without parity; it provides no redundancy
  • Both Mirroring and Striping with Parity: Multiple RAID levels 1+5 and 5+1 have the "best of both worlds", both forms of redundancy protection.

Related Links

http://www.acnc.com/04_01_00.html - Excellent simple RAID explanations.

http://www.pcguide.com/ref/hdd/perf/raid/levels/index.htm - A more detailed explanation of RAID.

http://www.prepressure.com/techno/raid.htm - Explanation with nice diagrams.


Resources Used

"Operating System Concepts (Sixth Edition)" - Silberschatz/Galvin/Gagne, 2002, John Willey & Sons Inc. ISBN: 0-471-41743-2

Installing PureMessage 3.0.2

posted 12 Jun 2011 07:25 by Tristan Self

When trying to install Puremessage, you need to upgrade the instance of MSDE you are using to a specific verson MSDE 2000 SP4. More details at this page on the Sophos support site. http://www.sophos.com/support/knowledgebase/article/46290.html

If when trying to upgrade MSDE you get an error saying you need to change the SA password, you are not applying the update to the correct instance. Run this command to apply to the correct instance:

setup /upgradesp sqlrun INSTANCENAME=SOPHOS /L*v c:\msdelog.txt

Backup and Data Protection - DeltaCopy - rSync for Windows

posted 12 Jun 2011 07:18 by Tristan Self

To ensure I have a good off-site synch of my data i now use DeltaCopy http://www.aboutmyip.com/AboutMyXApp/DeltaCopy.jsp its basically a version of rsync for windows. Its quite simple to setup and works well. The package includes the client and the server.

In my case i have two servers, one local, one remote, the two sync with each other to make copies of each others data on the other server. Then I take a local backup of one of the servers to USB hard disk. So i have an on-line backup locally on RAID 1, that is synched onto another server with RAID 1, this is also then periodically saved onto a USB hard disk. So I would need 5 disks to die simultanously to lose any data.

1-10 of 11