Sunday, May 9, 2021

I Built an outdoor shelter to make puppy training a little easier.

Is there anything cuter than bringing home a new puppy?


In the last year with many people at home more, many decided to add a pet to their family.

 I mean after all puppies are so cute, life is just full of fun with a new puppy or maybe a second puppy to play with your first dog .


One thing I've learned though to properly train a dog you need to take it outside a lot and that means  in good weather or bad.


Getting a puppy in the Autumn in much of North America means that Critical potty training requires  frequent outside visits. Training a new puppy means often going out even in the middle of the night regardless of the weather. 


Sometimes puppies are very timid and afraid of new things so if you suddenly find yourself outside in a heavy rain storm or a snowstorm holding up an umbrella might make it even more scared.


Then he won't be inclined to do his business and  you just want to get out of there get done and get back inside.



Puppies sometimes have other ideas. It Takes a lot of patience patience is hard to have when it's pouring outside or it's cold or snowing right in your face.



To see how view my YouTube video.
See how on YouTube




Thursday, May 6, 2021

 YouTube Videos - Repairing a shed 14,000 views.



I'm not a frequent blogger so I don't make any money from this, but I do like to share things that I've learned .


 It's my way of paying it forward via the Internet that has given me so much. 

 I'm doing this both through the blog and through YouTube videos on occasion.


My work takes most of my time so I'm not able to share a lot of what I do at work.

Security concerns work policies with the Internet etc.


Although I don't work in any skilled trade now, I consider the training that I got very valuable. My father was not just skilled in his trade, he was a "Jack of all trades". I try to use the skills that I learned then throughout my life in very practical ways such as doing my own handyman work. I attempt DIY (do it yourself) tasks and record videos in case it seems helpful.

I'm currently on work leave due to a health issue, so I'm looking through videos of things that I've done that may be helpful.

Right now I'm dictating this blog using voice recognition because it's difficult to use my right arm.
Here is a link to the video I created on repairing a shed hinge which seems to have gotten 14,000 views already.

When I couldn't find parts I came up with a way to repair it myself and I thought I would share it.

YouTube link

Hoping to do more soon.


Dave

Tuesday, September 19, 2017

Living the PI Life - Raspberry Pi startup
First time experience with Raspberry Pi.
For those who may not have heard about The Raspberry Pi - It is a tiny computer on a board that about 1/3 the size of my Iphone 6 +.

These run a variety of operating systems mostly based on Linux varieties.

Here is my experience with the Kit I got from massdrop.com  It looks like most buyers have had problems. I will let you know what I have done to work around them.
The kit included

  • Raspberry PI 3 Model B
  • 8 GB SD card
  • Plastic Pi case
  • Power adapter 
  • 7 inch LED touch screen with controller (HDMI, VGA, Composite)
  • HDMI cable
Not included was
  • 5-12 V power supply for the LCD screen.
  • Useful documentation like pinout for Display wiring
Starting the Raspberry Pi
The Kit box appears to have been provided by Sainsmart.com which is lacking documentation.

My first experience getting the base Pi working I ran into a problem.
The 8Gb SD card did not seem to be formatted even though it seemed to have been opened.
I followed instructions at RaspberryPi.org to  format the provided SD card.
Even after several tries I was unable to produce a working Pi and card. In each case I got only a black screen. I lost a chunk of a day here
For this initial test I was using only the provided power adapter and the HDMI cable connected .

Troubleshooting
After several google searches the best troubleshooting information led me to search for a new SD card to use. I went to Walmart and saw SD cards in the $10 - $16 price range that seemed suitable.
I picked up a SanDisk 16GB (Max Size listed for Pi)
Following the instructions for Noobs install worked perfectly first time.
This got me going and I plugged in my USB keyboard and Mouse.
I did experience a few unexpected resets So I switched the power supply to a Blackberry phone charger I had available.  This make it stable.

LCD screen
I may write more detail on the LCD touchscreen later.
For quick reference: I had to find a surplus AC adapter for this. It used a 5Volt DC 2.5Amp adapter used for a D-Link USB hub. You might find one at in a clearance bin at a electronics or computer store or online.
There was a useful video for this on Sainsmart.com linked to YouTube. My photo below may help.
For the display adapter board I found this documentation It's very limited but may help you get started.
I was able to use this display for Rasberry Pi and also the NES classic SNES classic as a spare display when the TV is busy.

