<?xml version="1.0" encoding="UTF-8"?>
 		<rss version="2.0"><channel>
 		<title><![CDATA[Djoey.Net]]></title>
 		<description><![CDATA[Articles]]></description>
 		<link>http://sloganizer.djoey.net/</link>
 		<copyright><![CDATA[Copyright Djoey.Net]]></copyright>
 		<generator>sNews CMS</generator><item>
			<title><![CDATA[Lync 2010 Installation with backend SQL Cluster failed login]]></title>
			<description>
				<![CDATA[
				<p>I started installing Lync into our production environment after having installed it on a test lab, the only thing that differs was in production we use a SQL cluster as backend. In the test lab I have used a single SQL cluster server as backend.</p>

<p>I created a topology and tried to publish it, it immediately threw me an error with failed login for user DOMAINAdministrator. After searching for some answers via Google which as always led my in the wrong direction thinking it actually was an error on my SQL cluster.</p>

<p>The only thing you need to double check is that on all nodes the virtual sql instance you have opened the SQL Browsing Service (UDP port 1434 by default) and allow for remote administration in the local firewall and all other firewall that might be in between.</p>

<p>Continuing the search on Technet reading about Configuring SQL Clusters in the Lync Deployment pages I found the correct powershell commands to use:</p>


Install-CSDatabase -CentralManagementDatabase -SqlServerFqdn sqlfqdn.mydomain.tld -SqlInstanceName mysqlinstancename



<p>Now i got somewhere, still getting an error but this time it made more sense: error_no_db_drive_access</p>

<p>This seemed to me that somehow Lync was trying to setup the database files and logfiles for the SQL instance on non clustered disks and i decided to alter my powershell command with:</p>


Install-CSDatabase -CentralManagementDatabase -SqlServerFqdn sqlfqdn.mydomain.tld -SqlInstanceName mysqlinstancename -DatabasePaths X:lyncdatabaselogs,Y:lyncdatabase



<p>And Halleluja! it created the CentralManagementDatabase! After that I continued to publish the topology. And for the other SQL Databases that needed to be created I choose the advanced button and instead of "<i>Automatically determine database location</i>" I selected: "<i>Use SQL Server instance defaults</i>".</p>
				]]>
			</description>
			<pubDate>Tue, 27 Sep 2011 09:03:48 +0000</pubDate>
			<link>http://sloganizer.djoey.net/tech/lync-2010-installation-with-backend-sql-cluster-failed-login/</link>
			<guid>http://sloganizer.djoey.net/tech/lync-2010-installation-with-backend-sql-cluster-failed-login/</guid>
			</item><item>
			<title><![CDATA[Testing URL Shortener]]></title>
			<description>
				<![CDATA[
				<p>I have put in place a URL shortener specifically for my website, it should automatically post this with the correct url shortener to twitter.</p>
				]]>
			</description>
			<pubDate>Wed, 15 Jun 2011 18:35:04 +0000</pubDate>
			<link>http://sloganizer.djoey.net/general/testing-url-shortener/</link>
			<guid>http://sloganizer.djoey.net/general/testing-url-shortener/</guid>
			</item><item>
			<title><![CDATA[Synology ds710+ pxe server with ping and dd-wrt]]></title>
			<description>
				<![CDATA[
				<p>This weekend I decided to put in place image capture and restore functionality in my network using all the pieces of hardware i already owned. Reason is that I do not like it when re-installing Windows I have to do updates etc nowadays you'll lose an entire day re-installing. For imaging I use <a href="http://ping.windowsdream.com/ping.html">ping</a>. Alternatively I will see if I can add <a title="Unattended" href="http://unattended.sourceforge.net/">unattended</a> in the pxe menu and rollout unattended install's of my OS's. Will blog about that later.</p>
<p>I will write down the steps I have taken to achieve my goal:</p>

<p>1.<br /><a href="http://forum.synology.com/wiki/index.php/Enabling_the_Command_Line_Interface">Enable the Command Line Interface of your Synology</a> (steps may vary with different DSM Versions)</p>
<p>2.<br />We need to logon the Synology using ssh or telnet (depens on which you have chosen in the previous step), you can <a href="http://the.earth.li/%7Esgtatham/putty/latest/x86/putty.exe" rel="nofollow">download PuTTY</a> for this task. Login as user <em>"root"</em> and give the password you have setup for the admin user.</p>
<p>3.<br />Next we need the ipkg package system, the package you need to download is dependent on the processor architecture your Synology is using. You can find out <a href="http://www.synology-wiki.de/index.php/Welchen_Prozessortyp_besitzt_mein_System%3F">here</a> (German warning). Switch to the ssh or telnet session you have opened in putty. and use the following commands to download and install the ipkg installer:</p>

nas&gt; wget http://ipkg.nslu2-linux.org/feeds/optware/syno-i686/cross/unstable/syno-i686-bootstrap_1.2-7_i686.xsh


nas&gt; chmod +x ./syno-i686-bootstrap_1.2-7_i686.xsh


nas&gt; ./syno-i686-bootstrap_1.2-7_i686.xsh


nas&gt; rm -f syno-i686-bootstrap_1.2-7_i686.xsh


nas&gt; ipkg update

<p>4.<br />Now we are going to install the necessary tftp server on the Synology nas</p>

nas&gt; ipkg install tftp-hpa

<p>5.<br />We need to configure the tftp server. First we make the necessary directories:</p>

mkdir /opt/tftpboot


mkdir /opt/tftpboot/pxelinux.cfg&nbsp; (yes this is a directory including a .)

<p>Then we need to check if /opt/etc/xinetd.conf contains the right information you can use the command:</p>

nas&gt; more /opt/etc/xinetd.conf


<br />defaults<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; only_from&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = localhost 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; instances&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 60<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log_type&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = SYSLOG authpriv info<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log_on_success = HOST PID<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log_on_failure = HOST<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cps&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 25 30<br />}

<p>You can change the only_from range to tighten security.<br />If it exists /opt/etc/xinetd.d/tftp check for the following contents:</p>

service tftp<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; flags&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = REUSE<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; socket_type&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = dgram<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; protocol&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = udp<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; instances&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 30<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; wait&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = yes<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; user&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = root<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; server&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = /opt/sbin/in.tftpd<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; server_args&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = -s /opt/tftpboot<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cps&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 100 2<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log_on_success&nbsp;&nbsp; = HOST PID<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log_on_failure&nbsp;&nbsp; = HOST<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; disable&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = no<br />}

