]> pere.pagekite.me Git - homepage.git/blobdiff - blog/archive/2013/07/index.html
Generated.
[homepage.git] / blog / archive / 2013 / 07 / index.html
index a4323a55c8a37f622e0e6f1daa3a3e4c7fc6e18a..822e0426ee4e1b5465d360b80d6626cf14644e61 100644 (file)
 
     <h3>Entries from July 2013.</h3>
     
+    <div class="entry">
+      <div class="title">
+        <a href="http://people.skolelinux.org/pere/blog/How_to_fix_a_Thinkpad_X230_with_a_broken_180_GB_SSD_disk.html">How to fix a Thinkpad X230 with a broken 180 GB SSD disk</a>
+      </div>
+      <div class="date">
+        17th July 2013
+      </div>
+      <div class="body">
+        <p>Today I switched to
+<a href="http://people.skolelinux.org/pere/blog/The_Thinkpad_is_dead__long_live_the_Thinkpad_X230_.html">my
+new laptop</a>.  I've previously written about the problems I had with
+my new Thinkpad X230, which was delivered with an
+<a href="http://people.skolelinux.org/pere/blog/Intel_SSD_520_Series_180_GB_with_Lenovo_firmware_still_lock_up_from_sustained_writes.html">180
+GB Intel SSD disk with Lenovo firmware</a> that did not handle
+sustained writes.  My hardware supplier have been very forthcoming in
+trying to find a solution, and after first trying with another
+identical 180 GB disks they decided to send me a 256 GB Samsung SSD
+disk instead to fix it once and for all.  The Samsung disk survived
+the installation of Debian with encrypted disks (filling the disk with
+random data during installation killed the first two), and I thus
+decided to trust it with my data.  I have installed it as a Debian Edu
+Wheezy roaming workstation hooked up with my Debian Edu Squeeze main
+server at home using Kerberos and LDAP, and will use it as my work
+station from now on.</p>
+
+<p>As this is a solid state disk with no moving parts, I believe the
+Debian Wheezy default installation need to be tuned a bit to increase
+performance and increase life time of the disk.  The Linux kernel and
+user space applications do not yet adjust automatically to such
+environment.  To make it easier for my self, I created a draft Debian
+package <tt>ssd-setup</tt> to handle this tuning.  The
+<a href="http://anonscm.debian.org/gitweb/?p=collab-maint/ssd-setup.git">source
+for the ssd-setup package</a> is available from collab-maint, and it
+is set up to adjust the setup of the machine by just installing the
+package.  If there is any non-SSD disk in the machine, the package
+will refuse to install, as I did not try to write any logic to sort
+file systems in SSD and non-SSD file systems.</p>
+
+<p>I consider the package a draft, as I am a bit unsure how to best
+set up Debian Wheezy with an SSD.  It is adjusted to my use case,
+where I set up the machine with one large encrypted partition (in
+addition to /boot), put LVM on top of this and set up partitions on
+top of this again.  See the README file in the package source for the
+references I used to pick the settings.  At the moment these
+parameters are tuned:</p>
+
+<ul>
+
+<li>Set up cryptsetup to pass TRIM commands to the physical disk
+    (adding discard to /etc/crypttab)</li>
+
+<li>Set up LVM to pass on TRIM commands to the underlying device (in
+    this case a cryptsetup partition) by changing issue_discards from
+    0 to 1 in /etc/lvm/lvm.conf.</li>
+
+<li>Set relatime as a file system option for ext3 and ext4 file
+    systems.</li>
+
+<li>Tell swap to use TRIM commands by adding 'discard' to
+    /etc/fstab.</li>
+
+<li>Change I/O scheduler from cfq to deadline using a udev rule.</li>
+
+<li>Run fstrim on every ext3 and ext4 file system every night (from
+    cron.daily).</li>
+
+<li>Adjust sysctl values vm.swappiness to 1 and vm.vfs_cache_pressure
+    to 50 to reduce the kernel eagerness to swap out processes.</li>
+
+</ul>
+
+<p>During installation, I cancelled the part where the installer fill
+the disk with random data, as this would kill the SSD performance for
+little gain.  My goal with the encrypted file system is to ensure
+those stealing my laptop end up with a brick and not a working
+computer.  I have no hope in keeping the really resourceful people
+from getting the data on the disk (see
+<a href="http://xkcd.com/538/">XKCD #538</a> for an explanation why).
+Thus I concluded that adding the discard option to crypttab is the
+right thing to do.</p>
+
+<p>I considered using the noop I/O scheduler, as several recommended
+it for SSD, but others recommended deadline and a benchmark I found
+indicated that deadline might be better for interactive use.</p>
+
+<p>I also considered using the 'discard' file system option for ext3
+and ext4, but read that it would give a performance hit ever time a
+file is removed, and thought it best to that that slowdown once a day
+instead of during my work.</p>
+
+<p>My package do not set up tmpfs on /var/run, /var/lock and /tmp, as
+this is already done by Debian Edu.</p>
+
+<p>I have not yet started on the user space tuning.  I expect
+iceweasel need some tuning, and perhaps other applications too, but
+have not yet had time to investigate those parts.</p>
+
+<p>The package should work on Ubuntu too, but I have not yet tested it
+there.</p>
+
+<p>As for the answer to the question in the title of this blog post,
+as far as I know, the only solution is to replace the disk.  It might
+be possible to flash it with Intel firmware instead of the Lenovo
+firmware.  But I have not tried and did not want to do so without
+approval from Lenovo as I wanted to keep the warranty on the disk
+until a solution was found and they wanted the broken disks back.</p>
+
+      </div>
+      <div class="tags">
+        
+        
+        Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
+        
+        
+      </div>
+    </div>
+    <div class="padding"></div>
+    
     <div class="entry">
       <div class="title">
         <a href="http://people.skolelinux.org/pere/blog/Intel_SSD_520_Series_180_GB_with_Lenovo_firmware_still_lock_up_from_sustained_writes.html">Intel SSD 520 Series 180 GB with Lenovo firmware still lock up from sustained writes</a>
@@ -392,7 +510,7 @@ Squeeze release.</p>
 
 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/06/">June (10)</a></li>
 
-<li><a href="http://people.skolelinux.org/pere/blog/archive/2013/07/">July (5)</a></li>
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2013/07/">July (6)</a></li>
 
 </ul></li>
 
@@ -542,7 +660,7 @@ Squeeze release.</p>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/bsa">bsa (2)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (82)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (83)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (137)</a></li>
 
@@ -552,7 +670,7 @@ Squeeze release.</p>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (208)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (209)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (21)</a></li>