For those who could not make it or did not get a connection to the live stream (some people complaining on twitter), here the presentation. I am timing for this to go out AFTER Doug is done (or close to being done) so that you pay attention if you are one of the people actually listening in … 😉
I have decided to start a new series – Linux for the Lotus Notes Admin. I will be sharing some tips and tricks for how to deal with issues of both the Domino server and the Notes client (Sametime as well) on Linux.
I myself am a big Linux user, my desktop has been Linux (I use Red Hat) for quite some time but I also run VMWare workstation and have a Windows install there to be able to take advantage of Windows and the products that are available. My accounting package only exists in Windows but more important still, there is no Lotus Notes Admin or Developer client for Linux.
What are we setting out to do?
The other day I ordered some new drives for my laptop (I have two drives installed) and I did not want to have to do a re-install. I have some older tools that I have used previously to move or clone partitions from/to other drives and have used them successfully. I wanted to give native Linux tools a chance though so I decided to clone my drive using the [dd] command. Another good tool is [partimage] but I wanted to go real OLD SCHOOL as dd has been around since the early 70’s.
The [DD] command
Note: It goes without saying that you should be doing this either as root or have sudo rights on your Linux machine. That eliminates all possible issues you might run into as far as they are related to rights.
My drives were both the same size (500 GB) and as it was the boot drive with lilo on it, I just wanted a straight clone so the command to use was
dd if=/dev/sda of=/dev/hda
The command takes the whole SDA drive (all partitions of the boot drive) and clones them to the drive currently connected as the [/dev/hda] drive. You can partition the new drive first and create a partition table, but it does not need formatting as you will be overwriting everything anyway. I just created a plain vanilla primary partition t make sure the drive was OK and had no drive errors.
As expected (I had not used dd for quite some time) it worked flawlessly … however, it also took 26hrs 37 min! I did it over a weekend and was actually able to use the PC during the process (some browsing, nothing else) and when I switched the drive out the laptop started up without a hitch – it was as if nothing had changed, other than the improvement in speed!
What did I gain?
Next to proving I could still do native Linux commands and had the patience to just wait the process out, the main reason I went through this was to swap out my old drives for new hybrid drives that are ALLOT faster. Darren Duke had blogged about them a while back and I went out and bought them – what a difference in speed!
Other Resources on Linux
There are quite a few other people who specialize in Linux and Lotus Notes Domino, I am by far not the only one and definitely not the most knowledgeable on either. But, if you are really interested in Linux and how the Lotus products work on them, you should go and listen to Bill Malchisky’s presentation “Lotus on Linux Report” that he is giving at IamLUG this year. I have heard it previously and for anybody serious about Linux it is a must hear presentation.
After all the talk of how to decide on what version (32 vs 64 bit) of Domino you want to choose on Windows, I want to blog briefly on some good strategies to migrate a server from 32 to 64 bit.
My Assumptions for this article:
As discussed previously, 64 bit Domino requires a 64 bit OS and for this hypothetical case I am assuming that I am staying with the same OS type and only switching the version (32 -> 64 bit) so I do not have to take any change in disk format into account that is likely if you move from let’s say Windows to AIX.I am also assuming that I am not going to do any major upgrade of the Domino version – that would be a major change and require allot of planning and testing beyond what I want to go into in this short blog post.
Scenario 1: Switch the server
This one is easy – it is basically the same as if you are going to switch out the hardware (in-place upgrade). I would install the new server on a new piece of hardware, bring the old server down, move the data directory to the new server, rename the server, switch IP addresses (or IP reservations, whichever one it is your network does) and then bring the new server up with the original data.
The point in this switch/upgrade is that you have new hardware that you can install at your leisure, burn in and prepare. The only time-sensitive part is when you bring all the servers down, move the data and re-configure the new hardware. Hopefully the data is on a SANS and all you have to do is detach and re-attach the drives. I greatly prefer that to having to copy data from the old server to the server as that can add untold hours to a deployment schedule.
Scenario 2: In-place upgrade
This scenario basically only happens if you have no other piece of hardware that you could use and the in-place is the last straw of yours to try and get past some unspeakable evil from which you need to escape. Therefore I believe a disclaimer is in order:
Do not attempt this at home, don’t do it at the office either and if you are working for a client. Heck, if you value your sanity and don’t want to die from a heart attack don’t do this one at all! Only attempt this option if there is ABSOLUTELY no other way out.
The reason I say this is simple: garbage in = garbage out. Also, it is allot of changes on one physical machine so there is allot of opportunity to fail – two major changes on one physical machine and no good way to back out of the process if it does not work the way you are hoping for . Also, you are unlikely to be able to test this beforehand if something so you really can’t prepare for any eventuality. So again … avoid this one!
Now, if I absolutely had to do this – this is how I would do it: (rough draft)
- Have plenty of time available. If you think it will take 6 hours, triple the amount and add 10 hours for good measure. If it take long you will be tired and need rest. also, the server is unlikely to be new so is unlikely to be a fast process even if it goes well
- Make sure there is a GOOD, VALID backup and that the tapes are not old and that you can actually restore the server if you need to.
- If in any way possible, do a P2V into VMWare and test all of this first … it is insane and crazy, so testing is a must if there is any opportunity for it
- Keep a snapshot of that VMWare image around in case all hell breaks loose and it is the only thing you can offer your users to work with.
- Have enough free space on the Domino server for temp files, etc. Also make sure that the data partitions have at least 20% free space to accommodate size increases due to design changes
“ACTION!!!” – The upgrade itself
- Shut down Domino and run a manual compact against all files
- Run another back-up – just in case
- Upgrade the OS … pray to whatever Gods you believe in and hope for the best
- Run Domino, check if it runs and is accessible
- Take another back-up
- Pray, sleep, meditate and then … sacrifice a bucket of KFC chicken (like in the movie “Major League”). Also, prepare a bottle of Bourbon, crack it open and sacrifice one glass some alongside the chicken (it can only help)
- Uninstall Domino – you cannot install 64 bit over 32 … it is a disaster waiting to happen. Save the notes.ini first, you might need it
- Clean up the install directory, registry AND any temp folders etc. Reboot the server once
- Install Domino 64 bit – prepare for another sacrificial chicken bucket .. this time extra crispy would be advisable
- Attach/move/copy the data in and meditate, chant the mighty “OOOHHHMM” if that makes you feel better
- Start Domino and prepare your sacrifice
- ……… (waiting for all hell to break loose)
Let’s not go into details what to do if any one of these steps fail … there are too many to details to deal with. I am hoping that the numerous references to sacrifices (non-human) and heavy drink show you that this is more arcane magic than cool, logic guided technology. Again, I would not do this one unless there is absolutely no other way to deal with the issue.
There are many more detailed steps and planning necessary for an upgrade. Hiring somebody who has done it previously would be advisable …. You can hire me or one of my many gifted consulting colleagues to do this scary stuff for you. We already have the gray hair (if we have hair) and our digestive tracts are tough and can take the stress.
I my last post I talked about what the main advantage of going 64 bit Windows for Domino – shared addressable memory – but I really did not go into detail on whether 32 bit or 64 bit Domino is the better choice for an installation.
As I mentioned previously, the main advantage of going 64 bit Windows is that your Domino instance will not have 4 GB of addressable shared memory available. The kicker is that this holds true for both 32 bit and 64 bit Domino on 64 bit Windows. This fact came as quite a surprise to me when I found out, this is due to the way that the Domino memory system and the memory handles are currently designed.
So the question becomes, why would I choose 64 bit Domino if 32 bit does the same for me?
Personally, I believe the main deciding factor is whether you plan to run add-in tasks in your Domino instance or not. To run an add-in task on a 64 bit Domino server the add in task also needs to be 64 bit. To run an add-in task on a 32 bit Domino server the add-in task needs to be 32 bit as well.
The logical conclusion therefore is: if you plan to run ANY add-ins (e.g.: Anti Virus, etc.) on your 64 bit Domino server you need to determine if that program is available in 64 bit as well. If it is and any other products you might consider running are available in 64 bit as well – then you can go ahead (but test first anyway – of course!!) and install 64 bit Domino. If this is not the case your choice will need to be 32 bit Domino.
“Elementary, my dear Watson.”
I have been absent for a while but with good reason – a new project that keeps me VERY busy.
Being busy though also has it’s advantages though, since it also means that I get to be exposed to allot of new things and learn more and more.
So, 32 bit vs 64 bit – what is the difference? Well, first of all let’s state that I am talking about Domino on Windows. To run 64 bit Domino you require 64 bit OS. What that also means is that any add-in tasks that you want to run inside of Domino will also need to be 64 bit – 32 bit 3rd party processes will not run on a 64 bit Domino/Windows server.
What is it that you gain? Well, the main gain you get is shared addressable space. Under 32 bit domino the maximum shared address space you get is 2 GB. that means that any add-in task you run (such as an anti virus product etc.) has a maximum shareable shared address space of 2 GB. On a busy server that can can be tight. The reason I know that is that in the first week I started my present project we saw what happens to a server that runs out of available shared address space – it will will present you with a crash and a wonderful NSD file ….
Now, when you change to 64 bit you now double your shared addressable space to 4 GB. this gives you PLENTY of space for a busy server (user sessions, applications, third party add-ins, etc.).
I will blog more about this topic in the near future and hopefully be able to shed some more light on this interesting subject.
I just started a new project with a client yesterday – interesting environment and full of challenges ahead.
First on my list was to create a new 64bit 8.5.1 FP2 environment. Now, I have probably installed well over 700 Domino servers by now, on various OS and HW configurations and in multiple languages. The one thing I have never done yet though was set up a production server that was configured to have a configuration only directory.
While I was installing these severs and went through the screens I suddenly thought … how many configuration directory servers are there out there. Considering that I do not recall installing a server in production in this configuration I started wondering …
So, how many are there – can any of you guys & gals out there tell me if you have any servers IN PRODUCTION that have a configuration only directory?