Mercurial > lilug > xfs
annotate slideshow.tex @ 3:d4de13a2546e
finished slideshow
author | Josef "Jeff" Sipek <jeffpc@josefsipek.net> |
---|---|
date | Wed, 09 Jul 2008 11:35:30 -0400 |
parents | 4cff88ac3e44 |
children | 6410a0499945 |
rev | line source |
---|---|
0 | 1 \documentclass{beamer} |
2 | |
3 \usepackage{beamerthemeshadow} | |
4 | |
5 \title{XFS --- The Black Leather Jacket of filesystems} | |
6 \author{Josef ``Jeff'' Sipek\\ $<$jeffpc@josefsipek.net$>$} | |
7 \date{July 8, 2008} | |
8 | |
9 \begin{document} | |
10 \frame{\titlepage} | |
11 | |
3
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
12 %\AtBeginSection[] |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
13 %{ |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
14 %\begin{frame} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
15 % \frametitle{Outline} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
16 % \tableofcontents[currentsection] |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
17 %\end{frame} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
18 %} |
0 | 19 |
20 \section{History} | |
21 \begin{frame} | |
22 \frametitle{History: Stoneage (1992)} | |
23 \begin{itemize} | |
3
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
24 \item<2-> Berkeley's FFS was state of the art |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
25 \item<3-> SGI's IRIX had EFS (FFS with extents) |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
26 \item<4-> Many limitations |
0 | 27 \begin{itemize} |
3
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
28 \item<5-> Small file sizes (2 GB) |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
29 \item<6-> Small filesystem sizes (8GB) |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
30 \item<7-> Statically allocated metadata |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
31 \item<8-> Long recovery times |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
32 \item<9-> Slow operations on large directories |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
33 \item<10-> No extended attributes |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
34 \item<11-> No access control lists |
0 | 35 \end{itemize} |
36 \end{itemize} | |
37 \end{frame} | |
38 | |
39 \begin{frame} | |
3
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
40 \frametitle{History: Enlightenment (1993)} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
41 \begin{itemize} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
42 \item<2-> SGI makes XFS |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
43 \begin{itemize} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
44 \item<3-> 'X' being a variable |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
45 \item<4-> To be replaced later |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
46 \item<5-> Name stuck |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
47 \end{itemize} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
48 \item<6-> Radically departs from traditional filesystems |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
49 \end{itemize} |
0 | 50 \end{frame} |
51 | |
52 % | |
53 % Features | |
54 % | |
55 \section{Features} | |
56 \begin{frame} | |
57 \frametitle{Features: Allocation} | |
58 \begin{itemize} | |
3
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
59 \item<2-> Delayed allocation |
0 | 60 \begin{itemize} |
3
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
61 \item<3-> Allocate on flush |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
62 \item<3-> Write reserves disk space, decide where later |
0 | 63 \end{itemize} |
3
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
64 \item<4-> Pre-allocation |
0 | 65 \begin{itemize} |
3
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
66 \item<5-> Reserve space before it is written |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
67 \item<5-> Minimizes fragmentation |
0 | 68 \end{itemize} |
3
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
69 \item<6-> Direct I/O support |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
70 \item<7-> Stripe aware allocator |
0 | 71 \end{itemize} |
72 \end{frame} | |
73 | |
74 \begin{frame} | |
75 \frametitle{Features: Inodes} | |
76 \begin{itemize} | |
3
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
77 \item<2-> Dynamically allocated in clusters |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
78 \item<3-> Inode size is mkfs option |
0 | 79 \begin{itemize} |
3
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
80 \item<3-> 256 Byte (default) -- 4 kByte (max) |
0 | 81 \end{itemize} |
3
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
82 \item<4-> Extended Attributes |
0 | 83 \begin{itemize} |
3
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
84 \item<5-> $<$name, value$>$ pairs |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
85 \item<6-> Used by ACLs, Capabilities, SELinux, DMAPI |
0 | 86 \end{itemize} |
87 \end{itemize} | |
88 \end{frame} | |
89 | |
90 \begin{frame} | |
91 \frametitle{Features: Other} | |
92 \begin{itemize} | |
3
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
93 \item<2-> B+ Trees |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
94 \item<3-> 64-bit |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
95 \item<4-> Variable block size (512 Bytes -- 64 kB) |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
96 \begin{itemize} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
97 \item 512 Bytes -- \texttt{\textbf{PAGE\_SIZE}} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
98 \end{itemize} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
99 \item<5-> Allocation Groups |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
100 \item<6-> Lots of utilities |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
101 \item<7-> Direct I/O |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
102 \item<8-> DMAPI |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
103 \item<9-> Extended Attributes/ACL |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
104 \item<10-> Online fs growth |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
105 \item<11-> Very fast repair time |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
106 \item<12-> Amazingly fast |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
107 \end{itemize} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
108 \end{frame} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
109 |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
110 \begin{frame} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
111 \frametitle{Why not use ext2?} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
112 \begin{itemize} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
113 \item<2-> Does not keep a journal |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
114 \begin{itemize} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
115 \item<3-> fsck mandatory to recover after a crash |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
116 \item<4-> fsck is dog slow |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
117 \end{itemize} |
0 | 118 \end{itemize} |
119 \end{frame} | |
120 | |
121 \begin{frame} | |
3
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
122 \frametitle{Why not use ext3?} |
0 | 123 \begin{itemize} |
3
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
124 \item<2-> 16TB filesystem limit |
0 | 125 \begin{itemize} |
3
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
126 \item<3-> Used to be 8TB until about 2 years ago |
0 | 127 \end{itemize} |
3
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
128 \item<4-> fsck is dog slow, although not as frequently |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
129 needed as with ext2 |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
130 \end{itemize} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
131 \end{frame} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
132 |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
133 \begin{frame}[fragile] |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
134 \frametitle{Why not use ext4?} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
135 \begin{itemize} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
136 \item<2-> There is no ext4, there is ext4dev |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
137 \item<3-> Not considered mature/stable |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
138 \item<4-> fsck is dog slow, although not as frequently |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
139 needed as with ext2 |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
140 \end{itemize} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
141 \uncover<5->{\begin{exampleblock}{} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
142 Ext4dev is a predecessor filesystem of the next |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
143 generation extended fs ext4, based on ext3 filesystem |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
144 code. It will be renamed ext4 fs later, once ext4dev |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
145 is mature and stabilized.\\ |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
146 ...\\ |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
147 If unsure, say N. |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
148 \end{exampleblock}} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
149 \end{frame} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
150 |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
151 \begin{frame} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
152 \frametitle{Why not use Reiserfs?} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
153 \begin{itemize} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
154 \item<2-> Not very actively maintained |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
155 \item<3-> ``Forgotten'' |
0 | 156 \end{itemize} |
157 \end{frame} | |
158 | |
159 \begin{frame} | |
3
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
160 \frametitle{Why not use JFS?} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
161 \begin{itemize} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
162 \item<2-> Doesn't perform as well as it should |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
163 \item<3-> Not as actively maintained as developed |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
164 \item<4-> The maintainer contributes the odd fix |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
165 \end{itemize} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
166 \end{frame} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
167 |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
168 \begin{frame} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
169 \frametitle{Why \textit{use} XFS?} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
170 \begin{itemize} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
171 \item<2-> Stable, mature codebase |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
172 \begin{itemize} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
173 \item<3-> Oldest journaling filesystem on Linux |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
174 \end{itemize} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
175 \item<4-> Very well performing |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
176 \item<5-> Very fast repair time (for the times you need it) |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
177 \item<6-> DMAPI support (for HSM) |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
178 \end{itemize} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
179 %% That all sounds great, but is using XFS really worth it? Well, let me show |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
180 %% you an example... Once upon a time, there was a system admin. |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
181 \end{frame} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
182 |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
183 \begin{frame} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
184 \begin{center}\includegraphics[height=2.5in]{matt_geek.eps}\end{center} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
185 %% His job was to make sure people's data were properly stored, and |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
186 %% efficiently retrieved when needed. He used to spend night and day |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
187 %% pondering about the storage system, until one day, he decided that he |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
188 %% should use XFS for the multi-terabyte arrays in his dominion... |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
189 \end{frame} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
190 |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
191 \begin{frame} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
192 %% This made him a very happy sysadmin. |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
193 \begin{center}\includegraphics[height=2.5in]{matt_biker.eps}\end{center} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
194 \end{frame} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
195 |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
196 \begin{frame} |
0 | 197 \frametitle{Why \emph{not} use it?} |
198 \begin{itemize} | |
3
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
199 \item<2-> No data journaling |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
200 \item<3-> Got time to waste waiting for fsck to finish running |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
201 \item<4-> Don't like leather jackets |
0 | 202 \end{itemize} |
203 \end{frame} | |
204 | |
205 % | |
206 % Demos | |
207 % | |
3
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
208 \newcommand{\demo}[1]{\begin{frame}\frametitle{#1}\begin{center}Demo\end{center}\end{frame}} |
0 | 209 |
3
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
210 \section{Demos} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
211 \demo{\texttt{\textbf{mkfs}} \& \texttt{\textbf{mount}}} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
212 \demo{\texttt{\textbf{xfs\_check}} \& \texttt{\textbf{xfs\_repair}}} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
213 \demo{\texttt{\textbf{xfs\_growfs}}} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
214 \demo{\texttt{\textbf{xfsdump}} \& \texttt{\textbf{xfsrestore}}} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
215 \demo{\texttt{\textbf{xfs\_bmap}}} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
216 \demo{\texttt{\textbf{xfs\_io}}} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
217 \demo{\texttt{\textbf{xfs\_quota}}} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
218 \demo{\texttt{\textbf{xfs\_admin}}} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
219 \demo{\texttt{\textbf{xfs\_freeze}}} |
0 | 220 |
221 % | |
222 % Wrap-up | |
223 % | |
224 \section{} | |
225 \begin{frame} | |
226 \frametitle{Questions?} | |
227 \begin{center} | |
228 \includegraphics[width=\textwidth]{xfs.eps} | |
229 \end{center} | |
230 \end{frame} | |
231 | |
232 \begin{frame} | |
3
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
233 \frametitle{More info/Resources/Thanks} |
0 | 234 \begin{itemize} |
235 \item \url{http://oss.sgi.com/projects/xfs/} | |
236 \item \url{xfs@oss.sgi.com} | |
237 \item \url{http://oss.sgi.com/projects/xfs/papers/ukuug2003.pdf} | |
3
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
238 \item \url{http://en.wikipedia.org/wiki/Comparison_of_file_systems} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
239 \item Martin K. Petersen for the apt description of XFS |
0 | 240 \end{itemize} |
241 \end{frame} | |
242 | |
3
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
243 % |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
244 % Extra slides |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
245 % |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
246 \section{Extra stuff} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
247 \begin{frame} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
248 \frametitle{What are extents?} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
249 \begin{itemize} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
250 \item<1-> Suppose you need to keep track of what blocks belong |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
251 to a file |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
252 \item<2-> Naturally: $<$offset, block nr$>$ |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
253 \end{itemize} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
254 \end{frame} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
255 \begin{frame} % should be continuation of previous frame |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
256 \frametitle{What are extents?} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
257 (FIXME: graphic showing a file with blocks pointing to blocks on disk) |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
258 \end{frame} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
259 \begin{frame} % should be continuation of previous frame |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
260 \frametitle{What are extents?} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
261 \begin{itemize} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
262 % continue list from before |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
263 \item<1-> All works well... |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
264 \item<2-> ...unless you have millions of blocks (1 million 4K |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
265 blocks is 4GB) |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
266 \item<3-> Extents express a range of blocks instead of a single |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
267 block |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
268 \item<4-> Rely on the fact that many times, blocks are |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
269 contiguously used within a file |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
270 \item<5-> For example: $<$offset, nr blocks, block nr$>$ |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
271 \end{itemize} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
272 \end{frame} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
273 \begin{frame} % should be continuation of previous frame |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
274 \frametitle{What are extents?} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
275 (FIXME: graphic showing a file with an extent instead of many |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
276 pointers) |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
277 \end{frame} |
d4de13a2546e
finished slideshow
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
278 |
0 | 279 \end{document} |