Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Spring 2013 updates; HW#1, add SAS section

  • Loading branch information...
commit 3a5a9677ed849577392e314410ba2165674d0559 1 parent 2543627
@jschauma authored
View
20 02-filesystems/Makefile
@@ -1,10 +1,6 @@
-# $Id: Makefile,v 1.6 2006/01/29 23:49:01 jschauma Exp $
-
TARGET = slides
-BIBLIO = slides.bib
LATEX = latex
-BIBTEX = bibtex
DVIPS = dvips -o
PS2PDF = ps2pdf
PDFTOTEXT= pdftotext
@@ -15,6 +11,11 @@ FIGURES= \
pics/IRIX.filesystem.eps \
pics/Installer_edit_partitions.eps \
pics/S50JBOD.eps \
+ pics/SFF_8086.eps \
+ pics/SFF_8087.eps \
+ pics/SFF_8088.eps \
+ pics/SFF_8470.eps \
+ pics/SFF_8484_angled.eps \
pics/Sata_host_expansor_en.eps \
pics/USB_Connector_End.eps \
pics/USB_types.eps \
@@ -32,8 +33,10 @@ FIGURES= \
pics/controlpanel2.eps \
pics/cylinders.eps \
pics/cloud.eps \
- pics/das-nas-san.eps \
+ pics/cloud-storage.eps \
+ pics/das-versions.eps \
pics/das.eps \
+ pics/ddrdrive.eps \
pics/disk-structure.eps \
pics/devices.eps \
pics/directory.eps \
@@ -45,6 +48,7 @@ FIGURES= \
pics/fc-switched.eps \
pics/fc-topologies.eps \
pics/file.eps \
+ pics/filesystem-tree-mountpoints.eps \
pics/fs-layout.eps \
pics/fs-layout1.eps \
pics/fs-layout2.eps \
@@ -69,11 +73,15 @@ FIGURES= \
pics/one-bucket-full.eps \
pics/partition.eps \
pics/pipe.eps \
+ pics/raid-0.eps \
+ pics/raid-1.eps \
+ pics/raid-5.eps \
pics/san.eps \
pics/san.eps \
pics/sata-ide_lg.eps \
pics/satavide.eps \
pics/satavpata.eps \
+ pics/san-nas-das.eps \
pics/scsi-disk.eps \
pics/scsi-disk2.eps \
pics/scsi-many.eps \
@@ -88,13 +96,13 @@ FIGURES= \
pics/two-buckets.eps \
pics/two-cats-one-bucket.eps \
pics/usb-hub.eps \
+ pics/ufs-details.eps \
pics/xraid.eps \
pics/zfs.eps
.SUFFIXES: .tex .dvi .ps .pdf .txt .fig .eps .jpg .png .gif
all: $(FIGURES) $(TARGET).dvi
-# ${BIBTEX} $(TARGET)
show: ${TARGET}.dvi
xdvipresent xga ${TARGET}.dvi -paper 25.8x19.3 -geometry 1024x764-0-0
View
BIN  02-filesystems/pics/SFF_8086.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  02-filesystems/pics/SFF_8087.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  02-filesystems/pics/SFF_8088.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  02-filesystems/pics/SFF_8470.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  02-filesystems/pics/SFF_8484_angled.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  02-filesystems/pics/cloud-storage.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
41,325 02-filesystems/pics/das-nas-san.eps
41,325 additions, 0 deletions not shown
View
BIN  02-filesystems/pics/das-versions.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  02-filesystems/pics/das.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  02-filesystems/pics/ddrdrive.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  02-filesystems/pics/filesystem-tree-mountpoints.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  02-filesystems/pics/nas.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  02-filesystems/pics/raid-0.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  02-filesystems/pics/raid-1.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  02-filesystems/pics/raid-5.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  02-filesystems/pics/san-nas-das.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  02-filesystems/pics/ufs-details.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
363 02-filesystems/slides.tex
@@ -1,7 +1,3 @@
-% CS615 Aspects of System Administration
-% Author: Jan Schaumann <jschauma@netmeister.org>
-% $Id: slides.tex,v 1.15 2006/01/29 23:49:01 jschauma Exp $
-
\documentclass[xga]{xdvislides}
\usepackage[landscape]{geometry}
\usepackage{array}
@@ -39,34 +35,31 @@
%\setcounter{page}{0}
%\clearpage
-\subsection{HW\#1}
-AWS command-line setup: {\tt http://is.gd/5IWQyx}
-
\subsection{Filesystems, Disk, Storage}
Let's brainstorm...
-\subsection{Related to Filesystems, Disks, Storage}
-\begin{figure}[hb]
- \begin{center}
- \includegraphics[scale=0.7]{pics/Installer_edit_partitions.eps} \\
- \end{center}
-\end{figure}
-
-\subsection{Related to Filesystems, Disks, Storage}
-\begin{figure}[hb]
- \begin{center}
- \includegraphics[scale=2.0]{pics/mounting.eps} \\
- \end{center}
-\end{figure}
-
-\subsection{Related to Filesystems, Disks, Storage}
-\begin{figure}[hb]
- \begin{center}
- \includegraphics[scale=0.3]{pics/controlpanel.eps} \\
- \end{center}
-\end{figure}
-
-
+%\subsection{Related to Filesystems, Disks, Storage}
+%\begin{figure}[hb]
+% \begin{center}
+% \includegraphics[scale=0.7]{pics/Installer_edit_partitions.eps} \\
+% \end{center}
+%\end{figure}
+%
+%\subsection{Related to Filesystems, Disks, Storage}
+%\begin{figure}[hb]
+% \begin{center}
+% \includegraphics[scale=2.0]{pics/mounting.eps} \\
+% \end{center}
+%\end{figure}
+%
+%\subsection{Related to Filesystems, Disks, Storage}
+%\begin{figure}[hb]
+% \begin{center}
+% \includegraphics[scale=0.3]{pics/controlpanel.eps} \\
+% \end{center}
+%\end{figure}
+%
+%
\subsection{Topics covered}
Adding, (re-)partitioning, mounting disks requires understanding of:
@@ -144,42 +137,36 @@ \subsection{Topics covered}
\vspace*{\fill}
\subsection{Basic Disk Concepts: Storage Models}
-%\begin{figure}[hb]
- \begin{center}
- \includegraphics[scale=0.57]{pics/das-nas-san.eps} \\
- \end{center}
-%\end{figure}
-
-\subsection{Basic Disk Concepts: Storage Models}
+Direct Attached Storage (DAS)
+\vfill
\begin{center}
\includegraphics[scale=0.8]{pics/das.eps} \\
\end{center}
+\vfill
\subsection{Basic Disk Concepts: Storage Models}
+Network Attached Storage (NAS)
+\vfill
\begin{center}
- \includegraphics[scale=0.9]{pics/zfs.eps} \\
-\end{center}
-
-
-\subsection{Basic Disk Concepts: Storage Models}
-\begin{center}
- \includegraphics[scale=0.7]{pics/nas.eps} \\
+ \includegraphics[scale=0.5]{pics/nas.eps} \\
\end{center}
+\vfill
\subsection{Basic Disk Concepts: Storage Models}
+Storage Area Networks (SAN)
+\vfill
\begin{center}
- \includegraphics[scale=0.75]{pics/san.eps} \\
+ \includegraphics[scale=0.5]{pics/san-nas-das.eps} \\
\end{center}
+\vfill
\subsection{Basic Disk Concepts: Storage Models}
+Cloud Storage (Examples: EBS, S3)
+\vfill
\begin{center}
- \includegraphics[scale=0.8]{pics/cloud.eps} \\
+ \includegraphics[scale=0.6]{pics/cloud-storage.eps} \\
\end{center}
-\begin{itemize}
- \item Amazon Elastic Block Storage (EBS)
- \item Amazon Simple Storage Service (S3)
-\end{itemize}
-
+\vfill
\newpage
\vspace*{\fill}
@@ -206,15 +193,15 @@ \subsection{Basic Disk Concepts: Disk Devices}
\subsection{Basic Disk Concepts: Disk Devices}
\begin{center}
- \includegraphics[scale=0.7]{pics/ssd2.eps} \\
+ \includegraphics[scale=0.5]{pics/ddrdrive.eps} \\
\end{center}
\subsection{Basic Disk Concepts: Disk Devices}
\begin{figure}[hb]
\begin{center}
- \includegraphics[scale=0.6]{pics/jbod-inside.eps}
+ \includegraphics[scale=0.5]{pics/jbod-inside.eps}
\hspace*{15mm}
- \includegraphics[scale=0.6]{pics/jbod-front.eps} \\
+ \includegraphics[scale=0.5]{pics/jbod-front.eps} \\
\end{center}
\end{figure}
@@ -433,10 +420,6 @@ \subsection{Basic Disk Concepts: Disk Interfaces: FireWire}
\end{itemize}
\newpage
-
-
-
-
% FC
\subsection{Basic Disk Concepts: Disk Interfaces: Fibre Channel}
@@ -486,11 +469,37 @@ \subsection{Basic Disk Concepts: Disk Interfaces: Fibre Channel}
\begin{itemize}
\item point-to-point,in arbitrated loop or switched
\item hot-pluggable
- \item speeds: up to 5 GB/s
+ \item speeds: up to 16 Gb/s
\item max cable length: up to 20 m (copper) or up to 50 km (Optical)
\item number of devices: 2 (point-to-point), 127 (loop), or... $2^{24}$ (switched)
\end{itemize}
+% SAS - Serial Attached SCSI
+\subsection{Basic Disk Concepts: Disk Interfaces: SAS}
+Serial Attached SCSI
+\vfill
+\begin{center}
+ \includegraphics[scale=0.1]{pics/SFF_8086.eps}
+ \includegraphics[scale=0.07]{pics/SFF_8087.eps}
+ \includegraphics[scale=0.1]{pics/SFF_8088.eps}
+ \includegraphics[scale=0.1]{pics/SFF_8470.eps}
+ \includegraphics[scale=0.05]{pics/SFF_8484_angled.eps}
+\end{center}
+\vfill
+
+\subsection{Basic Disk Concepts: Disk Interfaces: SAS}
+Serial Attached SCSI
+\begin{itemize}
+ \item point-to-point, but layered model (physical, PHY, link,
+ port, transport, application)
+ \item transport via SCSI-, SATA-, or fabric managing protocols
+ \item backwards compatible with SATA
+ \item transfer speeds of up to 6Gb/s; up to $2^{16}$ devices
+ \item expanders allow for switched topologies
+\end{itemize}
+
+
+
% AoE (ATA over Ethernet)
\subsection{Basic Disk Concepts: Disk Interfaces: SANs}
@@ -650,7 +659,7 @@ \subsection{Basic Disk Concepts: Physical Disk Structure}
\subsection{Basic Disk Concepts: Disk Devices}
\begin{center}
- \includegraphics[scale=3.0]{pics/ssd-open.eps} \\
+ \includegraphics[scale=2]{pics/ssd-open.eps} \\
\end{center}
@@ -768,60 +777,6 @@ \subsection{Basic Disk Concepts: Partitions}
/dev/sda2 34 9726 77859022+ 83 Linux
\end{verbatim}
-\subsection{Basic Disk Concepts: Partitions}
-Things to consider when choosing partitioning schemes:
-
-\subsection{Basic Disk Concepts: Partitions}
-Things to consider when choosing partitioning schemes:
-\begin{itemize}
- \item ``busyness'' of the file system
-\end{itemize}
-
-\subsection{Basic Disk Concepts: Partitions}
-Things to consider when choosing partitioning schemes:
-\begin{itemize}
- \item ``busyness'' of the file system
- \item swap size / amount of memory
-\end{itemize}
-
-\subsection{Basic Disk Concepts: Partitions}
-Things to consider when choosing partitioning schemes:
-\begin{itemize}
- \item ``busyness'' of the file system
- \item swap size / amount of memory
- \item user data
-\end{itemize}
-
-\subsection{Basic Disk Concepts: Partitions}
-Things to consider when choosing partitioning schemes:
-\begin{itemize}
- \item ``busyness'' of the file system
- \item swap size / amount of memory
- \item user data
- \item backup necessary?
-\end{itemize}
-
-\subsection{Basic Disk Concepts: Partitions}
-Things to consider when choosing partitioning schemes:
-\begin{itemize}
- \item ``busyness'' of the file system
- \item swap size / amount of memory
- \item user data
- \item backup necessary?
- \item temporary data
-\end{itemize}
-
-\subsection{Basic Disk Concepts: Partitions}
-Things to consider when choosing partitioning schemes:
-\begin{itemize}
- \item ``busyness'' of the file system
- \item swap size / amount of memory
- \item user data
- \item backup necessary?
- \item temporary data
- \item mount options
-\end{itemize}
-
\subsection{Basic Disk and Filesystem Concepts: RAID and Logical Volumes}
Logical Volumes:
\begin{itemize}
@@ -846,6 +801,26 @@ \subsection{Basic Disk and Filesystem Concepts: RAID and Logical Volumes}
\end{itemize}
\end{itemize}
+\subsection{Basic Disk and Filesystem Concepts: RAID and Logical Volumes}
+\vfill
+\begin{center}
+ \includegraphics[scale=0.7]{pics/raid-0.eps}
+ \hspace{.5in}
+ \includegraphics[scale=0.7]{pics/raid-1.eps} \\
+ \vspace{.2in}
+ \includegraphics[scale=0.7]{pics/raid-5.eps}
+\end{center}
+\vfill
+
+\subsection{Basic Disk and Filesystem Concepts: RAID and Logical Volumes}
+\vfill
+\begin{center}
+ \includegraphics[scale=0.9]{pics/zfs.eps} \\
+\end{center}
+\vfill
+
+
+
%\subsection{Basic Disk Concepts: RAID}
%\begin{figure}[hb]
% \begin{center}
@@ -955,7 +930,7 @@ \subsection{Basic Filesystem Concepts}
\\
\begin{center}
-\includegraphics[scale=0.95]{pics/IRIX.filesystem.eps} \\
+ \includegraphics[scale=0.5]{pics/filesystem-tree-mountpoints.eps} \\
\end{center}
%\subsection{Basic Filesystem Concepts}
@@ -991,23 +966,6 @@ \subsection{Basic Filesystem Concepts}
-- can be {\em mounted} anywhere in the filesystem hierarchy.
\\
-To see what filesystems are currently mounted, run \verb+mount(8)+:
-\\
-
-\begin{verbatim}
-/dev/wd0a on / type ffs (local)
-/dev/cgd0a on /home type ffs (local)
-mfs:276 on /tmp type mfs (synchronous, local)
-kernfs on /kern type kernfs (local)
-ptyfs on /dev/pts type ptyfs (local)
-\end{verbatim}
-
-
-\subsection{Basic Filesystem Concepts}
-All partitions -- with the exception of the {\em root} (or \verb+/+) partition
--- can be {\em mounted} anywhere in the filesystem hierarchy.
-\\
-
The file \verb+/etc/fstab+ (see fstab(5)) specifies which disks / partitions
to mount where:
\\
@@ -1038,6 +996,52 @@ \subsection{Basic Filesystem Concepts}
\Normalsize
\subsection{Basic Filesystem Concepts}
+All partitions -- with the exception of the {\em root} (or \verb+/+) partition
+-- can be {\em mounted} anywhere in the filesystem hierarchy.
+\\
+
+The file \verb+/etc/fstab+ (see fstab(5)) specifies which disks / partitions
+to mount where:
+\\
+\small
+\begin{verbatim}
+#device device mount FS fsck mount mount
+#to mount to fsck point type pass at boot options
+#
+fd - /dev/fd fd - no -
+/proc - /proc proc - no -
+/dev/dsk/c0d0s1 - - swap - no -
+/dev/dsk/c0d0s0 /dev/rdsk/c0d0s0 / ufs 1 no -
+/dev/dsk/c0d0p0:boot - /boot pcfs - no -
+/dev/dsk/c0d0s7 /dev/rdsk/c0d0s7 /export/home ufs 2 yes
+-
+/devices - /devices devfs - no -
+ctfs - /system/contract ctfs - no -
+objfs - /system/object objfs - no -
+swap - /tmp tmpfs - yes -
+\end{verbatim}
+\Normalsize
+
+
+
+\subsection{Basic Filesystem Concepts}
+All partitions -- with the exception of the {\em root} (or \verb+/+) partition
+-- can be {\em mounted} anywhere in the filesystem hierarchy.
+\\
+
+To see what filesystems are currently mounted, run \verb+mount(8)+:
+\\
+
+\begin{verbatim}
+/dev/wd0a on / type ffs (local)
+/dev/cgd0a on /home type ffs (local)
+mfs:276 on /tmp type mfs (synchronous, local)
+kernfs on /kern type kernfs (local)
+ptyfs on /dev/pts type ptyfs (local)
+\end{verbatim}
+
+
+\subsection{Basic Filesystem Concepts}
\\
\small
@@ -1069,33 +1073,6 @@ \subsection{Basic Filesystem Concepts}
\Normalsize
\subsection{Basic Filesystem Concepts}
-All partitions -- with the exception of the {\em root} (or \verb+/+) partition
--- can be {\em mounted} anywhere in the filesystem hierarchy.
-\\
-
-The file \verb+/etc/fstab+ (see fstab(5)) specifies which disks / partitions
-to mount where:
-\\
-\small
-\begin{verbatim}
-#device device mount FS fsck mount mount
-#to mount to fsck point type pass at boot options
-#
-fd - /dev/fd fd - no -
-/proc - /proc proc - no -
-/dev/dsk/c0d0s1 - - swap - no -
-/dev/dsk/c0d0s0 /dev/rdsk/c0d0s0 / ufs 1 no -
-/dev/dsk/c0d0p0:boot - /boot pcfs - no -
-/dev/dsk/c0d0s7 /dev/rdsk/c0d0s7 /export/home ufs 2 yes
--
-/devices - /devices devfs - no -
-ctfs - /system/contract ctfs - no -
-objfs - /system/object objfs - no -
-swap - /tmp tmpfs - yes -
-\end{verbatim}
-\Normalsize
-
-\subsection{Basic Filesystem Concepts}
Some of the different kinds of filesystems:
\subsection{Basic Filesystem Concepts}
@@ -1291,25 +1268,7 @@ \subsection{Basic Filesystem Concepts: The UNIX Filesystem}
\subsection{Basic Filesystem Concepts: The UNIX Filesystem}
\begin{center}
-\includegraphics[scale=0.55]{pics/fs-layout1.eps} \\
-\end{center}
-\vspace*{\fill}
-
-\subsection{Basic Filesystem Concepts: The UNIX Filesystem}
-\begin{center}
-\includegraphics[scale=0.55]{pics/fs-layout2.eps} \\
-\end{center}
-\vspace*{\fill}
-
-\subsection{Basic Filesystem Concepts: The UNIX Filesystem}
-\begin{center}
-\includegraphics[scale=0.55]{pics/fs-layout3.eps} \\
-\end{center}
-\vspace*{\fill}
-
-\subsection{Basic Filesystem Concepts: The UNIX Filesystem}
-\begin{center}
-\includegraphics[scale=0.5]{pics/fs-layout.eps} \\
+ \includegraphics[scale=0.8]{pics/ufs-details.eps} \\
\end{center}
\vspace*{\fill}
@@ -1322,7 +1281,7 @@ \subsection{Basic Filesystem Concepts: The UNIX Filesystem}
# cat /etc/fstab
# df
# df -i
-# dumpe2fs /dev/sd1a | less
+# dumpe2fs /dev/sda1 | less
\end{verbatim}
@@ -1419,9 +1378,10 @@ \subsection{Basic Filesystem Concepts: The UNIX Filesystem}
\end{itemize}
\begin{verbatim}
-# stat /etc/passwd
-# ln /etc/passwd /tmp/passwd
-# stat /tmp/passwd
+$ stat /etc/passwd
+$ ln /etc/passwd /tmp/passwd
+$ stat /tmp/passwd
+$ stat -L /tmp/passwd
\end{verbatim}
\subsection{Basic Filesystem Concepts: The UNIX Filesystem}
@@ -1436,7 +1396,7 @@ \subsection{Basic Filesystem Concepts: The UNIX Filesystem}
\end{tabular}
\\
-\verb+# stat /etc/passwd+
+\verb+$ stat /etc/passwd+
\subsection{Basic Filesystem Concepts: The UNIX Filesystem}
@@ -1452,7 +1412,7 @@ \subsection{Basic Filesystem Concepts: The UNIX Filesystem}
\end{tabular}
\\
-\verb+# stat /+
+\verb+$ stat /+
\subsection{Basic Filesystem Concepts: The UNIX Filesystem}
File types:
@@ -1468,7 +1428,7 @@ \subsection{Basic Filesystem Concepts: The UNIX Filesystem}
\end{tabular}
\\
-\verb+# stat /dev/* | more+
+\verb+$ file /dev/* | more+
\subsection{Basic Filesystem Concepts: The UNIX Filesystem}
File types:
@@ -1486,10 +1446,11 @@ \subsection{Basic Filesystem Concepts: The UNIX Filesystem}
\\
\begin{verbatim}
-# ln -s /nowhere /tmp/whatever
-# stat /tmp/whatever
-# ln -s /tmp/whatever /tmp/foo
-# stat /tmp/whatever /tmp/foo
+$ touch /tmp/foo
+$ ln /tmp/foo /tmp/bar
+$ stat /tmp/foo /tmp/bar
+$ ln -sf /tmp/foo /tmp/bar
+$ stat /tmp/foo /tmp/bar
\end{verbatim}
\subsection{Basic Filesystem Concepts: The UNIX Filesystem}
@@ -1508,7 +1469,7 @@ \subsection{Basic Filesystem Concepts: The UNIX Filesystem}
\end{tabular}
\\
-\verb+# stat /dev/log+
+\verb+$ stat /dev/log+
\subsection{Basic Filesystem Concepts: The UNIX Filesystem}
File types:
@@ -1528,11 +1489,25 @@ \subsection{Basic Filesystem Concepts: The UNIX Filesystem}
\\
\begin{verbatim}
-# mkfifo /tmp/fifo
-# cat /tmp/fifo > /tmp/out &
-# stat /tmp/fifo | tee /tmp/fifo
+$ mkfifo /tmp/fifo
+$ cat /tmp/fifo > /tmp/out &
+$ stat /tmp/fifo | tee /tmp/fifo
+$ cat /tmp/out
\end{verbatim}
+\subsection{HW\#1}
+Setup your environment for EC2 and create an instance
+\vfill
+\verb+http://www.cs.stevens.edu/~jschauma/615/s13-hw1.html+
+\vfill
+
+\subsection{Reading}
+\begin{itemize}
+ \item \verb+http://is.gd/5mndwA+
+ \item \verb+http://is.gd/ig4QP5+
+ \item \verb+http://is.gd/9YeIKh+
+\end{itemize}
+
\subsection{Reading}
Disk Interfaces:
\begin{itemize}
@@ -1563,6 +1538,10 @@ \subsection{Reading}
\item \verb+http://www.apple.com/firewire/+
\item \verb+http://en.wikipedia.org/wiki/Firewire+
\end{itemize}
+ \item Serial attached SCSI:
+ \begin{itemize}
+ \item \verb+https://en.wikipedia.org/wiki/Serial_attached_SCSI+
+ \end{itemize}
\item Fibre Channel:
\begin{itemize}
\item \verb+http://hsi.web.cern.ch/HSI/fcs/fcs.html+
View
113 html/ec2-backup.1
@@ -0,0 +1,113 @@
+.Dd February 25, 2012
+.Dt EC2-BACKUP 1
+.Os
+.Sh NAME
+.Nm ec2-backup
+.Nd backup a directory into Elastic Block Storage (EBS)
+.Sh SYNOPSIS
+.Nm
+.Op Fl hv
+.Op Fl i Ar instance
+.OP Fl m Ar method
+.Op Fl t Ar tag
+.Fl d Ar dir
+.Sh DESCRIPTION
+The
+.Nm
+tool performs a backup of the given directory into Amazon Elastic Block
+Storage (EBS).
+This is achieved by creating a volume of the appropriate size, attaching
+it to an EC2 instance and finally copying the files from the given
+directory into this volume.
+.Sh OPTIONS
+.Nm
+accepts the following command-line flags:
+.Bl -tag -width i_instance_
+.It Fl h
+Print a usage statement and exit.
+.It Fl i Ar instance
+Attach the volume in question to the given instance.
+.It Fl m Ar method
+Use the given method to perform the backup.
+Valid methos are 'dd' and 'rsync'; default is 'dd'.
+.It Fl t Ar tag
+Use the volume with the given tag.
+If no tag is specified, use 'ec2-backup'.
+If no such volume exists, create a new one and apply the given tag.
+.It Fl v
+Be verbose.
+If not specified,
+.Nm
+will not generate any output at all (unless an error is encountered).
+.El
+.Sh DETAILS
+.Nm
+will perform a backup of the given directory to an ESB volume.
+The backup is done in one of two ways: via direct write to the volume
+(utilizing
+.Xr tar 1
+on the local host and
+.Xr dd 1
+on the remote instance), or via a (possibly incremental) filesystem sync
+(utilizing
+.Xr rsync 1 Ns ).
+.Pp
+.Nm
+will create a new volume (unless the
+.Fl t
+flag was specified and a volume matching the given tag already exists).
+The new volume will be at least two times the size of the directory to be
+backed up.
+.Pp
+Unless an instance is given using the
+.Fl i
+flag,
+.Nm
+will create an instance suitable to perform the backup, attach the volume
+in question and then back up the data from the given directory using the
+specified method and then shut down the instance it created.
+.Sh OUTPUT
+Unless the
+.Fl v
+flag is given,
+.Nm
+will not generate any output unless any errors are encountered.
+Otherwise, it may print out some useful information about what steps it
+is currently performing.
+.Pp
+Any errors encountered cause a meaningful error message to be printed to
+STDERR.
+.Sh EXIT STATUS
+The
+.Nm
+will exit with a return status of 0 under normal circumstances.
+If an error occurred,
+.Nm
+will exit with a value >0.
+.Sh EXAMPLES
+The following examples illustrate common usage of this tool.
+.Pp
+To back up the entire filesystem to a volume tagged as 'backup' (which, it
+should be noted, must hence also contain a filesystem) using
+.Xr rsync 1 Ns :
+.Bd -literal -offset indent
+ec2-backup -t backup -m rsync -d /
+.Ed
+.Pp
+To create a complete backup of the current working directory using
+defaults (and thus not requiring a filesystem to exist on the volume):
+.Bd -literal -offset indent
+ec2-backup -d .
+.Ed
+.Sh SEE ALSO
+.Xr dd 1 ,
+.Xr ec2-start-instance 1 ,
+.Xr tar 1 ,
+.Xr rsync 1
+.Sh HISTORY
+.Nm
+was originally assigned by
+.An Jan Schaumann
+.Aq jschauma@cs.stevens.edu
+as a homework assignment for the class "Aspects of System Administration" at
+Stevens Institute of Technology in the Spring of 2011.
View
98 html/ec2-start-instance.1
@@ -0,0 +1,98 @@
+.Dd March 06, 2011
+.Dt EC2-START-INSTANCE 1
+.Os
+.Sh NAME
+.Nm ec2-start-instance
+.Nd start an EC2 instance and wait for it to be running
+.Sh SYNOPSIS
+.Nm
+.Op Fl hv
+.Op Fl a Ar ami
+.Sh DESCRIPTION
+The
+.Nm
+tool will start an EC2 instance and wait for it to be running, then print
+to STDOUT the instance identifier and the hostname.
+As the tool honors a number of environment variables as noted in the
+section
+.Xr ENVIRONMENT ,
+it is useful for scripting other, more advanced tools.
+.Sh OPTIONS
+.Nm
+accepts the following command-line flags:
+.Bl -tag -width a_ami_
+.It Fl a Ar AMI
+Start an instance of the given AMI.
+If not specified,
+.Nm
+will default to ami-b232d0db.
+.It Fl h
+Print a usage statement and exit.
+.It Fl v
+Be verbose.
+If not specified,
+.Nm
+will not generate any output other than the final instance identifier and
+the hostname.
+.El
+.Sh OUTPUT
+Unless the
+.Fl v
+flag is given, the only output generated on STDOUT is a pair of strings:
+the instance identifier and the hostname of the new running instance.
+See the section
+.Xr EXAMPLES
+for expected output.
+.Pp
+If the
+.Fl v
+flag is given,
+.Nm
+may print out some useful information about what steps it is currently
+performing.
+.Pp
+Any errors encountered cause a meaningful error message to be printed to
+STDERR.
+.Sh EXIT STATUS
+The
+.Nm
+will exit with a return status of 0 under normal circumstances.
+If an error occurred,
+.Nm
+will exit with a value >0.
+.Sh EXAMPLES
+The following examples illustrate common usage of this tool.
+.Pp
+.Bd -literal -offset indent
+$ ec2-start-instance -a ami-19a34270
+i-db464ab7 ec2-75-101-236-71.compute-1.amazonaws.com
+$
+.Ed
+.Sh ENVIRONMENT
+.Nm
+assumes that the user has set up their environment for general use with
+the EC2 tools.
+That is, it will not set or modify the variables EC2_CERT, EC2_HOME and
+EC2_PRIVATE_KEY.
+.Pp
+.Nm
+allows the user to add custom flags to the
+.Xr ec2-run-instances 1
+command via the
+.Ar EC2_RUN_INSTANCES_FLAGS
+environment variable.
+If this variable is not set,
+.Nm
+will not append any flags to the command besides
+.Fl a Ar ami .
+.Sh SEE ALSO
+.Xr ec2-run-instances 1 ,
+.Xr ec2-describe-instances 1 ,
+.Xr ping 8
+.Sh HISTORY
+.Nm
+was originally assigned by
+.An Jan Schaumann
+.Aq jschauma@cs.stevens.edu
+as a homework assignment for the class "Aspects of System Administration" at
+Stevens Institute of Technology in the Spring of 2011.
View
35 html/index.html
@@ -3,7 +3,7 @@
<HTML>
<HEAD>
- <TITLE>CS615A -- Aspects of System Administration</TITLE>
+ <TITLE>CS615 -- Aspects of System Administration</TITLE>
<STYLE type="text/css">
body {
background-color: #FFFFFf;
@@ -18,7 +18,7 @@
<TABLE border="1" align="center" cellpadding="15">
<TR>
<TD valign="top">
- <H2>CS615A -- Aspects of System Administration</H2>
+ <H2>CS615 -- Aspects of System Administration</H2>
<H3>Course Overview:</H3>
@@ -68,7 +68,7 @@
<table width="100%" border="0">
<tr><td valign="top">
<H3>Time, Date &amp; Place:</H3>
- <b>Spring 2013</b>: Mondays, 18:15-20:45, Pierce 216<br>
+ <b>Spring 2013</b>: Mondays, 18:15-20:45, Kiddie 360<br>
<H3>Resources:</H3>
@@ -197,6 +197,8 @@
&#160;</LI>
<LI><a href="http://www.opsschool.org/en/latest/">Ops School</a></LI>
+
+ <LI><a href="http://nixsrv.com/llthw">Learn Linux The Hard Way</a></LI>
</UL>
<h3>Course Material</h3>
@@ -265,7 +267,8 @@
<H3><a name="hw">Homework Assignments</a>:</h3>
<ul>
<li><a href="hw.txt">General Homework Submission Guidelines</a></li>
- <!-- <li><a href="s12-hw1.html">Homework #1: Setup your environment for EC2 and create an instance</a></li>
+ <li><a href="s13-hw1.html">Homework #1: Setup your environment for EC2 and create an instance</a></li>
+<!--
<li><a href="s12-hw2.html">Homework #2: Package Management on different OS</a><br>(<a href="s11-hw2-sample-solution.html">sample solution</a>)</li>
<li><a href="s12-hw3.html">Homework #3: EC2 Backup</a></li>
<li><a href="s12-hw4.html">Homework #4: Use tcpdump to observe traffic flow</a></li>
@@ -303,8 +306,8 @@
<H3><A name="syllabus">Syllabus</A>:</H3>
- <!-- Lecture slides and other supporting material will be uploaded as the
- semester progresses. -->
+ Lecture slides and other supporting material will be uploaded as the
+ semester progresses.
<TABLE border="1" cellpadding="5">
<TR>
@@ -327,8 +330,7 @@
<A href="http://www.cs.stevens.edu/~jschauma/usenix/sage/jobs.pdf">SAGE Job
Descriptions for System Administrators</A></TD>
- <TD><!--<a href="slides/lecture01.pdf">Lecture 01 slides</a><br>
- <a href="s11-hw1.html">HW#1</a> --></td>
+ <TD><a href="slides/lecture01.pdf">Lecture 01 slides</a></td>
</TR>
<TR>
@@ -341,7 +343,8 @@
<TD>Filesystems and Disks</TD>
<TD><em>Frisch</em>: Chap. 10<br>
<em>Nemeth et al</em>: Chap. 5, 8</TD>
- <TD><!-- <a href="slides/lecture02.pdf">Lecture 02 slides</a> --></td>
+ <TD><a href="slides/lecture02.pdf">Lecture 02 slides</a><br>
+ <a href="s13-hw1.html">HW#1</a></td>
</TR>
<TR>
@@ -350,7 +353,7 @@
<TD><em>Limoncelli &amp; Hogan</em>: Chap. 23 (in first edition) or Chap. 28 (in second edition)<br>
<em>Burgess</em> (Principles): Chap. 4.6 - 4.8<br>
<em>Frisch</em>: Parts of Chap. 3</TD>
- <TD><!-- <a href="slides/lecture03.pdf">Lecture 03 slides</a><br>
+ <TD>&nbsp;<!-- <a href="slides/lecture03.pdf">Lecture 03 slides</a><br>
<a href="s12-hw2.html">HW#2</a>--> </td>
</TR>
@@ -360,7 +363,7 @@
<TD><em>Frisch</em>: Chap. 6<br>
<em>Burgess</em>: Chap. 5<br>
<em>Nemeth et al</em>: Chap. 3, 6, 27</TD>
- <TD><!-- <a href="slides/lecture04.pdf">Lecture 04 slides</a><br>
+ <TD>&nbsp;<!-- <a href="slides/lecture04.pdf">Lecture 04 slides</a><br>
<a href="http://www.cs.stevens.edu/~jschauma/usenix/sage/policy.pdf">SAGE
Booklet: A Guide to Developing Computing Policy Documents</a><br>
<a href="quiz1.txt">Quiz#1</a>
@@ -394,7 +397,7 @@
<em>Nemeth et al</em>: Chap. 4, 25<br>
<em>Burgess</em>: Chap. 5</TD>
- <TD><!-- <a href="slides/lecture06.pdf">Lecture 06 slides</a><br>
+ <TD>&nbsp;<!-- <a href="slides/lecture06.pdf">Lecture 06 slides</a><br>
<a href="s12-hw3.html">HW#3</a> --></TD>
</TR>
@@ -405,7 +408,7 @@
<em>Nemeth et al</em>: Chap. 13, 15, 20<br>
<em>Burgess</em>: Chap. 3, 10<br>
<em>Limoncelli &amp; Hogan</em>: Chap. 18</TD>
- <TD><!-- <a href="slides/lecture07.pdf">Lecture 07 slides</a><br>
+ <TD>&nbsp;<!-- <a href="slides/lecture07.pdf">Lecture 07 slides</a><br>
<a href="ktrace-telnet">telnet ktrace</a><br>
<a href="tcpdump-dig6">tcpdump DNS lookup over IPv6</a><br>
<a href="tcpdump-nslookup4">tcpdump DNS lookup over IPv4</a><br>
@@ -428,7 +431,7 @@
<em>Nemeth et al</em>: Chap. 16, 19, 22<br>
<em>Burgess</em>: Chap. 9<br>
<em>Limoncelli &amp; Hogan</em>: Chap. 19</TD>
- <TD><!-- <a href="slides/lecture08.pdf">Lecture 08 slides</a><br>
+ <TD>&nbsp;<!-- <a href="slides/lecture08.pdf">Lecture 08 slides</a><br>
<a href="s12-hw4.html">Homework #4</a>&nbsp;--></td>
</TR>
@@ -439,7 +442,7 @@
<em>Nemeth et al</em>: Chap. 16, 19, 22<br>
<em>Burgess</em>: Chap. 9<br>
<em>Limoncelli &amp; Hogan</em>: Chap. 19</TD>
- <TD><!-- <a href="slides/lecture09.pdf">Lecture 09 slides</a><br>
+ <TD>&nbsp;<!-- <a href="slides/lecture09.pdf">Lecture 09 slides</a><br>
<a href="presentations/mhegador-ssh.pdf">Michael Hegadorn on SSH</a><br>
<a href="http-exercise.html">HTTP exercise (extra credit)</a> --></TD>
@@ -451,7 +454,7 @@
<em>Nemeth et al</em>: Chap. 21<br>
<em>Burgess</em>: Chap. 11, 12<br>
<em>Limoncelli &amp; Hogan</em>: Chap. 7</TD>
- <TD><!-- <a href="slides/lecture10.pdf">Lecture 10 slides</a>
+ <TD>&nbsp;<!-- <a href="slides/lecture10.pdf">Lecture 10 slides</a>
<a href="qibenx2djregl.html">extra credit</a>--></TD>
</TR>
View
141 html/s12-hw3.html
@@ -0,0 +1,141 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+
+<HTML>
+<HEAD>
+
+ <TITLE>CS615A -- Aspects of System Administration</TITLE>
+ <STYLE type="text/css">
+ body {
+ background-color: #FFFFFf;
+ }
+ </STYLE>
+ <STYLE type="text/css">
+ li.c1 {list-style: none}
+ </STYLE>
+</HEAD>
+
+<BODY>
+ <TABLE border="1" align="center" cellpadding="15">
+ <TR>
+ <TD valign="top">
+ <H2>CS615A -- Aspects of System Administration - Spring 2012 - HW#3</H2>
+
+ <H3>HW#3: EC2 Backup</H3>
+
+ <H4>Summary:</H4>
+ <p>
+ The objective of this assignment is for you to create a tool
+ able to perform a backup of a given directory to a data storage
+ device in the cloud. In the process, you will (hopefully) learn
+ a few things about writing modular system tools, about the use
+ of some filesystem level helpers and gain some insights into a
+ cloud-based storage model.
+ </p>
+ <p>
+ The detailed specification of the program can be found in <a
+ href="ec2-backup.txt">this manual page</a> (as well as the
+ <a href="ec2-start-instance.txt">manual page</a> of the
+ helper tool).
+ </p>
+ <p>
+ This assignment is worth 100 points (75 points for the
+ "ec2-backup" tool, 25 points for the "ec2-start-instance" tool).
+ </p>
+
+ <h4>Target platform</h4>
+ <p>
+ The tool you write will be executed (and graded) on
+ <tt>lab.cs.stevens.edu</tt>. You are free to develop it
+ in some other environment, but please make sure to test it on
+ <tt>lab.cs.stevens.edu</tt> before submitting it. If it does
+ not work on these hosts, you will not get any points. See also:
+ <a href="hw.txt">general homework guidelines</a>.
+ </p>
+<!-- <p>
+ The tools you develop will need to be able to work with the
+ following operating systems/AMIs:
+ <ul>
+ <li>"Getting Started on Fedora Core 8" (AMI Id: ami-b232d0db)</li>
+ <li>"Ubuntu 9.10 Karmic Base" (AMI Id: ami-19a34270)</li>
+ <li>"FreeBSD 8.2" (AMI Id: ami-423bc82b)</li>
+ <li>"NetBSD 5.1" (AMI Id: ami-c4ef1dad)</li>
+ </ul>
+ </p>
+-->
+
+ <H4>Programming language</h4>
+ <p>
+ You are free to choose any programming language you like to implement
+ this tool. Obviously, the program needs to be executed/run on
+ <tt>linux-lab.cs.stevens.edu</tt> and must not require the additional
+ installation of any tools, libraries etc. besides what is already
+ installed there.
+ </p>
+
+ <h4>Program behaviour</h4>
+ <p>
+ Your program will not require any modification of the environment
+ (ie, you can assume the user has his/her environment set up for EC2),
+ and exection of the program will be exactly as outlined in the
+ manual pages <a href="ec2-backup.txt">ec2-backup(1)</a> and <a
+ href="ec2-start-instance.txt">ec2-start-instance(1)</a>.
+ </p>
+ <h4>Notes</h4>
+ <p>You may choose to implement the programs in any way you like,
+ including breaking it down into smaller individual components.</p>
+ <p>You probably want to make sure that your program exhibits the
+ various features of good software engineering practices we discussed.
+ Please make sure to consider these and have your submission
+ reflect wherever possible.</p>
+ <p>It is probably in your interest to accompany your sibmission
+ with some commentary on why you chose the programming language,
+ the approach you took, any considerations you might have. The
+ more thought I see you put into the assignment, the better.</p>
+ <p>You may collaborate loosely with other students, but each
+ submission must be your own. This is not a group assignment.</p>
+ <p>You may use code you find on the internet <em>if and only
+ if</em> you explicitly note which parts are not your own
+ <em>and</em> the code in question is licensed such that you can
+ use it in this manner.</p>
+ <p>This is not a trivial assignment. Please do not delay starting
+ to work on it.</p>
+
+ <H4>Deliverables and Due Date</H4>
+ <p>
+ You will submit a single <tt>tar(1)</tt> archive. The file to submit
+ will be called "<tt>$USER-hw3.tar</tt>" (where "$USER" is your
+ username). The archive will extract all files and subdirectories into
+ a directory named <tt>$USER</tt>.
+ </p>
+ <p>
+ You will only submit source files -- no binaries or executables of
+ any kind. You may additionally include a single file called
+ <tt>README</tt> in which you may provide commentary on your program.
+ Commentary elaborating on the scalability of the tool in general and
+ your implementation in particular is welcome.
+ </p>
+ <p>
+ The folllowing is an example sequence of commands to create a valid
+ homework submission:
+<pre>
+mkdir $USER
+cd $USER
+vi README
+vi ec2-start-instance
+[code code code]
+vi ec2-backup
+[code code code]
+cd ..
+tar cf $USER-hw3.tar $USER
+</pre>
+ <p>
+ The due date for this assignment is 2012-03-19 18:00. Please
+ attach the file to an email sent from your <tt>@stevens.edu</tt>
+ email address to <a
+ href="mailto:jschauma@stevens.edu?subject=[CS615] HW3">jschauma@stevens.edu</a>
+ with a subject of "[CS615] HW3".
+ </p>
+ <hr>
+ [<a href="index.html">Course Website</a>]
+</BODY>
+</HTML>
Please sign in to comment.
Something went wrong with that request. Please try again.