Tuesday, November 8, 2016

Provisioning Cisco 7940, 7941, 7942, 7960, 7961, and 7962 IP Phones in 3CX

I am working on a configuration guide for the Cisco 7940, 7941, 7942, 7960, 7961, and 7962 IP Phones, including templates that work in 3CX version 14 and 15.


These Cisco phones are really just marginally supported in 3CX, which is too bad, because they are good solid phones and there is a huge inventory of them still floating around.  For those of us that are moving away from the expense of Cisco Call Manager, it saves a ton of upfront costs by repurposing these phones with 3CX.  If you are starting from scratch, I don’t necessarily recommend purchasing these phones; although they are basically a “dime a dozen” on eBay which could get a money strapped company into VoIP on the cheap.

This guide will help you implement these Cisco phones way beyond what 3CX offers out of the “box.”  In fact, you can’t even get them to work with the default installation of 3CX because there is no TFTP service and the provisioning templates are flawed.  

The biggest issues with these phones are that they need to be converted to SIP mode, they still need to get configuration files via TFTP which isn't included in 3CX, and they don't have BLF's.  In fact with the 79x0 phones you can't even program the buttons for speed dials via 3CX.

This guide will step you through the whole process and give you much more advanced provisioning templates that will allow you to configure the line buttons as alternate line appearances (like in Call Manager), and will allow you to use a Session Border Controller (SBC) proxy if needed as the phones don't support STUN.

I will be selling this guide for $49, but believe me, if you don't have a clue on what to do this will save you and your company hours and hours of time literally, and get you ahead of the game with a much more powerful provisioning template.  If you were to hire a consultant (at say $150 an  hour) it would take them a minimum of an hour to get this working for you, and that's only if they had done this before.  If they are not familiar with the process you could end up paying $1000 for them to figure it out for you.  I've done the research for you (and battle tested it with over 200 phones) and now it will be compiled in this guide which will tell you exactly what you need to do and provide you with my own custom provisioning templates that actually work.  

If you are reading this and want it NOW, comment below so I'll know if there is any demand.  Then I'll hurry up and finish it!  

Tuesday, February 16, 2016

Vendor warning: LOGICnow - they own MAXfocus / MAXMail

I hate posting something like this but LOGICnow spurned me as a customer and hopefully I can help out some of my IT Peers to avoid them.

I'll try to keep this review short.

Technically we were an almost 6 year customer of their anti-spam product called MAXMail.  Due to what I would consider "failure to perform" on their end, I decided we needed to find a new solution.  Issues such as long delivery delays (over an hour at times), some of our business partners could not get any email through them (to us) at all and we had to setup special email routes to bypass the service, the web interface was clunky and would error out ALL THE TIME, plus the service really didn't do a great job of filtering spam.

The construction company I work for actually acquired another construction company down south and they used MAX Mail since May of 2010.  We were unhappy with our in-house product and wanted to switch so we thought we'd try MAXMail as the company we acquired seemed happy with it.  Instead of monthly payments I negotiated a better rate with them if we paid annually, so I paid up front for 1 year.  Almost instantly I was not happy with the obvious spam they let through (even at max aggressiveness) and then the intermittent long delays would happen a few times a week.  These long delays were killers, then coupled with the other issues I already mentioned I decided we had to switch.

So we just recently went with a Barracuda appliance and so far I am much happier!!

But then when I tried to contact my LOGICnow rep to inform her to cancel our service and I would expect a refund on the remaining 6-months of service, they eventually (after days of trying to even get a response) was told... well, here is the response:

Subscriptions are non-refundable, so I will not be able to honor your request. Even on the monthly billing option, which you declined, I would not be able to refund “unused time” if, for example, a customer cancelled on the 15th of the month. Again, I am sorry to hear that you have been dissatisfied with the service, especially given that the XXXXXX domain has been with us since May 2010. 

Well, even though I figure they owe us about $1,700, I've got better things to do than squabble over this as I doubt I will get anywhere with them.  So I hope that at the very least I cost LOGICnow more that 10 times that amount in steering people away from them.  I responded to her that I was disappointed in LOGICnow's unwillingness to work on a graceful exit for a 6 year customer, especially since it wasn't like we decided to switch for no reason.

I could go on and on about the issues, such as having to setup local rules to catch the spam they let through, technical support actually trying to convince me that the long delays were not them and must be our senders (like the whole world) and there was nothing they could do, etc.... but I think this is long enough.  If anyone sees this and has any questions or comments please add them and I'll try my best to respond.

I didn't try these other products, but as the parent company is LOGICnow I would think twice about them as well.

MAXfocus
MAX RemoteManagement
MAX Mail
MAX ServiceDesk
MailProtection

BTW - I wrote the above a few weeks ago but figured before posting it I would contact Mr. Alistair Forbes, LogicNow's General Manager.  I sent two emails and got no reply, even though in an email he wrote below he gave his info to contact him.  So judge for yourself if this is a company you want to do business with.  Obviously they finally acknowledged an issue, but were not willing to make it right by me.

The email ---

December 01, 2015

At LogicNow, we are passionate about helping our customers win through technology. It’s a mission we take seriously and recent issues with our mail services are not in alignment with this objective. We understand that businesses rely on timely delivery of their email, and we understand the very significant impact that message delays can have on our partners and customers. We sincerely apologize to those who were affected by these issues and we have restored the level of reliability that our partners and customers are accustomed to and deserve.
    
