1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
"http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
<head>
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type">
<title>The Sysadmin Disaster of the Month</title>
</head>
<body alink="#FF0000" vlink="#55188A" link="#0000EF" bgcolor="#FFFFFF" text="#000099">
<table border="0">
<tr align="left">
<td valign="top">
<table border="0">
<tr align="left"><td valign="top" >
<img src="http://user-mode-linux.sourceforge.net/uml-small.png" height="171" width="120"/>
</td></tr>
<tr align="left"><td valign="top" bgcolor="#e0e0e0">
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/index.html">Site Home Page</a></font>
<br>
<font size="-1"><a href="http://uml.harlowhill.com">The UML Wiki</a></font>
<br>
<font size="-1"><a href="http://usermodelinux.org">UML Community Site</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/roadmap.html">The UML roadmap</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/uses.html">What it's good for</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/case-studies.html">Case Studies</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/kernel.html">Kernel Capabilities</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/dl-sf.html">Downloading it</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/run.html">Running it</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/compile.html">Compiling</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/install.html">Installation</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/skas.html">Skas Mode</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/patches.html">Incremental Patches</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/tests.html">Test Suite</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/devanon.html">Host memory use</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/fs_making.html">Building filesystems</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/faq.html">Troubles</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/contrib.html">User Contributions</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/links.html">Related Links</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/todo.html">The ToDo list</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/projects.html">Projects</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/diary.html">Diary</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/thanks.html">Thanks</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/contacts.html">Contacts</a></font>
</td></tr>
<tr align="left"><td valign="top" bgcolor="#e0e0e0">Tutorials<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/UserModeLinux-HOWTO.html">The HOWTO (html)</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/UserModeLinux-HOWTO.txt">The HOWTO (text)</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/hostfs.html">Host file access</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/input.html">Device inputs</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/shared_fs.html">Sharing filesystems</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/fs.html">Creating filesystems</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/resize.html">Resizing filesystems</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/networking.html">Virtual Networking</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/mconsole.html">Management Console</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/debugging.html">Kernel Debugging</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/honeypots.html">UML Honeypots</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/gprof.html">gprof and gcov</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/xtut.html">Running X</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/trouble.html">Diagnosing problems</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/config.html">Configuration</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/slack_readme.html">Installing Slackware</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/arch-port.html">Porting UML</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/iomem.html">IO memory emulation</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/2G-2G.html">UML on 2G/2G hosts</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/lksct/index.html">Adding a UML system call</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/nesting.html">Running nested UMLs</a></font>
</td></tr>
<tr align="left"><td valign="top" bgcolor="#e0e0e0">How you can help<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/help-gen.html">Overview</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/help-doc.html">Documentation</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/help-userspace.html">Utilities</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/help-kernel-v1.html">Kernel bugs</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/projects.html">Kernel projects</a></font>
</td></tr>
<tr align="left"><td valign="top" bgcolor="#e0e0e0">Screenshots<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/net.html">A virtual network</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/x.html">An X session</a></font>
</td></tr>
<tr align="left"><td valign="top" bgcolor="#e0e0e0">Transcripts<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/login.html">A login session</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/debug-session.html">A debugging session</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/slackinst.html">Slackware installation</a></font>
</td></tr>
<tr align="left"><td valign="top" bgcolor="#e0e0e0">Reference<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/switches.html">Kernel switches</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/slack_readme.html">Slackware README</a></font>
</td></tr>
<tr align="left"><td valign="top" bgcolor="#e0e0e0">Papers<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/als2000/index.html">ALS 2000 paper (html)</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/als2000.tex">ALS 2000 paper (TeX)</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/slides/als2000/slides.html">ALS 2000 slides</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/slides/lca2001/lca.html">LCA 2001 slides</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/slides/ols2001/index.html">OLS 2001 paper (html)</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/ols2001.tex">OLS 2001 paper (TeX)</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/als2001/index.html">ALS 2001 paper (html)</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/als2001.tex">ALS 2001 paper (TeX)</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/slides/ists2002/umlsec.htm">UML security (html)</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/slides/lca2002/lca2002.htm">LCA 2002 (html)</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/slides/wvu2002/wvu2002.htm">WVU 2002 (html)</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/slides/ists_rt/ists_rt.htm">Security Roundtable (html)</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/slides/ols2002/ols2002.html">OLS 2002 slides</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/slides/lwe2005/LWE2005.html">LWE 2005 slides</a></font>
</td></tr>
<tr align="left"><td valign="top" bgcolor="#e0e0e0">Fun and Games<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/cgi-bin/hangman">Kernel Hangman</a></font>
<br>
<font size="-1"><a href="http://user-mode-linux.sourceforge.net/sdotm.html">Disaster of the Month</a></font>
</td></tr>
</table>
</td>
<td valign="top" align="left">
<center>
<h3>The Sysadmin Disaster of the Month</h3>
</center>
Each month, we will introduce a disaster scenario and accept
submissions of recovery procedures from them. For examples of good
disasters, see my O'Reilly article
<a href="http://www.oreillynet.com/pub/a/linux/2001/11/29/UserModeLinux.html">
here</a>.
<p>
If you're new to UML, you'll probably want to read the following pages
before starting to solve this month's problem:
<ul>
<li><a href="dl-sf.html">Downloading UML</a></li>
<li><a href="run.html">Running it</a></li>
<li>
<a href="shared_fs.html">Using COW block devices</a>
</li>
<li><a href="mconsole.html">Using the UML
management console </a>
</li>
</ul>
<a name="The May 2002 Disaster"/><table width="100%" bgcolor="#e0e0e0">
<tr>
<td>
<b>
<font color="black">The May 2002 Disaster</font>
</b>
</td>
</tr>
</table>
<blockquote head="The May 2002 Disaster">
This month's disaster involves a
<a href="sdotm_data/may02.bz2">filesystem</a> that
mysteriously won't boot. Your job is to figure out what's wrong and
fix it. This one is fairly easy, so if you find it to be trivial,
don't complain.
<p>
Anyway, download the filesystem, uncompress it, make it boot, and tell
us below how you did it.
</blockquote>
<a name="Submit your solution"/><table width="100%" bgcolor="#e0e0e0">
<tr>
<td>
<b>
<font color="black">Submit your solution</font>
</b>
</td>
</tr>
</table>
<blockquote head="Submit your solution">
If you have a solution to this month's problem and you want it to be
immortalized on this very site, submit it here.
<p>
I will pick one or more winning solutions based on criteria such as
<ul>
<li>originality - all else being equal, I like non-obvious solutions
</li>
<li>subtlety - if applicable, small fixes are better than big ones
</li>
<li>brevity - short and sweet is better than long and involved
</li>
<li>parsimony - the fewer external resources you need, the better
</li>
</ul>
<p>
<form method="POST" action="http://user-mode-linux.sourceforge.net/cgi-bin/sdotm_submit.pl">
Who you are (any identification is OK, including none at all)
<br>
<input name="submitter" type="text">
<p>
Your billiant recovery:
<br>
<textarea name="answer" cols="60" rows="20"></textarea>
<br>
<input value="Submit your solution" type="submit">
<input value="recovery" name="form" type="hidden">
</form>
</blockquote>
<a name="Propose a disaster"/><table width="100%" bgcolor="#e0e0e0">
<tr>
<td>
<b>
<font color="black">Propose a disaster</font>
</b>
</td>
</tr>
</table>
<blockquote head="Propose a disaster">
If you have a scenario which you think would make a good Disaster of
the Month, please submit it here. If you have a good solution,
include it as well. Disasters which have actually happened in real
life are especially good, but anything which can happen on a physical
box is fine.
<p>
Each month, I will look over the submissions and choose an interesting
one to feature as that month's disaster of the month.
<p>
<form method="POST" action="http://user-mode-linux.sourceforge.net/cgi-bin/sdotm_submit.pl">
Who you are (any identification is OK, including none at all)
<br>
<input name="submitter" type="text">
<p>
Your disaster:
<br>
<textarea name="answer" cols="60" rows="20"></textarea>
<br>
<input value="Submit your disaster" type="submit">
<input value="disaster" name="form" type="hidden">
</form>
</blockquote>
<a name="Last Month's Disaster"/><table width="100%" bgcolor="#e0e0e0">
<tr>
<td>
<b>
<font color="black">Last Month's Disaster</font>
</b>
</td>
</tr>
</table>
<blockquote head="Last Month's Disaster">
The <a href="sdotm/1202.html">December, 2001</a>
involved zeroing the root filesystem superblock and attempting to
recover it. (Note : I am lame, but not so lame that I don't realize
that December, 2001 is not the month preceding May, 2002. However, I
am lame enough to have run out of disaster ideas after writing the
<a href="http://www.oreillynet.com/pub/a/linux/2001/11/29/UserModeLinux.html">
O'Reilly article</a> and starting SDOTM. So, this page just sat
here sadly until Roger Binns had pity on it and sent me some more
disaster ideas, one of which is the May contest.)
</blockquote>
<a name="Last Month's Solutions"/><table width="100%" bgcolor="#e0e0e0">
<tr>
<td>
<b>
<font color="black">Last Month's Solutions</font>
</b>
</td>
</tr>
</table>
<blockquote head="Last Month's Solutions">
A number of proposed solutions involved reinstalling or restoring from
backups. These were rejected on the basis of being overly
heavy-handed. Most of the rest of the valid answers involved
<blockquote>
<tt>
<font color="#000000" where="UML">UML# e2fsck -n <i>alternate superblock number</i>
</font>
</tt>
</blockquote> I
tossed out the ones that suggested using 8193 as the alternate
superblock. That didn't work for me, and it turns out to be dependent
on the filesystem block size.
<p>
So, I kept the answers that provided a means of determining the
superblock location either from the filesystem itself or from the
block size. The earliest such answer came from nicholasperez (at) (a
VERY impolite domain name):
<tt>
<pre>
<font size="-1">
backup_sblock=`mke2fs -n /dev/ubd/1 | tail -2 | grep , | awk -F, '{print $1}'`
fsck.ext2 -b $backup_sblock /dev/ubd/1
</font>
</pre>
</tt>
Similar answers came from mgalgoci (at) parcelfarce (dot) linux (dot)
theplanet (dot) co (dot) uk, MonMotha, Phil, skepticman, bluebird (at)
dartmouth (dot) edu, and tjw.
<p>
In addition, I decided to name some honorable mentions:
<ul>
<li>
Solutions which involved fixing the filesystem on the host lost points
because you can't do that with a lost superblock on a physical system,
but dan_a (at) gmx (dot) net submitted a solution which pulled the
filesystem apart and reassembled it with the fixed superblock.
</li>
<li>
Petru Paler broke the rules slightly and submitted an InstaFix (tm)
which assumes that you realize immediately what you did, and that dd
is present in the page cache:
<blockquote>
<tt>
<font color="#000000" where="UML">UML# dd if=/dev/ubd/0 of=/dev/ubd/0 seek=1 bs=1024 count=1
skip=8193</font>
</tt>
</blockquote>
This lost points for hardcoding 8193, but gained some back for
possibly fixing the problem immediately.
</li>
<li>
willmore suggested <blockquote>
<tt>
<font color="#000000" where="UML">UML# mke2fs -S /dev/ubd/0</font>
</tt>
</blockquote> followed by
an fsck. This will cause mke2fs to attempt a filesystem rebuild. The
e2fsck will leave a bunch of files in lost+found, which you will have
to poke through to identify. Any directories shouldn't be hard, since
you can identify them through their contents, but the normal files
could be a pain.
</li>
</ul>
</blockquote>
</td>
</tr>
</table>
<center>
<font size="-1">Hosted at </font>
<a href="http://sourceforge.net">
<img src="http://sourceforge.net/sflogo.php?group_id=429" width="88" height="31" border="0" alt="SourceForge Logo">
</a>
</center>
</body>
</html>
|