Rusty's Blog

Thoughts and musings of someone who's not sure what 'normal' is…

Monday, August 17, 2009

I am a little currious…

…about where people draw the line for the phrase ‘That was a waste of time!’

By way of explanation for why I am curious, I just spent a significant part of today first working on, then ‘upgrading’ my server.

I have several ’servers’ I supose, my video server my sip serer, I suppose I should include my print server as well, but when I think of ‘my server’ I’m not really thinking of these. I’m thinking of my file, web, jabber, mail and so on server. The box has gone through a few upgrades in the past. In fact I don’t think there is a single component in it that was in the original box that bore it’s name. That was my first Linux box. Built from an old 386sx 16 motherboard that I had pulled out of my OS/2 server, and put into an old Northgate 286 case that I picked up cheap. I do remember compiling my own kernel at the time. I wasn’t interested in ‘X’ yet, but what I was interested in was setting up a dial on demand gateway.

I went through a few different modems with that box. I think the earliest one I used was a 14.4kbps internal modem. I think I tried a US Robotics 14.4 hst DS modem that I had picked up a couple of years earlier for running a BBS, but by then it was showing it’s age, and half the time I wasn’t getting a stable connection. Oh there were other reasons for that sort of a situation, but the important partwas that I didn’t trust it.

For a few years I would try one modem, use that until it stopped working, then go get another modem. I finally found a stable modem in a ATI Supra 33.6 that is actually still working. I’ve seen this modem connect to a modem that wouldn’t accept a connection from a peer that was a speed and model duplicate. I’m sure that there are situations where this modem won’t work well. But it’s worked reliably now for over 10 years where modems that were considered to be comercial grade with support, don’t even come close.

A few years after I got the Supra, I ended up with a cable-modem. No more need for dial on demand routing, but while I did need nat routing, my server wasn’t going to do that. Oh I could have done that, but I realy wanted to set this box up to do some different things. Actually, it had picked up the task of being my mail server along the way, and because I was doing dial on demand routing in the past, and I didn’t want every web page querie to initiate a dial command if it was pulling back stuff that I already had, I had been running a squid cache. I don’t think I had started running a web server of my own yet. But I was playing around with file serving using a fairly early edition of Samba.

About this time I was working with BeOS as my primary desktop platform. I still have that box, all set to go. It’s got an early Pentium in it, but for analog video, I think it would outperform the boxes I’m using today. I don’t know about for digital video though. I think i twould probably run into some throughput issues. That said I was doing things with it in the audio realm that I have yet to see anything like them being done on Linux, MacOS or Windows. I wouldn’t be too surprised if there was something feature wise similar on MacOS and Windows, but they either came with BeOS, or were a free download.

For that matter, it’s only been in the last three years that I’ve seen Linux handle multiple audio streams at once. BeOS did that out of the box. And from post completion to a usable desktop was 20 seconds. Linux is getting there now, but  It’s a safe bet to go brew a cup of coffee with just about anything else.

In any case I had decided that I needed an actual firewall, and I didn’t want it running as my file server at the same time. After several years, and a few itterations with cases and motherboards, I finally gave up and bought a broadband router. I haven’t looked back there. Oh I’ve thought a couple of times that it would be nice to have a multi-port box, with different internal and external networks on them in the mix. However for the moment the boxes that I’m using are working, and I don’t really see a good reason to replace them. Ok, I have one reason I might want to replace what I have, but ti would need a significant amount of permanent storage as I would like to be able to block certain traffic sources as far out in my network as possilbe. Oh well.

Well, over the years I added a web server, print services, Jabber, and so on. I’m not using the Mail feature quite as much any more. Well, I take that back. In the past couple of days I’ve started using it a bit more, but I’m wondering if I want to do that long term. The current network infrastructure that I’m working with says that i should be able to run my own mail server for incoming and outgoing e-mail. Howeer since I am in a dhcp scop from my cable provider, there are many mail servers that will blackhole e-mail from me directly from here. If I can figure out how to source my own e-mail through g-mail or something like that, perhaps, but for the moment I’m comfortable with g-mail getting all my e-mail. So as you might imagine, the box, as a server, has become pretty important to me. In fact if you are reading this, it either came directly from my blog, or was hosted there till someone decided to republish it for me. Hopefully ther eis attribution attached. If not I certainly wouldn’t mind if the malicious ‘publisher’ were to find his servers mysteriously going through a DDOS from time to time. Though I’m not suggesting you should do that.

So A month or so ago I decided that it was time to start looking at some higher availability solutions. The easiest would be to set up a small box to pick up my web stuff. In reality, it might not be a bad idea to move the database for the blog, and other stuff off of the server and into a dedicated database server system. From a database demands perspective, I would be surprised if all of my database environment put together was using more than a couple hundred megabytes. That includes information about all the recordings I’ve made, the next 2 weeks of TV schedules, the metadata on all my audio recordings, and so on. If you throw in my e-mail, perhaps a couple of gigabytes. Yes things get different once you add in all the music itself, and if you were to add the video itself things would be even more different. However I’m not quite ready to consider collections of photos, music and videow to be ready to be database object collections yet. Even if they are at some level.But I do have a substantial amount of information in my home directory on my server. Just under 200 gigabytes. And I figured it would be a bood idea to get copies of the data stored elsewhere as well.

