Is Ubuntu Server ready for enterprise class computing? Part 2.
In continuation to my last post, I wish to pick up from where I left off. I had expressed some disappointment with my initial experience just after I installed the Intreprid Ibex (8.10) server edition of Ubuntu. I must admit that I was extremely pleased with the fact that the operating system did not install X. As an acting server, X is rarely needed and to those who are more than capable of working from the command line, it is pure heaven. That is my environment but is it a correct default environment? Let us say that the user is not as proficient on the command line, especially a UNIX/Linux command line running in your traditional bash shell. Would they know and be capable enough to run aptitude to install GNOME, KDE or any other graphical environment? With the default being the command shell, we are to assume that the user will be an intermediate to advanced one. If that is the case then why during the installation am I not prompted with the ability to set up my root password? An intermediate to advanced user is going to want to know what the root password is, even though it is taboo to log in as root; the preferable method being sudo. On the desktop version of Ubuntu, I can understand not setting up the root password. I just shouldn’t have to go into single user mode just to reset my root password into something I need it to be.
For example, Red Hat takes a lot of pride in being able to transition whole companies from Microsoft Windows Server to RHEL. They made it easy from setup to deployment. All tools and environments are there from the very beginning. Can you imagine a Windows administrator installing Ubuntu Server and getting a shell? A shell? That is unheard of, right?
I know, there is plenty of documentation out there to address some of these issues, especially on Canonical’s website pertaining to Ubuntu Server; but what I have learned with real life experience is that a great percentage of individuals either do not have the time or patience to read this documentation. Frustrated I have told people to RTFM or man- the desired information until my face had turned blue. The point was never understood. I am sure that there are a lot of you who understand where I am coming from.
Going back to my initial problem and concern, my Qlogic Fibre Channel HBA was not being detected. Upon further research I noticed that it attempts to load a binary blob from /lib/firmware. It needs to load qla2300_fw.bin but fails to do so. Immediately after the failure, the system advises to go to a Qlogic ftp site to obtain the binary. Here is the best part, the binary DOES exist in in /lib/firmware and when I download the latest off of Qlogic’s ftp site, I get the same result. The best option, again, is to work from source and working with the physical modules stacked on top of the core module (i.e. qla2300 on top of qla2xxx).
I did find some other approaches to work around this here and here. Even in these approaches, I would still not be able to boot from SAN which is extremely common in enterprise computing. Qlogic is an extremely popular source for Fibre Channel and iSCSI HBAs and I find it extremely difficult to believe that out-of-box Ubuntu Server does not support it in full. I have yet to try my pile of Emulex and LSI Fibre Channel and SAS HBAs to see if I get the same results.
Some of you may be thinking, well that is just a piece of hardware and again, I will remind you that I am coming from a data storage background. This is not something insignificant when coming from that industry. Which brings me to my next point: High Availability. I was also surprised that I had to go through aptitude, after the installation, to install multipath-tools. Although, I do have to note that in RHEL and SLES, you do have to specifically add this package during installation. It is a shame that Ubuntu Server never gave me an option to review and install packages. It only asked for the types of services that this server was going to run. That is: DNS, LAMP, Mail, OpenSSH, PostgreSQL, Print, Samba, Tomcat Java servers or as a Virtual Machine host. No more details on packages are accessible beyond that point. I can only imagine how frustrating this can be when configuring 100 blades or more in a data center; even when setting up a Kickstart file.
Again, please do not misunderstand, I would love to see nothing more than Canonical succeed in everything that they do. I just feel that they are bringing too much of the Desktop mentality into the enterprise. I agree, that you do not have to install everything into a server and limiting the amount of packages installed can make for a quick and light weight installation; at least with the bare necessities. But if I have to install device drivers from source, then I am also going to need GCC along with the kernel source. If I am not familiar with GNU/Linux and the command line, I am going to need a GUI. As a more advanced user, if I am looking for a complete solution where I have control over what I am doing and that includes which packages to install, Ubuntu Server would not be my first choice. In choosing Ubuntu Server I would require some additional time to work and hunt down packages to get it to where I need it to be. In a lot of other situations, if you wanted to set up any of the services listed above where the storage is local to the host and not external in a SAN (but instead connected to a NAS solution) this may be ideal for you. I guess I cannot ask for too much when the installer is one CD.