<?xml version="1.0" encoding="UTF-8"?> <rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" ><channel><title>Blog on Charlie's Server &#187; Linux</title> <atom:link href="http://blog.charlies-server.com/tag/linux/feed" rel="self" type="application/rss+xml" /><link>http://blog.charlies-server.com</link> <description></description> <lastBuildDate>Fri, 09 Sep 2011 05:31:51 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <item><title>Is It Possible To Grow a Linux Software RAID 5 Array While Degraded?</title><link>http://blog.charlies-server.com/2011/09/09/is-it-possible-to-grow-a-linux-software-raid-5-array-while-degraded</link> <comments>http://blog.charlies-server.com/2011/09/09/is-it-possible-to-grow-a-linux-software-raid-5-array-while-degraded#comments</comments> <pubDate>Fri, 09 Sep 2011 05:31:51 +0000</pubDate> <dc:creator>Hasan</dc:creator> <category><![CDATA[Geekdom]]></category> <category><![CDATA[Linux]]></category><guid isPermaLink="false">http://blog.charlies-server.com/?p=415</guid> <description><![CDATA[$ sudo mdadm --grow /dev/md3 --raid-devices=5 mdadm: /dev/md3 is performing resync/recovery and cannot be reshaped Nope.]]></description> <content:encoded><![CDATA[<pre>$ sudo mdadm --grow /dev/md3 --raid-devices=5
mdadm: /dev/md3 is performing resync/recovery and cannot be reshaped</pre><p>Nope.</p> ]]></content:encoded> <wfw:commentRss>http://blog.charlies-server.com/2011/09/09/is-it-possible-to-grow-a-linux-software-raid-5-array-while-degraded/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Philips SRU-8010 Not-So-Universal Remote</title><link>http://blog.charlies-server.com/2009/01/28/philips-sru-8010-not-so-universal-remote</link> <comments>http://blog.charlies-server.com/2009/01/28/philips-sru-8010-not-so-universal-remote#comments</comments> <pubDate>Wed, 28 Jan 2009 19:08:05 +0000</pubDate> <dc:creator>Hasan</dc:creator> <category><![CDATA[Geekdom]]></category> <category><![CDATA[Hardware]]></category> <category><![CDATA[Linux]]></category><guid isPermaLink="false">http://blog.charlies-server.com/?p=169</guid> <description><![CDATA[I&#8217;ve had the Philips SRU-8010 Universal Remote for quite some time now, but never really got it working quite well with my Windows Media Center Edition USB Infrared receiver (or cheap knockoff). I got the receiver working very well on my Gentoo Linux HTPC with LIRC&#8216;s mceusb2 driver but wasn&#8217;t able to get my remote [...]]]></description> <content:encoded><![CDATA[<p>I&#8217;ve had the Philips SRU-8010 Universal Remote for quite some time now, but never really got it working quite well with my Windows Media Center Edition USB Infrared receiver (or cheap knockoff). I got the receiver working very well on my Gentoo Linux HTPC with <a href="http://lirc.org">LIRC</a>&#8216;s <code>mceusb2</code> driver but wasn&#8217;t able to get my remote to play perfectly with the whole setup. I was able to overcome the issue with a roundabout strategy and am pleased to report that I now have my whole media center, including my HTPC, TV, and sound receiver working together via universal remote. Read on for the details.<br /> <span id="more-169"></span></p><h3 id="toc-initial-setup">Initial Setup</h3><p>To get things started, pretty much everything worked out of the box in so far as what was advertised &#8212; the Philips universal remote never advertised explicit compatibility with my IR receiver. On the other hand, I had it controlling both my TV and sound receiver in under five minutes. Likewise, once I found out which driver to use with my USB IR receiver, LIRC was very straightforward to configure.</p><h3 id="toc-the-problems">The Problems</h3><p>As it turns out, there was no device code in the Philips documentation for Microsoft Media Center Edition remote compatibility, so I was on my own. I tried using the learning feature of the remote with mediocre results. Sure, it would eventually learn and reproduce given IR codes but the lag time associated with learned codes on the remote was astonishingly bad. Not to mention that pressing and holding a button was out of the question with learned codes. Try scrolling through hundreds of movies that way.</p><h3 id="toc-the-solution">The Solution</h3><p>I was able to find a preprogrammed mode for the universal remote that actually made independent use of [almost] all of the buttons on there, and put the remote into that mode. As it turns out, such a mode for the Philips universal remote is the for the ReplayTV DVR. Then I taught LIRC to understand the codes out of that mode using <code>irrecord</code>.</p><h3 id="toc-the-outcome">The Outcome</h3><p>Perfection.</p> ]]></content:encoded> <wfw:commentRss>http://blog.charlies-server.com/2009/01/28/philips-sru-8010-not-so-universal-remote/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Allowing Access to FTP Disk Only Via FTP</title><link>http://blog.charlies-server.com/2008/08/10/allowing-access-to-ftp-disk-only-via-ftp</link> <comments>http://blog.charlies-server.com/2008/08/10/allowing-access-to-ftp-disk-only-via-ftp#comments</comments> <pubDate>Sun, 10 Aug 2008 22:25:26 +0000</pubDate> <dc:creator>Hasan</dc:creator> <category><![CDATA[Geekdom]]></category> <category><![CDATA[FTP]]></category> <category><![CDATA[HOWTO]]></category> <category><![CDATA[Linux]]></category> <category><![CDATA[Security]]></category><guid isPermaLink="false">http://blog.charlies-server.com/?p=122</guid> <description><![CDATA[For bandwidth shaping reasons, I wanted to be able to allow access to my FTP disk (mounted at /var/ftp) only via FTP (hosted by ProFTPd). As it turns out, this is quite easy to do using a couple of UNIX permissions tricks and some ProFTPd voodoo. Read on for the basic description of how I&#8217;ve [...]]]></description> <content:encoded><![CDATA[<p>For bandwidth shaping reasons, I wanted to be able to allow access to my FTP disk (mounted at <code>/var/ftp</code>) only via FTP (hosted by <a href="http://www.proftpd.org/" title="My FTP Daemon of Choice.">ProFTPd</a>). As it turns out, this is quite easy to do using a couple of UNIX permissions tricks and some ProFTPd voodoo. Read on for the basic description of how I&#8217;ve done it.<span id="more-122"></span></p><p><strong>Note</strong>: Here we will assume that ProFTPd has been configured for SQL authentication.</p><h3 id="toc-restricting-access-via-shell">Restricting Access Via Shell</h3><p>The first thing that needs to be done is to restrict permissions on the FTP disk so that shell users aren&#8217;t allowed to read it. This requires some simple UNIX permissions knowledge, and I used the following to get the job done.</p><p><code class="block">chown -r gongloo:ftp /var/ftp<br /> find /var/ftp -type f -exec chmod 640 {} \;<br /> find /var/ftp -type d -exec chmod 755 {} \;</code></p><p>That&#8217;ll set the permissions for all directories so that they can be opened by anyone but written to only by <code>gongloo</code>, and permissions for all files so that they can only be read by those in the <code>ftp</code> group and, again, can only be written to by <code>gongloo</code>. This means that any users who have FTP access as well as shell access will be able to list, but unable to read, the files on the FTP disk via shell.</p><p>Now all that we have to do is make sure that the <code>ftp</code> UNIX group contains only members that should have access to the FTP disk via shell.</p><h3 id="toc-allowing-access-via-ftp">Allowing Access Via FTP</h3><p>The second thing we need to get done is to allow access to the files via FTP for those users who should have it. This is fairly straightforward if we configure ProFTPd to assign GIDs directly from the SQL database that it uses as its authentication backend. We simply create an entry in the SQL table for ProFTPd groups matching the <code>ftp</code> entry in <code>/etc/group</code>. I used something like the following:</p><p><code class="block">INSERT INTO groups (groupname, gid, members) VALUES<br /> ('ftp', '21', 'userid1, userid2, userid3, ..., useridn');</code></p><p>And that&#8217;s it! Users listed in the <code>ftp</code> group in the SQL database are now able to grab files off of the FTP disk. Huzzah!</p> ]]></content:encoded> <wfw:commentRss>http://blog.charlies-server.com/2008/08/10/allowing-access-to-ftp-disk-only-via-ftp/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>HD Video Playback in Linux</title><link>http://blog.charlies-server.com/2007/09/13/hd-video-playback-in-linux</link> <comments>http://blog.charlies-server.com/2007/09/13/hd-video-playback-in-linux#comments</comments> <pubDate>Thu, 13 Sep 2007 15:17:03 +0000</pubDate> <dc:creator>Hasan</dc:creator> <category><![CDATA[Geekdom]]></category> <category><![CDATA[H.264]]></category> <category><![CDATA[Hardware]]></category> <category><![CDATA[HD]]></category> <category><![CDATA[Linux]]></category><guid isPermaLink="false">http://newblog.charlies-server.com/2007/09/13/hd-video-playback-in-linux/</guid> <description><![CDATA[It seems that any developer I ask tells me that it&#8217;s currently not possible to play back 1080p H.264 video in Linux. In this post, I respond loud and clear to anyone who has said that: They Are Wrong. But there has to be a catch, right? Of course there is; there&#8217;s always a catch. [...]]]></description> <content:encoded><![CDATA[<p>It seems that any developer I ask tells me that it&#8217;s currently not possible to play back 1080p H.264 video in Linux. In this post, I respond loud and clear to anyone who has said that: <strong>They Are Wrong</strong>. But there has to be a catch, right? Of course there is; there&#8217;s always a catch. Yes, I can play back <em>some</em> 1080p H.264 video flawlessly in Linux. Yes, I have watched entire movies in this fashion. Yes, there are some clips that I just can&#8217;t play back with my setup. Read on for the details of said setup, how I do it, and what the limitations are.<br /> <span id="more-105"></span></p><h3 id="toc-definitions-limitations">Definitions &amp; Limitations</h3><p>First, I should provide some definitions and/or limitations; in order to make any claims we first need to lay down some commonly accepted premises. I&#8217;m not going to argue that the following definitions are universally correct or even that they represent any general consensus; this is just how I define the following terms and what these definitions mean &#8212; subjectively &#8212; to me.</p><h4 id="toc-1080p">1080p</h4><p>This one is going to be controversial. Technically speaking, a video is defined as within the 1080p standard if (a) its picture is progressive (non-interlaced) and (b) the picture is made up of 1,080 rows of pixels. What is implied but not specifically stated in this definition is that the aspect ratio of a 1080p picture is 16:9, yielding a resolution of 1920&#215;1080. However, since many movies are filmed in wider aspect ratios, commercial 1080p media is often <a href="http://en.wikipedia.org/wiki/Letterbox" title="Wikipedia: Letterbox">letterboxed</a> in order to avoid cropping. As such, for my purposes, I define 1080p to be any picture with 1,920 columns of pixels.</p><h4 id="toc-h-264">H.264</h4><p>The H.264 codec is an ugly multi-headed beast. The specification for this particular video codec provides many different profiles which all require different amounts of processing power to encode or decode. There are all sorts of available &#8216;options&#8217; within the standard and many of them probably require a supercomputer just to decode (in 1080p) in realtime. For the purposes of this discussion, I&#8217;ll say that we&#8217;re dealing with the baseline or main H.264 profiles, using a reasonable amount of b-frames and reference frames &#8212; say, one to three &#8212; at a reasonable bitrate of about 10mbit (average) for 1080p films, using CABAC. Most of my test clips were encoded using the wonderful x264 open-source H.264 encoder.</p><h3 id="toc-hardware">Hardware</h3><p>When I set out to build a Home Theater PC (HTPC), I wanted to keep 1080p H.264 playback in mind, and knowing that this problem is computationally difficult, I bought fairly high-end hardware with budget somewhat in mind. I won&#8217;t argue for or against my hardware, since that&#8217;s a whole different debate better suited to people more so inclined. I will say that my hardware works me.</p><table class="visible"><tr><th>Processor</th><td>AMD Athlon 64 X2 6000+</td></tr><tr><th>Motherboard</th><td>Gigabyte GA-MA69G-S3H</td></tr><tr><th>RAM</th><td>Wintec AMPX 1GB (2 x 512MB) PC2 6400</td></tr><tr><th>Video</th><td>BFG Tech 3D Fuzion GeForce 6200LE</td></tr><tr><th>Display</th><td>Mitsubishi LT-46131 (1920&#215;1080 46&#8243; LCD)</td></tr></table><h4 id="toc-processor">Processor</h4><div class="alternate"><div class="wpg2tag-image"><a href="http://blog.charlies-server.com/v/Misc/AMD_Athlon64_X2_6000.html" title="AMD Athlon 64 X2 6000+"><img src="http://blog.charlies-server.com/gallery/d/3673-2/AMD_Athlon64_X2_6000" width="150" height="124" id="IFid5" class="ImageFrame_None" alt="AMD Athlon 64 X2 6000+"/></a></div></div><p>Whilst not getting into the AMD vs. Intel debate, I will say this: I feel that going with AMD is more cost-effective. At time of purchase, the chip I bought had just had a huge price drop and as such became quite attractive. Once I got the components together and verified that everything worked, I overclocked this bad-boy from its stock 3.0Ghz (200Mhz x 15) to 3.15Ghz (210Mhz x 15) just to squeeze a bit (5% to be precise) out of it. Whilst I could get it to run at 3.3Ghz, it wasn&#8217;t stable and I wasn&#8217;t willing to bump the voltages up too much on the stock cooling I have. Currently this processor runs at around 35&deg;C idle and around 65&deg;C under load.</p><h4 id="toc-motherboard" style="clear: right;">Motherboard</h4><div class="alternate"><div class="wpg2tag-image"><a href="http://blog.charlies-server.com/v/Misc/GA-MA69G-S3H.html" title="Gigabyte GA-MA69G-S3H"><img src="http://blog.charlies-server.com/gallery/d/3670-2/GA-MA69G-S3H" width="150" height="116" id="IFid6" class="ImageFrame_None" alt="Gigabyte GA-MA69G-S3H"/></a></div></div><p>This is where I spent a lot of time researching. I wanted a motherboard that had as many integrated components as possible. Most motherboards these days have integrated sound but not all have integrated sound with optical out, which was an absolute necessity for me. I was also looking for a motherboard with integrated video. I found this one with the added bonus of having integrated HDMI. I couldn&#8217;t get the sound pass-through over HDMI working under Linux, but since I have an optical connection to the receiver anyways I&#8217;m not too fettered about it.</p><h4 id="toc-ram" style="clear: right;">RAM</h4><p>Quite simply, just whatever cheap dual-channel 800Mhz RAM compatible with my motherboard I happened to find on <a href="http://newegg.com">newegg.com</a>.</p><h4 id="toc-video">Video</h4><div class="alternate"><div class="wpg2tag-image"><a href="http://blog.charlies-server.com/v/Misc/BFG_Tech_3D_Fuzion_GeForce_6200LE.html" title="BFG Tech 3D Fuzion GeForce 6200LE"><img src="http://blog.charlies-server.com/gallery/d/3676-4/BFG_Tech_3D_Fuzion_GeForce_6200LE" width="150" height="101" id="IFid7" class="ImageFrame_None" alt="BFG Tech 3D Fuzion GeForce 6200LE"/></a></div></div><p>As I found out just after putting all of the hardware together, ATI&#8217;s drivers for Linux do not support XVideo (hardware accelerated video scaling, color-space conversions, and display), rendering the integrated video card on the motherboard less useful. I decided to buy the cheapest PCI-Express NVIDIA card I could find, making sure that it was fully supported with the latest NVIDIA Linux drivers. More on this in the software section below.</p><h4 id="toc-display" style="clear: right;">Display</h4><div class="alternate"><div class="wpg2tag-image"><a href="http://blog.charlies-server.com/v/Misc/LT-46131.html" title="Mitsubishi LT-46131"><img src="http://blog.charlies-server.com/gallery/d/3667-4/LT-46131" width="150" height="117" id="IFid8" class="ImageFrame_None" alt="Mitsubishi LT-46131"/></a></div></div><p>Most new HDTVs now have some sort of direct-from-computer input &#8212; mine has a DVI port right on the back. Some HDTVs, however, do some <a href="http://en.wikipedia.org/wiki/Overscan" title="Wikipedia: Overscan">overscanning</a> and other image processing on the signal received, even for digital signals. Depending on the source, this can be good or bad, but in general when attaching a computer to a display you want a 1:1 (no overscan) pixel mapping. Fortunately my display supports this via its DVI port.</p><h3 id="toc-software" style="clear: right;">Software</h3><p>There was no doubt in my mind that I&#8217;d be running Linux, so hardware acceleration of H.264 playback was immediately a no-go: the driver support just isn&#8217;t there yet. It turns out that I&#8217;m pretty much stuck with ffmpeg&#8217;s H.264 decoder for playback (I won&#8217;t get into the controversial CoreAVC-on-Linux fiasco here other than to say I&#8217;m not about to go hacking up mplayer code to get CoreAVC on Linux under 64bit). But there&#8217;s more to playback than just decoding the input video stream; once the stream is decoded, there is an often necessary colorspace conversion to do, there may or may not be some scaling involved, and of course you have to get the decoded image to the display somehow, which can take significant amounts of compute time.</p><h4 id="toc-decoding">Decoding</h4><p>The ffmpeg H.264 decoder is really great with one major caveat: it&#8217;s not multithreaded. This means that no matter how many cores you have, H.264 decoding will use exactly one. I hear there&#8217;s some work being done on parallelizing said decoder, but as of yet I&#8217;ve heard of no working prototypes let alone a release. Knowing this is mostly why I wanted such a high clock speed for my main processor, regardless of how many cores it has &#8212; for sure I would have bought a cheaper, slower dual-core processor had the ffmpeg H.264 decoder been capable of taking advantage of two cores simultaneously.</p><p>That having been said, there are some decoding options that you can pass to ffmpeg&#8217;s H.264 decoder via mplayer that will improve performance at the cost of quality. Specifically, there&#8217;s the ability so skip all of the in-loop filters (deblocking, mainly), which should yield a performance increase of ranging from zero to three hundred precent or more depending on the source material and encoding options. Simply invoke mplayer with the option <code>-lavdopts fast=1:skiploopfilter=all</code> &#8212; you can read more about these in your mplayer manpage. If your processor just isn&#8217;t capable of handling H.264 videos you&#8217;re trying to play, a good first pass is to try disabling in-loop filters. If your processor still can&#8217;t handle it, it&#8217;s time for you to upgrade &#8212; there&#8217;s pretty much nothing else you can do.</p><h4 id="toc-displaying">Displaying</h4><p>Once a video stream has been decoded, it is typically sent to a display for viewing. Often this involves colorspace conversions and/or scaling. In my case, with 1080p playback, there is typically no scaling necessary as my display is exactly as large (at least in the limiting dimension) as the image being displayed. In the case of 720p on a 1080p display, however, some upscaling needs to be done. Some upscaling and colorspace conversion computations can be done in hardware on your graphics card if your graphics drivers are capable and set up for it. One such technology under Linux is XVideo, or XV for short.</p><p>XV can handle colorspace conversions and upscaling natively in graphics hardware so that your CPU doesn&#8217;t have to burn cycles doing so. In the absence of XV, I have found mplayer&#8217;s X11 output driver to be the best on my setup. Even though the X11 processing seemingly went on in the X11 server (according to top), which of course does not run on the same core as mplayer so as to maximize performance, I found that using the X11 display driver cause a significant decrease in video playback performance &#8212; enough to drop a few frames in some test clips. Since the ATI drivers for the integrated graphics chipset on my motherboard do not provide XV capabilities at time of writing (note that this is a specific case for my video chipset, the X1250 &#8212; most other ATI chipsets boast XV support in the proprietary ATI drivers), I bought a cheap NVIDIA card that I knew would work with XV. Once I had XV working, I was able to play back clips that had previously stuttered due to dropped frames.</p><p>It is my preference, however, to not upscale videos using XV, as generally I find the results to be much better when using a decent software upscaler. This is especially visible when viewing, for example, NTSC television captures on a 1080p display. There are a number of software upscale implementations bundled with mplayer, and for most people the default will suffice. If this is a bit too CPU-intensive, though, I find that the fast bilinear algorithm does a fairly good job and is a little bit less CPU intensive than the default bicubic algorithm. To select this, simply invoke mplayer with the <code>-zoom -sws 0</code> arguments. Of course, the quality of the upscale will depend on the source and the algorithm of choice, so as with anything else, try a few of the different options and go with what you prefer.</p><h4 id="toc-a-note-on-sound">A Note On Sound</h4><p>I run an optical line between my HTPC and my sound receiver and use it for both PCM and surround (Dolby or DTS) sound. While this article is, as the title suggests, about video, I feel compelled here to mention that decoding surround sound in software does take a nontrivial amount of CPU time. You&#8217;ll be much better off &#8212; for a number of reasons, compute time inclusive &#8212; sending the audio stream to a hardware decoder (read: sound receiver) for playback there. Sometimes the little bit of difference that decoding sound can make is what you&#8217;ll need to avoid a few dropped frames here and there.</p> ]]></content:encoded> <wfw:commentRss>http://blog.charlies-server.com/2007/09/13/hd-video-playback-in-linux/feed</wfw:commentRss> <slash:comments>32</slash:comments> </item> <item><title>&#8230;And From the Ashes, An FTP is Reborn</title><link>http://blog.charlies-server.com/2006/09/29/and-from-the-ashes-an-ftp-is-reborn</link> <comments>http://blog.charlies-server.com/2006/09/29/and-from-the-ashes-an-ftp-is-reborn#comments</comments> <pubDate>Fri, 29 Sep 2006 18:06:28 +0000</pubDate> <dc:creator>Hasan</dc:creator> <category><![CDATA[Geekdom]]></category> <category><![CDATA[FTP]]></category> <category><![CDATA[Linux]]></category><guid isPermaLink="false">http://newblog.charlies-server.com/2006/09/29/and-from-the-ashes-an-ftp-is-reborn/</guid> <description><![CDATA[The good news: Charlie&#8217;s Server&#8217;s FTP service is back online, with all of the old data to boot! The bad news: One of the drives in the FTP array died. The ugly news: LVM didn&#8217;t want to activate the array in partial mode. Read on for technical details and how I revived a dead LVM [...]]]></description> <content:encoded><![CDATA[<p>The good news: Charlie&#8217;s Server&#8217;s FTP service is back online, with all of the old data to boot!</p><p>The bad news: One of the drives in the FTP array died.</p><p>The ugly news: LVM didn&#8217;t want to activate the array in partial mode.</p><p>Read on for technical details and how I revived a dead LVM array with a missing drive.<br /> <span id="more-80"></span><br /> About a week ago, I realized that one of the disks in my LVM array was dying, with I/O errors on certain sectors of the drive. Not wanting to take <em>too</em> much of a risk (of course, no backups and no mirroring, &#8217;cause the cool kids live on the edge like that), I decided to initiate a <code>pvmove</code> immediately. Trying to be smart about it, I decided to do the <code>pvmove</code> in chunks rather than have it process the entire drive at once. Of the 3500 or so physical extents of 32MB each, I did my moves in the following fashion and order.</p><table class="visible"><tr><th>Physical Extents</th><th>Result</th></tr><tr><td>1-1000</td><td>Success</td></tr><tr><td>1001-2000</td><td>Success</td></tr><tr><td>The Rest</td><td><strong><em>FAILURE</em></strong></td></tr><tr></tr></table><p>Amazingly enough, the drive died completely during the metadata update phase of the move. This means that all of the data was actually mirrored by that point (or at least as much of it as could be read from the device without error). What threw me off was that LVM simply refused to activate the volume group and logical volume(s), even in <code>--partial</code> mode.</p><p>After failing to bring back the volumes using partial mode, I started to try a bunch of random, even crazy, solutions. Word on the grapevine is that you can sometimes revive a dead drive by freezing it &#8212; literally, in the freezer. So I left the culprit in the freezer for an ninety minutes, and then gave it a shot. Still no dice, though this technique <a href="http://geeksaresexy.blogspot.com/2006/01/freeze-your-hard-drive-to-recover-data.html" title="HDD Revival via Freezer: A Success Story">has apparently worked for others</a>.</p><p>Just before deciding to completely scrap the entire volume group, I thought of something only half-crazy. Why not complete <code>pvmove</code>&#8216;s job by hand? It should be fairly straightforward to manually modify the volume group configuration and overwrite the currently loaded configuration with my modified version. I was able to do just that, with some calculations as to which physical extents belong in which sections of which logical volumes.</p><p>Somehow, I ended up getting things right on the first try (if I had a dime every time that happened, I&#8217;d still be dirt poor), and am pleased to announce that I don&#8217;t see any data integrity loss! After checking a routine check of all of the remaining devices for bad blocks (lest this happen again right away) and then a routine <code>e2fsck -y</code> to fix any errors on the filesystem, all was well! Thankfully the aforementioned dead sectors (on which those I/O errors occurred) stored blank nodes on the filesystem anyways, so things just worked themselves out.</p><p>That having been said, I&#8217;m definitely keeping an anxious eye on <a title="A Crazy New Filesystem for OpenSolaris" href="http://www.opensolaris.org/os/community/zfs/">ZFS</a> and specifically its <a href="http://www.wizy.org/wiki/ZFS_on_FUSE" title="ZFS on FUSE Port Project">port to Linux</a>. Looks like it might solve some of my problems!</p> ]]></content:encoded> <wfw:commentRss>http://blog.charlies-server.com/2006/09/29/and-from-the-ashes-an-ftp-is-reborn/feed</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>LVM + Moving Around Drives = Unhappy?</title><link>http://blog.charlies-server.com/2006/09/26/lvm-moving-around-drives-unhappy</link> <comments>http://blog.charlies-server.com/2006/09/26/lvm-moving-around-drives-unhappy#comments</comments> <pubDate>Tue, 26 Sep 2006 15:10:49 +0000</pubDate> <dc:creator>Hasan</dc:creator> <category><![CDATA[Geekdom]]></category> <category><![CDATA[Gentoo]]></category> <category><![CDATA[Linux]]></category><guid isPermaLink="false">http://newblog.charlies-server.com/2006/09/26/lvm-moving-around-drives-unhappy/</guid> <description><![CDATA[When I saw some ugly I/O errors on one of the drives in my LVM volume, I immediately looked into how to move whatever data I could off of that drive and onto another free drive. Luckily, I happened have a few free drives. After some quick reading online, and the lovely tab-completion available in [...]]]></description> <content:encoded><![CDATA[<p>When I saw some ugly I/O errors on one of the drives in my LVM volume, I immediately looked into how to move whatever data I could off of that drive and onto another free drive. Luckily, I happened have a few free drives.</p><p>After some quick reading online, and the lovely tab-completion available in <code>bash</code>, I found the <code>pvmove</code> command, and decided to put it to use. After not receiving any output for several hours, I decided that the process had hung and killed it. When running <code>pvmove --abort</code>, I got a few instances of the following error.</p><p><code>reload ioctl failed: Invalid argument</code><br /> <span id="more-79"></span></p><p>So I hit the <strike>books</strike> internet again, and happened upon <a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=383418">a similar bug report</a> on Debian&#8217;s bug tracker where it was suggested that perhaps the version of the kernel drivers for lvm2 and the versions of the userspace utilities/libraries were out of sync. Since I&#8217;m running almost the latest kernel (<code>2.6.17</code>; <code>2.6.18</code> was just released), I decided to upgrade to the latest released lvm2 utilities and libraries. Once this was done, everything worked like a charm!</p><table class="visible"><tr><th>Software</th><th>Old (Broken) Configuration</th><th>New (Working) Configuration</th></tr><tr><th>Kernel</th><td colspan="2">2.6.17-gentoo-r8</td></tr><tr><th>Userspace Library (libdevicemapper)</th><td>1.02.07</td><td>1.02.10</td></tr><tr><th>lvm2</th><td>2.02.06</td><td>2.02.10</td></tr></table><p>Oddly enough, the old configuration reflects the latest available packages as keyworded stable for <code>amd64</code>. The new configuration reflects the latest packages as keyworded testing for <code>amd64</code>, excepting the kernel. I&#8217;ll probably go about upgrading my kernel very soon, but since LVM with <code>pvmove</code> works just fine, I have no strong pressure to do so. Besides, my box is still busy moving data hither and thither.</p> ]]></content:encoded> <wfw:commentRss>http://blog.charlies-server.com/2006/09/26/lvm-moving-around-drives-unhappy/feed</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Long Live Charlie&#8217;s Server</title><link>http://blog.charlies-server.com/2005/09/24/long-live-charlies-server</link> <comments>http://blog.charlies-server.com/2005/09/24/long-live-charlies-server#comments</comments> <pubDate>Sun, 25 Sep 2005 00:26:28 +0000</pubDate> <dc:creator>Hasan</dc:creator> <category><![CDATA[Geekdom]]></category> <category><![CDATA[This Blog]]></category> <category><![CDATA[Gentoo]]></category> <category><![CDATA[Hardware]]></category> <category><![CDATA[Linux]]></category><guid isPermaLink="false">http://newblog.charlies-server.com/2005/09/24/long-live-charlies-server/</guid> <description><![CDATA[Charlie&#8217;s Server is reborn. The previously mentioned replacement hardware came in a few days back, and the new server is up and running. To be honest, the speed (or lack thereof) of the new Athlon 64 hardware didn&#8217;t stun me. All in all, though, I think I made an excellent purchase, particularly in terms of [...]]]></description> <content:encoded><![CDATA[<p>Charlie&#8217;s Server is reborn. The <a href="http://blog.charlies-server.no-ip.com/2005/09/11/charlies-server-is-dead/" title="Charlie's Server is Dead">previously</a> <a href="http://blog.charlies-server.no-ip.com/2005/09/14/replacement-hardware-on-the-way/" title="Replacement Hardware on the Way">mentioned</a> replacement hardware came in a few days back, and the new server is up and running. To be honest, the speed (or lack thereof) of the new Athlon 64 hardware didn&#8217;t stun me. All in all, though, I think I made an excellent purchase, particularly in terms of bang for buck. It&#8217;s stable as anything, and more than fast enough for my needs.<br /> <span id="more-55"></span></p><h4 id="toc-the-cpu">The CPU</h4><p>I&#8217;ve overclocked the 2000Mhz processor just the tiniest bit &#8212; to 2050Mhz &#8212; in order to push the total bogomips to just over 4000 (<em>real </em>nerds like round numbers). I don&#8217;t want to push the machine too much, as I&#8217;d instead prefer for the processor to last a lifetime (okay, I&#8217;ll settle for five years).</p><p><code class="block">$ cat /proc/cpuinfo<br /> processor       : 0<br /> vendor_id       : AuthenticAMD<br /> cpu family      : 15<br /> model           : 47<br /> model name      : AMD Athlon(tm) 64 Processor 3200+<br /> stepping        : 2<br /> cpu MHz         : 2050.033<br /> cache size      : 512 KB<br /> fpu             : yes<br /> fpu_exception   : yes<br /> cpuid level     : 1<br /> wp              : yes<br /> flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt lm 3dnowext 3dnow pni lahf_lm<br /> bogomips        : 4063.23<br /> TLB size        : 1024 4K pages<br /> clflush size    : 64<br /> cache_alignment : 64<br /> address sizes   : 40 bits physical, 48 bits virtual<br /> power management: ts fid vid ttp tm stc</code></p><p>So that&#8217;s where it stands. I&#8217;m a bit upset about not being able to purchase the 1MB L2 cache model, but it was just too far outside my price range. Despite having the same L2 cache as Lina&#8217;s Pentium 4 (currently the processor in PowerBox) and just a 250Mhz clock speed increase, it seems to be approximately twice as fast. If I care enough (or am bored enough), I may do some proper benchmarking at some point.</p><h4 id="toc-the-memory">The Memory</h4><p>The Corsair ValueSelect RAM I bought performs well but not amazingly. It&#8217;s rated at 2.5 CAS and some users commented on review sites that they were able to run it just fine at 2. I had no such luck, though I didn&#8217;t look into it too deeply. Right now there&#8217;s two sticks at 512MB apiece (1GB total) running at 410Mhz (205Mhz DDR) in dual channel mode. Let&#8217;s just say I&#8217;m satisfied.</p><p><code class="block">$ cat /proc/meminfo | head -n 1<br /> MemTotal:      1027300 kB</code></p><h4 id="toc-the-motherboard">The Motherboard</h4><p>The motherboard is nothing short of excellent. The only thing I&#8217;d ask for above and beyond what the <a href="http://www.msi.com.tw/program/products/mainboard/mbd/pro_mbd_detail.php?UID=652" title="The motherboard I bought.">MSI K8N Neo4-F</a> provides is IEEE1394 (FireWire). I can always buy a PCI card for that, though (or even PCI-Express if I <em>really</em> need excellent latency/bandwidth.</p><p>All of the onboard features appear to work out of the box with the Gentoo 2005.1 minimal amd64 LiveCD. I&#8217;m no kernel expert, but I was able to get the kernel working perfectly with everything I need in one shot. I have yet to play with ACPI and CPU frequency scaling (I really have no clue about this <code>Cool 'n Quiet</code> stuff), but I hope to get around to that eventually.</p><h4 id="toc-the-results">The Results</h4><p>As for right now, things are working great, and I&#8217;m overjoyed with the products and service I got from both of the vendors I went with. I have posted excellent reviews for both of them in the appropriate places.</p><p>Finally, I have a stable server that actually works.</p> ]]></content:encoded> <wfw:commentRss>http://blog.charlies-server.com/2005/09/24/long-live-charlies-server/feed</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Hardware-Accelerated X Finally Showing Signs of Maturity</title><link>http://blog.charlies-server.com/2005/03/24/seth-nickell-design-fu-xshots</link> <comments>http://blog.charlies-server.com/2005/03/24/seth-nickell-design-fu-xshots#comments</comments> <pubDate>Thu, 24 Mar 2005 17:30:37 +0000</pubDate> <dc:creator>Hasan</dc:creator> <category><![CDATA[Geekdom]]></category> <category><![CDATA[Linux]]></category> <category><![CDATA[Mac]]></category><guid isPermaLink="false">http://newblog.charlies-server.com/2005/03/24/seth-nickell-design-fu-xshots/</guid> <description><![CDATA[In response to: Seth Nickell &#8211; Design Fu: K00l Luminocity OpenGL Videos. Alright hardware-accelerated-X guys &#038; girls, you&#8217;ve got my attention yet again. And I thought XDirectFB was cool. It&#8217;s got to be only a matter of time before we have something equivelant on Mac OS X. As really the first operating environment to provide [...]]]></description> <content:encoded><![CDATA[<p>In response to: <a href="http://www.gnome.org/~seth/blog/xshots">Seth Nickell &#8211; Design Fu: K00l Luminocity OpenGL Videos</a>.</p><p>Alright hardware-accelerated-X guys &#038; girls, you&#8217;ve got my attention yet again. And I thought <a href="http://www.directfb.org">XDirectFB</a> was cool.</p><p>It&#8217;s got to be only a matter of time before we have something equivelant on Mac OS X. As really the first operating environment to provide hardware-accelerated rendering of windows and widgets, Mac OS X can&#8217;t be far behind. I&#8217;m praying that someone develops some sort of haxie to enable this sort of thing globally on OS X.</p> ]]></content:encoded> <wfw:commentRss>http://blog.charlies-server.com/2005/03/24/seth-nickell-design-fu-xshots/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Lappy Go Bye-Byes</title><link>http://blog.charlies-server.com/2005/02/07/lappy-go-bye-byes</link> <comments>http://blog.charlies-server.com/2005/02/07/lappy-go-bye-byes#comments</comments> <pubDate>Tue, 08 Feb 2005 02:23:18 +0000</pubDate> <dc:creator>Hasan</dc:creator> <category><![CDATA[Day-To-Day]]></category> <category><![CDATA[Geekdom]]></category> <category><![CDATA[School]]></category> <category><![CDATA[Hardware]]></category> <category><![CDATA[Linux]]></category><guid isPermaLink="false">http://newblog.charlies-server.com/2005/02/07/9/</guid> <description><![CDATA[As expected, I sent out my PowerBook for repairs today. The service guys told me that they expect it back within three, maybe four days. No loaners available (not that I&#8217;d really use one anyhow). Meanwhile I&#8217;m starting to get used to KDE, Thunderbird and Enigmail on a friend&#8217;s linux-x86 box &#8212; every few minutes [...]]]></description> <content:encoded><![CDATA[<p>As <a href="http://blog.charlies-server.com/2005/02/05/charlies-powerbook-down-for-the-count" title="Charlie’s PowerBook down for the count...">expected</a>, I sent out my PowerBook for repairs today. The service guys told me that they expect it back within three, maybe four days. No loaners available (not that I&#8217;d really use one anyhow). Meanwhile I&#8217;m starting to get used to KDE, Thunderbird and Enigmail on a friend&#8217;s linux-x86 box &#8212; every few minutes I joyfully remember why I loved linux, and every few seconds I painfully remember why I jumped on board with Apple&#8217;s Mac OS X. It&#8217;s going to be a long week.</p> ]]></content:encoded> <wfw:commentRss>http://blog.charlies-server.com/2005/02/07/lappy-go-bye-byes/feed</wfw:commentRss> <slash:comments>1</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using disk (enhanced)

Served from: blog.charlies-server.com @ 2012-02-10 22:09:02 -->