So I picked up one of my favorite little machines, a v.50 at Microcenter, upgraded the memory and hard drive, Installed Ubuntu Linux Server on it, and started rsyncing from my server.

That was about a week ago. I took a look at where I was today and realized that I had gotten a bit over a quarter of the way through my collection. I wasn’t very happy about that. Or the fact that I had to reload my server several times over the past week. So I went and picked up a blank 320 gig 3.5″ drive and put it into a case I already had set up, plugged it into the server and started the process all voer again.

The server didn’t immediately crash. Not that that’s all that much of a positive comment on what the server did do. Over the next three or four hours it locked up about a dozen times. So I pulled out Spinrite thinking that perhaps I was dealing with a corrupted hard drive, and ran it against my internal drives. Nope, they seemed to be OK. So I over the next 2 hours spinrite ran. And gave thedrives a clean bill of health. Well, ok. So I grabbed a copy of the Ubuntu server lts install CD and poped it into the drive and tried doing a backup from within that box. No luck. Still ended up with lockups randomly occuring. So I knew the problem was not specifically with the operating system.

I then ran memtest86. Problems. Before it had completed a single pass I knew what the problem was. My server had bad memory. So I looked around. No matching memory. In fact the next closest memory was almost twice as fast, and the systemwouldnot boot with it in the memory slots. Well for that matter, the system wouldn’t boot when I put the old memory back in, so either the problem expanded on the memory module, or I also damaged the motherboard. I wouldn’t put it past either option.

About a month ago I decommisioned my primary workstation and moved to a much smaller box. (Yes another of those v.50’s.) As a result I had a ready solution sitting right next to me. Well, mostly. There were a couple of differences between the boxes. First of all the old box had a single sata drive in it, which was hanging off of a SATA card. It also had two IDE/PATA hard drives in it along with a PATA CD-Rom Drive. Now some time ago I picked up a module that allows me to plug a sata port on a motherboard into a PATA hard drive. I’ve got a couple of them. Nice little devices. In any case that device pretty much made evertying else work together well. The new motherboard had a single PATA port on it, along with just two SATA ports. I added the PCI SATA card from the old server into the new box (Also pulled the gigabit ethernet card and included that.) and I was able to plug everything into at least one usable port. Actually I had 1 internal and theoretically an external interface as well. I added another hard drive to the internal side. Long term I expect that will be my first stage backup location. In other words back up the transient information there, then back that up to a different location without having to take the box offline for long periods of time while backing that information up.

Of course watching the stream of file names passing by, I have a very strong suspicion that I could merge a few directories and save myself nearly a quarter of the space I have allocated.

Of course once I do that I have to tidy up the backup collections as well. Oh well.

In any case back to my original question. Obviously by now I consider the steps I’ve taken to get a stable server and backups made to be important time spent. In the next couple of months I expect to build a server pair that should have even faster processors, perhaps quad cores, more memory, and probably more storage. Hopefully I can find a way to get it into less space. Of coure if I do everything ‘right’ I’ll also ofload the video storage from my media center. When contemplating doing that I think it might be a good idea to add a completely separate network dedicated to storage that is back ended through my server and one or two platforms that will store data to the network. The clients all go through those platforms that make it look as if there is a single contiguous storage device that all the content is stored on.

The down side is figuring out how to handle ‘ofsite’ backups for something like that. Oh, I suppose a couple of 2T drives for now, then a couple of 4T drives down the line, and so on. But even that seems like overkill. When it comes down to it, the video data is all stuff that if I lost all of it tonight, I could probably end up going a couple of days before I found out that I had lost anything at all. And I might not even notice it then.

So was this a waste of time? The initial issue where bad memory was causing problems during the backup process, probably. That said I think that the interim solution of moving the data to a ‘larger’ platform is going to be helpful. And since I’ve done another ‘upgrade, I have a bit of an idea of where things stand as far as the next upgrade. And I can start making plans.

And before someone suggests ‘Carbonite’ remember I’ve been archiving hundreds of gigabytes of content. I get about a 128 kB/s upload speed through my ISP. A 2 .2 gig video takes at least 2 hours to upload across my connection. So we’re talking about 4 days of continuous full network utilizaion tup upload my archive for every 100 gig, or about a week to a week and a half for the entire collection of my data. Ok longer than that because pretty close to half way through I would probably be getting a call from my ISP asking what the heck I’m doing tieing up all that bandwidth for so long.

I have other reasons for not wanting to dump that much data into a carbonite storeage block. Though most of them I won’t go into now. Now? I’m thinking sleep is a really good idea.