We have been working diligently to quickly remediate and understand the causes of any service disruptions, and have resolved three primary causes. First, we have deployed additional servers to handle the increased load of emails. Second, we have resolved Office 365 delivery snags which arose from changes made by Microsoft and impacted a small subset of customers, and have secured a commitment from Microsoft for improved communications going forward to help avoid future potential issues. Finally, we experienced an unforeseen issue with the Cyren malware detection tool when they released an updated anti-virus engine that proved to be slow in its response times, impacting service delivery; we have since removed the problem sub-component from our mix while we work to resolve this with Cyren. In the meantime, we maintain robust antivirus support that will help us continue to effectively protect our customers against email-borne threats; as part of this we recently introduced file-based attachment blocking as an additional technique to ensure our malware protection is at the highest level.

We hope that these details are helpful but realize that in our customers’ eyes, no matter how quickly we resolve these issues, your overall satisfaction is determined by your experience of using our services and we clearly need to do better going forward. We have put in place specific measures to help ensure that we do not experience these types of disruptions in the future, and are committed to delivering the level of service excellence you have come to expect from LogicNow.  
    
If you have any questions regarding these issues, please let me know. You may reach me directly at Alistair.Forbes@logicnow.com.  

We appreciate your patience and understanding as we work to continually improve our service.
    
Again, our apologies.


Sincerely,

Alistair Forbes
General Manager, LogicNow


Thursday, January 7, 2016

Lifesize Room / Team 220 Video Snapshots

If you have a Lifesize video conference unit, specifically the Lifesize Room 220 or the Lifesize Team 220, then you may know that in the Call Manager tab you can see a video snapshot preview from the camera.  I honestly don't know how often it grabs a frame but it is around every 15 - 30 seconds, whether or not a conference is active.  As an IT administrator this is helpful for maintenance and even troubleshooting!

For maintenance, it is nice to be able to pop into the web interface and just make sure no one is in the room before running up or down stairs.  It's no fun to run up to a meeting room only to find someone using it. I suppose it may help out your FitBit stats but sometimes you don't have time to waste.

For troubleshooting, it is nice to be able to see at least a glimpse of what they see on their screen(s), especially if they are in a different city.  While you don't see the live video stream, you can at least see what's there every 15 or so seconds.

This should be on by default.  If not, the setting is in Preferences -> Video -> Video Control.  Enable "Video Snapshots."  This will then show the little preview and actually even let you save the frame to a JPG.

Also, this seems to be undocumented issue, but this feature does not work if you have recording enabled (Preferences -> Video -> Record and Stream).  I enabled it once while just playing around and it took me months to figure out why I lost the ability to view the video snapshots.  I suppose it does this because in the call manager screen you also have the option to enable or disable Video Snapshots there (see the camera icon below).  However, when recording is enabled they use this screen space for a record button.  Who knew?  Not many, and this is actually the reason for this quick blog post; an undocumented "thingy."


This may also apply to the Lifesize Room 200 and the Lifesize Team 200, I'm not sure as I don't have those older units.  This feature does not exist in the Lifesize Passport units or the newer Lifesize Icon 400 or Icon 600 units.


Tuesday, October 27, 2015

Outlook Email Travel Time Report


  • Do you know how long an email takes to get to you?  
  • How long from the sender clicking [SEND] until it comes to rest in your inbox?  
  • Is there a problem with your email provider?
  • Is there a problem with your hosted SPAM provider - are they adding a delay? 


