I manage a fairly large colocated file server for a small business who uses the site as a geographic dump location for video content that gets encoded and delivered to users on the fly through a web interface. The content is all hi-definition material and is unencoded in Transport Stream media format. They keep the content in this format so that they can dynamically serve an array of different encodings depending on the client’s preference. They have a desktop application that their clients can use to connect to the content delivery server and specify what encoding types, aspect ratios, and resolutions that they desire. Anybody who has ever worked with transport stream media knows how large some of these files can get when working with hi-definition content… Some of the files are 100GB in size. The content is typically advertising material for clients and needs to be able to be delivered fast to users across the globe. This is a pretty hefty requirement for a small business, so as a method of management, they decided to get a souped up colocated server located in Europe that will essentially mirror the production content server here in the US. This allows them to have near-real-time availability of content to their three or so clients located in Europe, and with a bonded dual gigabit connection, delivery also occurs in near real time. The idea is really a genius, homebrewed, poor man’s proprietary CDN, and I wish that I could take credit for having thought of the idea. Continue reading »

Recently, I have found that there is a great deal of need to have the ability to flexibly and non-service-interruptingly (yeah, it’s a fake word) migrate an existing PV that resides in a LVM2 volume group to a new PV that is presented to a server. In an effort that I recently undertook, I was tasked with migrating a 2.0TB SATA LUN to a 2.5TB FC LUN. This is an easy enough request to fulfill, so why the importance of this you might ask? Well, the 2.0TB SATA LUN was hosting the data files for a production Oracle database that requires 99.999% uptime (actually, this is a by-law requirement for financial institutions in some states — and for my luck, this was the requirement for me as well). So, to the drawing board I went… Continue reading »

As Linux Administrators, it is inevitable that we will get a request to grow an existing filesystem for one reason or another. The lazy administrator will take the easy way out and attach a secondary disk to the server, pvcreate it, and add the extra extents to the existing logical volume. This is actually a fairly safe way to do it, it can be done online, and the end result is the same for the user. That makes it a really appealing prospect to do things this way, but it is really dirty, and what do you do if that second (or third, or fourth, …) disk in volume group fails? Then you’re screwed. Continue reading »

… What the? Ok, so the basic idea here is that we’re going to be creating a cluster, sharing a block device from one server to the other nodes in a cluster as a Global Network Block Device, putting it into an LVM configuration, and formatting the filesystem using Global File System for file locking between nodes… And we’re gonna do this all natively with Red Hat Clustering Suite. This is a good, low-rent implementation of block device sharing in a cluster, where iSCSI or FCP is not available to the hosts. It’s better than NFS because we get real locking mechanisms, and we get our own fencing mechanism for the cluster (which, unfortunately I won’t be covering in this post). I’ve recently had the opportunity to do this as a proof of concept and this is really cool stuff… Continue reading »

As Linux administrators, we generally host a range of multi-purpose scripts that are designed for the purposes of duct-taping the infrastructure together. Nobody else in the organization knows how/when/where 95% of these scripts are run and on what interval — it’s a great tactic for job security. Inevitably, we’re going to get a request at some point (and most of us already have, that’s for sure) to have a script watch one folder on a server for a file to appear, and then move it somewhere else (usually with some data or filename massaging in the process). So, all of us have our own variation of this “move-file” script… Continue reading »

I was recently presented with a situation where we would need a standard ext3 partition, greater than 2.0TB on a basic server installation of RHEL5. This was for a backup disk that would host dumps and exports from an Oracle instance on a redundant SAN LUN that was presented as a thick-provisioned 2.5TB volume. Continue reading »

© 2013 Dan's Blog Suffusion theme by Sayontan Sinha