<p>6.<br />Pxe is a small bootloader which is used as secondary bootloader for network boots. You have to place the pxe executable in "/opt/tftpboot". In this case we are configuring ping. You need to download the iso to your PC, extract it and then place it on the nas in one of the shared folders. After you have unpacked the iso and placed it on the nas you can reach it from the commandline. In my case I had to change directory to /volume1/Data/PING-3.01/ You need to move the following 3 files to /opt/tftpboot:</p>

kernel<br />initrd.gz<br />pxelinux.0

<p>You can use the cp command to copy the files to the new location:</p>

cp kernel /opt/tftpboot<br />cp initrd.gz /opt/tftpboot<br />cp pxelinux.0 /opt/tftpboot

<p>Now you need to create a new file named default in /opt/tftpboot/pxelinux.cfg/<strong>default</strong><br />If you are familiar with vi you can use:</p>

vi /opt/tftpboot/pxelinux.cfg/default

<p>Otherwise it might be wise to first install nano using ipkg: "ipkg install nano" en then use:</p>

nano /opt/tftpboot/pxelinux.cfg/default

<p>copy in the following contents:</p>

DEFAULT rescue<br />PROMPT 0<br />LABEL rescue<br />KERNEL kernel<br />APPEND vga=normal devfs=nomount pxe ramdisk_size=33000 load_ramdisk=1 init=/linuxrc prompt_ramdisk=0 initrd=initrd.gz root=/dev/ram0 rw noacpi noapm pci=noacpi lba acpi=off apm=off