{This information applies to the Microsoft Outlook email client.  Specifically I'm using Outlook 2013}

If you are asking yourself any of these questions you can look at the "Received" time in your inbox, then open the email and compare it to the "Sent" time that it usually displays once open.  But if you are constantly having issues you may want a better faster way to look at a lot of emails quickly, you can do this with a Macro.

I'm not going to dive into what macro's are; if you have no clue then do a search (Search Google "How to use Outlook macros" or Here is a fine article on how to get started.  I just want to share the macro and I'll give you the quick and dirty steps to get it installed.

What does the macro do?
This macro will produce a report of all messages that you have highlighted in your inbox.  Simply highlight the email messages you want to get a report of sent-and-received times and a new email window will open and show the results.  Here is a sample:

Subject:               Critical Alert for your ProLiant Servers and Options
From:                    alerts@alerts.hp.com
Sent on:               10/26/2015 6:45:12 PM
ReceivedTime: 10/26/2015 7:50:38 PM
Limbo Time:       65 Minutes  26 Seconds
X-Katharion-ID: 144590403.16557.cal1-mh778 (0.0)

---------------


Subject:               Find holiday items in high demand.
From:                    eBay@reply1.ebay.com
Sent on:               10/26/2015 2:50:30 PM
ReceivedTime: 10/26/2015 2:51:33 PM
Limbo Time:       1 Minutes  3 Seconds
X-Katharion-ID: 144588430.36058.cal1-mh782 (0.0)

---------------


Subject:               Join me at the Inaugural AerospaceDefenseChain Conference
From:                    AviationWeek@info.aviationweek.com
Sent on:               10/26/2015 2:07:53 PM
ReceivedTime: 10/26/2015 2:10:26 PM
Limbo Time:       2 Minutes  33 Seconds
X-Katharion-ID: 144582874.74400.ams1-mh928 (0.0)


This report will be shown in a new email form - simply because it is a quick and easy way to do it.  You can cut and paste it to Word or something if you want to print it, or you can quickly send it to someone via the email.  What I'm calling "Limbo Time" is the difference of "Sent on" and "Received Time."  If you want more info on where the delay happened you will want to checkout the email header.

For me, we use MaxMail / MaxFocus from LogicNow for Spam filtering (used to be GFI) and they were introducing a long delay in us getting our email.  Sometimes more than an hour, so I needed a quick way to keep an eye on the problem.  The X-Katharion-ID tag that I include in the report is what they use for message tracking, so I included it so I can send them this info and ask "What's up with the delay today?"  If  you don't need that simply remove it from the script.

Most of the base code I scrounged from the Internet and then I added some math and some string operations. There is a function to get the email header that I didn't touch so I give credit to the original author on that one.  I'm a programmer (Cobol) from days long gone so I don't pretend to know exactly what and how this works and I'm sure there may be better and more efficient way to code it, but hey; it works.

When in Outlook press ALT-F11 to open the "Microsoft Visual Basic for Applications" windows.  Then paste this into the "Module 1" section or I think you can create a new one - I really don't know. I put mine in Module-1.

Sub SendReceiveTimes()
    Dim olItem As Outlook.MailItem, olMsg As Outlook.MailItem
    Dim strheader As String
    Dim xPos1 As Integer
    
    For Each olItem In Application.ActiveExplorer.Selection
     If Left(olItem.SenderEmailAddress, 2) = "/O" Then
     Else
        strheader = GetInetHeaders(olItem)
        xPos1 = InStr(strheader, "X-Katharion-ID")
        xPos2 = InStr(strheader, "Return-Path:")
        xDiff = xPos2 - xPos1
        If xPos1 > 5 Then
            XKID = Mid(strheader, xPos1, xDiff)
        Else
            XKID = "X-Katharion-ID: -none-"
        End If
     
        xBody = xBody & Chr(13) & "Subject: " & Chr(9) & olItem.Subject & Chr(13) & "From: " & Chr(9) & Chr(9) & olItem.SenderEmailAddress
        xBody = xBody & Chr(13) & "Sent on: " & Chr(9) & olItem.SentOn
        xBody = xBody & Chr(13) & "ReceivedTime: " & Chr(9) & olItem.ReceivedTime
         
        xLTs = DateDiff("s", olItem.SentOn, olItem.ReceivedTime)
        xLT = Int(xLTs / 60)
        xLTs = xLTs - (xLT * 60)
        xBody = xBody & Chr(13) & "Limbo Time: " & Chr(9) & xLT & " Minutes  " & xLTs & " Seconds"
         
        xBody = xBody & Chr(13) & XKID
        xBody = xBody & Chr(13) & "---------------" & Chr(13) & Chr(13)
    End If
    Next
    
    Set olMsg = Application.CreateItem(olMailItem)
    With olMsg
        .BodyFormat = olFormatPlain
        .Body = xBody
        .Display
    End With
    Set olMsg = Nothing
End Sub

Function GetInetHeaders(olkMsg As Outlook.MailItem) As String
    ' Purpose: Returns the internet headers of a message.'
    ' Written: 4/28/2009'
    ' Author:  BlueDevilFan'
    ' http://techniclee.wordpress.com/
    ' Outlook: 2007'
    Const PR_TRANSPORT_MESSAGE_HEADERS = "http://schemas.microsoft.com/mapi/proptag/0x007D001E"
    Dim olkPA As Outlook.PropertyAccessor
    Set olkPA = olkMsg.PropertyAccessor
    GetInetHeaders = olkPA.GetProperty(PR_TRANSPORT_MESSAGE_HEADERS)
    Set olkPA = Nothing

End Function

Now just highlight the emails that you want to create a report on and run the macro "SendReceiveTimes." I created a shortcut to it on my Quick Access Tool Bar so I can run a quick report anytime.  

A few things to know and a few issues to avoid. 

  1. You can't include calendar invites - it will cause an error.  Skip those.   
  2. This excludes internal messages.  You can highlight them, but it skips them
  3. You can't go crazy and highlight hundreds of messages, it will error out.  Keep it to a few days.  
report on send and receive times
email delay report
long email delays
isp email delays
emails take a long time to deliver
email header times
email travel time

Thursday, April 23, 2015

Fix for - InstallScript Setup Launcher Unicode Has Stopped Working in Windows 2008 or Windows Server 2012

If you have some software and they use the Flexera windows installer, you may get the error: "InstallScript Setup Launcher Unicode Has Stopped Working."  If you look at additional data on the error you may see it say APPCRASH in ISSETUP.DLL with an error of c0000005.

I searched high and low and there isn't much documented about it, at least nothing that fixed it for me on a Windows Server 2012 R2 XenApp server.

I'll cut to the chase, the ultimate problem is that the stupid installer program crashes if it can't find the STARTUP folder in the All-Users menu.  It doesn't even put anything in there, at least not the program I was installing, Modelogix.  The more frustrating issue is that it doesn't tell you what the problem is, just the useless error code mentioned above.  Err!!  So I spent countless hours troubleshooting this.

All the other solutions out there must only work in Windows 7 and below, not Windows 8 or Server 2012 and above.

Other solutions say to manually create the following folders if they are missing:
1. C: > Users > ("Yourname" Windows account ) > My Documents
2. C: > Users > ("Yourname" Windows account ) > AppData > Local
3. C: > Users > ("Yourname" Windows account ) > AppData > Roaming > Microsoft > Windows > Start Menu > Programs > Startup
4. C: > Users > Default > Documents
5. C: > Users > Default > AppData > Roaming > Microsoft > Windows > Start Menu > Programs > Startup
Source: https://community.flexerasoftware.com/showthread.php?207204-InstallScript-Setup-Launcher-Unicode-Has-Stopped-Working-%28Windows-message%29 

The problem is that Windows 8 and Server 2012 don't use C:\USERS\DEFAULT for the all-users area any longer!!

In Windows 8 and Server 2012 and above, they use the hidden root folder C:\PROGRAMDATA.  To be 100% sure on your system type SET ALL from a command prompt; this will display the value for the ALLUSERSPROFILE system variable and will tell you the path.

So for me, all I needed to do to fix the issue was to create the STARTUP folder in the following path: C:\ProgramData\Microsoft\Windows\Start Menu\Programs   
We had removed it as it wasn't used and I was trying to simplify the menu for our users.  This folder is hidden but you can manually type it into windows explorer, or change your settings to view hidden folders.

Once I created it in there, tada, the stupid setup program would run. I believe Flexera may have fixed this bug but your software vendor may still be using this older version.


Let me know if this helped YOU!!  

Friday, August 29, 2014

Windows Search Not Working

I was having a problem getting Windows Search to work on a Windows 2012 R2 server and didn't find much help out in Google-land.  Most results for Windows Search or Indexing Service was for desktop OS's also.  

Here was my scenario:
  • I installed the Windows Search Feature on a Windows 2012 R2 server.  
  • In Control Panel -> Indexing Options, I added the "Marketing" folder from a drive that is attached to the server, plus a few other folders on a different drive.  
  • The "few others" seemed to work.  However, now on the Marketing folder, when you did a search,  all that would come up was "No items match your search."
  • What's worse, you could no longer search the Marketing folder at all, not even the slow non-indexed way.  Everything would turn up "No items match your search."
  • Searching for help on the Internet was a bust. 
I noticed Event ID 3036 in the Application log.  There were some hits on that, but again not much help on Google.  The main thing that caught my attention in the log entry though was "Crawl could not be completed on content source <file:H:/Marketing/>."    Then down lower in the details it said "Access is denied". Ding-Ding!  

I checked the security on H: (a local hard drive) but that looked fine.  However, when I looked at the Marketing folder itself, the security was changed and inheritance was taken away.  This was so that Domain Users didn't have any sort of access by default - only certain users have access to that folder.  The issue was that whoever setup the security (which might have been me) didn't put SYSTEM in there with Full Control (or any rights at all in this case.)  I added SYSTEM in there with Full Control and applied; it took a while to propagate.  

Within a few minutes of that change I noticed (within the Indexing Options control panel applet) that indexing was chugging again and the documents count was going up.  When done, indexing was working – yeah!! 

So since there wasn’t any solution that I could find when searching the Internet, I figured I’d toss it on where to perhaps help the next guy!


This was helpful too, so I didn’t have to wait FOREVER for indexing to take place.

Make indexing run faster (don't pause for user activity)
Regedit -> Computer\HKLM\SOFTWARE\Microsoft\Windows Search\UseLowPriorityConfiguration - change to "0"


Tuesday, May 28, 2013

Trick to get huge audio book discounts


Okay, this is a little off topic for this blog, but I think it is good information.  I'm a reader and also SciFi author and I’ve just recently found that I love audio books.  I figured they were for the hearing impaired or for workers with long commutes.  My commute is only about 15 minutes to work.  However, when working to produce the audio book for The Curse of Europa, I figured I should listen to an audio book or two.  Now I’m hooked!!  Even though my commute is only 15 minutes, that is still a good 30 minutes a day.  If I go to lunch I may listen again in my car, or take headphones and listen while I eat.  It’s great because it’s hard to find time to read and it is easy now to plug reading into time that is otherwise “wasted”, such as driving a car.

On our trip to Florida (driving from Michigan), it was great.  It kept me awake better than the radio.  Even laying in the sun.  Sure, you can easily read, but it sure is more relaxing to just lay back and listen (especially if the audio book production is top notch.)  Many narrators will do certain voices for the various characters.  Depending on the narrator, sometimes this can be great, sometimes a bit weird.  If you’ve got a good narrator if adds a whole new level to the enjoyment of the book.

So what is this “trick?”  


It’s not really a trick I guess.  There’s nothing devious or deceitful about it. It’s taking advantage of special pricing if you do things in the correct order.

Read entire article on my Author Blog: http://bpkayser.wordpress.com/2013/05/24/audio-book-disc

Thursday, April 11, 2013

VMware VirtualCenter Server - high memory utilization in Java

This applies to vSphere vCenter Server version 5.1.x but may pertain to other versions.

I didn't find much info out there when Goggling so I'm adding what I found here.  I searched for:
vCenter server high memory utilization
VMware vCenter java high memory
VirtualCenter Server out of memory
VMWare vCenter Inventory Service memory

We upgraded our vCenter server to  5.1.0-947939, after which the server (with 4GB of RAM) was starving for memory.  There were 5 instances of JAVA.EXE, each eating up a lot of RAM.  The worst single instance of JAVA was using 1.5GB of RAM, the next one was nearly at 1GB.

In my searches I eventually found someone that was able to tweak the Java Heap Size default.  There are many vCenter Server services that use Tomcat and Java, when you add them all up... ouch, it consumes all the RAM and brings the server to a grind.

What I found:
The main culprit was the "VMWare vCenter Inventory Service."  This had the 1.5GB Java process.  I found you could actually shut it down and the vSphere Client would still work.  I won't pretend to know exactly what this service is for; but it seems to store the client INVENTORY data in a memory cache.  I have only about 30 VMs and 3 hosts, hardly needing 1.5GB of cached info I would guess.

In addition to the Inventory Service, I found you could shut down the "VMware VirtualCenter Managment Webservices" also; however, this will cause an IE type error message in the vSphere Client if you try to look at OVERVIEW on the PERFORMANCE tab.

If you don't want to use the web-client, you can shut down "VMware vSphere Web Client" for a big chunk of memory also.  Then if you do that, you also don't need "VMwareVCMSDS" which provides LDAP services (but it doesn't use much memory.)  If you want to use the Web Client, you do need the LDAP service running though.

The other services are as such:
  • VMware Log Browser: not needed if you're not using the web client.  Not a huge hog though.
  • VMware USB Arbitration Service: not a huge hog.  
  • VMware vCenter Orchestrator Configuration:  I don't use this, I have it disabled so I don't know what memory impact it has. 
  • VMware VirtualCenter Server:  The main service - you need this! 
  • vCenter Single Sign On - does eat up some memory, but is nice to have.
  • VMware vSphere Profile-Driven Storage Service - I'm not really sure what this does to be honest.  I turned it off to no noticable issues.  
THE FIX
If you want the vCenter Inventory Service, and the Web Client running, there is a way to trim down the memory that JAVA uses.  You can tweak config files (wrapper.conf) on the vCenter Server.   Again, the biggest hog is the Inventory Service.  Here is how to reduce the memory requirements. 
  1. Go to: C:\Program Files\VMware\Infrastructure\Inventory Service\conf
  2. Save a backup copy of WRAPPER.CONF
  3. Edit WRAPPER.CONF with a text editor
  4. Look for the section: # Maximum Java Heap Size (in MB)
  5. Modify "wrapper.java.maxmemory"  Mine was set to 3072, I changed mine to 384.  
  6. Save the file.
  7. Open Task Manager if you wish, and look for the JAVA process using the most RAM.
  8. Shutdown / Restart the service: VMware vCenter Inventory Service.
  9. Observe the memory difference.  
It didn't comply 100% to the setting for me, but it did keep it to around 500MB in my case.  

You can also tweak the other services the same way.
  • Webclient - Edit: C:\Program Files\VMware\Infrastructure\vSphereWebClient\server\bin\service\conf\wrapper.conf
  • Management Webservices - Edit: C:\Program Files\VMware\Infrastructure\tomcat\conf\wrapper.conf
  • Log Browser - Edit: C:\Program Files\VMware\Infrastructure\vSphereWebClient\logbrowser\conf\wrapper.conf
If the MAXMEMORY value isn't there you can add it.

I kept all the services running and just tweaked the wrapper.conf files.  My server went from 3.95GB of ram used (and running like crap) to 2.8GB used and running pretty good. 

If you don't have many hosts and VMs you could have it running lean and mean (under 1GB of RAM) by just running the services below.  This may be at the expense of vSphere Client performance and not seeing overview performance charts. 
  • vCenter Single Sign On
  • VMware USB Arbitration Service
  • VMware VirtualCenter Server
  • I also SQL on this box.  

Tuesday, March 12, 2013

Does the AMD 2356 processor support EVC


Mr. Google couldn't directly answer this question for me so I figured I'd throw it out here just in case someone else wanted the direct answer.  

I had three HP Proliant DL365 G5 servers, with dual Quad-Code AMD Opteron 2356 Processors as my VMware hosts.  They went into production in 2008 and served us well.  I added a new server into the mix, an HP Proliant DL165 G7, with dual AMD Opteron 6220 Processors. 

They did not seem to play well with VMware’s vMotion so I figured I needed to enable the Enhanced vMotion Compatibility (EVC) mode.  Well, the older host didn’t seem compatible with that either.  In vSphere Client, when you look at the SUMMARY of the host, there is a heading “VMware EVC Mode:”  It will say “Disabled”, of course, if it isn’t enabled, but next to it there is a info box.  When you click that it says: “Supported EVC Modes:  EVC Not Supported”.  Drab! 

Not to be discouraged I Googled around but couldn’t find anything that specifically said anything about my older hosts processors supporting EVC or not.  But I did find a VMware tool (and ISO) that creates a boot CD that will tell you for sure what the deal is. 

So, with fingers crossed, I booted-up the old and reliable host with the newly burned bootable CD.  Ah, look at all those YESes!!  


But SNAP – the final nail! “Supported EVC Modes: None”

I guess I’m going server shopping… 

Wednesday, November 21, 2012

Upgrade Lefthand SAN Disks / HP StorageWorks P4500

Can you upgrade a Lefthand / HP SAN Node's Hard Drives?

According to HP support the answer is YES!!

Here is what I have learned so far.  Yes, you can upgrade your SAN node hard drives simply by replacing the drives with new larger drives and then re-imaging the node with the latest SAN/iQ CD which you can download as an ISO.  

I mainly have P4500 series units.  I have three nodes that have 300GB SCSI drives.  I can replace those with 600GB drives and essentially double my storage space.  I could even go with 1TB or 2TB drives and grow it even larger.  However those are "Midline" drives and you take a 40% performance hit according to HP support.  As of right now the biggest 15K SCSI drives they support are the 600GB drives.  The 1 or 2 TB drives are 7.2K RPM.  To keep HP happy and maintain service contracts you need to use the HP specific drives.  

Another interesting note is that I can even take my SATA SAN and put in SCSI drives to make it a SCSI (SAS) SAN.  Nice.

I'm posting this because I couldn't find anything on-line that even hinted that this was possible, let alone supported.  So from the horses mouth (HP), it is, and if you do it right, it is even supported.  What they do is that if you have a hard drive failure you will have to work with a different department for replacement hard drives.  They have 3 year warranties.  They may not fall under a 4-hour response time (if you have that level), I forgot to ask that.  

That's all I'm going to post right now.  If enough people are interested in the details I'll follow-up with part numbers, the process, etc.  

Let me know by commenting and maybe click an ad or two!  

hard drive upgrade for lefthand SAN   lefthand SAN increase storage space   replace hard drives in HP StorageWorks SAN   how to upgrade Lefthand SAN
how to upgrade HP SAN   Can you put bigger drives in SAN



restripe pending because of cluster edit or migration
data protection degraded

Monday, October 29, 2012

HP LeftHand SAN - CMC Support Mode Settings

Post in a nutshell: See below for a command to allow you to see (once again) Snapshot behavior in the HP / Lefthand / SanIQ CMC where the Snapshot doesn't disappear until it is actually done moving data pointers!!


Do you miss the old HP (LeftHand) P4000 Centralized Management Console?  You know, the one that used to actually tell us how much data a snapshot was consuming and what was going on with it?  It used to be that when you deleted a Snapshot you could instantly see the Snapshot above it get allocated space added to it, then you'd see the data consumed in that Snapshot grow, and the data in the one you deleted shrink, until gone, then it would disappear.

Well I guess, unlike Lefthand, HP decided they needed to dummy-it-down for us.  Now you get no Snapshot data and when you delete a Snapshot it instantly disappears.  Now it doesn't really disappear instantly, it still has to roll-up the data pointers to the Snapshot above (or back into the main volume if no Snapshots exist), but it gives the appearance of just vanishing instantly.  However, it could be churning for hours before it is actually done.  I think it is more confusing now because for the Idiot Admins that they dummied-it-down for, they will wonder why deleting the Snapshot did not give them any space back on their SAN as instantly as the Snapshot disappeared.  This is because it doesn't report the reclaimed space until it truly is deleted.  So it could be hours before they see it.  In the mean time they could have started frantically whacking more Snapshots trying to reclaim space - which may actually have the reverse effect at first.

Reverse Effect??  Yes, when you delete a Snapshot, it has to allocate MORE space to the Snapshot above to give it room to copy the data pointers.  If you are at 95% capacity and you start deleting Snapshots, you could see it jump to 99%... Yikes.  That wasn't intended!!    Not to fear... if you wait (long enough) you will get the reclaimed space.  But boy... it should would be nice to know what is going on in the background!!

Well, I found one HP tech support guy that threw me a few bones. I won't name him in-case he was not supposed to share this.

I still can't see Snapshot data info... BUT, what he did share does help a little.  He shared a parameter file switch that changes the behavior of the CMC so it does not instantly remove deleted Snapshots from the CMC view.  It just changes the status to "Not Available, Deleting".  Now this seems pretty simple, but it can be huge; just to (at least) know that you have snapshots hanging out there deleting.  If you delete 10 Snapshots in one fell swoop for example, it will be very nice to know when they are all done.  Well... to me anyhow.  I wish I could see the data also, but hey, this is better than nothing.

Here is all you do:


1.  Close the CMC (if open)
2.  For the user that runs the CMC, navigate in Explorer to directory
    C:\Users\<UserName>\.storage_systems
3.  Open the preferences.txt file in an editor (notepad)
4.  Add the following line to the end of the file
     CmcSnapshotPreference.showAutoAndDeletingSnapshots = true
5.  Save the file, exit the editor
6.  Launch the CMC

Now when you delete Snapshots they won't just disappear, their status will change to "Not Available, Deleting", until they have been rolled up.

The unfortunate part of this is that when you exit the CMC it will delete this "big boy" setting so you need to apply it anytime you want/need this functionality.  You could get around this by making the file read-only, but you will get an error each time you exit the CMC saying it couldn't write to the file.  If you can live with this that's fine, but also know that if you change anything in the GUI preferences (HELP/PREFERENCES... menu), it will not be able to write those changes.  Also, it could have other unforeseen consequences so do this at YOUR OWN RISK.

For the life of me, I'm not sure whey they don't make this a check-box preference in the CMC GUI; or at least let the command stick in the config file!!!  But it is what it is.

*** This is exclusive information by-the-way, as of this posting, this command is nowhere in cyberspace (at least according to Google)! ***


Enabling Support Upgrades

Now in researching this, I was also given these additional commands (which is more in-line with what I think he meant with "Big Boy Mode".)  By default, when you apply patches, the CMC will do this sort of on auto-pilot to all nodes in a management group. These commands adds a "Support Upgrades" tab to the CMC where you can manually apply specific patches to specific Nodes.  Add these to the preferences.txt file mentioned above.

CmcSystemPreference.supportMode = true
CmcUpgradePreference.useOldUpgrades = true
CmcUpgradePreference.advancedUpgradeMode = true  

Again, these will disappear when you exit the CMC.


Where's this new "Support Upgrade" tab??   Click on the "Configuration Summary" item in the tree, then you will see the new tab on the right.


restripe pending because of cluster edit or migration
data protection degraded

Disable Windows Error Recovery - Windows Server 2008 / Windows 7 / Etc.

We have Citrix XenApp servers that boot from an HP Lefthand P4500 SAN volume and for some reason during scheduled reboots on the weekend they would hang on the stupid "Windows Error Recovery" about 50% of the time.  Selecting "boot windows normally" would boot the server just fine - but it was always a manual operation.  So this would leave these production servers in a downed state until someone manually intervened.

To fix this problem I used the following command (from a command prompt):


bcdedit /set {current} bootstatuspolicy ignoreallfailures


To check to see if it is set you can simply use BCDEDIT by itself to display the settings.  For example:


C:\Users\administrator>bcdedit
Windows Boot Manager
--------------------
identifier              {bootmgr}
device                  partition=\Device\HarddiskVolume1
description             Windows Boot Manager
locale                  en-US
inherit                 {globalsettings}
default                 {current}
resumeobject            {E54e3a5f-48ad-11df-ae93-ced11e86b19d}
displayorder            {current}
toolsdisplayorder       {memdiag}
timeout                 30

Windows Boot Loader
-------------------
identifier              {current}
device                  partition=C:
path                    \Windows\system32\winload.exe
description             Windows Server 2008 R2
locale                  en-US
inherit                 {bootloadersettings}
recoverysequence        {E54e3a63-48ad-11df-ae93-ced11e86b19d}
recoveryenabled         Yes
osdevice                partition=C:
systemroot              \Windows
resumeobject            {E54e3a63-48ad-11df-ae93-ced11e86b19d}
nx                      OptOut
bootstatuspolicy        IgnoreAllFailures

If the setting has not been applied you will not see "bootstatuspolicy" in the list.   

Now upon reboot it does not stop and wait.  I know this has been helpful as we had to repair the boot info on a one of the servers and it started doing it again afterwards (after 8 months of smooth reboots.)   This setting got wiped-out when we did the repair so I had to set it again.  


Friday, October 19, 2012

Was my PC or Server Cloned and SysPrepped?

To find out if a server was cloned check out this registry key (this is for Windows Server 2008 R2 but I would image would be the same or similar for most flavors of Windows):

HKEY_LOCAL_MACHINE\SYSTEM\Setup\CloneTag

CloneTag will actually tell you the date and time when SysPrep was run on it.


Now if you want to check the SID values (perhaps with the source to make sure they are in fact different) use the PsGetSid utility.  You can just run PsGetSid from a command prompt to get the SID from your local PC or use "\\" to get the SID of computers connected to your LAN.

The output would be similar to this from my two Citrix servers (and this tells me my SIDs are different):
--------------------------------------------------------------------------------------------------

C:\PSTools>psgetsid \\lan-citrix1

PsGetSid v1.44 - Translates SIDs to names and vice versa
Copyright (C) 1999-2008 Mark Russinovich
Sysinternals - www.sysinternals.com

SID for \\lan-citrix1:
S-1-5-21-2052776799-13871689-1737724133


C:\PSTools>psgetsid \\lan-citrix2

PsGetSid v1.44 - Translates SIDs to names and vice versa
Copyright (C) 1999-2008 Mark Russinovich
Sysinternals - www.sysinternals.com

SID for \\lan-citrix2:
S-1-5-21-3592252623-8394611391-4172714545



--------------------------------------------------------------------------------------------------



Now does any of this really matter?  Ask Mark Russinovich (or at least check out this blog entry of his:)

The Machine SID Duplication Myth (and Why Sysprep Matters) 



** On a side Note - if you do Clone Citrix servers and you use the Citrix Gateway, you need to edit the STA ID for each clone acting as a Secure Ticket Agent. **


This applies to Presentation Server or XenApp.  XenApp 6.x in my case.
To change the STA ID edit the CtxSta.config file.
This can be found here:  %ProgramFiles(x86)%\Citrix\system32\CtxSta.config
Open the file with Notepad.
Simply change the STA ID value with anything you like and save. I just tweaked one number.

For example - in the file:
GlobalConfig
UID=STAD8D1856594FF <= change this to something unique.



Friday, January 7, 2011

How to Change Citrix License Server Name on a XenApp 6 Server

I'm posting this article because when I was searching for this answer it was hard to find anything that did a good job explaining exactly what needed to be done.  This article specifically explains how to tell a XenApp 6 server to point to a different Citrix License Server for its licensing requirements.  These instructions may apply to older versions of XenApp also.  

The proper way to do this is to create (or modify) a XenApp computer policy. You will need to add (or modify) the following setting "License Server Host Name" with the appropriate name of the new license server.
  1. Open the Citrix Delivery Services Console
  2. Drill down into XenApp, then your farm, then click on POLICIES.
  3. Click on the COMPUTER tab within the Policies pain
  4. Depending on your situation you may need/want to create a new policy for this, or you can just edit the "Unfiltered" policy.  I'm assuming if you are reading this you are fairly new to XenApp and are not dealing with a large number of servers, so just using the Unfiltered policy is fine for you.
  5. If you already have the "License Server Host Name" policy, simply change the server name value to what you want.  Otherwise you will need to add the policy with the appropriate server name.  Make sure you can ping the name of the license server, exactly how you are entering it, from the XenApp server.  Use the fully qualified DNS name for best success.  If it is beyond a firewall (or has local firewall settings) that don't allow ping replies then obviously you may not be able to ping it.  Just make sure it has the appropriate ports open (typically the range 27000 -27010)
  6. Save the policy and make sure it is enabled.
  7. From my experience you will need to reboot the XenApp servers for it to take affect quickly.




HOWEVER - I also figured out that sometimes the servers didn't comply to that policy during a reboot - see my article on that issue here. So to ensure it always points to the correct license server I would suggest also changing the following registry settings with the appropriate server name for the license server.  I will assume if you are reading this you know how to do this via REGEDIT.  The XenApp policy does NOT updates these settings and they will retain the old license server name unless you change it.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Citrix\LSName 
and
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Citrix\Licensing\MFCM_LSHostName

If XenApp can't find the Citrix license server then your users will not be able to log on!!


Alternate search terms to help people find this article:
  • Change XenApp licensing server
  • Point XenApp to different license server
  • Update Xenapp License server name
  • Control which Citrix License Server is queried by XenApp
  • How to modify XenApp License Server Host Name
  • Citrix XenApp cannot contact the license server 

Thursday, January 6, 2011

Citrix XenApp 6 servers keep reverting to old license server name

When setting up our new Citrix XenApp 6 server for initial testing we installed the license server on itself (call it CITRIX1). As we were nearing the time to move it into production I wanted to move the license service to another non XenApp server (call it XENAPP-LS).  I did so and migrated our MetaFrame Presentation Server licenses to it.  I wasn't exactly sure how to tell the CITRIX1 XenApp server to point to the new XENAPP-LS license server so did some Google searches.  I figured out you have to create a XenApp Computer Policy and add the following setting "License Server Host Name" with the appropriate name of the new license server (i.e. XENAPP-LS.mydomain.local).  Did a reboot and bingo, good to go!  It starting use the new licenses.  I removed the license server off of CITRIX1.

Problem
Well, as I was installing things I needed to do a reboot.  On the next reboot it popped up a message saying "Citrix License Error : Citrix XenApp cannot contact the license server CITRIX1".  Say what?  I checked my XenApp computer policy and it still said the license server was XENAPP-LS.   Rebooted again and this time it did not complain and was working fine.  Fast forward a few days, now the server is in production.  After one of the 3am reboots we perform each night it reverted back to looking for CITRIX1 as the license server.  No one could log on that morning!!  Another reboot fixed it.

Apparently if the server can not communicate with the SQL XenApp datastore at a magical moment during boot up, it looks in the registry and does not apply the policy.  It seems like it would eventually re-check and then apply the policy but that apparently does not happen (since it was 4 hours since the 3am reboot before the first user tried to log on and would not let anyone on).

Solution
You need to edit the registry on your XenApp server(s) to manually change the license server name to what it needs to be.

Checkout:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Citrix\LSName 
and
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Citrix\Licensing\MFCM_LSHostName

These still had the CITRIX1 value in there.  I changed it to XENAPP-LS.mydomin.local and have not since had the problem.

Friday, November 5, 2010

Verizon Motorola DROID 2 - Android 2.3.2 update pushed out

This morning my DROID2 told me it had downloaded the 2.3.2 update (2.3.20.A955) and asked if I wanted to install it.



Install an update you say?  Duh, go for it!!  
But what changed?  What improved?  What's better?

Thursday, November 4, 2010

Default Password List

I'm always trying to find the default admin password for different stuff.  I created a static page of vendors / devices and their default admin passwords.  




Friday, October 29, 2010

Updating firmware on an AirLink (Sierra Wireless) Raven X Cellular Modem

Okay, this probably doesn’t apply to many people because I doubt the user base for these units is very big, but I ran into this issue today. 

Problem
Wanted to upgrade the firmware on an AirLink Raven X Cellular Modem (V4221-S) to the latest since what it had on it was from February 2007.  Appearantly AirLink is now Sierra Wireless (or they bought them… I don’t really care…).  Downloaded release RavenX_EVDOA_4.0.7.001.exe  and ran it from a  laptop connected to the modem via ethernet.  Before reaching the 50% mark it told me “Unable to write the firmware to the modem flash”… how rude! 

Thursday, October 28, 2010

Remove Blogger Navigation Bar AND whitespace

Problem
Didn't want the default Blogger NavBar.  Found a way to remove / hide it, but the whitespace reserved for it remained.

Incorrect IP address showing up in DNS

Problem
Windows 2003 server at a remote office has two network cards, one for general traffic and another one used with a network sniffer that was also loaded on the server if we need to track down a network hog issue.  The problem was that the NIC used for the sniffer auto-registered with DNS and sometimes would "advertise" that IP address and not the desired static IP address of the server.

About Me

My photo
Science Fiction Author / Vice President of Technology for The Christman Company