Tech4Him – Technology with Integrity

A Christian technology chaos wrangler and his thoughts

Archive for November, 2008

VMWare ESXi – VM Crashes during failed Snapshot Delete

Posted by admin On November - 20 - 2008

crossOkay, I’m really thanking the good Lord right now. He granted us discernment that kept us from losing an entire day’s worth of data for my employer. To Him be all the glory.

The Problem

So here is the scenario. I am removing an old VMWare snapshot through the VI Client on a large file and print server. Of course, it is a Virtual server running Windows Server 2003. The Snapshot removal was being done in preparation of taking a new snapshot prior to extending on of the virtual drives on this virtual server. The Snapshot delete gets to 95% and hangs. After 45 minutes I restart the management agents on the ESXi server per a number of similar posts.

Upon reconnecting to the server via the VI client, I see suddenly that this server is now listed in the inventory as “Unknown (invalid)”. What? This can’t be happening! Can it?

The long and short of it is that I ended up created a new Virtual Machine and used the existing virtual disks (.vmdk files.) Started the new VM up and there it was. My server was back, or was it. A quick look at the event viewer told me the horrible news, there were events from the last few minutes and then nothing until about three months ago when we originally migrated the physical server to a virtual.

Oh my, the snapshots! I had the new VM pointed at the original parent disks not the latest snapshot files. I shut the server back down and say a quick prayer. I manually download and modify the .vmx definition to point to the various server-000003.vmdk files. (These were the last in the snapshot numbering scheme) Uploaded the VMX back and started the VM up.

No luck, I get an error message stating that there was a problem with the disks and the snapshot, “parent virtual disk has been modified”. Oh crud! I killed the snapshot linkages by starting the VM with the parent disks the first go round instead of the snapshots.

Solution

Thanks to my good friend Google, I quickly found my way to the Drive:Activated blog and this posting about the disk file linkage issue.

This boils down to ensuring that the you properly chain the parentCID in the largest numbered .vmdk disk file to the CID of the next largest numbered .vmdk file. Continue this until you get to the root .vmdk. (It is the one that doesn’t have the -00000x numbering after the disk name.

Since we are running on ESXi I needed a way to read and write the .vmdk files. There are a couple of ways to do it.

1. Use the VI Client Storage browser, download the .vmdk files, edit them and then upload them.
2. Use shell utilities to do the same directly on the ESXi server.

ESXi is missing some things from its big brother, namely a console. Thanks to numerous posts including this one, I entered the unsupported ESXi console.

From here, I navigated to the storage area and followed the concepts in the Drive:Activated article. Specifically I first used the grep command to quickly ascertain the various CID values for each vmdk file in each virtual drive series.


> grep CID= SERVER.vmdk
> grep CID= SERVER-000001.vmdk
> grep CID= SERVER-000002.vmdk
> grep CID= SERVER-000003.vmdk

You get the idea. I had a number of virtual drives in this server so I made myself a table to keep track of the CID and ParentCID.

vmdk_cid_matrix

As you can see above, the SERVER and SERVER2 disks had two parentCIDs that I needed to fix (RED). Best I can tell, the snapshot problem hung on the SERVER_1 disks as the 000001, 000002, 000003 disks all had the same CID. Kinda hard to link them together that way! :) By the grace of God, this was a small archive drive and I could restore it quickly from backups.

Finally I restarted the VM and after an anxious 10 minutes for ESXi to boot the server, the lovely Windows logon screen greeted me. I logged in and what do you know, we were good to go.

The good news is, the server is back up and running. Everything was either good to go or was restored from backups (4GB of files out of over 500GB).

Popularity: 76% [?]

MediaTemple Grid Server, Drupal and the Zend Optimizer

Posted by admin On November - 19 - 2008

Krimson - Drupal Module Development TrainingToday was a great day. First off, the good Lord gave me another day on Earth to do His work. That’s a good start. I also came across a KB article from MediaTemple that provide great hope of some performance improvement on our grid service (gs) account. Now I came across this as a result of researching performance optmizations for Drupal on their dedicated virtuals (dv) that some of my clients sites run on.

I was so excited, I couldn’t wait to try it out. So, nothing too empirical other than firebug net download times with my browser cache cleaned out.

Test Instance with 8 blocks making up a single node page with 100 generated users.
* Before the optimizer was enabled: avg. 4.4 secs total
* After the optimizer was enabled: avg. 2.9 secs total

The change boils down to this:

Open your php.ini file for editing (KB: (gs) HOWTO: edit php.ini). Add these lines:

For PHP4 (Replace the x.x-x with the version number you want to use.)

> zend_optimizer.optimization_level=15
> zend_extension=”/usr/local/php-4.x.x-x/zend/ZendOptimizer.so”

For PHP5 (Replace the x.x-x with the version number you want to use.)

> zend_optimizer.optimization_level=15
> zend_extension=”/usr/local/php-5.x.x-x/zend/ZendOptimizer.so”

Save the changes and quit.

That’s a decent improvement with all things considered. There are plenty of other optimization items that can be done, but since this site provide zero income, I’m not ready to pay any more for some of those non-free options. ;)