In Summary
This kit was failing in these respects
- Poor quality or defective SD card
- Poor quality power supply
- No power supply provided for the LCD display screen.
The Raspberry Pi itself seems good and the display itself works. I look forward to exploring more.
Here's my photos :


Kit Box

Box open

Contents

Pi in case with HDMI and power connected (sitting on my laptop)

On TV - setting up Raspian from NOOBS

Supplied SD card (left and replacement SD card (right)
Replacement power adapters (Left) Blackberry charger for Pi. (Right) D-Link 5V adapter used to power the screen.


Screen Wiring - Note the orientation of red Wires


Pi with screen wrapped in corrugated plastic for a quick package (and Apple Pie to celebrate)

Friday, June 23, 2017


MegaRaid  Problems - Can't recreate a Logical disk containing a single physical disk after failure.


While working on a disk replacement on an older Oracle (SUN) X4170 M2 we ran into trouble.
In this config there was a raid controller configured with 4 physical hard disks used as 4 logical disks.
No redundancy was configured here. Redundancy was configure using Solaris 10 ZFS layer in zpools.

Here is where it got ugly. When a disk died the MegaRaid logical disk disappeared (No redundancy so that;s expected.)

After disk replacement you need to recreate the logical disk (again expected). MegaRaid however refused to recreate the logical disk. Try as we might it only spit out a generic exit code and Failure message:

# ./MegaCli -CfgLdAdd -r0  [252:1] -a0
                                   
Adapter 0: Configure Adapter Failed
Exit Code: 0x54

Solution is below however a little background on this config.

Normal MegaRaid config:

Logical disks:


 # ./MegaCli -LDInfo -Lall -aALL |egrep 'Virtual|size|State'
Adapter 0 -- Virtual Drive Information:
Virtual Drive: 0 (Target Id: 0)
State               : Optimal
Virtual Drive: 1 (Target Id: 1)
State               : Optimal
Virtual Drive: 2 (Target Id: 2)
State               : Optimal
Virtual Drive: 3 (Target Id: 3)
State               : Optimal

Physical disks:


# ./MegaCli -PDList -aALL |egrep 'Slot|state|Inq'                
Slot Number: 0
Firmware state: Online, Spun Up
Inquiry Data: SEAGATE ST930005SSUN300G06061201Q1ABC        
Slot Number: 1
Firmware state: Online, Spun Up
Inquiry Data: SEAGATE ST930003SSUN300G0E71101471DEF        
Slot Number: 2
Firmware state: Online, Spun Up
Inquiry Data: SEAGATE ST930005SSUN300G06061201Q1LGHI        
Slot Number: 3
Firmware state: Online, Spun Up
Inquiry Data: SEAGATE ST930005SSUN300G06061201Q1LJKL  


So in this case we saw

Logical disks

 # ./MegaCli -LDInfo -Lall -aALL |egrep 'Virtual|State'
Adapter 0 -- Virtual Drive Information:
Virtual Drive: 0 (Target Id: 0)
State               : Optimal
Virtual Drive: 1 (Target Id: 1)
State               : Optimal

Virtual Drive: 3 (Target Id: 3)
State               : Optimal

# ./MegaCli -LDInfo -L2 -aALL
                                     
Adapter 0 -- Virtual Drive Information:
Adapter 0: Virtual Drive 2 Does not Exist.

Replaced disk was now available in Physical disk list

# ./MegaCli -PDList -aALL |egrep 'Slot|state|Inq|Enc'
Enclosure Device ID: 252
Slot Number: 0
Enclosure position: N/A
Firmware state: Online, Spun Up
Inquiry Data: SEAGATE ST930005SSUN300G06061201Q1ABC          
Enclosure Device ID: 252
Slot Number: 1
Enclosure position: N/A
Firmware state: Unconfigured(good), Spun Up
Inquiry Data: SEAGATE ST930003SSUN300G0E71101471ZDEF          
Enclosure Device ID: 252
Slot Number: 2
Enclosure position: N/A
Firmware state: Online, Spun Up
Inquiry Data: SEAGATE ST930005SSUN300G06061201Q1LGHI         
Enclosure Device ID: 252
Slot Number: 3
Enclosure position: N/A
Firmware state: Online, Spun Up
Inquiry Data: SEAGATE ST930005SSUN300G06061201Q1LJKL   


So we should be able to add the new disk back into a logical disk array but it fails:

# ./MegaCli -CfgLdAdd -r0  [252:1] -a0
                                   
Adapter 0: Configure Adapter Failed
Exit Code: 0x54

So after trying a few things with the field engineer replacing the disk. reinserting different slots etc. came my new favorite quote:

                " Friends don't let friends MegaRaid"


But here is the solution:


Any Logical disk with caching enabled retains data that was being written at fail time. So Logical disk 2 cache data was retained. 
Logical disk (LD2) and in fact any new LD could not be recreated when cache was being preserved.


Confirm :


# ./MegaCli -GetPreservedCacheList -a0
                                   
Adapter #0
Virtual Drive(Target ID 02): Missing.
Exit Code: 0x00

Dump cache


# ./MegaCli -DiscardPreservedCache -L2 -a0                                

Adapter #0
Virtual Drive(Target ID 02): Preserved Cache Data Cleared.

Exit Code: 0x00

Try again to recreate LD



# ./MegaCli -CfgLdAdd -r0[252:1] -a0
                                     
Adapter 0: Created VD 2
Adapter 0: Configured the Adapter!!
Exit Code: 0x00

SUCCESS.
Now you can move on to any software configured mirroring etc.

In this case we were able to do a zpool replace command.


A little more background on LSI logic RAID controllers  Using Megaraid, Megacli, Storcli

For comparison sake we have seen similar config issues on Both IBM and Cisco UCS servers. In the case of non redundant (raid0 )logical disks this preserved cache issue can also arise. In the case of Cisco UCS we have seen a more meaningful error appear leading to the solution much quicker:

No doubt the vendor or OS package has a more updated of Megaraid i.e. Megacli64 or storcli.

# ./MegaCli64 -CfgLdAdd -r0[8:13] -a0
                                     

Adapter 0: Configure Adapter Failed

FW error description: 
 The current operation is not allowed because the controller has data in cache for offline 
 or missing virtual disks.  

Exit Code: 0x54

The solution is using the same option -DiscardPreservedCache 

Wednesday, January 21, 2015

Battery killer - Outlook App on Samsung Galaxy S4 Android

Suddenly one my Galaxy S4 Android phone battery began dying halfway through the day. I charge it every night.
I was thinking it was a hardware problem after owning the phone just under a year.
Then I discovered the problem.
I went to :
  • Settings
  • More
  • Battery
Then you see Battery use by application.


Here I saw the culprit. Microsoft outlook had used  55% of the battery. I had never noticed this behaviour before. I had installed Outlook to access my old Email that My provider Bell had given me years ago. Recently I had cancelled my home DSL internet with them. (switched to a CABLE based Provider) It seems they cancelled my Email accounts tied to the account (name@bell.net , name @sympatico.ca.) So the app was not even working. Looking at the settings I saw  I had configured push notifications. I had not received any new emails in over a week. When i selected SYNC it seemed to contuously try to connect to the mail server unsuccessfully.  So the issue was likely the app was trying to continously access the server and failing and retrying every 10 minutes. This not only drained my battery but also drained my wireless data plan. (since I had turned off wifi to save battery when away from home.)
THE FIX
In my case the fix was simply to uninstall Outlook since I now longer needed it.
If you encounter this problem you may be able to disable push notifications, Change how often it does push notification, or troubleshoot any service connection issues.
 

Monday, January 19, 2015

Insulating a cold bedroom over the Garage - "Heated space"

We recently moved our bedroom to a larger one at the front of the house. This was a concern because it was notoriously the coldest room in the house. Its always several degrees colder.
This is a common problem in Canada and there are many service companies do it yourself solutions.
I of course hate paying anyone to do something I can do myself.
So with unused vacation time I had to take before the end of the year I was determined to solve it as inexpensively as I could.
Inspection:
To start I cut some holes in the garage ceiling drywall large enough to stand on a ladder and look around with a bright light.
Then I cut out sections of drywall between the studs.
I was happy to see there was already considerable thickness of pink insulation, however what I saw next changed my whole plan.
I knew I would see the two heating ducts and figured I would need to wrap them with insulation, however there was a third duct just blowing into the space. 
Seeing this I wondered why the space was so cold.


Change of plan
I was thinking of purchasing a spray foam kit and apply it directly to the underside of the floor. Now I realized if I did that I would loose the benefit of the heated space.
So I needed to find the cold areas and improve the insulation.

I could see the insulation on the side walls was not as thick and I could see the builder has not put vapor barrier over them .
So, this was enough to send me off to my nearby Home Depot to buy insulation. I selected Roxul R22 16 inch wide.
Three bats fit nicely in the back of a 2003 Honda CRV. They also come bundled in 3's.  I later went back and go one more.
Also notable, the plastic used to tie 3 bundles together is heavy enough to use for extra vapor barrier.
I slid down the short stubs of insulation and added more insulation above in the outside walls.
Then I added vapor barrier plastic. 
Then I placed more new insulation on the warm side.
Back in the garage ...Outside of the front of the house has a steel I-beam.

After cutting some more access holes I got a better look.
From inside I could see the I beam exposed in the corners, so clearly not enough insulation inside,









I ran a new full thickness wall of new batting along the outside walls.
In the most interior wall I saw plumbing so I had to ensure i didn't cover it. it had to stay on the warm side of the insulation.

As a final layer of warmth I split several bats of insulation to half thickness and layered over top of the  original pink insulation.
The end result is that I feel much of the house is warmer and I expect a better heating bill this year.

Tuesday, August 27, 2013

RedHat Linux KVM Virtual Machine in a Linux VM in Oracle Virtualbox inside Windows XP -Whew!

That sounds as confusing as it is.
I am working through a guide to becoming certified on Redhat Enterprise Linux RCSA. To do this I need practise installing RHEL. Since I dont have several 64 bit systems I needed to find a way to do this with a single Windows XP laptop.
To create a lab environment I installed a current version of Oracle VM Virtualbox on my 32bit version of Windows XP. (My laptop is a 64 bit Core i7- XP is required by my employer.)
 Withing this environment I can create a (64bit) Virtual machine and install Redhat Linux (RHEL) no problem.
Then I get to the chapter on using  RHEL to create virtual machines. I thought this should be interesting VM's nested inside VM's

So heres how it looks. Windows XP > Start Oracle Virtualbox > Start RHEL VM.> Start KVM virt-manager > Create and Boot another RHEL instance.
Seems to be working ok. Ill let you know if there are any complications.. Should be interesting when I get to the network setup.

Friday, April 20, 2012

GameSalad for Beginners book

I just started reading this book GameSalad Beginners Guide . I was excited to see it published by Packt publishing. I know the author a bright young game developer Miguel DeQuadros of Wurd Industries creator of a few apps available on the itunes app store.
When I heard he was writing it I was wondering just what is Game salad? Of course he explains it right at the beginning...
  GameSalad is a fantastic, powerful creation tool that allows you to develop iPhone games! The best part about it is there is no programming involved whatsoever! With a simple drag-and-drop user interface, and behavior-based development, putting together anawesome game has never been easier! Its possible to put together a fully playable game in less than half an hour!
 
This sounds good to me I've done some Unix shell scripting but no fancy graphical stuff. I'd consider myself a beginner in game creation. I've been very curious about what's involved in creating an iPhone / iOS app.
He walks you through everything from where to start getting GameSalad, signing up as an app developer then off to practical advice on how to plan and create a game. Then practical examples

I look forward to seeing what I can learn.

Thursday, January 26, 2012

LDOMS using the CDROM in the guest / Create CDROM ISO in Solaris


In Solaris LDOMS (Oracle Virtual machine for Sparc) the CDROM or DVD is not connected to the guest by default.

Many examples of setting up LDOMS refer to using a jumpstart or network boot.

Here is a quick tip for using the CDROM drive or an ISO image of the Solaris Install CD on the guest. This can then be used to install or recover an unbootable guest

Mount Physical CDROM to Guest domain
-------------------------------------------------------

Insert dvd

# cdrw -l ### Checks CDRom device path ##

Looking for CD devices...
Node Connected Device Device type
----------------------+--------------------------------+-----------------
/dev/rdsk/c0t0d0s2 TSSTcorp CDDVDW TS-T633A SR00 CD Reader/Writer

# ldm add-vdsdev options=ro /dev/dsk/c0t0d0s2 cdrom@primary-vds0

# ldm add-vdisk cdrom cdrom@primary-vds0 Guest1

Create and Mount ISO virtual CDROM on Guest domain
--------------------------------------------------------------------------------

#/etc/init.d/volmgt stop

# dd if=/dev/rdsk/c0t0s0s2 of= /var/tmp/Sol10_U8_Sparc.iso bs=1024k

#/etc/init.d/volmgt start
Mount CD Image on guest as a virtual cdrom drive
# ldm add-vdsdev options=ro /var/tmp/Sol10_U8_Sparc.iso
iso@primary-vds0

# ldm list-services

# ldm add-vdisk iso iso@primary-vds0 Guest1

In LDOMS 2.0 you wont even have to assign a devalias.

# telnet localhost 5000

ok} boot iso
/