To give an answer to the ‘best use’ question. I don’t know. I didn’t have anything else planned for today. It rained through a good portion of the day, so I would not have been out on the bike. I got some reading done. But if there was someone who I could have sat and talked with, that probably would have been a much better use of my time.

Mixed.

posted by Rusty at 3:33 am  

Tuesday, July 8, 2008

How to build a self supporting video screen for under $50…

If you are not comfortable with power tools, you can still do this. It gets easier with a screwgun, but mostly what you need are paitients and the right set of tools.

There are a variety of methods you can use to build a video screen. And when push comes to shove, you just may find it easier to buy a pre-made screen, and be done with it without this explanation.

A little bit of preparation is recommended. The first item is to determine how large the screen you are going to build is going to be. Since I use a front side projector (that’s a video projector configured to show the video being shown from the front of the screen, rather than the back) how large the screen needs to be depends to some degree on how far away from where I am projecting onto, the projector will be.It also makes a difference what the ‘throw’ of the projector is. There are some projectors that you can put on a table less than a foot away from the surface you are going to project onto, and it will ‘throw’ up a 100″ display with no problem. They are a little expensive for me at the moment, so I’m working with a throw across a room that’s about 12′. In my case this means I get between an 80″ and a 91″ screen diagonally.

For the past few years, I’ve been projecting onto a white wall. There are problems with this, and Home Theater purists are probably cringing, but it was what I had to work with at the time. Even with my current plans, (not the ones I am about to describe to you) I am going to have a far from perfect solution.

OK, we have our rough dimentions for the screen. In my case that turns out to be a wall 4 feet tall, by 6 feet wide. “Easy” you say, “pick up a 4′x8′ sheet of 1/4″ ply, cut two feet off one end, paint it white, and you’re done!” Well sort of. The problem I ran into with this is that I am setting up my projector temporarily some place where I can’t just hang a piece of ply. So we need to build a support system. Also in my case the material has to be transported from my home (or rather the garage I was making it in) to where I was going to use it. I would have needed a couple of sheets of 3/4″ or heavier ply to support the screen during transport. That, I’m afraid to say, would have busted the budget. (Go price 3/4″ 4′x8′ sheets of ply…)

Over the years I’ve discovered that a 2′x4′ sheet of ply or hard board fits very nicely in the back seet of my car. That means that I can set a sheet of this on the seet, have the area under it available for storage, add a piece of carpeting on tom, and the dogs can ride there without significant issues. I haven’t been doing that, but it’s an option. It also means that I can put 3 2′x4′ sheets of hardboard in that I can assemble into a screen without too much trouble. So the first purchase was of 5 sheets of 2′x4′ 1/4″ hard board. This comes with a rough side, and a smooth side. and they run about $3 a sheet. Add a pint of flat white paint and a roller and tray to apply the paint, and we’ve got about $20 invested so far. Stay away from glossy white, whiteboard, and similar paints, as you will end up with a screen that you can’t sit in front of to watch a movie or play a video game. You will get glare from the projector.

Apply the paint and let it set up hard. I recommend three thin coats over several hours, but if you use kilz primer rather than paint, you could probably do it in one shot. (it’s just more expensive.)

One of the down sides of 1/4″ hard board is that it is not self supporting when mounted ‘vertically’ or 4′ tall. So you need to add some support to the boards. Spend some time at the lumber yard and find 2″x2″ 8′ pieces that are straight. I used 4, which I cut in half. If you are comfortable ripping 2×2 diagnoally, you will probably have sufficient support, and can probably do this with only 2 2×2’s. I’ll leave that up to you. To guid where the screen would go, I also picked up a 3/4″ 2′x4′ sheet of partical board (mdf I think they call it – great stuff for work benche surfaces as well) which was another $20 including the liquid nails and the calk gun to apply that stuff.  Oh yeah, the guides came from fencing material, a couple of 8′ long pieces of u-channel plastic. $2 each.

A little bit of notching for the channels, and gluing down the support 2×2’s and we were almost off to the races. I cut the 2′x4′ piece of mdf into two pieces that would be the top and bottom supports, and attached the guids with a single screw in the center. My plan was to build a little bit of an arch into the screen to provide better focus control. Whether that was needed or not is debateable.

So we are still under $50. By quite a bit actually, enough to handle the last four boards, and the screws to put it all together. I had discovered that I didn’t have enough latteral stability in the assembled structure, so I picked up 4 8′x1″x4″ boards, then cut and assembled them into side supports. This gave me great stability, as well as the mass needed to prevent things from moving around.

In fact the mass in question is a bit too much for my longer term needs, so that is not going to be my home screen. This one will stay out in my garage for now, and may be used for some out door shows and the like. It may even go with me to the convention again next year. After I repaint the various surfaces again, giving them sufficient time to dry.

-Rusty

posted by Rusty at 7:06 pm  

Powered by WordPress