Wednesday, January 21, 2015

I watch the BSDNow show, and a little while back they asked people to submit stories for how they got started with BSD. I didn't submit my own story, but listening to the stories submitted by others I figured I'd share it on my own crappy blog.

So back in late 2001 or early 2002 I started looking into Linux and at the time the distribution I decided to use was SuSE. An uncle at the time worked for a university that actually mirrored SuSE (this was before the Novell acquistion and the creation of OpenSUSE). I want to say SuSE 7.3 was my first version and I remember he got me 3 burned CDs. I had at the time a Gateway with a Celeron, 40GB Hard Drive and 1 GB of Ram that came pre-loaded with Windows XP. However I wanted to try Linux and decided to install it over the whole thing. I didn't know about Gnome or KDE and I think SuSE defaulted to gnome so that's what I installed. I used SuSE for quite some time and kept my system pretty up to date and as the releases came out I downloaded them, usually via torrent. I think the last version I used was 10.2 or possibly 10.3 although it was OpenSUSE at that time.

Now I was in University at that time, and had been playing around with other systems. Briefly Ubuntu, but frankly I hate that and will never use it again. I had an old laptop I ran Linux Mint and it was pretty fun, but had no practical purpose other than giving life to an older laptop.

Then my junior and senior year I came work for the computer science department, as a lab assistant. Basically I just helped people print, login and a few other things, but hey it paid money. Well the guy in charge was for a while actually running the department behind an OpenBSD firewall. I had never heard of OpenBSD before this, and well decided to look into the world of BSD. I tried to figure out OpenBSD, but I'll be honest I was a little scared because I was used to the GUI filled linux world. However I also stumbled into FreeBSD and it's installer reminded me of something like slackware which I also played around with a little before then.

I didn't however end up running any BSD systems until I got into my current position. I mostly had Windows knowledge and some Linux knowledge and they mostly used Windows and had some CentOS systems and not much else. However then came a problem that needed an immediate fix. A Cisco 7206 (I think that's what it was) was being DDOS'd or otherwise kept getting knocked offline and other than restarting the equipment Cisco wasn't any help because as I understood someone let the smartnet lapse and well Cisco doesn't help you much without that. One of the other guys had this great idea - or idea anyway - he suggested getting some hardware that was just laying around and putting OpenBSD on it.

They basically took the config of the Cisco device and made a similar config in PF and the 7206 basically became a glorified media converter for some DS3s. Over time I eventually become more involved in the networking where I work and started learning OpenBSD. We also started using FreeBSD leveraging the awesomeness of ZFS for storage servers, everything from email archiving to backup systems (using bacula) and even just web servers, dns servers and mail servers. We also replaced a bunch of Cisco 2801 devices with OpenBSD firewalls mostly because we did away with T1s and most of our customers now have Ethernet connections or are provided copper pairs. We now maintain some 35 customers with OpenBSD firewalls, plus 8 core firewalls at various locations setup in CARP pairs, plus close to 70 Soekris based devices running OpenBSD using OpenVPN to connect back to our main campus.

Perhaps the most surprising thing is is that all of this is actually happening in East Texas, an area not known for being technologically forward.

Now we are still a Windows environment on the desktop and still use Windows servers for several purposes, but whenever possible BSD is the preferred OS for simplicity of setup and use, not to mention the ease of securing and the large community of support that is available should you have a question or need something resolved.

One of the more interesting things about ZFS is the raidz functions
which are raidz, raidz2 and raidz3 - and are supposed to be technically
equivalent or at least similar to RAID-5, RAID-6 and well there isn't
anything comparable to raidz3 that I know of, anyway I recently had to
setup a system using raidz, mostly because I don't trust the hardware
RAID controller I am using anymore and just setup all the disks in what
the card refers to as single disk mode, which is apparently different
than JBOD at least the way this card does things.

I found this google doc that someone else made that explains all the cost involved in each raidz type as far as percentage of usable space afterwards.

If you want or need a crash course in raidz or zfs in general, this guide provides a lot of good documentation.

If you're just starting out with ZFS definitely look it over, especially the VDEVs section.

In case you're curious my new setup was 3 raidz vdevs of 5 1500GB disks in making one zpool which gave me 16T of space.

NAME STATE READ WRITE CKSUM

vol ONLINE 0 0 0

raidz1-0 ONLINE 0 0 0

da1 ONLINE 0 0 0

da2 ONLINE 0 0 0

da3 ONLINE 0 0 0

da4 ONLINE 0 0 0

da5 ONLINE 0 0 0

raidz1-1 ONLINE 0 0 0

da6 ONLINE 0 0 0

da7 ONLINE 0 0 0

da8 ONLINE 0 0 0

da9 ONLINE 0 0 0

da10 ONLINE 0 0 0

raidz1-2 ONLINE 0 0 0

da11 ONLINE 0 0 0

da12 ONLINE 0 0 0

da13 ONLINE 0 0 0

da14 ONLINE 0 0 0

da15 ONLINE 0 0 0

Also
on the other side of this if you're using hardware raid it is probably
always a good idea to use a third party utility such as Nagios, PRTG or
whatever utility you may use to monitor it if possible. The good news
for me is that the Nagios exchange shows several options for checking zfs and zpools so I'll be implementing that shortly. It seems that even PRTG can monitor ZFS via SNMP.

Become root by running su and entering the super-user password.Uninstall any earlier installations of the Java packages.rpm -e <package_name>
Change to the directory in which you want to install. Type:cd <directory path name>
For example, to install the software in the /usr/java/ directory, Type:cd /usr/java

Install the package. rpm -ivh jre-7u7-linux-i586.rpm

To configure the Java Plugin follow these steps:
Exit Firefox browser if it is already running.Create a symbolic link to the libnpjp2.so file in the browser plugins directory
Go to the plugins sub-directory under the Firefox installation directorycd <Firefox installation directory>/plugins
Create plugins directory if it does not exist.Create the symbolic link ln -s <Java installation directory>/lib/i386/libnpjp2.so

I also installed VLC because it met all the other media dependencies I wanted installed.yum -y install vlc

There were only two other packages I needed installed at this point SecureCRT and OwnCloud client.That was just a matter of downloading the rpms and manually installing them.I use OwnCloud to share my SecureCRT between PCs and I love that SecureCRT lets me access all my remote hosts regardless of my OS. I mean sure any terminal will do for SSH connections, but the convenience of SecureCRT is something I appreciate.