<p>and save the default file.<br /><br />That is it for the pxe part.</p>
<p>7.<br />Now you have to prepare a folder with the partimage structure on the nas.<br />You can create a newly shared folder with our without password restrictions or use a subdirectory of an existing shared folder.<br /><br />In my case I used the existing Data share and put in a new folder named LaptopBackup.<br />You need to download the following zipfile <a title="PartImage Prepared Folder" href="PartImage.zip">PartImage</a> extract the PartImage folder and its subdirectory's and place it on the newly created shared folder or subdirectory of an existing share on your nas.<br /><br />8.<br />One final thing needs to be configured. You need to setup your dhcp server to point to the pxelinux.0 boot file otherwise your computer will not know where to boot from the network. In my case I use a dd-wrt box as my router/ firewall / dhcp server.<br /><br />Login to your dd-wrt box en in the menu open up the Services. in the submenu open Services again. Do not touch the dhcp options in this screen only alter the DNSMasq option. Fill in:</p>

dhcp-boot=pxelinux.0,nameofyournas,ipofyounas

<p>As an example:</p>
<p><img title="DD-WRT DNSMasq DHCP options" src="images/dd-wrt-dnsmasq-dhcpoptions.png" alt="DD-WRT DNSMasq DHCP options" /><br /><br />If you are using anything else as your dhcp server you have to consult your manual on how to add the dhcp option. As an alternative you can <a href="http://www.nslu2-linux.org/wiki/Unslung/PxeBootServer">configure your Synology as a DHCP server</a></p>
<p>9.<br />Now you can follow the <a title="Using Ping" href="http://ping.windowsdream.com/ping/doc-2.01/using.html">ping documentation</a> on how to make and restore an image. I have succesfully created an image of all my partitions. I will test the restore functionality asap and report back.</p>
				]]>
			</description>
			<pubDate>Tue, 14 Jun 2011 08:56:09 +0000</pubDate>
			<link>http://sloganizer.djoey.net/tech/synology-ds710-pxe-server-with-ping-and-ddwrt/</link>
			<guid>http://sloganizer.djoey.net/tech/synology-ds710-pxe-server-with-ping-and-ddwrt/</guid>
			</item><item>
			<title><![CDATA[Remove Missing or Failed status VM&#039;s in SCVMM]]></title>
			<description>
				<![CDATA[
				<p>Sometimes when SCVMM F***s up and you are left with double entries of VM's seperated over your cluster one is OK and the other Failed or Missing. Here is what to do:</p>

<ul>
<li>1. Close the VMM Administrator Console</li>
<li>2. Stop the Windows service named VMMService on the VMM server. (net stop VMMService in a command prompt)</li>
<li>3. Make sure you have the <a href="http://go.microsoft.com/fwlink/?LinkId=190524">Microsoft Management studio express</a> installed on the same computer on which the VMM Database is and backup your SCVMM DB first !!!! (SQLFQDNMICROSOFT$VMM$) Or enable remote connections in the surface manager first and then connect from another machine with <a href="http://go.microsoft.com/fwlink/?LinkId=190524">Management Studio express</a> to the SQLFQDNMICROSOFT$VMM$ instance</li>
<li>4. Open SQL Server Management Studio Express, select the VMM database, and then run the following SQL Server script. This should delete all missing virtual machines with a status of Missing from the VMM database. If the script was successful, you will see the following output: Commands(s) completed successfully.</li>
<li>5. When you have tried to repair or delete a VM with the status of Missing in the Admin Console it changes to the status Failed. Now change the number [ObjectState] = 220 in the SQL script into [ObjectState] = 107 and rerun the script.</li>
<li>6. After the SQL Server script has completed, restart the VMMService and open the VMM Administrator Console to verify that the missing virtual machines are now deleted.</li>
</ul>

BEGIN TRANSACTION T1

DECLARE custom_cursor CURSOR FOR
SELECT ObjectId from
dbo.tbl_WLC_VObject WHERE [ObjectState] = 220
DECLARE @ObjectId uniqueidentifier
OPEN custom_cursor
FETCH NEXT FROM custom_cursor INTO @ObjectId
WHILE(@@fetch_status = 0)
&nbsp;BEGIN
&nbsp;DECLARE vdrive_cursor CURSOR FOR
&nbsp;SELECT VDriveId, VHDId, ISOId from
&nbsp;dbo.tbl_WLC_VDrive WHERE ParentId = @ObjectId
&nbsp;DECLARE @VDriveId uniqueidentifier
&nbsp;DECLARE @VHDId uniqueidentifier
&nbsp;DECLARE @ISOId uniqueidentifier

&nbsp;OPEN vdrive_cursor
&nbsp;FETCH NEXT FROM vdrive_cursor INTO @VDriveId, @VHDId, @ISOId
&nbsp;WHILE(@@fetch_status = 0)
&nbsp;BEGIN
&nbsp;&nbsp;DELETE FROM dbo.tbl_WLC_VDrive
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WHERE VDriveId = @VDriveId
&nbsp;&nbsp;if(@VHDId is NOT NULL)
&nbsp;&nbsp;BEGIN
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp;DELETE FROM dbo.tbl_WLC_VHD
&nbsp;&nbsp;&nbsp;WHERE VHDId = @VHDId
&nbsp;&nbsp;&nbsp;DELETE FROM dbo.tbl_WLC_PhysicalObject
&nbsp;&nbsp;&nbsp;WHERE PhysicalObjectId = @VHDId
&nbsp;&nbsp;END
&nbsp;&nbsp;if(@ISOId is NOT NULL)
&nbsp;&nbsp;BEGIN
&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;DELETE FROM dbo.tbl_WLC_ISO
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WHERE ISOId = @ISOId
&nbsp;&nbsp;&nbsp;DELETE FROM dbo.tbl_WLC_PhysicalObject
&nbsp;&nbsp;&nbsp;WHERE PhysicalObjectId = @ISOId
&nbsp;&nbsp;END
&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp; FETCH NEXT FROM vdrive_cursor INTO @VDriveId, @VHDId, @ISOId
&nbsp; &nbsp;END
&nbsp;CLOSE vdrive_cursor
&nbsp;DEALLOCATE vdrive_cursor
-----------------
&nbsp;DECLARE floppy_cursor CURSOR FOR
&nbsp;SELECT VFDId, vFloppyId from
&nbsp;dbo.tbl_WLC_VFloppy WHERE HWProfileId = @ObjectId
&nbsp;DECLARE @vFloppyId uniqueidentifier
&nbsp;DECLARE @vfdId uniqueidentifier
&nbsp;OPEN floppy_cursor
&nbsp;FETCH NEXT FROM floppy_cursor INTO @vfdId, @vFloppyId
&nbsp;WHILE(@@fetch_status = 0)
&nbsp;BEGIN
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;DELETE FROM dbo.tbl_WLC_VFloppy&nbsp;
&nbsp;&nbsp;WHERE VFloppyId = @vFloppyId
&nbsp;&nbsp;
&nbsp;&nbsp;if(@vfdid is NOT NULL)
&nbsp;&nbsp;BEGIN
&nbsp;&nbsp;&nbsp;DELETE FROM dbo.tbl_WLC_VFD
&nbsp;&nbsp;&nbsp;WHERE VFDId = @vfdId
&nbsp;&nbsp;&nbsp;DELETE FROM dbo.tbl_WLC_PhysicalObject
&nbsp;&nbsp;&nbsp;WHERE PhysicalObjectId = @vfdId
&nbsp;&nbsp;
&nbsp;&nbsp;END
&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;FETCH NEXT FROM floppy_cursor INTO @vfdId, @vFloppyId
&nbsp; &nbsp;END
&nbsp;CLOSE floppy_cursor
&nbsp;DEALLOCATE floppy_cursor
----------------
&nbsp;DECLARE checkpoint_cursor CURSOR FOR
&nbsp;SELECT VMCheckpointId from
&nbsp;dbo.tbl_WLC_VMCheckpoint WHERE VMId = @ObjectId
&nbsp;DECLARE @vmCheckpointId uniqueidentifier
&nbsp;OPEN checkpoint_cursor
&nbsp;FETCH NEXT FROM checkpoint_cursor INTO @vmCheckpointId 
&nbsp;WHILE(@@fetch_status = 0)
&nbsp;BEGIN
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;DELETE FROM dbo.tbl_WLC_VMCheckpointRelation&nbsp;
&nbsp;&nbsp;WHERE VMCheckpointId = @vmCheckpointId
&nbsp;&nbsp;
&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;FETCH NEXT FROM checkpoint_cursor INTO @vmCheckpointId
&nbsp; &nbsp;END
&nbsp;CLOSE checkpoint_cursor
&nbsp;DEALLOCATE checkpoint_cursor
-------------------------
---------Clean checkpoint
&nbsp;DELETE FROM dbo.tbl_WLC_VMCheckpoint
&nbsp;WHERE VMId = @ObjectID

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exec [dbo].[prc_VMMigration_Delete_VMInfoAndLUNMappings] @ObjectId
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DECLARE @RefreshId uniqueidentifier
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exec [dbo].[prc_RR_Refresher_Delete] @ObjectId, @RefreshId

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DELETE FROM dbo.tbl_WLC_VAdapter
&nbsp;WHERE HWProfileId = @ObjectId

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DELETE FROM dbo.tbl_WLC_VNetworkAdapter
&nbsp;WHERE HWProfileId = @ObjectId
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DELETE FROM dbo.tbl_WLC_VCOMPort
&nbsp;WHERE HWProfileId = @ObjectId
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DELETE FROM dbo.tbl_WLC_HWProfile
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WHERE HWProfileId = @ObjectId
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DELETE FROM dbo.tbl_WLC_VMInstance
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WHERE VMInstanceId = @ObjectId
&nbsp;DELETE FROM dbo.tbl_WLC_VObject
&nbsp;WHERE ObjectId = @ObjectId
&nbsp;&nbsp;&nbsp; FETCH NEXT FROM custom_cursor INTO @ObjectId
&nbsp; END
CLOSE custom_cursor
DEALLOCATE custom_cursor
COMMIT TRANSACTION T1


<p>* Source&nbsp; <a href="http://technet.microsoft.com/en-us/library/ff641854.aspx">http://technet.microsoft.com/en-us/library/ff641854.aspx</a></p>
				]]>
			</description>
			<pubDate>Fri, 27 Aug 2010 08:40:44 +0000</pubDate>
			<link>http://sloganizer.djoey.net/tech/remove-missing-or-failed-status-vms-in-scvmm/</link>
			<guid>http://sloganizer.djoey.net/tech/remove-missing-or-failed-status-vms-in-scvmm/</guid>
			</item><item>
			<title><![CDATA[Our daughter Yinthe Milou is born]]></title>
			<description>
				<![CDATA[
				<p>Our daughter Yinthe Milou is born check <a href="http://onskind.com/">Onskind.com</a> for the pictures.</p>
				]]>
			</description>
			<pubDate>Fri, 06 Aug 2010 20:54:00 +0000</pubDate>
			<link>http://sloganizer.djoey.net/general/our-daughter-yinthe-milou-is-born/</link>
			<guid>http://sloganizer.djoey.net/general/our-daughter-yinthe-milou-is-born/</guid>
			</item></channel></rss>