I guess that leaves me with Drupal caching support, ZendOptimizer and MySQL Table optimization and indexing. No MySQL containers for me. If I ever move, it will probably be straight to a (dv).

Blessings!

Popularity: 13% [?]

The MSDN Webcast from September 8, 2008 is the third in a series entitled “SQL Server 2008 Tips & Tricks” focuses on Reporting Services 2008.

Presentation and slide content by IT Mentors

1. SSRS 2008 Architecture/Runtime
2. Configuration
3. New Controls
a. Tablix
b. Gauges and Indicators
4. Deployment

### Benefits of Eliminating IIS from the SSRS Architecture
* Easier configuration
* IIS settings for other applications impact SSRS
* Better resource management
* IIS designed for static or dynamic HTML pages, not report execution for large reports to many concurrent users.
* Memory management easier to implement outside of IIS
* Consolidation of two services into one
* Communication process between services eliminated
* More efficient allocation of memory across server
* Elimination of deployment obstacles
* SQL Server DBAs lacking IIS skills
* IT policies prevent IIS and SQL Server on same server

### Architecture
* HTTP Listener
* Uses HTTP.SYS directly from the operating system
* Accepts requests directed to the configured URL and port
* Authentication Layer
* Confirms identity associated with request
* Supports Windows, Basic, or anonymous Access with a custom authentication
* Application Domains
* Provide a front-end component with Report Manager
* Process reports interactively with Report Server Web service
* Support scheduled operations with background processing
* Application Domain Management
* Replaces IIS functionality

Notes: Speaker does not discuss the complications that running IIS and SSRS 2008 on the same server. Instead he talks about how they both can run on the same server. Might want to be sure you understand the complications that can arise from both on the same server, especially when it comes to SSL needs.

### Configuration
* Memory Management
* Disabling Features

Notes: Speaker states the obvious about the importance of these items. Disabling features = reducing surface area.

### Memory Management
* Memory Broker monitors and responds to memory pressure fluctuations
* Memory events trigger switch from RAM to file system cache as needed
* Configurable thresholds determine report server response to memory pressure changes

Notes: Good simplistic explanation of these by the speaker. Might want to research a bit more if you really need to tweak memory optimization for peak performance.

* Low Memory Pressure
* Current requests continue
* New Requests accepted
* Background low priority
* Medium Memory Pressure
* Current requests continue
* New requests _might_ be accepted
* Memory allocations reduced for all applications
* Background items get the largest reduction
* High Memory Pressure
* Current requests continue
* No new requests accepted

Notes: Good explanation and slide for this concept.

### Configure Memory Settings

Notes: Speaker shows you the what to change in the config file but neglects to say which config files is being changed and where it is located. The correlating MSDN article on this topic is located here.

Information on the RSReportServer.config file can also be found on MSDN.

### Disabling Features
* Report Manager
* RSReportServer.config
* IsReportManagerEnabled
* On Demand Processing
* RSReportServer.config
* IsWebServiceEnabled
* Scheduled Events and Report Delivery
* RSReportServer.config
* IsSchedulingService
* IsNotificationService
* IsEventService
* Report Builder
* SQL Server Management Studio
* Server Properties
* Report Server Windows Service
* SQL Server Configuration Manager

Notes: One might want to consider the “Why?” on each of these to determine appropriate use cases for enabling or disabling. Now the speaker shows where the config file is.

Demos were done for memory configuration settings and the Tablix control.

Lots of good gauges and indicators available thanks to the new Dundas obtained controls.

Finally discussion about the rs command line tool for deployment.

Popularity: 43% [?]

Upgrading to SQL Server 2008 Notes

Posted by admin On November - 18 - 2008

As we move down this SQL Server 2008 upgrade road I am trying to learn from previous projects of other versions and not take anything for granted. So, I am taking the time to research upgrade paths and issues as we look at moving forward.

First I needed to check and see if there is a supported upgrade path from SQL Server 2008 Enterprise Edition Evaluation to the full licensed product. Indeed there is according to this MSDN article. That may make an in place test to production scenario plausible.

Another MSDN article provide a bunch of food for thought regarding the upgrading of Reporting Services.

In our case, we are needing to upgrade and move servers. From what I have read so far, I am thinking that it would be best to upgrade the existing SSRS 2005 server to 2008 and then move Reporting Services to the new server. This MSDN Article refers to the migration process.

Apparently the Reporting Services database creates stored procedures during its creation that refer to the actual Reporting Services DB name. Because of this, you cannot easily change the Reporting Services database name when moving SSRS to another server.

“You cannot rename the report server database. The identity of the database is recorded in report server stored procedures when the database is created. Renaming either the report server primary or temporary databases will cause errors to occur when the procedures run, invalidating your report server installation.”

Another quirk to our installation is that we use SSL for report delivery. This TechNet article describes the SSL certificate configuration process in SSRS 2008. Keep in mind that since SSRS no longer runs on IIS, having IIS installed on the server running SSRS may complicate life. Specifically when running SSL, also running IIS causes a service dependency.

Popularity: 8% [?]

GMAP_Location module and Block Caching

Posted by admin On November - 17 - 2008

