<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Rogierm&#039;s Blog</title>
	<atom:link href="http://rogierm.redbee.nl/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://rogierm.redbee.nl/blog</link>
	<description>Just another blog with technical stuff</description>
	<lastBuildDate>Wed, 22 Feb 2012 16:26:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>test post</title>
		<link>http://rogierm.redbee.nl/blog/2012/02/22/test-post/</link>
		<comments>http://rogierm.redbee.nl/blog/2012/02/22/test-post/#comments</comments>
		<pubDate>Wed, 22 Feb 2012 16:26:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Network]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://rogierm.redbee.nl/blog/?p=260</guid>
		<description><![CDATA[test post]]></description>
			<content:encoded><![CDATA[<p>test post</p>
]]></content:encoded>
			<wfw:commentRss>http://rogierm.redbee.nl/blog/2012/02/22/test-post/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>KVM problem CentOS/RHEL upgrade to 6.2</title>
		<link>http://rogierm.redbee.nl/blog/2012/02/13/kvm-problem-centosrhel-upgrade-to-6-2/</link>
		<comments>http://rogierm.redbee.nl/blog/2012/02/13/kvm-problem-centosrhel-upgrade-to-6-2/#comments</comments>
		<pubDate>Mon, 13 Feb 2012 21:38:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Virtualization]]></category>

		<guid isPermaLink="false">http://rogierm.redbee.nl/blog/?p=244</guid>
		<description><![CDATA[After an upgrade of one of our internal KVM systems to CentOS 6.2 some of the VMs did not started after boot. When I tried to manually start them via virsh they failed with the following error: error: internal error unable to reserve PCI address 0:0:2.0 I fixed this by changing the xml that defines [...]]]></description>
			<content:encoded><![CDATA[<p>After an upgrade of one of our internal KVM systems to CentOS 6.2 some of the VMs did not started after boot. When I tried to manually start them via virsh they failed with the following error:</p>
<p><code><br />
error: internal error unable to reserve PCI address 0:0:2.0<br />
</code></p>
<p>I fixed this by changing the xml that defines this VM:</p>
<p><code><br />
virsh<br />
edit vm-id<br />
</code><br />
Search for the device with IRQ 2, eg:<br />
<code><br />
&lt;interface type='bridge'&gt;<br />
&lt;mac address='52:54:00:bc:ab:96'/&gt;<br />
&lt;source bridge='br205'/&gt;<br />
&lt;model type='virtio'/&gt;<br />
&lt;address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/&gt;<br />
&lt;/interface&gt;<br />
</code><br />
Edit this section and change the slot=&#8217;0&#215;02&#8242; to some other unique value, eg slot=&#8217;0&#215;04&#8242; and save this.</p>
<p>Now you can start the VM without any problem.</p>
<p>This issue seems to happen to more people after an upgrade to 6.2 (see below). The cause does not seem to be known, but it is easily fixed.</p>
<p><strong>References:</strong><br />
<a href="https://www.redhat.com/archives/rhelv6-list/2011-December/msg00043.html">https://www.redhat.com/archives/rhelv6-list/2011-December/msg00043.html<br />
</a><br />
<a href="http://wiki.eri.ucsb.edu/sysadm/KVM">http://wiki.eri.ucsb.edu/sysadm/KVM</a></p>
]]></content:encoded>
			<wfw:commentRss>http://rogierm.redbee.nl/blog/2012/02/13/kvm-problem-centosrhel-upgrade-to-6-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>time synchronisation in KVM guest: to NTP or not to NTP&#8230;</title>
		<link>http://rogierm.redbee.nl/blog/2011/11/07/time-synchronisation-in-kvm-guest-to-ntp-or-not-to-ntp/</link>
		<comments>http://rogierm.redbee.nl/blog/2011/11/07/time-synchronisation-in-kvm-guest-to-ntp-or-not-to-ntp/#comments</comments>
		<pubDate>Mon, 07 Nov 2011 20:38:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://rogierm.redbee.nl/blog/?p=236</guid>
		<description><![CDATA[Time synchronisation in KVM, Xen or VMWare guests is a difficult subject. The best solution depends on the type and version of hypervisor and the type and version of OS that runs in the guest. This way it gets quite complicated. Each hypervisor vendor has a document on timekeeping: Redhat Enterprise Linux (RHEL) Fedora Ubuntu [...]]]></description>
			<content:encoded><![CDATA[<p>Time synchronisation in KVM, Xen or VMWare guests is a difficult subject. The best solution depends on the type and version of hypervisor and the type and version of OS that runs in the guest. This way it gets quite complicated. Each hypervisor vendor has a document on timekeeping: </p>
<ul>
<li><a href="http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Virtualization/chap-Virtualization-KVM_guest_timing_management.html">Redhat Enterprise Linux (RHEL)</a></li>
<li><a href="http://docs.fedoraproject.org/en-US/Fedora/13/html/Virtualization_Guide/chap-Virtualization-KVM_guest_timing_management.html">Fedora</a></li>
<li><a href="https://help.ubuntu.com/community/KVM/FAQ#Should_ntp_be_used_for_time_synchronisation.3F">Ubuntu</a></li>
<li><a href="http://www.vmware.com/files/pdf/Timekeeping-In-VirtualMachines.pdf">VMWare</a></li>
</ul>
<p>While it is useful to have all a solution for all hypervisors on all types of hardware with all sorts of guest OS&#8217;s, most virtualisation shops have quite a stable and homogeneous environment. We mostly run a recent (5.4 or higher) version of CentOS as guest OS on a KVM hypervisor running on CentOS 6 running on a recent Intel Xeon platform. </p>
<p>This means that if:</p>
<ol>
<li>The hardware has a Time Stamp Couter (TSC)<code> $ cat /proc/cpuinfo | grep constant_tsc</code></li>
<li>The Guest has the kvm-clock <code>echo /sys/devices/system/clocksource/clocksource0/current_clocksource</code></li>
</ol>
<p>If the above is true, it is not recommended to use NTP in the VM Guest. Using NTP on the VM Host Server, however, is still recommended. </p>
<p><strong>Summarizing:</strong> If the hostserver has TSC, and the guest is using the kvm-clock, you should only run NTP on the hypervisor. </p>
]]></content:encoded>
			<wfw:commentRss>http://rogierm.redbee.nl/blog/2011/11/07/time-synchronisation-in-kvm-guest-to-ntp-or-not-to-ntp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cisco IPSec VPN with certificates in OSX Lion</title>
		<link>http://rogierm.redbee.nl/blog/2011/10/31/cisco-ipsec-vpn-with-certificates-in-osx-lion/</link>
		<comments>http://rogierm.redbee.nl/blog/2011/10/31/cisco-ipsec-vpn-with-certificates-in-osx-lion/#comments</comments>
		<pubDate>Mon, 31 Oct 2011 13:13:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[mac]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[certificate]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[lion]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[vpn]]></category>

		<guid isPermaLink="false">http://rogierm.redbee.nl/blog/?p=231</guid>
		<description><![CDATA[Since the Cisco VPN client does not work under OSX Lion anymore there was no easy way to connect with certificate authentication. It took some time but I managed to get it working under Lion with the build in VPN Client. Find the steps below to get the certificates imported and working with the VPN [...]]]></description>
			<content:encoded><![CDATA[<p>Since the Cisco VPN client does not work under OSX Lion anymore there was no easy way to connect with certificate authentication. It took some time but I managed to get it working under Lion with the build in VPN Client. Find the steps below to get the certificates imported and working with the VPN Client. </p>
<ul>
<li>Create key: openssl genrsa -des3 -out vpn-cert2.key 1024</li>
<li>Create CSR (make sure that the CN is a simple name, no spaces or special characters): openssl req -new -key vpn-cert2.key -out vpn-cert2.csr</li>
<li>Request certificate with your CA</li>
<li>Create a p12 file from the key and the certificate: openssl pkcs12 -export -inkey vpn-cert2.key -in certnew-3.cer -out vpn.p12</li>
<li>Import the p12 file (containing the key and certificate) in the system keychain (not the login keychain, that doesn&#8217;t work): sudo security import vpn.p12 -k /Library/Keychains/System.keychain</li>
<li>If needed you can import the CA in your keychain and trust the imported certificate:  sudo security add-trusted-cert -k /Library/Keychains/System.keychain root.ca.pem<BR><strong>Note:</strong>Make sure that if you import your own CA, that you do it this way. Otherwise the VPN server certificate will not be verified correctly.</li>
</ul>
<p>To use the certificate for VPN authentication do the following:</p>
<ul>
<li>Open System Preferences</li>
<li>Go to Network</li>
<li>Click + to add network interface, Select Interface: VPN, VPN Type: Cisco IPSec</li>
<li>Click Create</li>
<li>In the Server Address type the hostname of the firewall. This is really important. The firewall has a certificate configured on the FQDN. Make sure the server address is the name of the certificate in the firewall. This FQDN can be found in the trustpoint configuration (see below)</li>
<li>Enter the username</li>
<li>Click Authentication Settings</li>
<li>Select Certificate and Click Select</li>
<li>Select the correct certificate that you just imported</li>
<li>Click OK</li>
<li>Click Apply</li>
</ul>
<p>When you are not able to select the certificate you created the problem is that the CN is not supported. Make sure the CN that you used to create the CSR does not contain spaces or special characters. </p>
<p>Firewall trustpoint config:<br />
<code><br />
crypto ca trustpoint CA1<br />
 enrollment terminal<br />
 fqdn fw.xxxx.com<br />
 subject-name CN=fw.xxxx.com,OU=IT,O=XXX Limited,C=NL,St=NH,L=Amsterdam<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://rogierm.redbee.nl/blog/2011/10/31/cisco-ipsec-vpn-with-certificates-in-osx-lion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>make table names in mysql queries case insensitive</title>
		<link>http://rogierm.redbee.nl/blog/2011/01/26/make-table-names-in-mysql-queries-case-insensitive/</link>
		<comments>http://rogierm.redbee.nl/blog/2011/01/26/make-table-names-in-mysql-queries-case-insensitive/#comments</comments>
		<pubDate>Tue, 25 Jan 2011 23:04:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[password manager]]></category>
		<category><![CDATA[splashid]]></category>

		<guid isPermaLink="false">http://rogierm.redbee.nl/blog/?p=174</guid>
		<description><![CDATA[Last week I was looking at testing SplashID Enterprise. While a first installation with the MySQL database running on a Mac Mini was working fine, the installation with the Splash Enterprise Admin client failed when the database was running on a default Linux (CentOS) installation. I tried contacting SplashData support, but they could not help [...]]]></description>
			<content:encoded><![CDATA[<p>Last week I was looking at testing SplashID Enterprise. While a first installation with the MySQL database running on a Mac Mini was working fine, the installation with the Splash Enterprise Admin client failed when the database was running on a default Linux (CentOS) installation. I tried contacting SplashData support, but they could not help me, so I tried to debug myself. I enabled the query log so I could see the queries executed by the Admin client. These queries showed that SplashID ran queries reffering to specific tables in upper case (eg. MYSQL.USER). I manually tried some of these queries and these queries failed with &#8220;unknown table&#8221; error. </p>
<p>Now I found the problem, I thought it was easy to fix it. I just had to make MySQL case-insensitive. This sounds easier than it actually was <img src='http://rogierm.redbee.nl/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Lots of articles talked about the character set and the collation, but these only affect the data in the tables, not the actual table name itself. Some googling let met to the <a href="http://dev.mysql.com/doc/refman/5.0/en/identifier-case-sensitivity.html">lower_case_table_names</a> setting in MySQL. It appears that Windows, Unix and MacOSX all have different default settings, and therefor behave differently. </p>
<p>Setting the following line in the my.cnf in the [mysqld] section solved my case problem with SplashID. MySQL now changes all table names to lower case.<br />
<code><br />
lower_case_table_names=1<br />
</code></p>
<p>Update: I have not tested SplashID Enterprise yet, so I don&#8217;t know if it is any good <img src='http://rogierm.redbee.nl/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

]]></content:encoded>
			<wfw:commentRss>http://rogierm.redbee.nl/blog/2011/01/26/make-table-names-in-mysql-queries-case-insensitive/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why I don&#8217;t use facebook&#8230;</title>
		<link>http://rogierm.redbee.nl/blog/2011/01/25/why-not-to-use-facebook/</link>
		<comments>http://rogierm.redbee.nl/blog/2011/01/25/why-not-to-use-facebook/#comments</comments>
		<pubDate>Tue, 25 Jan 2011 20:53:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[privacy]]></category>

		<guid isPermaLink="false">http://rogierm.redbee.nl/blog/?p=168</guid>
		<description><![CDATA[I&#8217;ve never really liked facebook, but also never really felt annoyed by it. But lately there are so many stories on the internet and in the news about facebooks total disregard for privacy. It might be just me noticing this, but I think not Anyway, just for fun I decided to collect the stories that [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve never really liked facebook, but also never really felt annoyed by it. But lately there are so many stories on the internet and in the news about facebooks total disregard for privacy. It might be just me noticing this, but I think not <img src='http://rogierm.redbee.nl/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Anyway, just for fun I decided to collect the stories that show what impact changes in facebook can have. </p>
<p><a href="http://yro.slashdot.org/submission/1454210/Your-Face-Will-Soon-Be-In-Facebook-Ads">Your-Face-Will-Soon-Be-In-Facebook-Ads</a><br />
<a href="http://tweakers.net/nieuws/72039/facebook-apps-kunnen-meer-privedata-gaan-opvragen.html">facebook-apps-kunnen-meer-privedata-gaan-opvragen</a><br />
<a href="http://nakedsecurity.sophos.com/2011/01/16/rogue-facebook-apps-access-your-home-address-mobile-phone-number/">rogue-facebook-apps-access-your-home-address-mobile-phone-number</a><br />
<a href="http://yro.slashdot.org/story/11/01/16/2110254/Facebook-Opens-Up-Home-Addresses-and-Phone-Numbers">Facebook-Opens-Up-Home-Addresses-and-Phone-Numbers</a><br />
<a href="http://wwwery.com/11300-facebook-app-permissions.html">facebook-app-permissions.html</a><br />
<a href="http://www.facebook.com/topic.php?uid=121897834504447&#038;topic=236">Private photo&#8217;s public?</a><br />
<a href="http://www.nu.nl/internet/2432564/afgeschermde-facebookfotos-zichtbaar-truc.html">Afgeschermde facebook foto&#8217;s zichtbaar</a><br />
<a href="http://www.dnews.de/nachrichten/netzwelt/421237/facebook-exploit-macht-alben-nicht-freunden-einsehbar.html">facebook exploit macht alben nicht freunden einsehbar</a></p>
<p>Of course, there are also positive sides on facebook and what its use and users can achieve with it:<br />
<a href="http://it.slashdot.org/submission/1453020/The-Inside-Story-of-How-Facebook-Responded-to-Tuni">The-Inside-Story-of-How-Facebook-Responded-to-Tuni</a></p>
<p>I know facebook is a free service (as in beer), but that should not mean that they can use your data whichever way they want&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://rogierm.redbee.nl/blog/2011/01/25/why-not-to-use-facebook/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iperf reports mtu 1408 over Cisco ASA</title>
		<link>http://rogierm.redbee.nl/blog/2010/12/22/iperf-reports-mtu-1408-over-cisco-asa/</link>
		<comments>http://rogierm.redbee.nl/blog/2010/12/22/iperf-reports-mtu-1408-over-cisco-asa/#comments</comments>
		<pubDate>Wed, 22 Dec 2010 11:34:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Network]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[asa]]></category>
		<category><![CDATA[iperf]]></category>
		<category><![CDATA[MSS]]></category>
		<category><![CDATA[MTU]]></category>

		<guid isPermaLink="false">http://rogierm.redbee.nl/blog/?p=163</guid>
		<description><![CDATA[Last month I ran some performance tests over a Cisco ASA 5550 using iperf. There were some performance issues when the ASA was hit with a lot of simultaneous requests. The ASA 5550 is a powerful device so I did not expect any performance problems with 2000 concurrent requests. Our stresstests reported connection problems when [...]]]></description>
			<content:encoded><![CDATA[<p>Last month I ran some performance tests over a Cisco ASA 5550 using iperf. There were some performance issues when the ASA was hit with a lot of simultaneous requests. The ASA 5550 is a powerful device so I did not expect any performance problems with 2000 concurrent requests. Our stresstests reported connection problems when the number of concurrent requests increased above 2000 while traffic was way below the maximum supported throughput. To check the wirespeed performance of the ASA I decided to run an iperf test. This test showed expected bandwidth results, but a lower MTU (1408), while all intermediate components are configured at 1500.</p>
<p>Some investigation showed that this was caused by a default maximum MSS setting in the ASA. It appears that the ASA has a default max MSS of 1380. This is set by the command:<br />
<code><br />
sysopt connection tcp-mss MSS_size_in_bytes<br />
</code><br />
The default is 1380 to prevent fragmentation on possible IPSec connections in the path.</p>
<p>To get to MTU 1500 the ASA needs to support an MSS of 1460. This is configured with the following command:<br />
<code><br />
sysopt connection tcp-mss 1460<br />
</code><br />
More information can be found here:</p>
<ul>
<li><a href="http://cisco.com/en/US/products/ps6120/products_configuration_example09186a008081e621.shtml">http://cisco.com/en/US/products/ps6120/products_configuration_example09186a008081e621.shtml</a>
<li><a href="http://fixunix.com/firewalls/347579-cisco-asa-5510-mss-issue.html">http://fixunix.com/firewalls/347579-cisco-asa-5510-mss-issue.html</a>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://rogierm.redbee.nl/blog/2010/12/22/iperf-reports-mtu-1408-over-cisco-asa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Storage performance difference between KVM and Xen</title>
		<link>http://rogierm.redbee.nl/blog/2010/06/28/storage-performance-difference-between-kvm-and-xen/</link>
		<comments>http://rogierm.redbee.nl/blog/2010/06/28/storage-performance-difference-between-kvm-and-xen/#comments</comments>
		<pubDate>Mon, 28 Jun 2010 21:04:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Storage]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[iscsi]]></category>
		<category><![CDATA[kvm]]></category>
		<category><![CDATA[nfs]]></category>
		<category><![CDATA[xen]]></category>

		<guid isPermaLink="false">http://rogierm.redbee.nl/blog/?p=147</guid>
		<description><![CDATA[Several blogs and manuals with examples on kvm or xen setups use NFS as storage backend. Mostly they state that for production use iSCSI is recommended. However there are examples where NFS is part of the architecture, eg. OpenNebula. I tried to find specific statistics on the performance differences between NFS, iSCSI and local storage. [...]]]></description>
			<content:encoded><![CDATA[<p>Several blogs and manuals with examples on kvm or xen setups use NFS as storage backend. Mostly they state that for production use iSCSI is recommended. However there are examples where NFS is part of the architecture, eg. OpenNebula. I tried to find specific statistics on the performance differences between NFS, iSCSI and local storage. During this search I encountered some pointers that NFS and Xen is not a good combination, but never a straight comparison.</p>
<p>I decided to invest some time and setup a small test environment and run some bonnie++ statistics. This is not a scientific designed experiment, but a test to show the differences between the platforms. Two test platforms are setup, 1 with a Xen server (DL360G6) (xen1) and a 12 disk SATA storage server (storage1), and another with a KVM server (DL360G5) (kvm1) and a 2 disk SATA storage server (storage2) . Both servers are connected with a gigabit network. I&#8217;ve also run a test with a 100mb/s network between the kvm1 and storage2 server. For reference I&#8217;ve also done tests with the images on localdisk.</p>
<p>I realize that LVM and iSCSI storage is most efficient, but storage with image files is very convenient and in case of cloud setups sometimes the only option.</p>
<table border="1" cellspacing="0" frame="VOID">
<colgroup>
<col width="391"></col>
<col width="36"></col>
<col width="55"></col>
<col width="43"></col>
<col width="48"></col>
<col width="50"></col>
<col width="48"></col>
<col width="43"></col>
<col width="48"></col>
<col width="43"></col>
<col width="48"></col>
<col width="50"></col>
<col width="52"></col>
<col width="47"></col>
</colgroup>
<tbody>
<tr>
<td width="391" height="17" align="LEFT"></td>
<td width="36" align="LEFT"></td>
<td colspan="6" width="286" align="LEFT">Seq output</td>
<td colspan="4" width="188" align="LEFT">Seq input</td>
<td colspan="2" width="99" align="LEFT">Random</td>
</tr>
<tr>
<td height="17" align="LEFT"></td>
<td align="LEFT"></td>
<td colspan="2" align="LEFT">Per Chr</td>
<td colspan="2" align="LEFT">Block</td>
<td colspan="2" align="LEFT">Rewrite</td>
<td colspan="2" align="LEFT">Per Chr</td>
<td colspan="2" align="LEFT">Block</td>
<td colspan="2" align="LEFT">Seeks</td>
</tr>
<tr>
<td height="17" align="LEFT"></td>
<td align="LEFT">Size</td>
<td align="LEFT">K/sec</td>
<td align="LEFT">%CP</td>
<td align="LEFT">K/sec</td>
<td align="LEFT">%CP</td>
<td align="LEFT">K/sec</td>
<td align="LEFT">%CP</td>
<td align="LEFT">K/sec</td>
<td align="LEFT">%CP</td>
<td align="LEFT">K/sec</td>
<td align="LEFT">%CP</td>
<td align="LEFT">/sec</td>
<td align="LEFT">%CP</td>
</tr>
<tr>
<td height="17" align="LEFT">Xen-guest-via-nfs-tapaio</td>
<td align="LEFT">1G</td>
<td align="RIGHT">3570</td>
<td align="RIGHT">5</td>
<td align="RIGHT">2436</td>
<td align="RIGHT">0</td>
<td align="RIGHT">1366</td>
<td align="RIGHT">0</td>
<td align="RIGHT">26474</td>
<td align="RIGHT">41</td>
<td align="RIGHT">24831</td>
<td align="RIGHT">0</td>
<td align="LEFT">6719.0</td>
<td align="RIGHT">1</td>
</tr>
<tr>
<td height="17" align="LEFT">xen-guest-via-iscsi</td>
<td align="LEFT">1G</td>
<td align="RIGHT">25242</td>
<td align="RIGHT">40</td>
<td align="RIGHT">12071</td>
<td align="RIGHT">1</td>
<td align="RIGHT">15175</td>
<td align="RIGHT">0</td>
<td align="RIGHT">32071</td>
<td align="RIGHT">42</td>
<td align="RIGHT">47742</td>
<td align="RIGHT">0</td>
<td align="LEFT">7331.3</td>
<td align="RIGHT">1</td>
</tr>
<tr>
<td height="17" align="LEFT">kvm-guest-nfs-1gb-net</td>
<td align="LEFT">1G</td>
<td align="RIGHT">8140</td>
<td align="RIGHT">16</td>
<td align="RIGHT">17308</td>
<td align="RIGHT">3</td>
<td align="RIGHT">11864</td>
<td align="RIGHT">2</td>
<td align="RIGHT">40861</td>
<td align="RIGHT">81</td>
<td align="RIGHT">71711</td>
<td align="RIGHT">3</td>
<td align="LEFT">2126.6</td>
<td align="RIGHT">54</td>
</tr>
<tr>
<td height="17" align="LEFT">kvm-guest-nfs-qcow-100mb</td>
<td align="LEFT">1G</td>
<td align="RIGHT">1922</td>
<td align="RIGHT">3</td>
<td align="RIGHT">9874</td>
<td align="RIGHT">1</td>
<td align="RIGHT">3994</td>
<td align="RIGHT">0</td>
<td align="RIGHT">10720</td>
<td align="RIGHT">22</td>
<td align="RIGHT">10441</td>
<td align="RIGHT">0</td>
<td align="LEFT">595.4</td>
<td align="RIGHT">33</td>
</tr>
<tr>
<td height="17" align="LEFT">kvm-guest-nfs-qcow-100mb-2nd</td>
<td align="LEFT">1G</td>
<td align="RIGHT">9735</td>
<td align="RIGHT">21</td>
<td align="RIGHT">2039</td>
<td align="RIGHT">0</td>
<td align="RIGHT">3197</td>
<td align="RIGHT">0</td>
<td align="RIGHT">10729</td>
<td align="RIGHT">22</td>
<td align="RIGHT">10463</td>
<td align="RIGHT">0</td>
<td align="LEFT">685.3</td>
<td align="RIGHT">38</td>
</tr>
<tr>
<td height="17" align="LEFT">kvm-guest-nfs-qcow-100mb-3rd</td>
<td align="LEFT">1G</td>
<td align="RIGHT">5327</td>
<td align="RIGHT">10</td>
<td align="RIGHT">7378</td>
<td align="RIGHT">1</td>
<td align="RIGHT">4421</td>
<td align="RIGHT">0</td>
<td align="RIGHT">10655</td>
<td align="RIGHT">18</td>
<td align="RIGHT">10512</td>
<td align="RIGHT">0</td>
<td align="LEFT">706.3</td>
<td align="RIGHT">39</td>
</tr>
<tr>
<td height="17" align="LEFT"></td>
<td align="LEFT"></td>
<td align="LEFT"></td>
<td align="LEFT"></td>
<td align="LEFT"></td>
<td align="LEFT"></td>
<td align="LEFT"></td>
<td align="LEFT"></td>
<td align="LEFT"></td>
<td align="LEFT"></td>
<td align="LEFT"></td>
<td align="LEFT"></td>
<td align="LEFT"></td>
<td align="LEFT"></td>
</tr>
<tr>
<td height="17" align="LEFT"></td>
<td align="LEFT"></td>
<td align="LEFT"></td>
<td align="LEFT"></td>
<td align="LEFT"></td>
<td align="LEFT"></td>
<td align="LEFT"></td>
<td align="LEFT"></td>
<td align="LEFT"></td>
<td align="LEFT"></td>
<td align="LEFT"></td>
<td align="LEFT"></td>
<td align="LEFT"></td>
<td align="LEFT"></td>
</tr>
<tr>
<td height="17" align="LEFT">xenserver-nfsmount</td>
<td align="LEFT">1G</td>
<td align="RIGHT">41507</td>
<td align="RIGHT">60</td>
<td align="RIGHT">60921</td>
<td align="RIGHT">7</td>
<td align="RIGHT">29687</td>
<td align="RIGHT">1</td>
<td align="RIGHT">33427</td>
<td align="RIGHT">48</td>
<td align="RIGHT">64147</td>
<td align="RIGHT">0</td>
<td align="LEFT">4674.4</td>
<td align="RIGHT">11</td>
</tr>
<tr>
<td height="17" align="LEFT">kvmserver-nfs-1G</td>
<td align="LEFT">20G</td>
<td align="RIGHT">31158</td>
<td align="RIGHT">52</td>
<td align="RIGHT">32044</td>
<td align="RIGHT">17</td>
<td align="RIGHT">10749</td>
<td align="RIGHT">2</td>
<td align="RIGHT">19152</td>
<td align="RIGHT">28</td>
<td align="RIGHT">18987</td>
<td align="RIGHT">1</td>
<td align="LEFT">90.3</td>
<td align="RIGHT">1</td>
</tr>
<tr>
<td height="17" align="LEFT">localdisk-on-nfs-server-cloudtest3</td>
<td align="LEFT">4G</td>
<td align="RIGHT">41926</td>
<td align="RIGHT">65</td>
<td align="RIGHT">43805</td>
<td align="RIGHT">7</td>
<td align="RIGHT">18928</td>
<td align="RIGHT">3</td>
<td align="RIGHT">52943</td>
<td align="RIGHT">72</td>
<td align="RIGHT">56616</td>
<td align="RIGHT">3</td>
<td align="LEFT">222.6</td>
<td align="RIGHT">0</td>
</tr>
</tbody>
</table>
<p>The  conclusion of the tests is that local storage is fastest. NFS storage with Xen is not a good combination. Xen runs best with iSCSI backed storage. KVM with NFS runs significantly better. It is safe to say that if you want to use NFS use it with KVM, not with Xen. In any case iSCSI is always the best option for Xen. I have not yet tested KVM with iSCSI but I expect this to perform better than NFS.</p>
]]></content:encoded>
			<wfw:commentRss>http://rogierm.redbee.nl/blog/2010/06/28/storage-performance-difference-between-kvm-and-xen/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to eject CD in Mac OSX from command line</title>
		<link>http://rogierm.redbee.nl/blog/2010/04/05/how-to-eject-cd-in-mac-osx-from-command-lineope/</link>
		<comments>http://rogierm.redbee.nl/blog/2010/04/05/how-to-eject-cd-in-mac-osx-from-command-lineope/#comments</comments>
		<pubDate>Mon, 05 Apr 2010 21:34:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[mac]]></category>
		<category><![CDATA[osx]]></category>

		<guid isPermaLink="false">http://rogierm.redbee.nl/blog/?p=140</guid>
		<description><![CDATA[Open Terminal Enter the following command:$ drutil eject]]></description>
			<content:encoded><![CDATA[<ol>
<li>Open Terminal</li>
<li>Enter the following command:<code>$ drutil eject</code></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://rogierm.redbee.nl/blog/2010/04/05/how-to-eject-cd-in-mac-osx-from-command-lineope/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to access libvirtd from remote server</title>
		<link>http://rogierm.redbee.nl/blog/2010/03/02/access-libvirtd-from-remote-server/</link>
		<comments>http://rogierm.redbee.nl/blog/2010/03/02/access-libvirtd-from-remote-server/#comments</comments>
		<pubDate>Mon, 01 Mar 2010 23:42:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[certificate]]></category>
		<category><![CDATA[kvm]]></category>
		<category><![CDATA[libvirt]]></category>
		<category><![CDATA[libvirtd]]></category>
		<category><![CDATA[openssl]]></category>
		<category><![CDATA[tls]]></category>

		<guid isPermaLink="false">http://rogierm.redbee.nl/blog/?p=125</guid>
		<description><![CDATA[Libvirt is a toolkit to interact with several virtualization platform from a single interface. Considering you can stop and start virtual machines through this API, security is quite important. Libvirt offers several options to give authenticated access from remote machines. By default most distributions disable remote network access for libvirtd. However, I would like to [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.libvirt.org/">Libvirt</a> is a toolkit to interact with several virtualization platform from a single interface. Considering you can stop and start virtual machines through this API, security is quite important. Libvirt offers several options to give authenticated access from remote machines. By default most distributions disable remote network access for libvirtd. However, I would like to access libvirtd on some of my KVM servers from a single management host to gather some information. The documentation on how to set this up is not too good, so I decided to write up a  short how-to. </p>
<p><strong>Step 1: Enable network access for libvirtd</strong><br />
First enable network access for libvirtd on the KVM server(s). On CentOS/RHEL this is done by uncommenting or adding the following line in /etc/sysconfig/libvirtd:<br />
<code><br />
LIBVIRTD_ARGS="--listen"<br />
</code></p>
<p><strong>Step 2: Install a CA on the management server</strong><br />
Install the Perl certificate tools:<br />
<code><br />
yum install openssl-perl<br />
</code><br />
Create Certificate authority:<br />
<code><br />
cd /etc/pki/tls/misc/<br />
./CA.pl -newca<br />
</code><br />
Example output:<br />
<code><br />
 ./CA.pl -newca<br />
CA certificate filename (or enter to create)</p>
<p>Making CA certificate ...<br />
Generating a 1024 bit RSA private key<br />
..........++++++<br />
.............++++++<br />
writing new private key to '../../CA/private/cakey.pem'<br />
Enter PEM pass phrase:<br />
Verifying - Enter PEM pass phrase:<br />
-----<br />
You are about to be asked to enter information that will be incorporated<br />
into your certificate request.<br />
What you are about to enter is what is called a Distinguished Name or a DN.<br />
There are quite a few fields but you can leave some blank<br />
For some fields there will be a default value,<br />
If you enter '.', the field will be left blank.<br />
-----<br />
Country Name (2 letter code) [GB]:XX<br />
State or Province Name (full name) [Berkshire]:XX<br />
Locality Name (eg, city) [Newbury]:XXXXX<br />
Organization Name (eg, company) [My Company Ltd]:XXXXX<br />
Organizational Unit Name (eg, section) []:XXXX<br />
Common Name (eg, your name or your server's hostname) []:CA XXX XXX<br />
Email Address []:XXX</p>
<p>Please enter the following 'extra' attributes<br />
to be sent with your certificate request<br />
A challenge password []:<br />
An optional company name []:<br />
Using configuration from /etc/pki/tls/openssl.cnf<br />
Enter pass phrase for ../../CA/private/cakey.pem:<br />
Check that the request matches the signature<br />
Signature ok<br />
Certificate Details:<br />
        Serial Number:<br />
            d8:95:24:xx:xx:xx:13:9b<br />
        Validity<br />
            Not Before: Feb 25 23:14:08 2010 GMT<br />
            Not After : Feb 24 23:14:08 2013 GMT<br />
        Subject:<br />
            countryName               = XX<br />
            stateOrProvinceName       = XX<br />
            organizationName          = XXXX<br />
            organizationalUnitName    = XXXX<br />
            commonName                = CA XXX XXX<br />
            emailAddress              = XXXXX<br />
        X509v3 extensions:<br />
            X509v3 Subject Key Identifier:<br />
                XXX<br />
            X509v3 Authority Key Identifier:<br />
                keyid:XXXX<br />
                DirName:/C=XX/ST=XX/O=XXX/OU=XXXX/CN=CA XXX XXX/emailAddress=XXX<br />
                serial:XXX</p>
<p>            X509v3 Basic Constraints:<br />
                CA:TRUE<br />
Certificate is to be certified until Feb 24 23:14:08 2013 GMT (1095 days)</p>
<p>Write out database with 1 new entries<br />
Data Base Updated<br />
</code></p>
<p><strong>Step 3: Create CSR&#8217;s</strong><br />
<code><br />
openssl genrsa -des3 -out kvm-server1.tmp<br />
openssl rsa -in kvm-server1.tmp -out kvm-server1.key<br />
openssl genrsa -des3 -out mgmt-host.tmp<br />
openssl rsa -in mgmt-host.tmp -out mgmt-host.key<br />
openssl req -new -key kvm-server1.key -out kvm-server1.csr<br />
openssl req -new -key mgmt-host.key -out mgmt-host.csr<br />
</code></p>
<p><strong>Step 4: Sign the certificates</strong><br />
<code><br />
 openssl ca -config /etc/pki/tls/openssl.cnf -policy policy_anything -out /root/mgmt-host.crt -infiles /root/mgmt-host.csr<br />
 openssl ca -config /etc/pki/tls/openssl.cnf -policy policy_anything -out /root/kvm-server1.crt -infiles /root/kvm-server1.csr<br />
</code><br />
Example output:<br />
<code><br />
Using configuration from /etc/pki/tls/openssl.cnf<br />
Enter pass phrase for /etc/pki/CA/private/cakey.pem:<br />
Check that the request matches the signature<br />
Signature ok<br />
Certificate Details:<br />
        Serial Number:<br />
            d8:95:24:4b:4e:b1:13:9c<br />
        Validity<br />
            Not Before: Feb 25 23:31:40 2010 GMT<br />
            Not After : Feb 25 23:31:40 2011 GMT<br />
        Subject:<br />
            countryName               = XX<br />
            stateOrProvinceName       = XX<br />
            localityName              = XX<br />
            organizationName          = XX<br />
            organizationalUnitName    = XX<br />
            commonName                = mgmt-host.xxx.nl<br />
            emailAddress              = xxxxx<br />
        X509v3 extensions:<br />
            X509v3 Basic Constraints:<br />
                CA:FALSE<br />
            Netscape Comment:<br />
                OpenSSL Generated Certificate<br />
            X509v3 Subject Key Identifier:<br />
                6C:EA:8B:C1:D6:XX:B6:6B:5B:18:02<br />
            X509v3 Authority Key Identifier:<br />
                keyid:C9:36:4A:XXXX:6F:FD:2E:86</p>
<p>Certificate is to be certified until Feb 25 23:31:40 2011 GMT (365 days)<br />
Sign the certificate? [y/n]:y</p>
<p>1 out of 1 certificate requests certified, commit? [y/n]y<br />
Write out database with 1 new entries<br />
Data Base Updated</p>
<p></code></p>
<p><strong>Step 5: Copy over the certificates to the correct location</strong><br />
On the management host (mgmt-host):<br />
<code><br />
mkdir /etc/pki/libvirt<br />
mkdir /etc/pki/libvirt/private<br />
mkdir /etc/pki/libvirt-vnc</p>
<p>cp /root/mgmt-host.key /etc/pki/libvirt/private/clientkey.pem<br />
cp /root/mgmt-host.key /etc/pki/libvirt-vnc/clientkey.pem<br />
cp /root/mgmt-host.crt /etc/pki/libvirt/clientcert.pem<br />
cp /root/mgmt-host.crt /etc/pki/libvirt-vnc/clientcert.pem<br />
</code></p>
<p>Transfer the key and certificate files to the KVM server (kvm-server1). Ideally, you create the key and CSR on the host itself, so you only have to transfer the certificate. Then, copy the certificates and CA to the correct location on the KVM (libvirtd) server:</p>
<p><code><br />
mkdir /etc/pki/libvirt<br />
mkdir /etc/pki/libvirt/private<br />
mkdir /etc/pki/libvirt-vnc</p>
<p>cp kvm-server1.key /etc/pki/libvirt/private/serverkey.pem<br />
cp kvm-server1.key /etc/pki/libvirt-vnc/server-key.pem</p>
<p>cp kvm-server1.crt /etc/pki//libvirt/servercert.pem<br />
cp kvm-server1.crt /etc/pki/libvirt-vnc/server-cert.pem<br />
</code></p>
<p>Make sure the CA generated on the management server is available on the KVM server in the following file:<br />
/etc/pki/CA/cacert.pem</p>
<p><strong>Step 6: Reload libvirtd</strong><br />
<code><br />
/etc/init.d/libvirtd reload<br />
</code></p>
<p><strong>Step 7: Test</strong><br />
With these certificates setup, you should be able to access libvirtd on kvm-server1 from mgmt-host. Use the following command to test:<br />
<code><br />
virsh -c qemu://kvm-server1.xxxx.nl/system<br />
Welcome to virsh, the virtualization interactive terminal.</p>
<p>Type:  'help' for help with commands<br />
       'quit' to quit</p>
<p>virsh #<br />
</code><br />
Use the list command to see a list of running guests on the server. This only works if these guests have also been created via libvirtd. Manually started KVM guests will not show up in this list. </p>
]]></content:encoded>
			<wfw:commentRss>http://rogierm.redbee.nl/blog/2010/03/02/access-libvirtd-from-remote-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

