Running Time: 49:30
Look for us and comment on iTunes, odeo
Running Time: 49:30
Look for us and comment on iTunes, odeo
Phoronix.com, a great site with an even better preformance test suite, has a nice write up about the often talked about BRTFS(commonly pronounced Butter FS). They mention that Fedora seems to be releasing it with GRUB extenstions to allow for file system snapshot roll-backs by the end of the year and Ubuntu by the 12.04 release next April. What is so great about this? Imagine if your favorite Linux Update tool could tell BRTFS to take a snapshot of the state of the file systems every time it did an update. Then let’s imagine that GRUB, our favorite boot-loader, could see that they were al there and give you the options to roll-back to that last know working version. Wouldn’t that just ROCK? No more worries about not taking snapshots on virtual machines or needing to restore after a bad upgrade on a physical machine. The time saved will be incredible. We can’t wait for this all to be production ready and standard on all Linux versions.
Thanks to the folks over at ostastic.com for pointing me to the posts from the developers working on Unity on Fedora and OpenSuse. Both site problems with the upstream developers and seem to be suffering from burn-out. If you know anyone interested in picking the projects up they both seem willing to turn it over. The current decision though puts Ubuntu out on their own in adopting Unity. If you want to test it out you seem to have to use Ubuntu for now.
According to this article we found, meetings are starting to happen and people are trying to move towards a common Application Installer. So their could be the end of the “My package manager is better than yours is” debates? Well it’s a bit early to tell but it does sound like the big distros are talking about settling on a common package format. If they do go forward with this we can only hope that it’s adoption moves faster than LSB(Linux Standards Base). It would definitely go a long way to help adoption of Linux as a platform. For instance, only seeing one line on download pages like Windows and Mac have would help newbies or people thinking about trying linux be less afraid. When you can create app stores that only have to carry one type of package they become a lot easier to create. We here at linuxinstall.net hope that every linux install will get easier over time.
What do you think? What problems will one package format have? What hidden benefits are there? What hidden problems?
So you have seen the power and stability of Linux and are ready to get your feet wet with the little Penguin. Your Management is sold and they have started buying more and more Linux servers. How do you manage and control this growth? Where should you focus your efforts first when trying to manage all of this? Do you focus on building servers fast, or is managing your configurations the most important task at hand?
In our opinion, your end goal should be to build, manage and monitor all of your servers with an automated process via a series of scripts and applications. To determine what order to accomplish this you need to determine why you are growing. If you are growing because development efforts on Linux are in full force, you will probably want to focus on building servers fast. If your are growing because your production servers are getting large amounts of traffic, then you should probably focus on both building and managing your configuration first.
How do you build a server really fast?
On the free side of things we recommend that you use the Red Hat created system called Anaconda. Anaconda allows you to create a text file that describes almost everything about a system. When invoked, the Anaconda process will create a complete system with all of the packages you want to use installed and configured. Both Ubuntu(Debian based package system) and every RPM based system I know of like Fedora, OpenSuSe, and Mandrivia have support for Anaconda. (more detailed Anaconda information can be found here) If you have a system you want to clone or use as a base system, you will want to use Anaconda to profile the system and create the KickStart Configuration file for you. Most installers create an Anaconda created KickStart file for the system in the root users home directory. (Normally called anaconda-ks.cfg.) If you then take this file and change the machine specific information, like the host name and ip address, you can create a new system. Combine that with either the use of a PXE booting system, or command line arguments to the installer program for your configuration files location and it will be setup for you on the new machine. Normally you will set up a few templates of key system types. For instance, one Kickstart file for web servers, one for database servers and one for desktops.
If you prefer to use disk images similar to the old Ghost program from Norton(Symantec), then take look at the Clonezilla project. This project started in the educational arena and is used by a fair number of K-12 and College schools. It has the advantage of being able to manage both Linux and Windows Images. The speed to install is similar to Anaconda and Clonezilla and also has OS plug-in’s that allow you to configure the system with the unique system information. If you happen to be using VMWare they have built in cloning and templementing for a very similar this and with the same limitations. The main downside to this system and any of the other disk clone systems is that to update a piece of software you must build and then re-clone the entire system. By contrast with Ananconda, as long as the packages in the package repository are up to date, the system will be built with them. This means no additional steps are required to bring the system up to the latest patches after building.
On the paid side of the equation, the one that seems to be leading the pack is Novell’s Zenworks product. It can use both snapshots(or images) or do an Anaconda derived install. It will allow you to manage the packages and configurations on both Suse and Redhat Linux machines. The configuration of the software includes the ability to setup and manage DHCP and PXE boot servers. These two server types can combine to allow you to place a system on your network, assign the new machine to a template type and grouping, and when it boots, create the server from scratch without any assistance from a person after switching on the power. The software works well and is easy to configure and use. There is an agent that runs to allow you access to manage the configuration after the install. This agent can be configured to alert on most of the common system problems like low disk space, and high CPU load. In this role, it works best as a feeder system into a more robust logging and alerting system.
How do I keep all of my servers configuration complete and consistent?
On the paid side, I believe the best choice is the Novell Zenworks product. Several others exist, but the cost per machine is much steeper and they generally do not offer any additional features. Several companies have gone so far as to just package one of the two configuration titles I mentioned on the free side and re-produce them as their own.
On the free side the two leaders for configuration file management are CFEngine and Puppet. Both offer a framework of files, the flexibility to automate nearly any task, and agents for the systems to audit and verify that everything stays consistent after initial install. If they are so similar than what is the difference? The main difference is the syntax for the input or configuration files. Having played with both files and formats, the Puppet teams software was much easier to work with and was faster at getting to a point of configuring systems. They both have tutorials and seem to work, once they are configured. Also, both pieces of software can be configured to observe, validate and then correct if needed, what the configuration should look like from a remote server and centralize your configuration. Once you have the software set up, they will quickly become both your auditors dream and your savior. When you can show the auditors that just because you changed a file, it does not mean it will stay that way, will make even the grumpiest of them at least a little more happy. This type of system builds a tremendous level of confidence within your development and management ranks.
How long does it take to set all this up?
That really depends on the choices you make and your knowledge in the tools. People new to systems like this will generally take a day or two to get the software installed and a first attempt at building a server going. Getting to the state of complete management of all systems takes time and will depend on where you are in the system life cycle. Spending the time when you are starting out and thinking through will pay itself back in weeks or months depending on the rate you are building. Keeping it current after that is generally simple.
Managing your systems with these tools and some simple scripts reduces staff in the long run while simultaneously increasing stability and consistency. The bulk of the cost you will spend on these systems will be in the initial setup and configuration. Once the majority of the servers are incorporated into the system, the number of changes will drop tremendously. Even a server count as low as ten is more than enough to get a fast Return On Investment.
Give us your feedback in the comments by answering any of the following questions:
So what’s your favorite system management tool?
Why do you prefer it?
What did we miss?
Here is a cool how to for setting up a PXE configuration using Ubuntu. Thought everyone might find it useful.
So what should you choose for a first Linux Project? That really depends on how interested the company is in bringing Linux in house. In a lot of cases, Linux is brought in simply because a solution requires it, so there are not a lot of choice of pilot projects. For this article though we will describe a perfect world situation and assume that we are relatively free to do what we need to.
The first step will be getting the project approved. In most companies, setting up a rogue system to prove that something will work is not acceptable so we suggest not attempting to go about your first Linux install this way. The two main questions that we have experienced being asked by supervisors, and upper management are: 1) how can we trust it and 2) who are we going to sue when it all goes horribly wrong. We will just ignore the fact that in all of our combined years in IT, the LinuxInstall.net team has never been involved with, or heard of a company actually suing anyone over bad software. It is something that people have a real fear about. Ignoring it will not work in the long run no matter how great the opensource project goes. So to mitigate it, the best strategy is to start with “supported” Distro’s and products. These are things like RedHat Enterprise Server or Novell’s SuSe Linux Enterprise Server. The reality is that many companies are developing appliance solutions and other general purpose devices that are running on Linux. You may well have Linux in place already without even knowing it. Linux is in everything from Stamping Press control systems, to Physical Security/Alarm Systems. Anywhere you need a small OS with a selectable set of features that comes with no license fees you will likely find Linux there. So, when selling the first project use this type of information. It is our experience that this type of information, when given to skeptics, can reduce their resistance to Linux. Get them to say, “I know that system and it runs great. You mean it runs on Linux?” and you are more than half way home. Even before you finish getting approved, start your planning. Depending on the company you work for, this may have had to be done just to get things started. Don’t take this step lightly and spend the time to do it properly. Once everyone has an understanding of what your goals are, it will help to make you successful. After you are approved the fun really begins.
Linux really shows what it can do when it is installed as a server. Two of the areas that have the largest number of custom distro’s(short for distributions) are firewalls and LAMP/Web servers. LAMP is an acronym for Linux, Apache, MySQL, and any of the development languages that start with P, like PHP, Perl, or Python. Four independent pieces of software that can form the basis for a fully functional Linux server. Unless you are an IT security or Networking expert, we would suggest that you not choose a firewall as a first project. If you were doing a first project at home, then turning an old machine into a Smoothwall or other firewall distro is a great learning project. Since we are discussing bringing in a pilot project up on your corporate network, a great first project is an intranet or group website or a simple internal web application.
So what do we really need to do this? To start, a machine, either virutal or physical. The team here are HUGE fans of virtual servers. A lot of this comes from the number of times a snapshot or quick restore from tape of a virtual machine has saved us hours or days of work. The better corporate reason is that you can maximize your hardware and software investments. When you want to pilot something like Linux or a LAMP stack, it let’s you dip your toe in without a new hardware purchase. You will also need to download or purchase a copy of a distribution. For a pilot project, I would generally suggest downloading a free distro like Fedora , CentOS, Ubuntu, or OpenSuSe just to name a few. Even better, are the large number of pre-made virutal machines that let you get up and running quickly, with a nearly complete and configured system. If you want to build the server from scratch, or if your chosen appliance doesn’t have one, we suggest that you install a control panel like C-Panel or Webmin which can be a life saver for new admins. These help flatten the learning curve while the new admins are coming up to speed. WARNING:If you implement a panel of any type, paid or freeware, never put it exposed directly on internet. There are plenty of articles about securing each of these choices. Read several of them before placing or starting to administer a Linux machine on the Internet.
If you are doing an intranet, a website not shared outside of your corporate network, a content management system like Drupal, Word Press, or Joomula would be an excellent place to start. They all come with some standard templates you can use to get up and running quickly without having to be an HTML or Web Guru. They are all well documented with awesome communities behind them ready to help a newbie. (Newbie=someone new to the technology) If you decide to take this project to the next level, these can all be easily customized to look and feel like your companies branding. There are also plenty of developers willing to consult/contract with you to make your vision come to reality even faster. These tools can be used by companies of all sizes. If you get the right consultants or train up the right group of staff you can scale to amazing levels of con-current transactions and users. All three of these have at least one VMware virtual appliance available if not an open standard virtual appliance file. It should only take a few days to get one of these appliances up, working, and ready for content. Even if you are installing from scratch, the time to get these wonderful FLOSS products up and running is generally less than a week or two for even first attempts.
If the Boss isn’t ready for an intranet yet, or if you have a well established one, a great second option is a wiki. Think Wikipedia but focused on your company. Where Joe and I work, we use the wiki for all kinds of collaboration. From tracking and communication, to tracking the IP Addresses of servers and How To documents for installing the software we support, the uses just keep presenting themselves. Wiki’s are like a virus in most of the environments we have heard about. Once people get into the concept, it spreads like wildfire. At most companies, IT has always had an issue with communications and collaboration. Setting up a wiki gives people an easy, fast and effective place to share information about the how and why’s of IT decisions. Three suggestions of Wiki software are Confluence, MindTouch and MediaWiki. All three, like the content management systems, are realatively easy to setup and have very supportive companies and communities to help you resolve issues quickly and easily as they come up. There are also VMWare images available for MindTouch and MediaWiki. Confluence is a closed source product and does not have a free appliance available. These are not the only products available and may not be suitable for all languages.
Both of these options provide you with a low risk and low cost project that has a huge potential and positive impact on the company or at least your department. All of the products I mentioned have tools to dump your data back out that are either part of the product or provided by another project. So you are not going to be locked into your choice if you need to change something at a later date.
The things to remember when executing on a pilot project are:
Hopefully this will help you get things off on the right foot. Linux and open source solutions should save you money and be more stable. To assure that result, planning and goal setting for your pilot are the most important items that you will do.