Was working on another Drupal 6 site yesterday and worked on addressing a few issues that have crept up for the beta testing. One issue was that anonymous users would see the “Javascript is required…” message where the GMAP_Location block was rather than the node location map while logged in users were fine.

Seems that when comparing the HTML output to the client between logged in and logged out, the GMAP script is missing from the logged out HTML.

<script src="http://maps.google.com/maps?file=api&v=2.115&key=BeSureToGetYourOwnCodeBecauseIRemovedMineForThisPost=en" type="text/javascript">

On a hunch, I disabled block caching in the Admin –> Performance settings. Voila! Problem solved. So this appears to be a block caching issue. For now, I’ve just turned block caching off and will have to wait for time to dig into it more.

Just thought I’d post it here for posterity sake.

Blessings.

BTW Details are:
Drupal: 6.6
GMAP_Location module: 6.x-1.0-rc2
Location module: 6.x-3.x-dev

Popularity: 4% [?]

Juniper Netscreen Firmware Updates

Posted by admin On November - 14 - 2008

We just got done upgrading the firmware on one of our Netscreen devices. Good news, it went flawlessly. Only about 4.5 minutes of downtime.

The funny part is this. When looking to find the correct firmware, Juniper has Screen OS version 6.1 out. Latest is the one right? Wrong! As you can see below, depending on the device you are working with, quite likely the version recommended is an older version. For instance, our device was recommended to be on version 5.4.

So…I guess it really does pay to “read the instructions”. :)

Popularity: 7% [?]

SSWUG.org Virtual Conference – Business Intelligence

Posted by admin On November - 12 - 2008

So I have a few minutes to decompress and give kudos to the great folks at SSWUG.org for putting on a great vConf. What’s a vConf? You mean you don’t know? :)

Well, take a look at the partner site at vConferenceOnline.com. They’ve got a great setup going. Essentially the pre-tape each session in the studio. That way the quality is controlled and ends up great. (Next one is slated to be in HD). Then they have created an asp based solution (Gotta wonder why ASP?  :D ) that handles making the appropriate “rooms” available at the appropriate times during the actual virtual conference. All from the comfort of home, the office, the library or even your favorite coffee shop.

This time, they ran 3 rooms simultaneously for the Business Intelligence conference I attended. The format allows the first half of the day to have these sessions running. The second half of the day the re-run the first half of the day. This way you get a chance to see secondary sessions that may have been running at the same time in the morning.

There were actually 4 conferences going on at the same time. A SQL Server, Business Intelligence, .Net Developer and MS Sharepoint were all available. Each conference was a separate registration fee but for the price you cannot beat it.

Well, take a look at the partner site at vConferenceOnline.com. They’ve got a great setup going. Essentially the pre-tape each session in the studio. That way the quality is controlled and ends up great. (Next one is slated to be in HD). Then they have created an asp based solution (Gotta wonder why ASP?  :D ) that handles making the appropriate “rooms” available at the appropriate times during the actual virtual conference.

The video quality is very good and continues to improve. The content distribution network they are using seems to be quite well suited for such multimedia distribution. Note, you’re going to need some decent bandwidth to get the best quality.

There are set times for exhibitor booth visits which has gone through a great overhaul this time. On demand vendor videos, downloads and of course vendor chat rooms.

Here’s the best part. 3 days for one conference was $100, actually $10 less since I’ve been to the previous two. That’s a BARGAIN when you consider typical conference costs, meals, lodging, travel and more. You certainly do miss out on the personal interaction however they are working on ideas for that. Currently during each presentation, appropriate chat rooms are available for participants and the speaker.

So, yup, I’ll continue to go as long as the quality of the experience and information remains high. Kudos to those who helped put it on.

Kudos Stephen Wynkoop, Chris Shaw and the rest of the gang.

Popularity: 5% [?]

We just ordered our licenses for SQL Server 2008 (various editions). :) Now it is time to get ready for the migration. While doing some research on the actual report .rdl upgrade process I figured I’d put my findings here.

The Performance Point Blog has this FAQ that has a few good tidbits. The one that stuck out to me was the last one:

“Q: I know that every once in a while, a 2005 report won’t auto-upgrade to
2008 successfully. How can I tell if a report I’m running is being rendered in 2005 or 2008 mode?

 

A: We attempt to upgrade a 2005 report to 2008 once and only once. If the process fails the first time, we don’t try again. To see which engine is being used to render a report, use the new ExecutionLog2 view in the
reportserver database, examine the AdditionalInfo column and check the <ProcessingEngine> element. A value of 2 indicates the new 2008 “on demand” rendering engine was used, while a value of 1 means the older, 2005 engine was used.”

Seems like a quick way of seeing which engine is being used when you first hit those reports after upgrading the server. Good stuff.

A brief take from Cliff Nelson is here referencing an internal discussion guided by Robert Bruckner.

Oh, I have to say that I am very excited about the chart, graph and gauge controls, a la Dundas, that are included as part of SSRS 2008. Plus, there available for the .Net framework 3.5 as standalone controls. Yipee!

As we move further in this process I’ll post any important pieces here for my use and yours.

Blessings.

Popularity: 22% [?]