You should be booting to Solaris intall now.
If you just need to get into recovery mode do:

ok} boot iso -s

Wednesday, May 25, 2011

Free QR code generator



These QR codes you see popping up everywhere, you can easily generate your own.

Also Wasp Barcode has a blog suggesting 5 ways to use them.

Saturday, January 1, 2011

Rats, had to switch from Open Office to Excel


I became A big fan of Star Office then Open Office while I was at Sun Microsytems.

I am a firm beleiver it's better to use Open source software rather than pirate from Microsoft.

However some Vendor's software is tightly coupled to Micro$oft. It would be nice to see more vendor agnostic software.

Case in point:

My wife was working on converting a client from Simply Accounting to Quickbooks. Quickbooks has a feature to allow you to import customers and vendors via Excel spreadsheet.

We had the spreadsheet exported in Open Office calc and went into Quickbooks (QB) import utility.

Then QB complained we did not have Excel installed....


Long story (even longer) we then downloaded MS Office 2010. At least M$ is getting less greedy for the Home & Student edition. 25% discount until Jan 6, 2011. It $119 CDN.

Did I just give a free plug for Microsoft??


After finally getting Windows XP service pack 3 (required) then the 35 windows updates that followed it works.

We started the Office download and the Windows update in 2010 (New years eve) and finished in 2011.


