\section{RAID}
\begin{frame}
   {RAID}
   \begin{itemize}
      \item
      \textbf{RAID} (\textbf{R}edundant \textbf{A}rray of
      \textbf{I}ndependent \textbf{D}isks):
      \begin{itemize}
         \item Spreads I/O over multiple disks
         \item Can improve both performance and reliability
         \item Can be implemented in either hardware or software
         \item Comes in a number of different \textbf{RAID levels}
      \end{itemize}
   \end{itemize}

   \begin{lfbox}[Essential features of \textbf{RAID}]
      \begin{tabular}{rl}

         \textbf{mirroring}: & writing the same data to more than
         one disk.                                                   \\
         \textbf{striping}:  & splitting of data to more than one
         disk                                                        \\
         \textbf{parity}:    & extra data is stored to allow problem
         detection and repair
      \end{tabular}
   \end{lfbox}

\end{frame}

\cprotect\note{

   \textbf{RAID} (\textbf{R}edundant \textbf{A}rray of
   \textbf{I}ndependent \textbf{D}isks) spreads I/O over
   multiple disks. This can really
   increase performance in modern disk controller interfaces,
   such as \textbf{SCSI}, which can perform the work in parallel
   efficiently.

   \textbf{RAID} can be implemented either in software (it is a
   mature part of the \textbf{Linux} kernel) or in hardware.
   If your hardware \textbf{RAID} is known to be of good
   quality it should be more efficient than using software
   \textbf{RAID}. With the hardware implementation the
   operating system is actually not directly aware of using
   \textbf{RAID}. For example, three 512 GB
   hard drives (two for data, one for parity) configured with
   RAID-5 will just look like a single 1 TB disk.

   However, one disadvantage of using hardware \textbf{RAID} is that if
   the disk controller fails, it must be replaced by a
   compatible controller which may not be easy to obtain.
   When using software \textbf{RAID}, the same disks can be
   attached to and work with any disk controller.  Such
   considerations are more likely to be relevant for low and
   mid-range hardware.

   One of the main purposes of a \textbf{RAID} is to create a filesystem
   which spans more than one disk.  This allows us to create
   filesystems which are larger than any one drive.  \textbf{RAID}
   devices are typically created by combining partitions from
   several disks together.

   Another advantage of \textbf{RAID} devices is the ability to provide
   better performance, redundancy, or both.  Striping provides
   better performance by spreading the information over
   multiple devices so simultaneous writes are possible.
   Mirroring writes the same information to multiple drives
   giving better redundancy.

   \textbf{mdadm} is used to create and manage \textbf{RAID} devices.

   Once created, the array name, \filelink{/dev/mdX} can be used
   just like any other device, such as \filelink{/dev/sda1}.

}