Price:


  • MS Office Upgrade -$ 119. (30 minutes download)

  • Downloading & install Service pack3 - time overnight

  • 35 windows updates - 2 hours

Time saved retyping 3600 customers & several suppliers: Priceless.


My wife reports her last conversion took about 60 hours of rekeying data.

Tuesday, November 16, 2010

Monday, November 8, 2010

Sunray to replace a KVM console.



I have had an idea to use a decomissioned IBM console with a Sunray to provide a replacement for our old KVM.


The KVM's time has gone and updating it did not seem like a good use of money.


The screen was a rack mount 17 inch vga screen and the keyboard & mouse /touchpad. (IBM/Lenovo laptop style.)





Here are the issues I overcame to provide this solution.


Issues:



  1. Video: Our Sunray uses DVI connectors. IBM screen uses VGA.

  2. Keyboard/ Mouse: The Sunray uses only USB. Our Console keyboard has PS2 connectors for both mouse and Keyboard.

  3. A standard PS/2 to USB adapter did not work well on the Sunray.


Solutions:

  1. Video: no problem the Sunray 2FS ships with a DVi to VGA adapter.

  2. KB/Mouse- PS/2 : I acquired 2 Cables to go brand USB to PS/2 Y adapters from Tiger Direct.

  3. Despite being a Y adapter, these adapters would not allow both keyboard and mouse connected to one USB port. In fact the first one I got (model # 27225 $12 CDN) would not even allow you to type normally. The mouse works fine with this one. The second one I got worked fine with the keyboard (model # 32185 $32.99 CDN) but not with the mouse. Note also I had to connect both devices to the port labeled mouse, not the labeled keyboard port. The IBM keyboard /mouse comination device was labled SK-8840 part number PN 89P8500


So by combining these 2 adapters and using the 2 rear USB ports on the SunRay I was able to make this solution work.



It seemed a bit expensive $32 for the Sun compatible USB to PS/2 adapter but i wanted the nice rackmount IBM keyboard to work.



A cheaper solutiion might have been to find a narrower USB keboard , a flatscreen monitor and put it on a shelf in the rack but not nearly as elegant and not foldable.





Tuesday, October 26, 2010

Diagnosing Solaris disk errors with diskinfo.sparc


Just read a good troubleshooting document fron Sun - Oracle . " How to identify io errors for failing device on Sun SPARC systems." Doc ID 1005520.1

It demonstrates how to determine a failing disk.

it mentions use of " iostat -En " , format , and /var/adm/messages "


It does also refer to a Doc 1017741.1 High hard error value in iostat -E. It fails to metion that iostat is not updated until a reboot.

This means that if you hotswap a disk iostat doesn't change. It doesn't update the error state, but even worse it doesn't update the disk model or serial number. (No evidence the disk was ever replaced!)


Great tool.

Sun Explorer installs a utility that does update the disk model, serial number and firmware version of the disk. It can be run alone without running the full explorer.

It is called diskinfo.sparc.


output looks like this.


# /opt/SUNWexplo/bin/diskinfo.sparc


AVALABLE SCSI DEVICES


Location Vendor Product Rev Serial #

c0t0d0 TEAC DV-W28SS-R 10C -

c1t0d0 SEAGATE ST930003SSUN300G 0868 095371xxxxx

c1t1d0 SEAGATE ST930003SSUN300G 0868 10012xxxxx



Very helpful especially if you need to verify a model for later service.


Also has an executable diskinfo.i386 for any Solaris x86 users


You need to install Sun explorer to use this.

Friday, May 14, 2010

Making Windows Search companion Forget a search


I log my SecureCRT terminal sessions in text files so I can see what I have done later (or done wrong.)

The Problem:

Sometimes I accidentally type a password in the wrong spot. Then it ends up showing in plain text instead of concealed behind asterisks (******.)

Now this is written to my plain text terminal logs!

The Fix

To hide this I use windows (XP) search companion to find the password text in the logs and edit it out.

This works well except ...

The Problem:

When I go back into Search companion it now remembers it's last search (MY PASSWORD!) when I type the first letter of the last search it shows it in a pull down.

I couldnt find how to make seach companion forget my password now. after searching I gave up and then figured it out on my own.

The Fix:

I'ts simple after typing the first letter the pulldown appear with the password. Move the mouse over the pulldown of previous searches and hit the delete key.

Done. The last search (aka password) is forgotten.


Monday, August 31, 2009

Floorplanner.com Design a 3D blueprint Free!


I have been playing with Floorplanner.com
It's a well done website that allows you to draw your own plan in 2D then view it in 3D.
The learning curve is not to bad, even if you have never used a CAD program before.
It had even improved since the first time I tried it to draw my basement floor plan.
I managed to draw a computer lab to show concepts to my colleagues.
Create an account to try it free.
If you really like it you can pay for "Plus accounts" and get more space for more plans.
Check out a diagram I did here, be sure to click 3D. I used the Green telephone booth's to represent server racks. As with many 3D flash websites, it really helps if you have a fast CPU and lots of Ram.

Sunday, July 12, 2009

Unclogging the kitchen drain


A clogged kitchen drian could mean a costly visit from the plumber.

As a son of a plumber I couldn't be seen to have to call in someone else.

(Besides, Dad's retired and hung up his drain rod long ago.)

In the "old days" we put the trap directly under the kitchen sink so you could fix it in the kitchen. Well, in my 6 or 7 year old house it's different. The trap is in the basement.


It tried poking a hanger wire down through the cleanout under the sink but to no avail.

I made a quick call to dad to see if he still had a drain rod. He suggested instead I go down to the basement and unscrew the trap. Thankfully It's still unfinished above the laundry room.

Here he reminded I needed to hang a bucket under the trap when I unscrew it.


Once unscrewed I was able to shift the horizontal drain to one side and get my fingers into the gunk to pull it out.


Question: How many drinking straws can you get down a drain before it clogs?


Answer: Eight Straws, 3 popsicle sticks and several old grey vegtable remains.


Uggh ! well its fixed and it only cost me a hour of my time.


Monday, June 1, 2009

Cleanup a moldy basement


Helping my brother renovate his basement on the weekend.
We debated on whether to rip out the old stucco drywall or just put new drywall overtop.
Happily our younger help was up for more demolition.

Glad we did ....

We discovered black mold on the concrete behind the drywall. This can be a big health hazard especially for underground dwellers living everyday in basement apartments.

The cause:
The previous basement finishing job left an incomplete area behind the furnace that had only insulation on the outside wall covered with an old curtain. --- No vapor barrier plastic -- no drywall !
This left a large area exposed to outside air movement around the Air conditioner pipes and tiny gaps between the concrete walls and the wooden base of the upper house.
This air movement allowed the cold winter outside air to mix with the warm humid inside air causing moisture to form on the walls.
Over time this encouraged mold growth blackening the concrete wall behind the drywall.

The Fix:
We cleaned it with a spray bottle of bleach and water mixed. Within minutes we saw the wall change from black to the old gray concrete.
After some searching of the internet I realized how dangerous cleaning mold can be. Had I read it first I would have taken more precautions (wearing air masks, hanging plastic sheets creating negative pressure etc.)
Of course the bleach smell was strong and we opened all the windows. we could have done other things. I read that Hydrogen Peroxide is great for killing bacteria.
Hydrogen Peroxide is apparently much safer than bleach because it does not give off gas a bleach does that can burn your lungs.
Hopefully none of us get sick later from our cleanup.

Repairs:
We used spray foam to seal the gaps around the AC pipes and gaps in the wall.
Fresh insulation , vapor barrier and drywall is being installed.
This time it will be completely closed and sealed.
Next we will need to rip out the old wall in the laundry room because we see black peeking out from that side.

The moral of the story:
If you are renovating a basement and are considering leaving the old walls, DONT.
Its the opportunity see whats going on behind. It may not be pretty!

Thursday, May 28, 2009

Smoke and Mirrors - Veritas Disaster Recovery: Part 1: An unbootable root disk

I know my Data is there! I just mirrored it! At least it said it did?

Sometimes for whatever reason Veritas volume manger will mirror successfully but the mirror disk wont boot.
Perhaps you forgot to run vxbootsetup or it just didn't work correctly.

What if your primary root mirror now died and you had to get the data off the alternate disk but it wont boot!
Using some spare hardware here's what I went through.

I moved the un-bootable (Solaris 8) SCSI disk (mirror) from my Sunfire 4800 (D240 tray) into a spare Sunfire V240 system in my lab. It has 4 SCSI disk slots so it's a perfect recovery platform in this case.
We installed Veritas Volume manager 4.1 on Solaris 10 and encapsulated our root drive.
Here's the gotcha, to keep the new rootdg (Veritas root data disk) separate from the disk we are recovering we changed the default name rootdg to spamdg instead.

Once our Solaris 10 system disk was encapsulated and booted we could plug our bad mirror into a spare disk slot, plug a new disk into another spare slot and ufsdump the data to a new disk.
Heres the main steps.
  • The V240 installed with Solaris 10 was installed with Veritas VXVM 4.1
  • The root disk (disk0 slot) was encapsulated with rootdg renamed to spamdg (call it what you want, just NOT rootdg or bootdg)
  • The recovery source disk was installed in slot 2
  • A new target disk same size or larger was put in slot 3
  • system was booted and rootdg was imported
  • root / , var and opt filesystems were mounted.
  • new slices are created on the target disk.
  • target disk is newfs 'ed and mounted
  • ufsdump is used to copy the data to the new disk
  • new disk is manually un-encapsulated.
  • New disk is returned to original Sunfire 4800 system and is bootable.
  • New disk is remirrored for redundancy
Recovery platform:
  • I used a Spare Sunfire V240 which runs Solaris 10 (could have been Solaris 8 or 9.)
  • It has 4 disk slots I am using only disk0 as the boot disk. 4 slots are numbered disk 0,1,2,3.
  • I have the install CDROM for Veritas Storage foundation 4.1

Detailed steps

1. Remove the un-bootable Solaris 8 disk from the F4800 system's D240 media tray.

2. Install Veritas Volume manager (VXVM) on the V240 using the Veritas Storage Foundation install cd.

You will not be able to read the data on the disk unless you are on a system running Veritas Volume Manager. Encapsulate the root disk using the menu vxdiskadm. When asked to create the rootdg (root data group) change the default name to prevent confusion with the rootdg from your source recoverdisk.

4. Plug in the Solaris 8 disk (Recovery source disk) to slot3 of the V240

5. If you have hot plugged the disk run this command to get Solaris and vxvm to see the disk.

# vxdiskconfig

VxVM INFO V-5-2-1401 This command may take a few minutes to complete execution Executing Solaris command: devfsadm (part 1 of 2) at 11:14:15 EDT Executing VxVM command: vxdctl enable (part 2 of 2) at 11:14:29 EDT
Command completed at 11:15:08 EDT

6. Import the rootdg of this disk
# vxdg -Cf import rootdg VxVM vxdg WARNING V-5-1-560 Disk rootdisk1: Not found, last known location: c0t0d0s2

The error is because the disk had formerly been one of a mirrored pair.

7. Do vxdisk list and vxprint to see the disks and volumes

# vxdisk list

DEVICE TYPE DISK GROUP STATUS

c1t0d0s2 auto:sliced spamdg01 spamdg online

c1t3d0s2 auto:sliced rootdisk3 rootdg online

- - rootdisk1 rootdg failed was:c0t0d0s2


# vxprint -g rootdg

Disk group: rootdg <<<<<<<~~~~~~~~~~~~here it is ~~~~~~~~ TY NAME ASSOC KSTATE LENGTH PLOFFS STATE TUTIL0 PUTIL0
dg rootdg rootdg - - - - - - dm rootdisk1 - - - - NODEVICE - -
dm rootdisk3 c1t3d0s2 - 35363560 - - - -
sd rootdisk1Priv - DISABLED 4711 - NODEVICE - PRIVATE
v opt gen DISABLED 8528720 - ACTIVE - -
pl opt-01 opt DISABLED 8528720 - NODEVICE - -
sd rootdisk1-03 opt-01 DISABLED 8528720 0 NODEVICE - -
pl opt-02 opt DISABLED 8528720 - ACTIVE - -
sd rootdisk3-01 opt-02 ENABLED 8528720 0 - - -
v rootvol root DISABLED 14338616 - ACTIVE - -
pl rootvol-01 rootvol DISABLED 14338616 - NODEVICE - -
sd rootdisk1-B0 rootvol-01 DISABLED 1 0 NODEVICE - Block0
sd rootdisk1-02 rootvol-01 DISABLED 14338615 1 NODEVICE - -
pl rootvol-02 rootvol DISABLED 14338616 - ACTIVE - -
sd rootdisk3-03 rootvol-02 ENABLED 14338616 0 - - -
v swapvol swap DISABLED 4094728 - ACTIVE - -
pl swapvol-01 swapvol DISABLED 4094728 - NODEVICE - -
sd rootdisk1-01 swapvol-01 DISABLED 4094728 0 NODEVICE - -
pl swapvol-02 swapvol DISABLED 4094728 - ACTIVE - -
sd rootdisk3-04 swapvol-02 ENABLED 4094728 0 - - -
v var gen DISABLED 8194168 - ACTIVE - -
pl var-01 var DISABLED 8194168 - NODEVICE - -
sd rootdisk1-04 var-01 DISABLED 8194168 0 NODEVICE - -
pl var-02 var DISABLED 8194168 - ACTIVE - -
sd rootdisk3-05 var-02 ENABLED 8194168 0 - - -


8. Start the volumes so you can mount them (or reboot then the volumes are enabled.)

# vxvol -g rootdg start rootvol
# vxvol -g rootdg start swapvol
# vxvol -g rootdg start var
# vxvol -g rootdg start opt

9. Mount the volumes so you can now get at your data

# mount /dev/vx/dsk/rootdg/rootvol /mnt

# cd /mnt

# ls -l
You should now see your root disk data
You can do the same for var and opt .Now back it up or begin rebuilding a new boot drive


NEXT:
Veritas Disaster Recovery: Part 2: rebuilding the boot disk .... Stay tuned

Install Solaris 8 bootblk from cdrom while still booted


I have been experimenting for some time with Veritas Volume Manager and root disk encapsulation on our aging Solaris 8 systems.
Since I am using a copy of a disk from a hefty SunFire 4800 on a smaller V240 I am encountering some strange issues. Perhaps I will bolg about all the tricks soon.
Heres one.
I want to reinstall a bootblock on a newly mirrored rootdisk.
However since I am running a disk built on the wrong architecture some device paths are not normal or broken.

One odd result is that veritas vxbootsetup is refusing to install the boot block.
Since I have had to do this several times it is very slow booting from cdrom i wanted to install it without rebooting first.

Issue:
After mirroring the boot drive you want to make the new disk bootable.

# /etc/vx/bin/vxbootsetup -g rootdg -n

/usr/lib/fs/ufs/bootblk: File not found
eeprom(1M) not implemented on SUNW,Sun-Fire-V240
/usr/lib/fs/ufs/bootblk: File not found
eeprom(1M) not implemented on SUNW,Sun-Fire-V240

Solution:
Dont rerun vxbootsetup or it will try to create even more partitions on the new disk.

No need to reboot from CD ROM
Normally you would boot from cdrom to do this like this.

ok} boot cdrom -sw
...

# /usr/sbin/installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk /dev/rdsk/c1t3d0s0

Instead put the cdrom in the drive without rebooting and install it as follows (all on one line)

# /usr/sbin/installboot /cdrom/sol_8_204_sparc/s0/Solaris_8/Tools/Boot/usr/platform/SUNW,Sun-Fire-V240/lib/fs/ufs/bootblk /dev/rdsk/c1t3d0s0

I hope I just save you an extra CD reboot.
But you better test the disk to be sure it boots I have encountered some strange booting issues.