<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Work on BAFM</title><link>https://christian.blog.pakiheim.de/categories/work/</link><description>Recent content in Work on BAFM</description><generator>Hugo -- 0.160.1</generator><language>en</language><lastBuildDate>Tue, 21 Jun 2022 23:09:44 +0000</lastBuildDate><atom:link href="https://christian.blog.pakiheim.de/categories/work/index.xml" rel="self" type="application/rss+xml"/><item><title>Create a Proxmox VM via CLI</title><link>https://christian.blog.pakiheim.de/posts/2022-06-21_create-a-proxmox-vm-via-cli/</link><pubDate>Tue, 21 Jun 2022 23:09:44 +0000</pubDate><guid isPermaLink="false">https://christian.weblog.heimdaheim.de/?p=5449</guid><description>&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Clone the VM&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qm clone &lt;span class="m"&gt;9000&lt;/span&gt; &lt;span class="m"&gt;4140&lt;/span&gt; --name nzbget.ka.beiheimdaheim.de --full&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;true&lt;/span&gt; --storage vmstorage
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Set the nameserver&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qm &lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="m"&gt;4140&lt;/span&gt; --nameserver&lt;span class="o"&gt;=&lt;/span&gt;10.76.41.1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Set the ipconfiguration&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qm &lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="m"&gt;4140&lt;/span&gt; --ipconfig0 &lt;span class="nv"&gt;ip&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;10.76.41.40/24,gw&lt;span class="o"&gt;=&lt;/span&gt;10.76.41.1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Configure the virtual network adapter.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qm &lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="m"&gt;4140&lt;/span&gt; --net0 virtio,bridge&lt;span class="o"&gt;=&lt;/span&gt;vmbr0,tag&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;41&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Enable autoboot&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qm &lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="m"&gt;4140&lt;/span&gt; --onboot &lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Set the RAM of the VM&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qm &lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="m"&gt;4140&lt;/span&gt; --memory &lt;span class="m"&gt;2048&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Set the vCPU count for the VM&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qm &lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="m"&gt;4140&lt;/span&gt; --cores &lt;span class="m"&gt;2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Start the VM&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qm start &lt;span class="m"&gt;4140&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Create a Proxmox Ubuntu Cloud-Init Template</title><link>https://christian.blog.pakiheim.de/posts/2022-06-21_create-a-proxmox-ubuntu-cloud-init-template/</link><pubDate>Tue, 21 Jun 2022 19:02:19 +0000</pubDate><guid isPermaLink="false">https://christian.weblog.heimdaheim.de/?p=5436</guid><description>&lt;h2 id="step-1-download-the-ubuntu-image"&gt;Step 1: Download the Ubuntu image&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt;5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt;6&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;SRC_IMG&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64-disk-kvm.img&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#VMSTORAGE=&amp;#34;/vmstorage&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;VMSTORAGE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;/var/lib/vz/images&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;IMG_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;jammy-server-cloudimg-amd64-disk-kvm.qcow2&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;IMG_PATH&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;$VMSTORAGE/$IMG_NAME&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;wget&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;O&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;IMG_PATH&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;SRC_IMG&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="step-2-add-necessary-packages"&gt;Step 2: Add necessary packages&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-1-1"&gt;&lt;a class="lnlinks" href="#hl-1-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-2"&gt;&lt;a class="lnlinks" href="#hl-1-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;sudo&lt;/span&gt; &lt;span class="n"&gt;apt&lt;/span&gt; &lt;span class="n"&gt;install&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt; &lt;span class="n"&gt;libguestfs&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;tools&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;sudo&lt;/span&gt; &lt;span class="n"&gt;virt&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;customize&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;IMG_PATH&lt;/span&gt; &lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;install&lt;/span&gt; &lt;span class="n"&gt;cloud&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;initramfs&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;growroot&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;atop&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;htop&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;nano&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;vim&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;qemu&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;guest&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;agent&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;curl&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;wget&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;unattended&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;upgrades&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;git&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="step-3-modify-etcsshsshd_config"&gt;Step 3: Modify /etc/ssh/sshd_config&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-2-1"&gt;&lt;a class="lnlinks" href="#hl-2-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo virt-customize -a &lt;span class="nv"&gt;$IMG_PATH&lt;/span&gt; --run-command &lt;span class="s2"&gt;&amp;#34;sed -i &amp;#39;s/.*PasswordAuthentication.*/PasswordAuthentication yes/g&amp;#39; /etc/ssh/sshd_config&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="step-4-modify-etcaptaptconfd50unattended-upgrades"&gt;Step 4: Modify &lt;code&gt;/etc/apt/apt.conf.d/50unattended-upgrades&lt;/code&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-3-1"&gt;&lt;a class="lnlinks" href="#hl-3-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-3-2"&gt;&lt;a class="lnlinks" href="#hl-3-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;EDITOR&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;nano
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo -E virt-edit -a &lt;span class="nv"&gt;$IMG_PATH&lt;/span&gt; /etc/apt/apt.conf.d/50unattended-upgrades
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="step-5-modify-etcdefaultgrub"&gt;Step 5: Modify &lt;code&gt;/etc/default/grub&lt;/code&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-4-1"&gt;&lt;a class="lnlinks" href="#hl-4-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-4-2"&gt;&lt;a class="lnlinks" href="#hl-4-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-4-3"&gt;&lt;a class="lnlinks" href="#hl-4-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;EDITOR&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;nano
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo -E virt-edit -a &lt;span class="nv"&gt;$IMG_PATH&lt;/span&gt; /etc/default/grub
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo virt-customize -a &lt;span class="nv"&gt;$IMG_PATH&lt;/span&gt; --run-command &lt;span class="s2"&gt;&amp;#34;update-grub&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="step-6-install-ohmybash"&gt;Step 6: Install &lt;code&gt;ohmybash&lt;/code&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-5-1"&gt;&lt;a class="lnlinks" href="#hl-5-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-5-2"&gt;&lt;a class="lnlinks" href="#hl-5-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo virt-customize -a &lt;span class="nv"&gt;$IMG_PATH&lt;/span&gt; --run-command &lt;span class="s2"&gt;&amp;#34;git clone https://github.com/ohmybash/oh-my-bash.git /opt/ohmybash&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="step-7-fix-timezone"&gt;Step 7: Fix timezone&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-6-1"&gt;&lt;a class="lnlinks" href="#hl-6-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo virt-customize -a &lt;span class="nv"&gt;$IMG_PATH&lt;/span&gt; --timezone &lt;span class="s2"&gt;&amp;#34;Europe/Berlin&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="step-8-create-the-proxmox-template"&gt;Step 8: Create the Proxmox template&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-7-1"&gt;&lt;a class="lnlinks" href="#hl-7-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-7-2"&gt;&lt;a class="lnlinks" href="#hl-7-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-7-3"&gt;&lt;a class="lnlinks" href="#hl-7-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-7-4"&gt;&lt;a class="lnlinks" href="#hl-7-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-7-5"&gt;&lt;a class="lnlinks" href="#hl-7-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-7-6"&gt;&lt;a class="lnlinks" href="#hl-7-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-7-7"&gt;&lt;a class="lnlinks" href="#hl-7-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-7-8"&gt;&lt;a class="lnlinks" href="#hl-7-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-7-9"&gt;&lt;a class="lnlinks" href="#hl-7-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-7-10"&gt;&lt;a class="lnlinks" href="#hl-7-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-7-11"&gt;&lt;a class="lnlinks" href="#hl-7-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-7-12"&gt;&lt;a class="lnlinks" href="#hl-7-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-7-13"&gt;&lt;a class="lnlinks" href="#hl-7-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-7-14"&gt;&lt;a class="lnlinks" href="#hl-7-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-7-15"&gt;&lt;a class="lnlinks" href="#hl-7-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-7-16"&gt;&lt;a class="lnlinks" href="#hl-7-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-7-17"&gt;&lt;a class="lnlinks" href="#hl-7-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-7-18"&gt;&lt;a class="lnlinks" href="#hl-7-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-7-19"&gt;&lt;a class="lnlinks" href="#hl-7-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;TEMPL_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;ubuntu2204-cloud&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;VMID&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;9000&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;MEM&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;512&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;DISK_SIZE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;10G&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;DISK_STOR&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;vmstorage&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;NET_BRIDGE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;vmbr0&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qm create &lt;span class="nv"&gt;$VMID&lt;/span&gt; --name &lt;span class="nv"&gt;$TEMPL_NAME&lt;/span&gt; --memory &lt;span class="nv"&gt;$MEM&lt;/span&gt; --net0 virtio,bridge&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$NET_BRIDGE&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qm importdisk &lt;span class="nv"&gt;$VMID&lt;/span&gt; &lt;span class="nv"&gt;$IMG_NAME&lt;/span&gt; &lt;span class="nv"&gt;$DISK_STOR&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qm &lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="nv"&gt;$VMID&lt;/span&gt; --agent &lt;span class="nv"&gt;enabled&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qm &lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="nv"&gt;$VMID&lt;/span&gt; --scsihw virtio-scsi-pci --scsi0 &lt;span class="nv"&gt;$DISK_STOR&lt;/span&gt;:vm-&lt;span class="nv"&gt;$VMID&lt;/span&gt;-disk-0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qm &lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="nv"&gt;$VMID&lt;/span&gt; --ide2 &lt;span class="nv"&gt;$DISK_STOR&lt;/span&gt;:cloudinit
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qm &lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="nv"&gt;$VMID&lt;/span&gt; --boot c --bootdisk scsi0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qm &lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="nv"&gt;$VMID&lt;/span&gt; --serial0 socket --vga serial0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qm &lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="nv"&gt;$VMID&lt;/span&gt; --ipconfig0 &lt;span class="nv"&gt;ip&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;dhcp
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qm &lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="nv"&gt;$VMID&lt;/span&gt; --ciuser&lt;span class="o"&gt;=&lt;/span&gt;christian
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qm &lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="nv"&gt;$VMID&lt;/span&gt; --cipassword&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;bla&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qm &lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="nv"&gt;$VMID&lt;/span&gt; --searchdomain&lt;span class="o"&gt;=&lt;/span&gt;ka.beiheimdaheim.de
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qm resize &lt;span class="nv"&gt;$VMID&lt;/span&gt; scsi0 &lt;span class="nv"&gt;$DISK_SIZE&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qm template &lt;span class="nv"&gt;$VMID&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Nagios: Service Check Timed Out</title><link>https://christian.blog.pakiheim.de/posts/2018-12-07_nagios-service-check-timed-out/</link><pubDate>Fri, 07 Dec 2018 21:24:54 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1981</guid><description>&lt;p&gt;Since I got the pleasure of watching some Windows boxen with Nagios, I took the &lt;a href="http://www.monitoringexchange.org/inventory/Check-Plugins/Operating-Systems/Windows-NRPE/Check-Windows-Updates"&gt;Windows Update plugin&lt;/a&gt; from Michal Jankowski and implemented it. It took me some time, to initially set up the nsclient++ correctly so it just works, but up till now the check plugin sometimes reported the usual &amp;ldquo;Service Check Timed Out&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Usually I ended up increasing the cscript timeout, or the nsclient++ socket timeout, but it still kept showing up. Since I rely heavily on my surveillance tools, I have the demand, that as few as possible false positives show up. So I ended up chasing down this error today, and after that I have to say it was quite simple.&lt;/p&gt;</description></item><item><title>Mass-updating Tivoli Storage Manager drive status</title><link>https://christian.blog.pakiheim.de/posts/2017-10-11_mass-updating-tivoli-storage-manager-drive-status/</link><pubDate>Wed, 11 Oct 2017 19:48:40 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2552</guid><description>&lt;p&gt;I was fighting with our VTL again, and TSM was thinking all the drives were offline. In order to update the drive status, you&amp;rsquo;d need to go into the ISC and select each drive and set them to &lt;em&gt;ONLINE&lt;/em&gt;. Since I&amp;rsquo;m a bit click-lazy, I wrote a simple nested for-loop, which gives me the output to update all the drives at once:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt;5&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;for i in 1 2; do
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; for k in $( seq -w 1 32 ); do
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; echo &amp;#34;UPDATE DRIVE VTL$i VTL${i}_DR${k} ONLINE=YES&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; done
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;done
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Result is a list like this:&lt;/p&gt;</description></item><item><title>VMware Auto Deploy already registered / RuleEngine</title><link>https://christian.blog.pakiheim.de/posts/2017-09-03_vmware-auto-deploy-already-registered-ruleengine/</link><pubDate>Sun, 03 Sep 2017 19:19:28 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4143</guid><description>&lt;p&gt;I had this weird plugin error the other day which bothered me on Friday. I decided to go fixing it. So after poking around in the vCenter installed software list. I couldn&amp;rsquo;t find the Auto Deploy in the list, so I figured due to my recent vCenter reinstallation while keeping the database, I forgot to reinstall Auto Deploy.&lt;/p&gt;
&lt;p&gt;I went ahead and started the Auto Deploy setup from the DVD again, until I received this weird looking error. Apparently the setup thought (and decided correctly) that Auto Deploy was already installed in my vCenter.&lt;/p&gt;</description></item><item><title>UCS blades w/ Boot-from-SAN and AutoYaST</title><link>https://christian.blog.pakiheim.de/posts/2016-06-30_ucs-blades-w-boot-from-san-and-autoyast/</link><pubDate>Thu, 30 Jun 2016 14:49:01 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4206</guid><description>&lt;p&gt;As I wrote before about &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-08_enabling-multipathing-in-autoyast-installations" title="Enabling multipathing in autoyast installations"&gt;enabling multipathing for the AutoYaST installation&lt;/a&gt; it&amp;rsquo;s about time I write this one here.&lt;/p&gt;
&lt;p&gt;Sadly AutoYaST needs a little push in the right direction (as to where to actually put the root device), so here&amp;rsquo;s part of my AutoYaST profile for such a Cisco blade:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-25"&gt;&lt;a class="lnlinks" href="#hl-0-25"&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-26"&gt;&lt;a class="lnlinks" href="#hl-0-26"&gt;26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-27"&gt;&lt;a class="lnlinks" href="#hl-0-27"&gt;27&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-28"&gt;&lt;a class="lnlinks" href="#hl-0-28"&gt;28&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-29"&gt;&lt;a class="lnlinks" href="#hl-0-29"&gt;29&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-30"&gt;&lt;a class="lnlinks" href="#hl-0-30"&gt;30&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-31"&gt;&lt;a class="lnlinks" href="#hl-0-31"&gt;31&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-32"&gt;&lt;a class="lnlinks" href="#hl-0-32"&gt;32&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-33"&gt;&lt;a class="lnlinks" href="#hl-0-33"&gt;33&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-34"&gt;&lt;a class="lnlinks" href="#hl-0-34"&gt;34&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-35"&gt;&lt;a class="lnlinks" href="#hl-0-35"&gt;35&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-36"&gt;&lt;a class="lnlinks" href="#hl-0-36"&gt;36&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-37"&gt;&lt;a class="lnlinks" href="#hl-0-37"&gt;37&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-38"&gt;&lt;a class="lnlinks" href="#hl-0-38"&gt;38&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-39"&gt;&lt;a class="lnlinks" href="#hl-0-39"&gt;39&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-40"&gt;&lt;a class="lnlinks" href="#hl-0-40"&gt;40&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-41"&gt;&lt;a class="lnlinks" href="#hl-0-41"&gt;41&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-42"&gt;&lt;a class="lnlinks" href="#hl-0-42"&gt;42&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-43"&gt;&lt;a class="lnlinks" href="#hl-0-43"&gt;43&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-44"&gt;&lt;a class="lnlinks" href="#hl-0-44"&gt;44&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-45"&gt;&lt;a class="lnlinks" href="#hl-0-45"&gt;45&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-46"&gt;&lt;a class="lnlinks" href="#hl-0-46"&gt;46&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-47"&gt;&lt;a class="lnlinks" href="#hl-0-47"&gt;47&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-48"&gt;&lt;a class="lnlinks" href="#hl-0-48"&gt;48&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-49"&gt;&lt;a class="lnlinks" href="#hl-0-49"&gt;49&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-50"&gt;&lt;a class="lnlinks" href="#hl-0-50"&gt;50&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-51"&gt;&lt;a class="lnlinks" href="#hl-0-51"&gt;51&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-52"&gt;&lt;a class="lnlinks" href="#hl-0-52"&gt;52&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-53"&gt;&lt;a class="lnlinks" href="#hl-0-53"&gt;53&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-54"&gt;&lt;a class="lnlinks" href="#hl-0-54"&gt;54&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;profile&lt;/span&gt; &lt;span class="n"&gt;xmlns&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;http://www.suse.com/1.0/yast2ns&amp;#34;&lt;/span&gt; &lt;span class="n"&gt;xmlns&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;http://www.suse.com/1.0/configns&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;bootloader&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;device_map&lt;/span&gt; &lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;list&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;device_map_entry&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;firmware&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;hd0&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;firmware&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;linux&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;/&lt;/span&gt;&lt;span class="n"&gt;dev&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;sda&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;linux&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;device_map_entry&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;device_map&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;bootloader&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;partitioning&lt;/span&gt; &lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;list&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;drive&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;device&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;/&lt;/span&gt;&lt;span class="n"&gt;dev&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;sda&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;device&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;drive&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;partitioning&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;scripts&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;pre&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;scripts&lt;/span&gt; &lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;list&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;script&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;debug&lt;/span&gt; &lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;boolean&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="bp"&gt;false&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;debug&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;feedback&lt;/span&gt; &lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;boolean&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="bp"&gt;false&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;feedback&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;filename&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;ucs&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sh&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;filename&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;interpreter&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;shell&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;interpreter&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;source&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&amp;lt;!&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;CDATA&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;cat&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;tmp&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;profile&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;autoinst&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;xml&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="n"&gt;sed&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;s,/dev/sda,/dev/mapper/`/sbin/multipath -ll | grep dm-0 | cut -d -f1`,&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;tmp&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;profile&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;modified&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;xml&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;]]&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;source&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;script&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;pre&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;scripts&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;chroot&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;scripts&lt;/span&gt; &lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;list&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;script&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;chrooted&lt;/span&gt; &lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;boolean&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="bp"&gt;true&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;chrooted&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;debug&lt;/span&gt; &lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;boolean&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="bp"&gt;true&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;debug&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;feedback&lt;/span&gt; &lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;boolean&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="bp"&gt;true&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;feedback&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;filename&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;ucs&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;chroot&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sh&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;filename&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;interpreter&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;shell&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;interpreter&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;location&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;http&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="n"&gt;install&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;home&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;barfoo&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;org&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;autoyast&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;scripts&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;ucs&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;chroot&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sh&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;location&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;script&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;chroot&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;scripts&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;scripts&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;software&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;packages&lt;/span&gt; &lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;list&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;package&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;multipath&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;tools&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;package&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;packages&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;software&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="n"&gt;profile&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Now, the profile addition takes care of the placement of the root-device now (simply parses &lt;em&gt;multipath -ll&lt;/em&gt;) and adjusts the pulled profile accordingly ( &lt;em&gt;/tmp/profile/modified.xml&lt;/em&gt;), which AutoYaST then re-reads.&lt;/p&gt;</description></item><item><title>Windows *: mscorsvw-exe high CPU usage</title><link>https://christian.blog.pakiheim.de/posts/2015-09-01_windows-mscorsvw-exe-high-cpu-usage/</link><pubDate>Tue, 01 Sep 2015 17:14:06 +0000</pubDate><guid isPermaLink="false">http://christian.weblog.heimdaheim.de/?p=5401</guid><description>&lt;p&gt;Another .NET update later, an hour spent looking this up. &lt;a href="http://blogs.msdn.com/b/dotnet/archive/2013/08/06/wondering-why-mscorsvw-exe-has-high-cpu-usage-you-can-speed-it-up.aspx"&gt;Why is mscorsvw.exe using 25% CPU for &amp;gt;30 minutes?&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s a short outliner on how to speed it up:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The scripts we’ve provided are a convenience for people who don’t want to deal with a command prompt. If you prefer to use the command prompt, you can use the commands below instead. These commands depend on the version of the .NET Framework you have installed and the version of Windows that you have and whether it’s 32-bit or 64-bit.&lt;/p&gt;</description></item><item><title>Migrating from XenServer to ESXi</title><link>https://christian.blog.pakiheim.de/posts/2015-02-19_migrating-from-xenserver-to-esxi/</link><pubDate>Thu, 19 Feb 2015 09:17:05 +0000</pubDate><guid isPermaLink="false">http://christian.weblog.heimdaheim.de/?p=5164</guid><description>&lt;p&gt;For the past two months we&amp;rsquo;ve been trying to migrate a bunch (90 or so) VMs from XenServer to ESXi &amp;hellip; However for some reason on some of them, the Converter Service would crash.&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2014/02/citrix-monitoring1.png"
alt="VMware Converter crashing due to rsintcor32.dll" width="500"/&gt; &lt;figcaption&gt;
&lt;p&gt;VMware Converter crashing due to rsintcor32.dll&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Up till Monday, I had no idea why. I decided to look into the error once again, and this time decided just to Google the failing module&amp;hellip; And guess what ? Out came &lt;a href="http://discussions.citrix.com/topic/102434-faulting-module-rsintcordll/"&gt;this Citrix forum&lt;/a&gt; post regarding the failing module. So, after knowing that rsintcor32.dll belongs to the Citrix System Monitoring Agent service (well, I could have guessed that from the DLLs path &amp;#x1f61b;) I decided to simply stop the service.&lt;/p&gt;</description></item><item><title>PowerShell - and how to add new DNS servers to remote systems</title><link>https://christian.blog.pakiheim.de/posts/2014-10-01_powershell-and-how-to-add-new-dns-servers-to-remote-systems/</link><pubDate>Wed, 01 Oct 2014 17:14:23 +0000</pubDate><guid isPermaLink="false">http://christian.weblog.heimdaheim.de/?p=5351</guid><description>&lt;p&gt;Well, I&amp;rsquo;ve been playing around with PowerShell today. I had the task to move (as in change the IP address) two domain controllers into another VLAN. I could have done it the easy way and added the DNS servers by hand (by RDP&amp;rsquo;ing to each system having these particular DNS servers configured) - which wouldn&amp;rsquo;t have been very hard considering the domain only has 7 members at this point &amp;hellip;&lt;/p&gt;</description></item><item><title>Rename a Standard Port Group on all hosts in a cluster</title><link>https://christian.blog.pakiheim.de/posts/2014-09-24_rename-a-standard-port-group-on-all-hosts-in-a-cluster/</link><pubDate>Wed, 24 Sep 2014 10:59:27 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4155</guid><description>&lt;p&gt;Well, I recently decided to rename a bunch of my Standard Port Groups, since they did no longer reflect the network they were providing. Since I&amp;rsquo;m a lazy bastard (well lazy as in click lazy), I wrote this little PowerCLI script:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-25"&gt;&lt;a class="lnlinks" href="#hl-0-25"&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-26"&gt;&lt;a class="lnlinks" href="#hl-0-26"&gt;26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-27"&gt;&lt;a class="lnlinks" href="#hl-0-27"&gt;27&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-28"&gt;&lt;a class="lnlinks" href="#hl-0-28"&gt;28&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-29"&gt;&lt;a class="lnlinks" href="#hl-0-29"&gt;29&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-30"&gt;&lt;a class="lnlinks" href="#hl-0-30"&gt;30&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-31"&gt;&lt;a class="lnlinks" href="#hl-0-31"&gt;31&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-32"&gt;&lt;a class="lnlinks" href="#hl-0-32"&gt;32&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-33"&gt;&lt;a class="lnlinks" href="#hl-0-33"&gt;33&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-34"&gt;&lt;a class="lnlinks" href="#hl-0-34"&gt;34&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-35"&gt;&lt;a class="lnlinks" href="#hl-0-35"&gt;35&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-36"&gt;&lt;a class="lnlinks" href="#hl-0-36"&gt;36&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-37"&gt;&lt;a class="lnlinks" href="#hl-0-37"&gt;37&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;param&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;string&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vcenter&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;string&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;cluster&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;string&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;oldpg&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;string&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;newpg&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;string&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vlan&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Add the VI-Snapin if it isn&amp;#39;t loaded already&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;PSSnapin&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Name&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;VMware.VimAutomation.Core&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;ErrorAction&lt;/span&gt; &lt;span class="n"&gt;SilentlyContinue&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;eq&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;null&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Add&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;PSSnapin&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Name&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;VMware.VimAutomation.Core&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;If&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vcenter&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;cluster&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;oldpg&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;newpg&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vlan&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;pg-cluster-rename: &amp;lt;vcenter-server&amp;gt; &amp;lt;cluster&amp;gt; &amp;lt;oldpg&amp;gt; &amp;lt;newpg&amp;gt;&amp;#34;&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;This script renames each port group with the name &amp;lt;oldpg&amp;gt; to &amp;lt;newpg&amp;gt;&amp;#34;&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; &amp;lt;vcenter-server&amp;gt; - DNS name of your vCenter server.&amp;#34;&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; &amp;lt;cluster&amp;gt; - Display-Name of the vCenter cluster, on which we are&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; gonna create the new portgroup.&amp;#34;&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; &amp;lt;oldpg&amp;gt; - Name of the old Port Group that is to be replaced (ie VLAN2).&amp;#34;&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; &amp;lt;newpg&amp;gt; - Name of the new Port Group (ie PG-VLAN2-Produktion).&amp;#34;&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; &amp;lt;vlan&amp;gt; - VLAN-ID for of the new port group.&amp;#34;&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;exit&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Connect&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VIServer&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Server&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vcenter&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Cluster&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;cluster&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VMHost&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VirtualSwitch&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Name&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vswitch&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;New&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VirtualPortGroup&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Name&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;pg&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VLanId&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vlan&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Cluster&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;cluster&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VM&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;NetworkAdapter&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="n"&gt;Where&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;_&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;NetworkName&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;eq&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;$oldpg&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Set&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;NetworkAdapter&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;NetworkName&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;newpg&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Confirm&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="bp"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Cluster&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;cluster&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VMHost&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;View&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;View&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;_&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ID&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;configmanager&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;networkSystem&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;_&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;RemovePortGroup&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;oldpg&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Disconnect&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VIServer&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;server&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vcenter&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Confirm&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="bp"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;This script basically takes a vCenter instance and a single cluster, then creates a new Port Group on each host, after which it reconfigures all VMs possessing a virtual NIC with that Port Group and then deletes the old Port Group.&lt;/p&gt;</description></item><item><title>Nagios: Integrating Cisco switches</title><link>https://christian.blog.pakiheim.de/posts/2014-08-20_nagios-integrating-cisco-switches/</link><pubDate>Wed, 20 Aug 2014 08:20:53 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1763</guid><description>&lt;p&gt;Well, as I wrote recently, we received a new BladeCenter a few weeks back. Now, as we slowly take it into service I was interested in watching the utilization of the back planes as well as the CPU utilization of the Cisco Catalyst 3012 network switches.&lt;/p&gt;
&lt;p&gt;The first mistake I made, was to trust Cisco with their guide about &lt;a href="http://www.cisco.com/en/US/tech/tk389/tk816/technologies_tech_note09186a0080094a96.shtml"&gt;how to get the utilization&lt;/a&gt; from &lt;a href="http://www.cisco.com/en/US/tech/tk648/tk362/technologies_tech_note09186a0080094a94.shtml"&gt;the device using SNMP&lt;/a&gt;. They stated some OID&amp;rsquo;s, which I tried with &lt;em&gt;snmpwalk&lt;/em&gt; and got a result from.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;snmpwalk -v1 -c public -O n 10.0.0.35 .1.3.6.1.4.1.9.5.1.1.8
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;.1.3.6.1.4.1.9.5.1.1.8.0 = INTEGER: 0
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Now, as I tried retrieving the SNMP data by means of the &lt;em&gt;check_snmp&lt;/em&gt; plugin, I got some flaky results:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-1-1"&gt;&lt;a class="lnlinks" href="#hl-1-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-2"&gt;&lt;a class="lnlinks" href="#hl-1-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-3"&gt;&lt;a class="lnlinks" href="#hl-1-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-4"&gt;&lt;a class="lnlinks" href="#hl-1-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/usr/lib/nagios/plugins/check_snmp -H 10.0.0.35 -C public
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; .1.3.6.1.4.1.9.5.1.1.8
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;SNMP problem - No data received from host
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;CMD: /usr/bin/snmpget -t 1 -r 5 -m &amp;#39;&amp;#39; -v 1 [authpriv] 10.0.0.35:161
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Those of you, who read the excerpts carefully will notice the difference between &lt;em&gt;snmpwalk&lt;/em&gt; and the OID I passed on to &lt;em&gt;check_snmp&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;The point being, the OID&amp;rsquo;s Cisco gave in their Design tech notes are either old, or just not accurate at all. After passing on the &lt;strong&gt;.0&lt;/strong&gt; to each value given by Cisco, the &lt;em&gt;check_snmp&lt;/em&gt; is all honky dory and integrated into Nagios.&lt;/p&gt;
&lt;p&gt;As usual, the Nagios definitions are further down, for those interested.&lt;/p&gt;</description></item><item><title>SLES-9-2</title><link>https://christian.blog.pakiheim.de/posts/2014-08-16_sles-9-2/</link><pubDate>Sat, 16 Aug 2014 10:23:06 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/?p=81</guid><description>&lt;p&gt;Hrm, today I tried to install some extra programs I need for devel-stuff (quilt, git, subversion) on an &lt;em&gt;ancient&lt;/em&gt; (not sooo ancient) SuSE Linux Enterprise Server 9.2.&lt;/p&gt;
&lt;p&gt;Did I already mention &lt;strong&gt;I hate&lt;/strong&gt; rpm-based distros ? Ah and I missed to tell you, that I &lt;strong&gt;really&lt;/strong&gt; love USE-flags &amp;hellip;&lt;/p&gt;
&lt;p&gt;Ok, so it took me half the afternoon, to rebuild half of all installed packages (heh, &lt;em&gt;kde*&lt;/em&gt; depends upon &lt;em&gt;expat*&lt;/em&gt;; but who need &lt;em&gt;X&lt;/em&gt; or even &lt;em&gt;KDE&lt;/em&gt; on a server-machine?) and figured that everything was for nothing.&lt;/p&gt;</description></item><item><title>Adapter teaming on SLES10</title><link>https://christian.blog.pakiheim.de/posts/2014-08-16_adapter-teaming-on-sles10/</link><pubDate>Sat, 16 Aug 2014 10:18:13 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2007/07/04/adapter-teaming-on-sles10/</guid><description>&lt;p&gt;Since one of the requirements for my current project is having NIC redundancy, I didn&amp;rsquo;t get around looking at the available &amp;quot; &lt;em&gt;adapter teaming&lt;/em&gt;&amp;quot; (or adapter bonding) solutions available for Linux/SLES.&lt;/p&gt;
&lt;p&gt;First I tried to dig into the Broadcom solution (since the Blade I first implemented the stuff uses a Broadcom NetXtreme II card) , but found out pretty soon that the basp configuration tool, which is &lt;em&gt;&lt;strong&gt;only&lt;/strong&gt;&lt;/em&gt; available on the Broadcom driver CD&amp;rsquo;s shipped with the Blade itself, pretty much doesn&amp;rsquo;t work.&lt;/p&gt;</description></item><item><title>Bloody cluster solutions</title><link>https://christian.blog.pakiheim.de/posts/2014-08-16_bloody-cluster-solutions/</link><pubDate>Sat, 16 Aug 2014 10:17:48 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2007/07/04/bloody-cluster-solutions/</guid><description>&lt;p&gt;In preparation to get our website (and all those other websites - like &lt;a href="http://www.fh-neubrandenburg.de"&gt;www.fh-neubrandenburg.de&lt;/a&gt; or &lt;a href="http://www.hmt-rostock.de"&gt;www.hmt-rostock.de&lt;/a&gt;) clustered, someone bought the cluster version of the &lt;a href="http://www.packetpro.de/content/view/63/112/"&gt;PacketPro 450&lt;/a&gt;. These things are nice, especially considering you don&amp;rsquo;t need to fiddle around with LVS yourself (which is a &lt;em&gt;&lt;strong&gt;real&lt;/strong&gt;&lt;/em&gt; pain in the ass).&lt;/p&gt;
&lt;p&gt;The only problem I have currently with them is that they scan the database and web nodes every 30 seconds, and since we have an active node and a hot-standby both do this and producing this:&lt;/p&gt;</description></item><item><title>VBscript undamp; Active Directory and printers</title><link>https://christian.blog.pakiheim.de/posts/2014-08-16_vbscript-amp-active-directory-and-printers/</link><pubDate>Sat, 16 Aug 2014 10:15:10 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2007/10/13/vbscript-active-directory/</guid><description>&lt;p&gt;Well, since our current solution for mapping printers is an ugly batch file, which needs to be put into &lt;em&gt;Startup&lt;/em&gt;, I today poked at doing it in VBscript (I know, but it&amp;rsquo;s less ugly than the batch script, trust me).&lt;/p&gt;
&lt;p&gt;As some of you know, printers are only applicable to users (as in you can&amp;rsquo;t put a startup script onto an OU, which is going to map the printers). So as we store users and the computes in different OU&amp;rsquo;s in our Active Directory (we do have about 15.000 students), I can&amp;rsquo;t apply the printer.vbs to the users OU directly either, unless I implement some intelligence into the script itself.&lt;/p&gt;</description></item><item><title>Bloody cluster solutions (continued)</title><link>https://christian.blog.pakiheim.de/posts/2014-08-16_bloody-cluster-solutions-continued/</link><pubDate>Sat, 16 Aug 2014 10:10:22 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2007/07/12/bloody-cluster-solutions-continued/</guid><description>&lt;p&gt;So, as the &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-16_bloody-cluster-solutions-continued" title="Bloody cluster solutions"&gt;previous try&lt;/a&gt; on getting the &lt;em&gt;teamix&lt;/em&gt; people to fix the bloody LoadBalancer (as in sending at least an identification string for the SSH check) didn&amp;rsquo;t work so well (they told me, I should configure &lt;strong&gt;MASQ&lt;/strong&gt; uerading/ &lt;strong&gt;ROUTE&lt;/strong&gt; ing on the &lt;em&gt;PacketPro&lt;/em&gt;(which is kinda icky), I went on today and looked at what SLES10 installs as default logger.&lt;/p&gt;
&lt;p&gt;Surprisingly they install a rather new syslog-ng (well, syslog-ng-1.6.8 is what they ship) so it was rather easy to workaround the situation.&lt;/p&gt;</description></item><item><title>Research project</title><link>https://christian.blog.pakiheim.de/posts/2014-08-16_research-project/</link><pubDate>Sat, 16 Aug 2014 10:07:08 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/2007/01/25/research-project/</guid><description>&lt;p&gt;OK, as I wrote earlier today I went onto a research mission for today, looking at the alternatives for the 2x stuff. Looks like Citrix Presentation Server is just the software I&amp;rsquo;m looking for. Watched the &lt;a href="http://www.citrix.com/English/ps2/demo.asp"&gt;demo&amp;rsquo;s on their website&lt;/a&gt;, which are quite impressing, but sadly don&amp;rsquo;t tell me everything I&amp;rsquo;d like to know.&lt;/p&gt;
&lt;p&gt;Maybe I&amp;rsquo;ll ask some people in Greifswald and in the vicinity, how stuff works with Citrix. Maybe I should even get in contact with Citrix itself and ask for a test version, or some other sort of demonstration.&lt;/p&gt;</description></item><item><title>OCFS2 fun yet again</title><link>https://christian.blog.pakiheim.de/posts/2014-08-16_ocfs2-fun-yet-again/</link><pubDate>Sat, 16 Aug 2014 10:05:13 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=227</guid><description>&lt;p&gt;I&amp;rsquo;m coming back today from a six day vacation in the warm south (that is Stuttgart), back at work and find three sheets of paper on my desk. Two tell me something I haven&amp;rsquo;t done yet, the other one tells me something I haven&amp;rsquo;t seen yet.&lt;/p&gt;
&lt;p&gt;One of my colleagues had to restart one of our web nodes and now the thing can&amp;rsquo;t mount the logging volume (and thus, logrotate / awstats failed to do it&amp;rsquo;s job). OCFS2 ain&amp;rsquo;t spitting any error messages, when trying to mount the volume you see it joining the domain the volume belongs to on the other nodes, so from a first glance at things .. nothing is wrong ?&lt;/p&gt;</description></item><item><title>Windows XP Embedded and GPO settings</title><link>https://christian.blog.pakiheim.de/posts/2014-08-16_windows-xp-embedded-and-gpo-settings/</link><pubDate>Sat, 16 Aug 2014 09:57:51 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=260</guid><description>&lt;p&gt;We&amp;rsquo;re currently having a weird issue (which we had before); the Windows XP Embedded powering our Wyse V90&amp;rsquo;s isn&amp;rsquo;t applying any GPO settings if you log on with a user that has a configured profile.&lt;/p&gt;
&lt;p&gt;Googling (is that a valid word yet ?!) for it, only resulted in &lt;a href="http://windows.ittoolbox.com/groups/technical-functional/activedirectory-l/applying-gpo-to-xp-embedded-thin-client-1259431"&gt;one useful link&lt;/a&gt;, which is apparently a guy with the exact same problem &amp;hellip; &amp;#x1f937; I&amp;rsquo;m completely out of ideas by now, as I don&amp;rsquo;t even have a place to start (as in where the reason might be located).&lt;/p&gt;</description></item><item><title>IBM RDAC and Windows Cluster Service</title><link>https://christian.blog.pakiheim.de/posts/2014-08-16_ibm-rdac-and-windows-cluster-service/</link><pubDate>Sat, 16 Aug 2014 09:56:43 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=328</guid><description>&lt;p&gt;Okay, so we received a brand new &lt;a href="http://www-03.ibm.com/systems/x/hardware/rack/x3650/index.html"&gt;x3650&lt;/a&gt; the other day entitled to replace one (or better two) of our NAS frontend servers. We installed Windows on it the other day (had to create a custom Windows Server 2003 CD first, since the default one doesn&amp;rsquo;t recognize the integrated ServeRAID), and we prepped the box during the week with the usual things.&lt;/p&gt;
&lt;p&gt;On Monday I started installing the &amp;quot; &lt;a href="http://www-947.ibm.com/support/entry/portal/sdd?brand=5000028&amp;amp;key=5329827&amp;amp;osKey=0#5365978"&gt;&lt;em&gt;IBM StorageManager RDAC&lt;/em&gt;&lt;/a&gt;&amp;quot; MultiPath driver (since the box got two single port PCIe FC-HBA&amp;rsquo;s) and figured I&amp;rsquo;d be nice if we had this. I asked a IBM Systems Engineer of one of our partners, which told me generally there wouldn&amp;rsquo;t be a problem with Microsoft Cluster Services (MSCS) and the IBM MPIO driver. Only requirement would be that I&amp;rsquo;d install the new storport.sys driver (version 5.2.3790.4021) first (as in Microsoft &lt;a href="http://support.microsoft.com/kb/932755/en"&gt;KB932755&lt;/a&gt;).&lt;/p&gt;</description></item><item><title>Windows XP Embedded and GPO settings (continued)</title><link>https://christian.blog.pakiheim.de/posts/2014-08-16_windows-xp-embedded-and-gpo-settings-continued/</link><pubDate>Sat, 16 Aug 2014 09:56:20 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=325</guid><description>&lt;p&gt;Well, as I said in my &lt;a href="https://christian.blog.pakiheim.de/posts/2008-06-04_windows-xp-embedded-windows-server-2003-and-gpo-settings-the-solution" title="Windows XP Embedded and GPO settings"&gt;previous post&lt;/a&gt;, I do have some weird things happening. Apparently adding the domain user to the local group &amp;ldquo;Administrators&amp;rdquo; makes everything just works fine, yet he can&amp;rsquo;t do administrator like stuff (like turning off the write protection, changing local user accounts, &amp;hellip;).&lt;/p&gt;
&lt;p&gt;Also, if you&amp;rsquo;re looking for a smart way of how to add a certain global group (as in Active Directory group) to a local group, try this:&lt;/p&gt;</description></item><item><title>VMware design rules</title><link>https://christian.blog.pakiheim.de/posts/2014-08-16_vmware-design-rules/</link><pubDate>Sat, 16 Aug 2014 09:52:13 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=357</guid><description>&lt;p&gt;I&amp;rsquo;m just got back from four days in Rostock over at &lt;a href="http://www.sundat.net/De/Default.aspx"&gt;S&amp;amp;N&lt;/a&gt;, where I was attending a VMware design course and here&amp;rsquo;s a list of questions I did ask the trainer:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;What&amp;rsquo;s the disadvantage of having a 1016 ported vSwitch ?&lt;/li&gt;
&lt;li&gt;Any clues on how to exchange the default certificate of the Virtual Center ?&lt;/li&gt;
&lt;li&gt;Are there any tools to stress test the virtual system ?&lt;/li&gt;
&lt;li&gt;Are there any performance impacts of having more than 10 users in Virtual Center ?&lt;/li&gt;
&lt;li&gt;Any clues and/or guides on how to do time synchronization in VMware guests, especially Linux guests ?&lt;/li&gt;
&lt;li&gt;What&amp;rsquo;s the preferred NIC type for Linux guests ?&lt;/li&gt;
&lt;li&gt;Any clues to using Raw Device Mappings with VMotion ?&lt;/li&gt;
&lt;li&gt;Is there a way of defining CPU masks on a global level ?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Answers:&lt;/p&gt;</description></item><item><title>Building RPMs on SLES10SP2-ppc64</title><link>https://christian.blog.pakiheim.de/posts/2014-08-16_building-rpms-on-sles10sp2-ppc64/</link><pubDate>Sat, 16 Aug 2014 09:50:36 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=352</guid><description>&lt;p&gt;Well, it turns out that building stuff on ppc64 is a &lt;em&gt;&lt;strong&gt;real&lt;/strong&gt;&lt;/em&gt; pain in the ass, at least on anything SUSE related. I do have to tweak &lt;strong&gt;&lt;em&gt;every&lt;/em&gt;&lt;/strong&gt; damn spec to include this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="n"&gt;ifarch&lt;/span&gt; &lt;span class="n"&gt;ppc64&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="n"&gt;LDFLAGS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;$LDFLAGS -m64&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="n"&gt;endif&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Otherwise, ld is gonna fail when linking, as it&amp;rsquo;s gonna try linking the generated 64bit code ( &lt;strong&gt;-m64&lt;/strong&gt; is passed on via &lt;em&gt;RPM_OPT_FLAGS&lt;/em&gt; to &lt;em&gt;CFLAGS&lt;/em&gt;) as 32bit code, which ain&amp;rsquo;t gonna work at all &amp;hellip;&lt;/p&gt;</description></item><item><title>Extending vMotion compatiblity</title><link>https://christian.blog.pakiheim.de/posts/2014-08-16_extending-vmotion-compatiblity/</link><pubDate>Sat, 16 Aug 2014 09:49:58 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=482</guid><description>&lt;p&gt;Today I did something horrible. I yet again noticed that I bought the wrong CPU&amp;rsquo;s (basically I bought Xeon DP&amp;rsquo;s with four cores). Those have apparently a feature called SSSE3, which makes vMotion with our old Xeon DP&amp;rsquo;s (dual cores) fail before even trying.&lt;/p&gt;
&lt;p&gt;But as we had a cooling outage today (basically &amp;lsquo;cause it broke), I needed to turn off some ESX servers. Thus leaving me with the new ones and one of the old ones. * &lt;strong&gt;yuck&lt;/strong&gt;*&lt;/p&gt;</description></item><item><title>Nagios virtualization</title><link>https://christian.blog.pakiheim.de/posts/2014-08-16_nagios-virtualization/</link><pubDate>Sat, 16 Aug 2014 09:49:36 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=513</guid><description>&lt;p&gt;As virtualization seems to be a trendy thing to do, I went ahead and virtualized our nagios (while reinstalling the whole thing &amp;hellip;).&lt;/p&gt;
&lt;p&gt;Now as I went into work today and started my email client, I received 4 nagios warnings about a LOAD service reaching critical state. Looked at the nagios box itself, opened up the VM console, looked into the syslog. Nothing.&lt;/p&gt;
&lt;p&gt;Yet over 3/4 of the services were flapping, some ping checks were critical (for whatever reason). So I opened the nagios webinterface again, and noticed it dropping the connection over and over again (had to reauthentificate me again and again).&lt;/p&gt;</description></item><item><title>Nagios Hostgroup Inheritance</title><link>https://christian.blog.pakiheim.de/posts/2014-08-16_nagios-hostgroup-inheritance/</link><pubDate>Sat, 16 Aug 2014 09:48:08 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=519</guid><description>&lt;p&gt;As I wrote earlier, I recently &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-16_nagios-virtualization" title="Nagios virtualization"&gt;virtualized our nagios&lt;/a&gt;. Along with that came a complete &amp;quot; &lt;em&gt;redesign&lt;/em&gt;&amp;quot; of how checks are applied. Up till now, I defined checks for each and every single server, thus ending up with ~25 files, each holding roughly 6 checks which are in the same file just sorted by hostname.&lt;/p&gt;
&lt;p&gt;As you can imagine, it gets quite confusing with that amount of checks (~150). So the last two days I spent on reorganizing (with Visio), on which object/hostgroup placing a check would make sense. Now, this is my first result of two days planning, reorganizing, reordering and moving hosts into different hostgroups.&lt;/p&gt;</description></item><item><title>Windows Cluster Service (continued)</title><link>https://christian.blog.pakiheim.de/posts/2014-08-16_windows-cluster-service-continued/</link><pubDate>Sat, 16 Aug 2014 09:47:05 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=334</guid><description>&lt;p&gt;Well, guess my &amp;quot; &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-16_ibm-rdac-and-windows-cluster-service" title="IBM RDAC and Windows Cluster Service"&gt;&lt;em&gt;solution&lt;/em&gt;&lt;/a&gt;&amp;quot; didn&amp;rsquo;t work sooo good. Lemme tell you what&amp;rsquo;s happening. I successfully added the node to the cluster group, but I can&amp;rsquo;t get &lt;em&gt;&lt;strong&gt;any&lt;/strong&gt;&lt;/em&gt; resources online.&lt;/p&gt;
&lt;p&gt;The node tries bringing it online, then shows a failure and immidiately moves them over to the next node. There the resource is being successfully moved online .. So again, I&amp;rsquo;m out of ideas ..&lt;/p&gt;
&lt;p&gt;Already tried reinstalling the box, after that I could get the third node successfully into the cluster, without the &amp;quot; &lt;em&gt;Advanced (minimum)&lt;/em&gt;&amp;quot; trick &amp;hellip; &amp;#x1f937; still ain&amp;rsquo;t bringing any resources online.&lt;/p&gt;</description></item><item><title>SUSE Linux Enterprise Server 10 on VMware ESX</title><link>https://christian.blog.pakiheim.de/posts/2014-08-16_suse-linux-enterprise-server-10-on-vmware-esx/</link><pubDate>Sat, 16 Aug 2014 09:46:16 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=565</guid><description>&lt;p&gt;We&amp;rsquo;re currently having a &lt;em&gt;&lt;strong&gt;really&lt;/strong&gt;&lt;/em&gt; weird problem with our VM&amp;rsquo;s. Sometime last week, SUSE released a kernel update. Now, once you install it and you reboot the selected VM with a DVD/CD image present, you&amp;rsquo;re gonna see this:&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2008/08/vmxaiomgr.png"
alt="msg.vmxaiomgr.retrycontabort.unkown" width="500"/&gt; &lt;figcaption&gt;
&lt;p&gt;msg.vmxaiomgr.retrycontabort.unkown&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;The only workaround so far has been to unmount &lt;em&gt;&lt;strong&gt;any&lt;/strong&gt;&lt;/em&gt; cleanse any CD-Drives attached to the VM. And yes, this is reproduceable, even reinstalling from scratch doesn&amp;rsquo;t change the fact, that after installing the patch the VM quits working.&lt;/p&gt;</description></item><item><title>SUSE Linux Enterprise Server 10 on VMware ESX (continued)</title><link>https://christian.blog.pakiheim.de/posts/2014-08-16_suse-linux-enterprise-server-10-on-vmware-esx-continued/</link><pubDate>Sat, 16 Aug 2014 09:45:36 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=711</guid><description>&lt;p&gt;Well, after some searching today (we applied the VMware Update 2 today, thus the VMware Tools update too), I finally found out what is causing &lt;a href="https://christian.blog.pakiheim.de/posts/2008-07-30_suse-linux-enterprise-server-10-on-vmware-esx-finished" title="SUSE Linux Enterprise Server 10 on VMware ESX"&gt;that problem&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Though the problem seems to be not limited to virtual systems alone, I just browsed through this &lt;a href="http://forums.novell.com/novell-product-support-forums/suse-linux-enterprise-desktop-sled/sled-updates/336899-kernel-update-07182008-a.html#post1600495"&gt;Novell Forum thread&lt;/a&gt; which pretty much describes my problem. I found the same error in the VM&amp;rsquo;s I tried to mount a CD image.&lt;/p&gt;</description></item><item><title>More VirtualCenter troubles</title><link>https://christian.blog.pakiheim.de/posts/2014-08-16_more-virtualcenter-troubles/</link><pubDate>Sat, 16 Aug 2014 09:44:54 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=828</guid><description>&lt;p&gt;Well, after my co-worker switched the VirtualCenter certificates with one produced by our RA a few days ago, I can&amp;rsquo;t clone anything using a &lt;a href="http://communities.vmware.com/thread/54721"&gt;customization&lt;/a&gt; &lt;a href="http://communities.vmware.com/thread/139080"&gt;specification&lt;/a&gt; anymore.&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2008/08/virtualcenter_unable_to_decrypt_password.png"
alt="Unable to decrypt passwords in customization specification" width="500"/&gt; &lt;figcaption&gt;
&lt;p&gt;Unable to decrypt passwords in customization specification&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Guess, we&amp;rsquo;re shit outa luck. At least both of those linked VMTN discussions don&amp;rsquo;t contain any (that is for us) workable solution (well besides storing the password in cleartext in the spec &amp;ndash; which ain&amp;rsquo;t sooo good). Gonna bug him tomorrow to open up a VMware support request, maybe that&amp;rsquo;ll help somewhat. I sure hope so.&lt;/p&gt;</description></item><item><title>patch2mail for SLES10</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_patch2mail-for-sles10/</link><pubDate>Fri, 08 Aug 2014 09:51:16 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=188</guid><description>&lt;p&gt;Well, there is this &amp;ldquo;nifty&amp;rdquo; tool called &lt;a href="http://software.opensuse.org/search?q=patch2mail"&gt;patch2mail&lt;/a&gt;, which basically converts the XML for the updates to a more readable format. But you&amp;rsquo;re screwed if you want to do the same on SLES10. Since it ain&amp;rsquo;t shipping with the zypper xml wrapper thing, you need to do it a bit different.&lt;/p&gt;
&lt;p&gt;So I ended up writing a small (and yet, ugly) shell script to generate me a mail of my liking ..&lt;/p&gt;</description></item><item><title>MessPC Ethernetbox 2 and Nagios</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_messpc-ethernetbox-2-and-nagios/</link><pubDate>Fri, 08 Aug 2014 09:46:05 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=886</guid><description>&lt;p&gt;As I talked to Tobi yesterday, we came to talk about our Ethernet Box thermometer. It&amp;rsquo;s a neat device, which works pretty much out of the box. Integrating it with Nagios is a bit of a bummer.&lt;/p&gt;
&lt;p&gt;That&amp;rsquo;s what the ~300 EUR box looks like. It&amp;rsquo;s basically a small black box with a RJ45 jack, and four RJ11 jacks for attached external devices. The box itself only functions as a &amp;quot; &lt;em&gt;management station&lt;/em&gt;&amp;quot; and doesn&amp;rsquo;t come with a sensor.
Normally, you can attach up till four RJ11 sensors to it. But, MessPC also has RJ11 port splitters, which enables you to attach up to eight RJ11 sensors to the MessPC.&lt;/p&gt;
&lt;p&gt;As you can see, the box has a RJ45 jack on the other side, which you basically hook up to your network and then configure an IP address (or if you fancy DHCP for those things, it&amp;rsquo;s possible too).&lt;/p&gt;
&lt;p&gt;On the opposite site, are the RJ11 jacks for the sensors. As you can see, we currently do have 4 splitters attachted to the box, enabling up till 8 sensors to be measured.
Once you have it up and running, you can look at the web interface and you&amp;rsquo;ll be able to see the state of the sensors right on the first page.&lt;/p&gt;</description></item><item><title>Linux-HA and Tivoli Storage Manager</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_linux-ha-and-tivoli-storage-manager/</link><pubDate>Fri, 08 Aug 2014 09:44:38 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=983</guid><description>&lt;p&gt;Well, since we received part of our shipment on Wednesday, I finally looked at how we&amp;rsquo;re gonna deploy our active/active Tivoli Storage Manager configuration. Right now, we do have a single pSeries box hosting ~100 client nodes which we&amp;rsquo;re looking to split by two (since we do have two x366 for that purpose now).&lt;/p&gt;
&lt;p&gt;Now, as there ain&amp;rsquo;t no solution for this scenario yet (neither from International Business Machines nor someone out of the open source community), I sat down and started writing an OCF Resource agent for dsmserv (that is the Tivoli Storage Manager server).&lt;/p&gt;</description></item><item><title>VMware vCenter: is not connected</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_vmware-vcenter-is-not-connected/</link><pubDate>Fri, 08 Aug 2014 09:08:15 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1529</guid><description>&lt;p&gt;Well, today I once again had the case where a virtual machine (in my case a Virtual Machine Template) was kinda stuck. You couldn&amp;rsquo;t remove the template (as in the entries for &amp;ldquo;Remove from inventory&amp;rdquo; was grayed out) and you couldn&amp;rsquo;t re-add the Virtual Machine&amp;rsquo;s VMX from the datastore browser either.&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2014/08/vi-disconnected-image.png"
alt="VI Client - Disconnected templates" width="400"/&gt; &lt;figcaption&gt;
&lt;p&gt;VI Client - Disconnected templates&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Though, a simple putting the host into maintenance mode and rebooting helped that problem. Maybe there is a simpler solution for this, I just don&amp;rsquo;t know about it.&lt;/p&gt;</description></item><item><title>Tivoli Storage Manager Client and Microsoft Cluster Services</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_tivoli-storage-manager-client-and-microsoft-cluster-services/</link><pubDate>Fri, 08 Aug 2014 09:06:34 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1544</guid><description>&lt;p&gt;Well, I just had another look at our client scheduler services on our &lt;a href="http://www.microsoft.com/windowsserver2003/enterprise/clustering.mspx"&gt;Microsoft Cluster&lt;/a&gt;. A while back we noticed that those scheduler services were going nuts after some time. Well, as it turns out, I can tell why. Microsoft Cluster Services have a feature called &lt;a href="http://support.microsoft.com/kb/174070"&gt;registration replication&lt;/a&gt;, which replicates a given key, if changed when the resource is online, to all connected cluster nodes.&lt;/p&gt;
&lt;p&gt;Now, we added the obvious registry key to the settings of our cluster resources for the scheduler services ( &lt;em&gt;SOFTWAREIBMADSMCurrentVersionBackupClientNodes&lt;!-- raw HTML omitted --&gt;&lt;/em&gt;) and the scheduler service would use the same registry key to store it&amp;rsquo;s passwords. But it seems we were far off with that assumption.&lt;/p&gt;</description></item><item><title>IBM RDAC: Installing the driver for a (not yet) running version</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_ibm-rdac-installing-the-driver-for-a-not-yet-running-version/</link><pubDate>Fri, 08 Aug 2014 09:04:36 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2029</guid><description>&lt;p&gt;Well, kernel updates on our Linux servers running IBM&amp;rsquo;s RDAC driver (developed by &lt;a href="http://www.lsi.com/rdac/ds4000.html#current"&gt;LSI&lt;/a&gt;) is a real pest .. especially if you have to reboot the box two times in order to install the drivers/initrd correctly.&lt;/p&gt;
&lt;p&gt;So I sat down and looked at the Makefile. Turns out, it just needs four tweaks in order to be working with a different kernel version (which you have to pass using environment variables to make).&lt;/p&gt;</description></item><item><title>Novell KMP: KMP'ing IBM's RDAC driver</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_novell-kmp-kmp-ing-ibm-s-rdac-driver/</link><pubDate>Fri, 08 Aug 2014 09:03:51 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2033</guid><description>&lt;p&gt;Well, after yesterday&amp;rsquo;s lesson about &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-08_ibm-rdac-installing-the-driver-for-a-not-yet-running-version" title="IBM RDAC: Installing the driver for a (not yet) running version"&gt;getting the IBM RDAC to install for a not-yet-running kernel&lt;/a&gt;, I decided to take it a step further. Novell does have some &lt;a href="http://developer.novell.com/wiki/index.php/Creating_a_Kernel_Module_Source_RPM"&gt;documentation about KMP&amp;rsquo;s&lt;/a&gt;, which is actually rather good, especially the &lt;a href="http://www.suse.de/~agruen/KMPM/old/KernelModulePackagesManual-CODE10.pdf"&gt;guide written by Andreas Grünbacher&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;After a short tinkering, I got it actually working. I was kinda surprised, at how easily it actually is. One problem I still have to deal with, is modifying the %post, to generate the mpp-initrd image. For now, the KMP only contains the default %post, which updates the modules.* stuff.&lt;/p&gt;</description></item><item><title>Novell KMP: Useable version of ibm-rdac-ds4000</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_novell-kmp-useable-version-of-ibm-rdac-ds4000/</link><pubDate>Fri, 08 Aug 2014 09:03:03 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2042</guid><description>&lt;p&gt;After some more tinkering, a lot more looking at the macros in /usr/lib/rpm/rpm-suse-kernel-module-subpackage and /usr/lib/rpm/suse_macros, I think I finally have a usable RPM&amp;rsquo;ified version of IBM&amp;rsquo;s Multipathing driver ready for use.&lt;/p&gt;
&lt;p&gt;There is still one major annoyance left: each time you install a new ibm-rdac-ds4000-kmp RPM, you also need to reinstall the corresponding ibm-rdac-ds4000-initrd package, as the macros in /usr/lib/rpm don&amp;rsquo;t allow for custom %post or %postun.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-08_novell-kmp-kmp-ing-ibm-s-rdac-driver" title="Novell KMP: KMP'ing IBM's RDAC driver"&gt;As mentioned before&lt;/a&gt;, I&amp;rsquo;m gonna send them to LSI/IBM for review, and maybe, MAYBE they are actually gonna make use of that.&lt;/p&gt;</description></item><item><title>Weird TS3500 problem</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_weird-ts3500-problem/</link><pubDate>Fri, 08 Aug 2014 09:00:33 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2212</guid><description>&lt;p&gt;Well, today we had a rather weird problem with our TS3500. TSM running on AIX basically went bonko and spit out weird media sense errors, all stating that there is a hardware or media error of unknown nature:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt;5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt;6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt;7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt;8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt;9&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ANR8943E Hardware or media error on library LIB3584 (OP=00006C03, CC=-1,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;KEY=04, ASC=44, ASCQ=00,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;SENSE=70.00.04.00.00.00.00.46.00.00.00.00.44.00.00.00.00-
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; .00.40.82.00.00.00.40.00.00.02.00.48.01.A1.00.00.00.00.0-
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; 0.06.1B.00.01.09.00.00.00.00.00.00.00.00.00.00.00.00.00.-
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; 00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00-
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; .00.00.00.00.00., Description=An undetermined error has occurred).
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Refer to Appendix C in the &amp;#39;Messages&amp;#39; manual for recommended action.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ANR8381E LTO volume HG4480L4 could not be mounted in drive DR9 (/dev/rmt8).
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;After restarting the TSM server (as in the service, not the whole box) five times, which didn&amp;rsquo;t resolve squat we decided to take a look at the TS3500 itself. We opened up the Management interface and tried moving a tape into a drive. That didn&amp;rsquo;t work. Hrmmmmm.&lt;/p&gt;</description></item><item><title>Linux-HA and Tivoli Storage Manager (Finito!)</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_linux-ha-and-tivoli-storage-manager-finito/</link><pubDate>Fri, 08 Aug 2014 08:59:07 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1047</guid><description>&lt;p&gt;As I previously said, I was writing &lt;a href="http://christian.weblog.heimdaheim.de/2008/09/26/linux-ha-and-tivoli-storage-manager/" title="Linux-HA and Tivoli Storage Manager"&gt;my own OCF resource agent&lt;/a&gt; for IBM&amp;rsquo;s Tivoli Storage Manager Server. And I just finished it yesterday evening (it took me about two hours to write this post).&lt;/p&gt;
&lt;p&gt;Only took me about four work days (that is roughly four hours each, which weren&amp;rsquo;t recorded in that subversion repository) plus most of this week at home (which is 10 hours a day) and about one hundred subversion revisions. The good part about it is, that it actually just works :-D (I was amazed on how good actually). Now you&amp;rsquo;re gonna say, &amp;ldquo;but Christian, why didn&amp;rsquo;t you use the included Init-Script and just fix it up, so it is actually compilant to the LSB Standard ?&amp;rdquo;&lt;/p&gt;
&lt;p&gt;The answer is rather simple: Yeah I could have done that, but you also know that wouldn&amp;rsquo;t have been fun. Life is all about learning, and learn something I did (even if I hit the head against the wall from time to time ;-) during those few days) &amp;hellip; There&amp;rsquo;s still one or two things I might want to add/change in the future (that is maybe next week), like&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;adding support for monitor depth by querying the dsmserv instance via dsmadmc (if you read through the resource agent, I already use it for the shutdown/pre-shutdown stuff)&lt;/li&gt;
&lt;li&gt;I still have to properly test it (like Alan Robertson mentioned in his &lt;a href="http://lca2007.linux.org.au/talk/29.html"&gt;one hour thirty talk on Linux-HA 2.0&lt;/a&gt; and &lt;a href="http://www.slideshare.net/opensource_training/heartbeat"&gt;on his slides&lt;/a&gt;, Page 100-102) in a pre-production environment&lt;/li&gt;
&lt;li&gt;I&amp;rsquo;m probably configure the IBM RSA to act as a stonith device ( &lt;strong&gt;s&lt;/strong&gt; hoot &lt;strong&gt;t&lt;/strong&gt; he &lt;strong&gt;o&lt;/strong&gt; ther &lt;strong&gt;n&lt;/strong&gt; ode &lt;strong&gt;i&lt;/strong&gt; n &lt;strong&gt;t&lt;/strong&gt; he &lt;strong&gt;h&lt;/strong&gt; ead) - just for the case one of them ever gets stuck in a case, where the box is still up, but doesn&amp;rsquo;t react to any requests anymore&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>VMware: New VirtualCenter 2-5 Update 4</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_vmware-new-virtualcenter-2-5-update-4/</link><pubDate>Fri, 08 Aug 2014 08:47:01 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1873</guid><description>&lt;p&gt;As many people on the VM-Planet already blogged about this, I ain&amp;rsquo;t gonna write just about it. Let&amp;rsquo;s turn the clock back a few months, to January 2008.&lt;/p&gt;
&lt;p&gt;As the institution I work for, is part of the DFN we took the opportunity to be a part of the &amp;quot; &lt;em&gt;I want you to run our RA&lt;/em&gt;&amp;quot;-gang. In January 2008 we thought about changing the vCenter certificate. Now, apparently there&amp;rsquo;s a slight difference between the DFN-PCA and what VMware considers common practice.&lt;/p&gt;</description></item><item><title>Xen dom0 failing with kernel panic</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_xen-dom0-failing-with-kernel-panic/</link><pubDate>Fri, 08 Aug 2014 08:45:02 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2496</guid><description>&lt;p&gt;I&amp;rsquo;m building a 6-node cluster, using Xen at the moment. For the last few days, I tried my setup in a virtual machine, simply because VM&amp;rsquo;s boot much faster than the real hardware. However, certain things you can only replicate on the real hardware (for example, the InfiniBand interfaces, as well as certain nfs-stuff).&lt;/p&gt;
&lt;p&gt;So I spent most of the day to replicate my configurations onto the hardware. After getting all done, the moment of the first boot &amp;hellip; &lt;strong&gt;kaput&lt;/strong&gt;! Doesn&amp;rsquo;t boot, just keeps hanging before booting the real kernel. Now what ? I removed the Xen vga parameters and rebooted (waited ~2 minutes in the process) until I finally saw the root cause for my trouble:&lt;/p&gt;</description></item><item><title>IBM RSA II adapter and Java RE</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_ibm-rsa-ii-adapter-and-java-re/</link><pubDate>Fri, 08 Aug 2014 08:43:14 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2461</guid><description>&lt;p&gt;Today, after a short break (you can call it break, I think), I sat down and looked at the IBM RSA II adapter&amp;rsquo;s remote management GUI and it&amp;rsquo;s trouble with JRE versions. Ever since the last Java updates, I was unable to access the RSA console because Java would throw an error like this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Initializing RemoteDisk v2.2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;MCS v.3.6 initialized
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Established connection to rsa.home.barfoo.org:1045
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Connected via socket: Socket[addr=rsa.home.barfoo.org/10.0.0.150,port=2000,localport=4292]
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Closing socket
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;java.lang.NullPointerException
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; at mcsClient.Row.isValid(Unknown Source)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; at java.awt.Component.invalidateIfValid(Unknown Source)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; at java.awt.Component.setLocale(Unknown Source)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; at javax.swing.JComponent.(Unknown Source)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; at javax.swing.JPanel.(Unknown Source)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; at javax.swing.JPanel.(Unknown Source)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; at javax.swing.JPanel.(Unknown Source)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; at mcsClient.Row.(Unknown Source)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; at mcsClient.Options.(Unknown Source)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; at mcsClient.McsToolBar.(Unknown Source)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; at mcsClient.McsClient.begin(Unknown Source)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; at mcsClient.McsClient.init(Unknown Source)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; at java.lang.Thread.run(Unknown Source)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Ausnahme: java.lang.NullPointerException
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;In the end, I &lt;a href="http://www.oracle.com/technetwork/java/archive-139210.html"&gt;downloaded&lt;/a&gt; every version since JRE 1.5.0.11 (that is 20 different versions &amp;#x2757;), as wittnessed by &lt;a href="http://mellerbeck.blogspot.com/2009/07/mcs-v36-initialized-java-error-ibm-rsa.html"&gt;Michael Ellerbeck&lt;/a&gt; that the last working version for him was JRE 1.5.0.11, and gave each one a try (since I want to report the issue to IBM, so that they gonna release a fix sometime soon).&lt;/p&gt;</description></item><item><title>Loooong time</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_loooong-time/</link><pubDate>Fri, 08 Aug 2014 08:42:36 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2531</guid><description>&lt;p&gt;It&amp;rsquo;s been very quiet around here, I&amp;rsquo;ve been rather busy with my real life. During that busy time, a lot of things happened. I switched jobs starting on October 1st, I&amp;rsquo;m now working in Karlsruhe (as compared to the 870km northern Greifswald). It may sound far, but it&amp;rsquo;s actually quite pleasant. You know, I was born down here (well not exactly here &amp;ndash; 70 kilometers afar) and I still had the feeling that &lt;strong&gt;this is my home&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>SLES11 and AutoYaST</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_sles11-and-autoyast/</link><pubDate>Fri, 08 Aug 2014 08:41:46 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2605</guid><description>&lt;p&gt;After the first week passed awfully quick, the last week I worked on refining the way on how we are doing openSuSE / SUSE Linux Enterprise Server installations. Up till now, they were done by hand (without a predefined schema) and were getting ugly to maintain. Working my way through the &lt;a href="http://www.suse.com/~ug/autoyast_doc/index.html"&gt;Novell documentation on AutoYaST&lt;/a&gt; was pretty straight forward, but the little details were getting hairy. So I decided to write them down, in case someone was gonna end up in the same situation like me.&lt;/p&gt;</description></item><item><title>Run a command on a list of Fibre-Channel switches (fc-switch-commands-pl)</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_run-a-command-on-a-list-of-fibre-channel-switches-fc-switch-commands-pl/</link><pubDate>Fri, 08 Aug 2014 08:40:32 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=3526</guid><description>&lt;p&gt;Up till now, we did have a bunch of shell and perl scripts doing this work. Today, as I was looking for some stuff to do, I found them and decided rewriting it, so you wouldn&amp;rsquo;t need a shell script to call the perl worker script &amp;hellip; This is pretty much the result!&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-25"&gt;&lt;a class="lnlinks" href="#hl-0-25"&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-26"&gt;&lt;a class="lnlinks" href="#hl-0-26"&gt;26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-27"&gt;&lt;a class="lnlinks" href="#hl-0-27"&gt;27&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-28"&gt;&lt;a class="lnlinks" href="#hl-0-28"&gt;28&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-29"&gt;&lt;a class="lnlinks" href="#hl-0-29"&gt;29&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-30"&gt;&lt;a class="lnlinks" href="#hl-0-30"&gt;30&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-31"&gt;&lt;a class="lnlinks" href="#hl-0-31"&gt;31&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-32"&gt;&lt;a class="lnlinks" href="#hl-0-32"&gt;32&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-33"&gt;&lt;a class="lnlinks" href="#hl-0-33"&gt;33&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-34"&gt;&lt;a class="lnlinks" href="#hl-0-34"&gt;34&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-35"&gt;&lt;a class="lnlinks" href="#hl-0-35"&gt;35&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-36"&gt;&lt;a class="lnlinks" href="#hl-0-36"&gt;36&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-37"&gt;&lt;a class="lnlinks" href="#hl-0-37"&gt;37&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-38"&gt;&lt;a class="lnlinks" href="#hl-0-38"&gt;38&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-39"&gt;&lt;a class="lnlinks" href="#hl-0-39"&gt;39&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-40"&gt;&lt;a class="lnlinks" href="#hl-0-40"&gt;40&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-41"&gt;&lt;a class="lnlinks" href="#hl-0-41"&gt;41&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-42"&gt;&lt;a class="lnlinks" href="#hl-0-42"&gt;42&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-43"&gt;&lt;a class="lnlinks" href="#hl-0-43"&gt;43&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-44"&gt;&lt;a class="lnlinks" href="#hl-0-44"&gt;44&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-45"&gt;&lt;a class="lnlinks" href="#hl-0-45"&gt;45&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-46"&gt;&lt;a class="lnlinks" href="#hl-0-46"&gt;46&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-47"&gt;&lt;a class="lnlinks" href="#hl-0-47"&gt;47&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-48"&gt;&lt;a class="lnlinks" href="#hl-0-48"&gt;48&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-49"&gt;&lt;a class="lnlinks" href="#hl-0-49"&gt;49&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-50"&gt;&lt;a class="lnlinks" href="#hl-0-50"&gt;50&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-51"&gt;&lt;a class="lnlinks" href="#hl-0-51"&gt;51&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-52"&gt;&lt;a class="lnlinks" href="#hl-0-52"&gt;52&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-53"&gt;&lt;a class="lnlinks" href="#hl-0-53"&gt;53&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-54"&gt;&lt;a class="lnlinks" href="#hl-0-54"&gt;54&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-55"&gt;&lt;a class="lnlinks" href="#hl-0-55"&gt;55&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-56"&gt;&lt;a class="lnlinks" href="#hl-0-56"&gt;56&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-57"&gt;&lt;a class="lnlinks" href="#hl-0-57"&gt;57&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-58"&gt;&lt;a class="lnlinks" href="#hl-0-58"&gt;58&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-59"&gt;&lt;a class="lnlinks" href="#hl-0-59"&gt;59&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-60"&gt;&lt;a class="lnlinks" href="#hl-0-60"&gt;60&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-61"&gt;&lt;a class="lnlinks" href="#hl-0-61"&gt;61&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-62"&gt;&lt;a class="lnlinks" href="#hl-0-62"&gt;62&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-63"&gt;&lt;a class="lnlinks" href="#hl-0-63"&gt;63&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#!/usr/bin/perl&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# LICENSE: GNU General Public License v2. (see LICENSE.txt)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# COPYRIGHT: Copyright 2010 Christian Heim &amp;lt;christian.heim@barfoo.org&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# This script runs a batch of commands on a list of FC-switches. For example:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# fc-switch-commands.pl statsclear | configupload | supportsave&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;use&lt;/span&gt; &lt;span class="n"&gt;strict&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;use&lt;/span&gt; &lt;span class="n"&gt;warnings&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;use&lt;/span&gt; &lt;span class="n"&gt;Net&lt;/span&gt;&lt;span class="p"&gt;::&lt;/span&gt;&lt;span class="n"&gt;Telnet&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;our&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;san_fabric1_core&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;san_fabric1_edge_1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;san_fabric1_edge_2&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;our&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;san_fabric2_core&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;san_fabric2_edge_1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;san_fabric2_edge_2&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;our&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;switches&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;our&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ftp_host&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ftp_username&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ftp_password&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;our&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;telnet&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;our&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;version&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;debug&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;san_fabric1_core&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;10.144.20.50&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;admin&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;JuNxJFSAS!&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;san_fabric1_core&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;san_fabric1_edge_1&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;10.144.20.51&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;admin&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;JuNxJFSAS!&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;san_fabric1_edge_1&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;san_fabric1_edge_2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;10.144.20.52&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;admin&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;JuNxJFSAS!&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;san_fabric1_edge_2&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;san_fabric2_core&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;10.144.20.60&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;admin&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;JuNxJFSAS!&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;san_fabric2_core&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;san_fabric2_edge_1&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;10.144.20.61&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;admin&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;JuNxJFSAS!&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;san_fabric2_edge_1&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;san_fabric2_edge_2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;10.144.20.62&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;admin&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;JuNxJFSAS!&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;san_fabric2_edge_2&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ftp_host&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;10.144.20.45&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ftp_username&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;brocade_cfg&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ftp_password&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;JuNxJPFC!&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;switches&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;san_fabric1_core&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;san_fabric2_core&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;san_fabric1_edge_1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;san_fabric1_edge_2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;san_fabric2_edge_1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;san_fabric2_edge_2&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;debug&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="n"&gt;Dump_Log&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;dump.log&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Output_Log&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;out.log&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Input_Log&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;in.log&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;telnet&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;new&lt;/span&gt; &lt;span class="n"&gt;Net&lt;/span&gt;&lt;span class="p"&gt;::&lt;/span&gt;&lt;span class="n"&gt;Telnet&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Timeout&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="mi"&gt;240&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Errmode&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;die&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Prompt&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;/.*:admin&amp;gt; $/is&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;debug&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="c1"&gt;#switches + 1; $i++) {&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;telnet&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;switches&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;telnet&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;login&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;switches&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;switches&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ARGV&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="n"&gt;eq&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;statsclear&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;telnet&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;cmd&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;statsclear&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="n"&gt;elsif&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ARGV&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="n"&gt;eq&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;configupload&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Check the FabricOS version, as Brocade decided to break compatiblity with&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# earlier firmware versions w/ v6 (at least configupload)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;telnet&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;cmd&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;firmwareshow&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;version&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;telnet&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;lastline&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;version&lt;/span&gt; &lt;span class="o"&gt;=~&lt;/span&gt; &lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="o"&gt;+|&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="o"&gt;+$//&lt;/span&gt;&lt;span class="n"&gt;g&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;version&lt;/span&gt; &lt;span class="o"&gt;=~&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;v6&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;telnet&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;cmd&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;configupload -all -ftp &amp;#34;&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ftp_host&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;,&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ftp_username&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;,&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;switches&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;cfg&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;,&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ftp_password&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;telnet&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;cmd&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;configupload &amp;#34;&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ftp_host&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;,&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ftp_username&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;,&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;switches&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;cfg&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;,&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ftp_password&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="n"&gt;elsif&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ARGV&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="n"&gt;eq&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;supportsave&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;telnet&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;cmd&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;supportsave -n -u &amp;#34;&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ftp_username&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34; -p &amp;#34;&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ftp_password&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34; -h &amp;#34;&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ftp_host&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34; -d &amp;#34;&lt;/span&gt;&lt;span class="n"&gt;supportsave&lt;/span&gt;&lt;span class="o"&gt;/$&lt;/span&gt;&lt;span class="n"&gt;switches&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34; -l ftp&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;telnet&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;close&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Monitoring Brocade FC switches with SNMP/Nagios</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_monitoring-brocade-fc-switches-with-snmp-nagios/</link><pubDate>Fri, 08 Aug 2014 08:39:27 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2862</guid><description>&lt;p&gt;I looked into the mess a bit more, and as it turns out, &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-08_monitoring-brocade-fc-switches-with-nagios" title="Monitoring Brocade FC switches with Nagios"&gt;the weird crap I was talking about&lt;/a&gt; only happens if you have a port with LossofSynchronization, LossofSignal or LinkFailures value with the base of ten (i.e. 10, 101 or 10.000).&lt;/p&gt;
&lt;p&gt;Additionally, the OID&amp;rsquo;s for those three failure elements seem to be dependent on the firmware version, as with 6.3.x they appear as different OIDs. So I may need to introduce another command-line switch, which selects the firmware version and depending on that, the OID.&lt;/p&gt;</description></item><item><title>Monitoring Brocade FC switches with Nagios</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_monitoring-brocade-fc-switches-with-nagios/</link><pubDate>Fri, 08 Aug 2014 08:37:46 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4398</guid><description>&lt;p&gt;The last four days I spent looking for ways on monitoring a Brocade Fibrechannel switch (in my case IBM 2145 B32/F40). The first thing I came up with, is using SNMP. As it was already configured for the previous monitoring with Munin, getting information should be quite easy. After looking through Google for a bit, there is already &lt;a href="http://exchange.nagios.org/directory/Plugins/Hardware/Storage-Systems/SAN-and-NAS/IBM-Brocade/check_snmp_FCports_brocade-2Epl/details"&gt;one script&lt;/a&gt; that worked for me.&lt;/p&gt;
&lt;p&gt;Only trouble I had with that script, is that it crams every single port into one result. As I wanted something, that a) could watch a single port and b) return performance data, I went ahead an used the script to do a basic rewrite. But after a short while, I grew antsy and started writing a script from scratch, using the OIDs I got from that script and a &lt;a href="http://forums.cacti.net//files/brocade_interfaces.xml"&gt;Cacti template&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Windows Server 2003 SP1, WSUS and Security Updates</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_windows-server-2003-sp1-wsus-and-security-updates/</link><pubDate>Fri, 08 Aug 2014 08:35:23 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2946</guid><description>&lt;p&gt;Recently, we found some systems (sadly, customer systems) that  weren&amp;rsquo;t getting any Security Updates anymore. Much more sadly, them is running Windows Server 2003, and as you know Security Updates are pretty important for Windows Systems.&lt;/p&gt;
&lt;p&gt;At the time of finding this, I had no clue as to why the were not getting any updates. At first we thought it had something to do with the WSUS server, so I upgraded the WSUS 3.0 SP1 to SP2. Since that didn&amp;rsquo;t solve nothing, I went searching for a internal VM, that showed the same symptoms and I quickly found one.&lt;/p&gt;</description></item><item><title>VBscript: Query remote OS and SP info</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_vbscript-query-remote-os-and-sp-info/</link><pubDate>Fri, 08 Aug 2014 08:34:49 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2953</guid><description>&lt;p&gt;As I wrote &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-08_windows-server-2003-sp1-wsus-and-security-updates" title="Windows Server 2003 SP1, WSUS and Security Updates"&gt;on Thursday&lt;/a&gt;, I am battling with Windows Server 2003. Now I got a list out of our change management database, which sadly ain&amp;rsquo;t that accurate. So in order to get reliable information about the target systems (in order to do some accurate planning), I ended up writing a small vbscript which simply takes the hostname on the command line (cscript //NoLogo win_sp_level.vbs 10.0.0.5) and returns a csv-like element.&lt;/p&gt;</description></item><item><title>Reset Master Boot Record (MBR)</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_reset-master-boot-record-mbr/</link><pubDate>Fri, 08 Aug 2014 08:34:04 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=3044</guid><description>&lt;p&gt;Since I&amp;rsquo;ve been playing with my AutoYAST setup for the last few days, working out the kinks (for example SLES10 not being able to install into the MBR), I needed a way to zap the MBR (as in remove grub to see whether or not the installation would install a new loader). So after quickly googling, I found &lt;a href="http://linuxgazette.net/issue63/okopnik.html"&gt;this&lt;/a&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; dd if=/dev/zero of=/dev/hda bs=512 count=1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;That actually does the trick. The loader as well as the partition table are gone after wards!&lt;/p&gt;</description></item><item><title>Enabling multipathing in autoyast installations</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_enabling-multipathing-in-autoyast-installations/</link><pubDate>Fri, 08 Aug 2014 08:30:46 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4190</guid><description>&lt;p&gt;As I mentioned before, we&amp;rsquo;re starting to utilize Boot-from-SAN as a means to strip the blades of their local disk. As the title says, after trying a manual installation of SLES 11.1 via CD/HTTP I wanted to automate the process, in order to get a reproducible, consistent installation method. As you might have figured, AutoYaST doesn&amp;rsquo;t have any built in support for configuring multipathing (hey, that&amp;rsquo;s what &lt;a href="http://www.novell.com/support/viewContent.do?externalId=7009981&amp;amp;sliceId=1"&gt;Novell says here&lt;/a&gt;). Now, they also provide a &lt;a href="http://www.novell.com/support/viewContent.do?externalId=7009981&amp;amp;sliceId=1"&gt;comprehensive how-to&lt;/a&gt; on how to &amp;ldquo;add&amp;rdquo; this to your AutoYaST, using a DUD (or &lt;strong&gt;D&lt;/strong&gt; river &lt;strong&gt;U&lt;/strong&gt; pdate &lt;strong&gt;D&lt;/strong&gt; isk).&lt;/p&gt;</description></item><item><title>NetApp FAS/Data ONTAP public key authentification with CIFS/NFS license</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_netapp-fas-data-ontap-public-key-authentification-with-cifs-nfs-license/</link><pubDate>Fri, 08 Aug 2014 08:29:59 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4220</guid><description>&lt;p&gt;Well as the title says, sadly we bought our FAS6210 without CIFS/NFS license. Thus, in order to create the folder structure/add the &lt;em&gt;authorized_keys&lt;/em&gt; file, you&amp;rsquo;ll have to work for your money a little bit.&lt;/p&gt;
&lt;p&gt;First, you need to run &lt;em&gt;cifs setup&lt;/em&gt; / &lt;em&gt;cifs passwd&lt;/em&gt; somewhere. I did it on our Data ONTAP simulator, which comes in handy for things like that.&lt;/p&gt;
&lt;p&gt;You&amp;rsquo;ll get a cryptic looking password (no clue which format that is), looking like this: _OnWddr)xa.&lt;/p&gt;</description></item><item><title>IBM SVC: Copy VDisk Host-Mapping from one host to another</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_ibm-svc-copy-vdisk-host-mapping-from-one-host-to-another/</link><pubDate>Fri, 08 Aug 2014 08:28:32 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2591</guid><description>&lt;p&gt;As I wrote &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-08_loooong-time" title="Loooong time"&gt;a few days ago&lt;/a&gt;, I started a new job. One of my first (voluntary) tasks was writing a shell script which would copy a VDisk Host-Mapping from a given host to another. This is useful, if you do have a lot of ESX servers for example and a few roaming ones.&lt;/p&gt;
&lt;p&gt;Now, if say, you need to do some ESX-Updates and you would like to add the roaming one to a given farm, you would be in a dark an deary place. You would be required to either click through the GUI a dozen times (in my case, it might have needed ~200 clicks) or type svcinfo lshostvdiskmap &lt;!-- raw HTML omitted --&gt; and svctask mkhostvdiskmap &lt;!-- raw HTML omitted --&gt; -force (these are incomplete command references) a few times.&lt;/p&gt;</description></item><item><title>NetApp - Copy LUN mappings</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_netapp-copy-lun-mappings/</link><pubDate>Fri, 08 Aug 2014 08:27:40 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4310</guid><description>&lt;p&gt;Well, today I had another idea (basically like the one I wrote for &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-08_ibm-svc-copy-vdisk-host-mapping-from-one-host-to-another" title="IBM SVC: Copy VDisk Host-Mapping from one host to another"&gt;SVC&amp;rsquo;s VDisk mappings&lt;/a&gt; a while back) for a script:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-25"&gt;&lt;a class="lnlinks" href="#hl-0-25"&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-26"&gt;&lt;a class="lnlinks" href="#hl-0-26"&gt;26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-27"&gt;&lt;a class="lnlinks" href="#hl-0-27"&gt;27&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-28"&gt;&lt;a class="lnlinks" href="#hl-0-28"&gt;28&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-29"&gt;&lt;a class="lnlinks" href="#hl-0-29"&gt;29&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-30"&gt;&lt;a class="lnlinks" href="#hl-0-30"&gt;30&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-31"&gt;&lt;a class="lnlinks" href="#hl-0-31"&gt;31&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-32"&gt;&lt;a class="lnlinks" href="#hl-0-32"&gt;32&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-33"&gt;&lt;a class="lnlinks" href="#hl-0-33"&gt;33&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-34"&gt;&lt;a class="lnlinks" href="#hl-0-34"&gt;34&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-35"&gt;&lt;a class="lnlinks" href="#hl-0-35"&gt;35&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-36"&gt;&lt;a class="lnlinks" href="#hl-0-36"&gt;36&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-37"&gt;&lt;a class="lnlinks" href="#hl-0-37"&gt;37&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-38"&gt;&lt;a class="lnlinks" href="#hl-0-38"&gt;38&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-39"&gt;&lt;a class="lnlinks" href="#hl-0-39"&gt;39&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-40"&gt;&lt;a class="lnlinks" href="#hl-0-40"&gt;40&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-41"&gt;&lt;a class="lnlinks" href="#hl-0-41"&gt;41&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-42"&gt;&lt;a class="lnlinks" href="#hl-0-42"&gt;42&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-43"&gt;&lt;a class="lnlinks" href="#hl-0-43"&gt;43&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-44"&gt;&lt;a class="lnlinks" href="#hl-0-44"&gt;44&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;KEY_FILE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;/root/.ssh/netapp.dsa&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;SSH_OPTS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;/root/.ssh/netapp-ssh_config&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="nv"&gt;$#&lt;/span&gt; -ne &lt;span class="m"&gt;3&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;fas-copy-lunmap: FAS_CONTROLLER SOURCE_IGROUP TARGET_IGROUP&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Copy the LUN map from one igroup to another, ie for ESX reinstallation&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; Usage:&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; - FAS_CONTROLLER: Hostname/IP-adress of the DATA ONTAP controller&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; - SOURCE_IGROUP: igroup that is used as a reference for the copy process&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; - TARGET_IGROUP: igroup that is actually modified&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;exit&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;FAS_CTRL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;SOURCE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;TARGET&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ssh_fas&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# $@: commands for Data ONTAP&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;COMMANDS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$@&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; /usr/bin/ssh -i &lt;span class="nv"&gt;$KEY_FILE&lt;/span&gt; -l root -F &lt;span class="nv"&gt;$SSH_OPTS&lt;/span&gt; &lt;span class="nv"&gt;$COMMANDS&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#set -x&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Get the lun list.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; lun in &lt;span class="k"&gt;$(&lt;/span&gt; ssh_fas &lt;span class="nv"&gt;$FAS_CTRL&lt;/span&gt; lun show -g &lt;span class="nv"&gt;$SOURCE&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;{ print $1 }&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sort -u &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Get the LUN number its mapped&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;LUN_ID&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; ssh_fas &lt;span class="nv"&gt;$FAS_CTRL&lt;/span&gt; lun show -m &lt;span class="nv"&gt;$lun&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="s2"&gt;&amp;#34;^/vol&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;{ print $3 }&amp;#39;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# If the LUN id is 0, skip otherwise we would copy the boot LUN&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$LUN_ID&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; !&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;0&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Actually map the lun to our host&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Mapping &lt;/span&gt;&lt;span class="nv"&gt;$lun&lt;/span&gt;&lt;span class="s2"&gt; to &lt;/span&gt;&lt;span class="nv"&gt;$TARGET&lt;/span&gt;&lt;span class="s2"&gt; as LUN_ID &lt;/span&gt;&lt;span class="nv"&gt;$LUN_ID&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ssh_fas &lt;span class="nv"&gt;$FAS_CTRL&lt;/span&gt; lun map &lt;span class="nv"&gt;$lun&lt;/span&gt; &lt;span class="nv"&gt;$TARGET&lt;/span&gt; &lt;span class="nv"&gt;$LUN_ID&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#set +x&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;I&amp;rsquo;ll post the counterpart of the script (to remove the LUNs) in a second post later on.&lt;/p&gt;</description></item><item><title>Installserver: Regenerate PXE base menu</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_installserver-regenerate-pxe-base-menu/</link><pubDate>Fri, 08 Aug 2014 08:27:12 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4322</guid><description>&lt;p&gt;Well, here&amp;rsquo;s the promised script to regenerate the main PXE menu based on the menu entries created by register-suse and register-vmware.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-25"&gt;&lt;a class="lnlinks" href="#hl-0-25"&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-26"&gt;&lt;a class="lnlinks" href="#hl-0-26"&gt;26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-27"&gt;&lt;a class="lnlinks" href="#hl-0-27"&gt;27&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-28"&gt;&lt;a class="lnlinks" href="#hl-0-28"&gt;28&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-29"&gt;&lt;a class="lnlinks" href="#hl-0-29"&gt;29&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-30"&gt;&lt;a class="lnlinks" href="#hl-0-30"&gt;30&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-31"&gt;&lt;a class="lnlinks" href="#hl-0-31"&gt;31&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-32"&gt;&lt;a class="lnlinks" href="#hl-0-32"&gt;32&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-33"&gt;&lt;a class="lnlinks" href="#hl-0-33"&gt;33&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-34"&gt;&lt;a class="lnlinks" href="#hl-0-34"&gt;34&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-35"&gt;&lt;a class="lnlinks" href="#hl-0-35"&gt;35&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-36"&gt;&lt;a class="lnlinks" href="#hl-0-36"&gt;36&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-37"&gt;&lt;a class="lnlinks" href="#hl-0-37"&gt;37&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-38"&gt;&lt;a class="lnlinks" href="#hl-0-38"&gt;38&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-39"&gt;&lt;a class="lnlinks" href="#hl-0-39"&gt;39&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-40"&gt;&lt;a class="lnlinks" href="#hl-0-40"&gt;40&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-41"&gt;&lt;a class="lnlinks" href="#hl-0-41"&gt;41&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-42"&gt;&lt;a class="lnlinks" href="#hl-0-42"&gt;42&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-43"&gt;&lt;a class="lnlinks" href="#hl-0-43"&gt;43&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-44"&gt;&lt;a class="lnlinks" href="#hl-0-44"&gt;44&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-45"&gt;&lt;a class="lnlinks" href="#hl-0-45"&gt;45&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-46"&gt;&lt;a class="lnlinks" href="#hl-0-46"&gt;46&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-47"&gt;&lt;a class="lnlinks" href="#hl-0-47"&gt;47&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-48"&gt;&lt;a class="lnlinks" href="#hl-0-48"&gt;48&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-49"&gt;&lt;a class="lnlinks" href="#hl-0-49"&gt;49&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-50"&gt;&lt;a class="lnlinks" href="#hl-0-50"&gt;50&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-51"&gt;&lt;a class="lnlinks" href="#hl-0-51"&gt;51&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-52"&gt;&lt;a class="lnlinks" href="#hl-0-52"&gt;52&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;TFTP_DIR&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/srv/tftpboot/pxelinux.cfg
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkdir -p &lt;span class="nv"&gt;$TFTP_DIR&lt;/span&gt; &lt;span class="p"&gt;&amp;amp;&lt;/span&gt;&amp;gt;/dev/null
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Iterate through the pxelinux.cfg directory and recreate the index menues.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; dir in &lt;span class="k"&gt;$(&lt;/span&gt; find &lt;span class="nv"&gt;$TFTP_DIR&lt;/span&gt; -mindepth &lt;span class="m"&gt;1&lt;/span&gt; -maxdepth &lt;span class="m"&gt;1&lt;/span&gt; -type d &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Generating summary menu for: &lt;/span&gt;&lt;span class="nv"&gt;$dir&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;count&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; cat &amp;gt; &lt;span class="nv"&gt;$dir&lt;/span&gt;.menu &lt;span class="s"&gt;&amp;lt;&amp;lt; EOF
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; MENU TITLE Linux Installationservices
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; MENU BACKGROUND addons/background.png
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; MENU COLOR screen 37;40 #80ffffff #00000000
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; MENU COLOR border 0 #ffffffff #ee000000 std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; MENU COLOR title 0 #ffffffff #ee000000 std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; MENU COLOR unsel 0 #ffffffff #ee000000 std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; MENU COLOR sel 0 #ffffffff #85000000 std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; MENU COLOR scrollbar 30;44 #40000000 #00000000
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; MENU COLOR tabmsg 0 #ee000000 #ffffffff std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; MENU COLOR cmdmark 0 #ff00ff00 #00000000 std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; MENU COLOR cmdline 0 #ee000000 #ffffffff std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; MENU COLOR timeout_msg 0 #ee000000 #ffffffff std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; MENU COLOR timeout 0 #ee000000 #ffffffff std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; MENU COLOR disabled 0 #ffffffff #ee000000 std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; MENU COLOR pwdheader 0 #ff000000 #99ffffff rev
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; MENU COLOR pwdborder 0 #ff000000 #99ffffff rev
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; MENU COLOR pwdentry 0 #ff000000 #99ffffff rev
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; MENU COLOR hotkey 0 #ff00ff00 #ee000000 std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; MENU COLOR hotsel 0 #ffffffff #85000000 std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; file in &lt;span class="k"&gt;$(&lt;/span&gt; find &lt;span class="nv"&gt;$dir&lt;/span&gt; -mindepth &lt;span class="m"&gt;1&lt;/span&gt; -name &lt;span class="s2"&gt;&amp;#34;*.menu&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sort -r &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;FILE_LABEL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; grep ^#LABEL &lt;span class="nv"&gt;$file&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d -f2- &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;FILE_OSARCH&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; grep ^#OSARCH &lt;span class="nv"&gt;$file&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d -f2- &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; cat &amp;gt;&amp;gt; &lt;span class="nv"&gt;$dir&lt;/span&gt;.menu &lt;span class="s"&gt;&amp;lt;&amp;lt; EOF
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; LABEL $count
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; MENU LABEL $FILE_LABEL ($FILE_OSARCH)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; KERNEL addons/vesamenu.c32
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; APPEND pxelinux.cfg/${dir##*/}/${file##*/}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;count&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$((&lt;/span&gt; &lt;span class="nv"&gt;$count&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="k"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-1-1"&gt;&lt;a class="lnlinks" href="#hl-1-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-2"&gt;&lt;a class="lnlinks" href="#hl-1-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-3"&gt;&lt;a class="lnlinks" href="#hl-1-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-4"&gt;&lt;a class="lnlinks" href="#hl-1-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-5"&gt;&lt;a class="lnlinks" href="#hl-1-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-6"&gt;&lt;a class="lnlinks" href="#hl-1-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-7"&gt;&lt;a class="lnlinks" href="#hl-1-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-8"&gt;&lt;a class="lnlinks" href="#hl-1-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-9"&gt;&lt;a class="lnlinks" href="#hl-1-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-10"&gt;&lt;a class="lnlinks" href="#hl-1-10"&gt; 10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-11"&gt;&lt;a class="lnlinks" href="#hl-1-11"&gt; 11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-12"&gt;&lt;a class="lnlinks" href="#hl-1-12"&gt; 12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-13"&gt;&lt;a class="lnlinks" href="#hl-1-13"&gt; 13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-14"&gt;&lt;a class="lnlinks" href="#hl-1-14"&gt; 14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-15"&gt;&lt;a class="lnlinks" href="#hl-1-15"&gt; 15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-16"&gt;&lt;a class="lnlinks" href="#hl-1-16"&gt; 16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-17"&gt;&lt;a class="lnlinks" href="#hl-1-17"&gt; 17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-18"&gt;&lt;a class="lnlinks" href="#hl-1-18"&gt; 18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-19"&gt;&lt;a class="lnlinks" href="#hl-1-19"&gt; 19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-20"&gt;&lt;a class="lnlinks" href="#hl-1-20"&gt; 20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-21"&gt;&lt;a class="lnlinks" href="#hl-1-21"&gt; 21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-22"&gt;&lt;a class="lnlinks" href="#hl-1-22"&gt; 22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-23"&gt;&lt;a class="lnlinks" href="#hl-1-23"&gt; 23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-24"&gt;&lt;a class="lnlinks" href="#hl-1-24"&gt; 24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-25"&gt;&lt;a class="lnlinks" href="#hl-1-25"&gt; 25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-26"&gt;&lt;a class="lnlinks" href="#hl-1-26"&gt; 26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-27"&gt;&lt;a class="lnlinks" href="#hl-1-27"&gt; 27&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-28"&gt;&lt;a class="lnlinks" href="#hl-1-28"&gt; 28&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-29"&gt;&lt;a class="lnlinks" href="#hl-1-29"&gt; 29&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-30"&gt;&lt;a class="lnlinks" href="#hl-1-30"&gt; 30&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-31"&gt;&lt;a class="lnlinks" href="#hl-1-31"&gt; 31&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-32"&gt;&lt;a class="lnlinks" href="#hl-1-32"&gt; 32&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-33"&gt;&lt;a class="lnlinks" href="#hl-1-33"&gt; 33&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-34"&gt;&lt;a class="lnlinks" href="#hl-1-34"&gt; 34&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-35"&gt;&lt;a class="lnlinks" href="#hl-1-35"&gt; 35&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-36"&gt;&lt;a class="lnlinks" href="#hl-1-36"&gt; 36&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-37"&gt;&lt;a class="lnlinks" href="#hl-1-37"&gt; 37&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-38"&gt;&lt;a class="lnlinks" href="#hl-1-38"&gt; 38&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-39"&gt;&lt;a class="lnlinks" href="#hl-1-39"&gt; 39&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-40"&gt;&lt;a class="lnlinks" href="#hl-1-40"&gt; 40&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-41"&gt;&lt;a class="lnlinks" href="#hl-1-41"&gt; 41&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-42"&gt;&lt;a class="lnlinks" href="#hl-1-42"&gt; 42&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-43"&gt;&lt;a class="lnlinks" href="#hl-1-43"&gt; 43&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-44"&gt;&lt;a class="lnlinks" href="#hl-1-44"&gt; 44&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-45"&gt;&lt;a class="lnlinks" href="#hl-1-45"&gt; 45&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-46"&gt;&lt;a class="lnlinks" href="#hl-1-46"&gt; 46&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-47"&gt;&lt;a class="lnlinks" href="#hl-1-47"&gt; 47&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-48"&gt;&lt;a class="lnlinks" href="#hl-1-48"&gt; 48&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-49"&gt;&lt;a class="lnlinks" href="#hl-1-49"&gt; 49&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-50"&gt;&lt;a class="lnlinks" href="#hl-1-50"&gt; 50&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-51"&gt;&lt;a class="lnlinks" href="#hl-1-51"&gt; 51&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-52"&gt;&lt;a class="lnlinks" href="#hl-1-52"&gt; 52&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-53"&gt;&lt;a class="lnlinks" href="#hl-1-53"&gt; 53&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-54"&gt;&lt;a class="lnlinks" href="#hl-1-54"&gt; 54&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-55"&gt;&lt;a class="lnlinks" href="#hl-1-55"&gt; 55&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-56"&gt;&lt;a class="lnlinks" href="#hl-1-56"&gt; 56&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-57"&gt;&lt;a class="lnlinks" href="#hl-1-57"&gt; 57&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-58"&gt;&lt;a class="lnlinks" href="#hl-1-58"&gt; 58&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-59"&gt;&lt;a class="lnlinks" href="#hl-1-59"&gt; 59&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-60"&gt;&lt;a class="lnlinks" href="#hl-1-60"&gt; 60&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-61"&gt;&lt;a class="lnlinks" href="#hl-1-61"&gt; 61&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-62"&gt;&lt;a class="lnlinks" href="#hl-1-62"&gt; 62&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-63"&gt;&lt;a class="lnlinks" href="#hl-1-63"&gt; 63&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-64"&gt;&lt;a class="lnlinks" href="#hl-1-64"&gt; 64&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-65"&gt;&lt;a class="lnlinks" href="#hl-1-65"&gt; 65&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-66"&gt;&lt;a class="lnlinks" href="#hl-1-66"&gt; 66&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-67"&gt;&lt;a class="lnlinks" href="#hl-1-67"&gt; 67&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-68"&gt;&lt;a class="lnlinks" href="#hl-1-68"&gt; 68&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-69"&gt;&lt;a class="lnlinks" href="#hl-1-69"&gt; 69&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-70"&gt;&lt;a class="lnlinks" href="#hl-1-70"&gt; 70&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-71"&gt;&lt;a class="lnlinks" href="#hl-1-71"&gt; 71&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-72"&gt;&lt;a class="lnlinks" href="#hl-1-72"&gt; 72&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-73"&gt;&lt;a class="lnlinks" href="#hl-1-73"&gt; 73&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-74"&gt;&lt;a class="lnlinks" href="#hl-1-74"&gt; 74&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-75"&gt;&lt;a class="lnlinks" href="#hl-1-75"&gt; 75&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-76"&gt;&lt;a class="lnlinks" href="#hl-1-76"&gt; 76&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-77"&gt;&lt;a class="lnlinks" href="#hl-1-77"&gt; 77&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-78"&gt;&lt;a class="lnlinks" href="#hl-1-78"&gt; 78&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-79"&gt;&lt;a class="lnlinks" href="#hl-1-79"&gt; 79&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-80"&gt;&lt;a class="lnlinks" href="#hl-1-80"&gt; 80&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-81"&gt;&lt;a class="lnlinks" href="#hl-1-81"&gt; 81&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-82"&gt;&lt;a class="lnlinks" href="#hl-1-82"&gt; 82&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-83"&gt;&lt;a class="lnlinks" href="#hl-1-83"&gt; 83&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-84"&gt;&lt;a class="lnlinks" href="#hl-1-84"&gt; 84&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-85"&gt;&lt;a class="lnlinks" href="#hl-1-85"&gt; 85&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-86"&gt;&lt;a class="lnlinks" href="#hl-1-86"&gt; 86&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-87"&gt;&lt;a class="lnlinks" href="#hl-1-87"&gt; 87&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-88"&gt;&lt;a class="lnlinks" href="#hl-1-88"&gt; 88&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-89"&gt;&lt;a class="lnlinks" href="#hl-1-89"&gt; 89&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-90"&gt;&lt;a class="lnlinks" href="#hl-1-90"&gt; 90&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-91"&gt;&lt;a class="lnlinks" href="#hl-1-91"&gt; 91&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-92"&gt;&lt;a class="lnlinks" href="#hl-1-92"&gt; 92&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-93"&gt;&lt;a class="lnlinks" href="#hl-1-93"&gt; 93&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-94"&gt;&lt;a class="lnlinks" href="#hl-1-94"&gt; 94&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-95"&gt;&lt;a class="lnlinks" href="#hl-1-95"&gt; 95&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-96"&gt;&lt;a class="lnlinks" href="#hl-1-96"&gt; 96&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-97"&gt;&lt;a class="lnlinks" href="#hl-1-97"&gt; 97&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-98"&gt;&lt;a class="lnlinks" href="#hl-1-98"&gt; 98&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-99"&gt;&lt;a class="lnlinks" href="#hl-1-99"&gt; 99&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-100"&gt;&lt;a class="lnlinks" href="#hl-1-100"&gt;100&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-101"&gt;&lt;a class="lnlinks" href="#hl-1-101"&gt;101&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-102"&gt;&lt;a class="lnlinks" href="#hl-1-102"&gt;102&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-103"&gt;&lt;a class="lnlinks" href="#hl-1-103"&gt;103&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-104"&gt;&lt;a class="lnlinks" href="#hl-1-104"&gt;104&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-105"&gt;&lt;a class="lnlinks" href="#hl-1-105"&gt;105&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-106"&gt;&lt;a class="lnlinks" href="#hl-1-106"&gt;106&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-107"&gt;&lt;a class="lnlinks" href="#hl-1-107"&gt;107&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-108"&gt;&lt;a class="lnlinks" href="#hl-1-108"&gt;108&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-109"&gt;&lt;a class="lnlinks" href="#hl-1-109"&gt;109&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-110"&gt;&lt;a class="lnlinks" href="#hl-1-110"&gt;110&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-111"&gt;&lt;a class="lnlinks" href="#hl-1-111"&gt;111&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-112"&gt;&lt;a class="lnlinks" href="#hl-1-112"&gt;112&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-113"&gt;&lt;a class="lnlinks" href="#hl-1-113"&gt;113&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-114"&gt;&lt;a class="lnlinks" href="#hl-1-114"&gt;114&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-115"&gt;&lt;a class="lnlinks" href="#hl-1-115"&gt;115&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-116"&gt;&lt;a class="lnlinks" href="#hl-1-116"&gt;116&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-117"&gt;&lt;a class="lnlinks" href="#hl-1-117"&gt;117&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-118"&gt;&lt;a class="lnlinks" href="#hl-1-118"&gt;118&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-119"&gt;&lt;a class="lnlinks" href="#hl-1-119"&gt;119&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-120"&gt;&lt;a class="lnlinks" href="#hl-1-120"&gt;120&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-121"&gt;&lt;a class="lnlinks" href="#hl-1-121"&gt;121&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-122"&gt;&lt;a class="lnlinks" href="#hl-1-122"&gt;122&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-123"&gt;&lt;a class="lnlinks" href="#hl-1-123"&gt;123&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-124"&gt;&lt;a class="lnlinks" href="#hl-1-124"&gt;124&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-125"&gt;&lt;a class="lnlinks" href="#hl-1-125"&gt;125&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-126"&gt;&lt;a class="lnlinks" href="#hl-1-126"&gt;126&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-127"&gt;&lt;a class="lnlinks" href="#hl-1-127"&gt;127&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-128"&gt;&lt;a class="lnlinks" href="#hl-1-128"&gt;128&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-129"&gt;&lt;a class="lnlinks" href="#hl-1-129"&gt;129&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-130"&gt;&lt;a class="lnlinks" href="#hl-1-130"&gt;130&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-131"&gt;&lt;a class="lnlinks" href="#hl-1-131"&gt;131&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-132"&gt;&lt;a class="lnlinks" href="#hl-1-132"&gt;132&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-133"&gt;&lt;a class="lnlinks" href="#hl-1-133"&gt;133&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-134"&gt;&lt;a class="lnlinks" href="#hl-1-134"&gt;134&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-135"&gt;&lt;a class="lnlinks" href="#hl-1-135"&gt;135&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-136"&gt;&lt;a class="lnlinks" href="#hl-1-136"&gt;136&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-137"&gt;&lt;a class="lnlinks" href="#hl-1-137"&gt;137&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-138"&gt;&lt;a class="lnlinks" href="#hl-1-138"&gt;138&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-139"&gt;&lt;a class="lnlinks" href="#hl-1-139"&gt;139&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-140"&gt;&lt;a class="lnlinks" href="#hl-1-140"&gt;140&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-141"&gt;&lt;a class="lnlinks" href="#hl-1-141"&gt;141&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-142"&gt;&lt;a class="lnlinks" href="#hl-1-142"&gt;142&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-143"&gt;&lt;a class="lnlinks" href="#hl-1-143"&gt;143&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-144"&gt;&lt;a class="lnlinks" href="#hl-1-144"&gt;144&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-145"&gt;&lt;a class="lnlinks" href="#hl-1-145"&gt;145&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-146"&gt;&lt;a class="lnlinks" href="#hl-1-146"&gt;146&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-147"&gt;&lt;a class="lnlinks" href="#hl-1-147"&gt;147&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-148"&gt;&lt;a class="lnlinks" href="#hl-1-148"&gt;148&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-149"&gt;&lt;a class="lnlinks" href="#hl-1-149"&gt;149&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-150"&gt;&lt;a class="lnlinks" href="#hl-1-150"&gt;150&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-151"&gt;&lt;a class="lnlinks" href="#hl-1-151"&gt;151&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-152"&gt;&lt;a class="lnlinks" href="#hl-1-152"&gt;152&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-153"&gt;&lt;a class="lnlinks" href="#hl-1-153"&gt;153&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-154"&gt;&lt;a class="lnlinks" href="#hl-1-154"&gt;154&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-155"&gt;&lt;a class="lnlinks" href="#hl-1-155"&gt;155&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-156"&gt;&lt;a class="lnlinks" href="#hl-1-156"&gt;156&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-157"&gt;&lt;a class="lnlinks" href="#hl-1-157"&gt;157&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-158"&gt;&lt;a class="lnlinks" href="#hl-1-158"&gt;158&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-159"&gt;&lt;a class="lnlinks" href="#hl-1-159"&gt;159&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-160"&gt;&lt;a class="lnlinks" href="#hl-1-160"&gt;160&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-161"&gt;&lt;a class="lnlinks" href="#hl-1-161"&gt;161&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-162"&gt;&lt;a class="lnlinks" href="#hl-1-162"&gt;162&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-163"&gt;&lt;a class="lnlinks" href="#hl-1-163"&gt;163&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-164"&gt;&lt;a class="lnlinks" href="#hl-1-164"&gt;164&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-165"&gt;&lt;a class="lnlinks" href="#hl-1-165"&gt;165&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-166"&gt;&lt;a class="lnlinks" href="#hl-1-166"&gt;166&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-167"&gt;&lt;a class="lnlinks" href="#hl-1-167"&gt;167&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-168"&gt;&lt;a class="lnlinks" href="#hl-1-168"&gt;168&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-169"&gt;&lt;a class="lnlinks" href="#hl-1-169"&gt;169&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-170"&gt;&lt;a class="lnlinks" href="#hl-1-170"&gt;170&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-171"&gt;&lt;a class="lnlinks" href="#hl-1-171"&gt;171&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-172"&gt;&lt;a class="lnlinks" href="#hl-1-172"&gt;172&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-173"&gt;&lt;a class="lnlinks" href="#hl-1-173"&gt;173&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-174"&gt;&lt;a class="lnlinks" href="#hl-1-174"&gt;174&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-175"&gt;&lt;a class="lnlinks" href="#hl-1-175"&gt;175&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-176"&gt;&lt;a class="lnlinks" href="#hl-1-176"&gt;176&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-177"&gt;&lt;a class="lnlinks" href="#hl-1-177"&gt;177&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-178"&gt;&lt;a class="lnlinks" href="#hl-1-178"&gt;178&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-179"&gt;&lt;a class="lnlinks" href="#hl-1-179"&gt;179&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-180"&gt;&lt;a class="lnlinks" href="#hl-1-180"&gt;180&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-181"&gt;&lt;a class="lnlinks" href="#hl-1-181"&gt;181&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-182"&gt;&lt;a class="lnlinks" href="#hl-1-182"&gt;182&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-183"&gt;&lt;a class="lnlinks" href="#hl-1-183"&gt;183&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-184"&gt;&lt;a class="lnlinks" href="#hl-1-184"&gt;184&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-185"&gt;&lt;a class="lnlinks" href="#hl-1-185"&gt;185&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-186"&gt;&lt;a class="lnlinks" href="#hl-1-186"&gt;186&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-187"&gt;&lt;a class="lnlinks" href="#hl-1-187"&gt;187&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-188"&gt;&lt;a class="lnlinks" href="#hl-1-188"&gt;188&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-189"&gt;&lt;a class="lnlinks" href="#hl-1-189"&gt;189&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-190"&gt;&lt;a class="lnlinks" href="#hl-1-190"&gt;190&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-191"&gt;&lt;a class="lnlinks" href="#hl-1-191"&gt;191&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-192"&gt;&lt;a class="lnlinks" href="#hl-1-192"&gt;192&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-193"&gt;&lt;a class="lnlinks" href="#hl-1-193"&gt;193&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-194"&gt;&lt;a class="lnlinks" href="#hl-1-194"&gt;194&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-195"&gt;&lt;a class="lnlinks" href="#hl-1-195"&gt;195&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-196"&gt;&lt;a class="lnlinks" href="#hl-1-196"&gt;196&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-197"&gt;&lt;a class="lnlinks" href="#hl-1-197"&gt;197&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-198"&gt;&lt;a class="lnlinks" href="#hl-1-198"&gt;198&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-199"&gt;&lt;a class="lnlinks" href="#hl-1-199"&gt;199&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-200"&gt;&lt;a class="lnlinks" href="#hl-1-200"&gt;200&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-201"&gt;&lt;a class="lnlinks" href="#hl-1-201"&gt;201&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-202"&gt;&lt;a class="lnlinks" href="#hl-1-202"&gt;202&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-203"&gt;&lt;a class="lnlinks" href="#hl-1-203"&gt;203&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-204"&gt;&lt;a class="lnlinks" href="#hl-1-204"&gt;204&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-205"&gt;&lt;a class="lnlinks" href="#hl-1-205"&gt;205&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-206"&gt;&lt;a class="lnlinks" href="#hl-1-206"&gt;206&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-207"&gt;&lt;a class="lnlinks" href="#hl-1-207"&gt;207&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-208"&gt;&lt;a class="lnlinks" href="#hl-1-208"&gt;208&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-209"&gt;&lt;a class="lnlinks" href="#hl-1-209"&gt;209&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-210"&gt;&lt;a class="lnlinks" href="#hl-1-210"&gt;210&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-211"&gt;&lt;a class="lnlinks" href="#hl-1-211"&gt;211&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-212"&gt;&lt;a class="lnlinks" href="#hl-1-212"&gt;212&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-213"&gt;&lt;a class="lnlinks" href="#hl-1-213"&gt;213&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-214"&gt;&lt;a class="lnlinks" href="#hl-1-214"&gt;214&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-215"&gt;&lt;a class="lnlinks" href="#hl-1-215"&gt;215&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-216"&gt;&lt;a class="lnlinks" href="#hl-1-216"&gt;216&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-217"&gt;&lt;a class="lnlinks" href="#hl-1-217"&gt;217&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-218"&gt;&lt;a class="lnlinks" href="#hl-1-218"&gt;218&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-219"&gt;&lt;a class="lnlinks" href="#hl-1-219"&gt;219&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-220"&gt;&lt;a class="lnlinks" href="#hl-1-220"&gt;220&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-221"&gt;&lt;a class="lnlinks" href="#hl-1-221"&gt;221&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-222"&gt;&lt;a class="lnlinks" href="#hl-1-222"&gt;222&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-223"&gt;&lt;a class="lnlinks" href="#hl-1-223"&gt;223&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-224"&gt;&lt;a class="lnlinks" href="#hl-1-224"&gt;224&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-225"&gt;&lt;a class="lnlinks" href="#hl-1-225"&gt;225&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-226"&gt;&lt;a class="lnlinks" href="#hl-1-226"&gt;226&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-227"&gt;&lt;a class="lnlinks" href="#hl-1-227"&gt;227&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-228"&gt;&lt;a class="lnlinks" href="#hl-1-228"&gt;228&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-229"&gt;&lt;a class="lnlinks" href="#hl-1-229"&gt;229&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Tue Jul 24, 17:18:35 &lt;span class="o"&gt;[&lt;/span&gt;0&lt;span class="o"&gt;]&lt;/span&gt; &amp;gt; ll -R /srv/tftpboot/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 28K
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; addons/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;7&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;24&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; boot/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;6&lt;/span&gt; root root 4.0K Jul &lt;span class="m"&gt;20&lt;/span&gt; 13:14 pxelinux.cfg/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 15K Oct &lt;span class="m"&gt;7&lt;/span&gt; &lt;span class="m"&gt;2009&lt;/span&gt; pxelinux.0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/addons:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 280K
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 16K Dec &lt;span class="m"&gt;28&lt;/span&gt; &lt;span class="m"&gt;2009&lt;/span&gt; background.png
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 23K Dec &lt;span class="m"&gt;28&lt;/span&gt; &lt;span class="m"&gt;2009&lt;/span&gt; background-sles.png
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 24K Dec &lt;span class="m"&gt;28&lt;/span&gt; &lt;span class="m"&gt;2009&lt;/span&gt; background-suse.png
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 20K Dec &lt;span class="m"&gt;28&lt;/span&gt; &lt;span class="m"&gt;2009&lt;/span&gt; background-vmware.png
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 48K Oct &lt;span class="m"&gt;7&lt;/span&gt; &lt;span class="m"&gt;2009&lt;/span&gt; mboot.c32
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 142K Oct &lt;span class="m"&gt;7&lt;/span&gt; &lt;span class="m"&gt;2009&lt;/span&gt; vesamenu.c32
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 20K
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;3&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;24&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; esx/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Oct &lt;span class="m"&gt;14&lt;/span&gt; &lt;span class="m"&gt;2009&lt;/span&gt; firmware/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;5&lt;/span&gt; root root 4.0K Dec &lt;span class="m"&gt;14&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; opensuse/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;10&lt;/span&gt; root root 4.0K Mar &lt;span class="m"&gt;9&lt;/span&gt; 17:28 sles/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;3&lt;/span&gt; root root 4.0K Oct &lt;span class="m"&gt;7&lt;/span&gt; &lt;span class="m"&gt;2009&lt;/span&gt; tests/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/esx:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 4.0K
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;24&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; 4.1-348481/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/esx/4.1-348481:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 81M
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 79M Jun &lt;span class="m"&gt;24&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; initrd.img
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.5M Jun &lt;span class="m"&gt;24&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; vmlinuz
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/firmware:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 4.3M
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.5M Oct &lt;span class="m"&gt;14&lt;/span&gt; &lt;span class="m"&gt;2009&lt;/span&gt; fdboot.img
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 20K Oct &lt;span class="m"&gt;14&lt;/span&gt; &lt;span class="m"&gt;2009&lt;/span&gt; memdisk
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.5M Oct &lt;span class="m"&gt;14&lt;/span&gt; &lt;span class="m"&gt;2009&lt;/span&gt; qmh2462_1.76.img
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.5M Oct &lt;span class="m"&gt;14&lt;/span&gt; &lt;span class="m"&gt;2009&lt;/span&gt; qmh2462_1.81.img
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/opensuse:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 12K
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;4&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; 11.3/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;4&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; 11.4/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;4&lt;/span&gt; root root 4.0K Dec &lt;span class="m"&gt;14&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; 12.1/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/opensuse/11.3:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 8.0K
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; x64/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; x86/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/opensuse/11.3/x64:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 32M
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 28M Jun &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; initrd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 3.8M Jun &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/opensuse/11.3/x86:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 32M
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 28M Jun &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; initrd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 3.7M Jun &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/opensuse/11.4:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 8.0K
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; x64/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; x86/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/opensuse/11.4/x64:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 37M
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 33M Jun &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; initrd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 4.1M Jun &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/opensuse/11.4/x86:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 37M
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 33M Jun &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; initrd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 3.9M Jun &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/opensuse/12.1:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 8.0K
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Dec &lt;span class="m"&gt;14&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; x64/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Dec &lt;span class="m"&gt;14&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; x86/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/opensuse/12.1/x64:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 43M
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 39M Dec &lt;span class="m"&gt;14&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; initrd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 4.5M Dec &lt;span class="m"&gt;14&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/opensuse/12.1/x86:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 43M
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 38M Dec &lt;span class="m"&gt;14&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; initrd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 4.4M Dec &lt;span class="m"&gt;14&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/sles:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 32K
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;4&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;24&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; 10.2/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;4&lt;/span&gt; root root 4.0K Sep &lt;span class="m"&gt;28&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; 10.3/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;4&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; 10.4/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;4&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; 11/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;4&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; 11.1/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;4&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; 11.1-vmware/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;3&lt;/span&gt; root root 4.0K Mar &lt;span class="m"&gt;9&lt;/span&gt; 17:28 11.2/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;4&lt;/span&gt; root root 4.0K Jul &lt;span class="m"&gt;24&lt;/span&gt; 17:04 11.2-vmware/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/sles/10.2:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 8.0K
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;24&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; x64/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;24&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; x86/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/sles/10.2/x64:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 11M
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 9.0M Jun &lt;span class="m"&gt;24&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; initrd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.4M Jun &lt;span class="m"&gt;24&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/sles/10.2/x86:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 11M
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 8.9M Jun &lt;span class="m"&gt;24&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; initrd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.3M Jun &lt;span class="m"&gt;24&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/sles/10.3:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 8.0K
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Sep &lt;span class="m"&gt;28&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; x64/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Sep &lt;span class="m"&gt;28&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; x86/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/sles/10.3/x64:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 12M
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 11M Sep &lt;span class="m"&gt;28&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; initrd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.4M Sep &lt;span class="m"&gt;28&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/sles/10.3/x86:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 12M
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 11M Sep &lt;span class="m"&gt;28&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; initrd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.3M Sep &lt;span class="m"&gt;28&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/sles/10.4:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 8.0K
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; x64/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; x86/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/sles/10.4/x64:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 13M
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 12M Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; initrd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.4M Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/sles/10.4/x86:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 13M
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 12M Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; initrd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.3M Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/sles/11:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 8.0K
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; x64/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; x86/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/sles/11/x64:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 24M
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 21M Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; initrd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 2.5M Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/sles/11/x86:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 23M
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 21M Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; initrd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 2.4M Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/sles/11.1:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 8.0K
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; x64/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; x86/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/sles/11.1/x64:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 27M
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 23M Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; initrd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 3.1M Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/sles/11.1/x86:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 26M
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 23M Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; initrd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 3.1M Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/sles/11.1-vmware:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 8.0K
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; x64/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; x86/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/sles/11.1-vmware/x64:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 27M
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 23M Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; initrd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 3.1M Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/sles/11.1-vmware/x86:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 26M
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 23M Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; initrd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 3.1M Jun &lt;span class="m"&gt;17&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/sles/11.2:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 4.0k
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Mar &lt;span class="m"&gt;9&lt;/span&gt; 17:29 x64/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/sles/11.2/x64:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 36M
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 33M Mar &lt;span class="m"&gt;9&lt;/span&gt; 17:29 initrd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 3.7M Mar &lt;span class="m"&gt;9&lt;/span&gt; 17:29 linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/sles/11.2-vmware:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 8.0K
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Mar &lt;span class="m"&gt;9&lt;/span&gt; 16:52 x64/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Jul &lt;span class="m"&gt;24&lt;/span&gt; 17:05 x86/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/sles/11.2-vmware/x64:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 36M
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 33M Jul &lt;span class="m"&gt;20&lt;/span&gt; 12:46 initrd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 3.7M Jul &lt;span class="m"&gt;20&lt;/span&gt; 12:46 linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/sles/11.2-vmware/x86:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 35M
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 32M Jul &lt;span class="m"&gt;24&lt;/span&gt; 17:17 initrd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-r--r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 3.6M Jul &lt;span class="m"&gt;24&lt;/span&gt; 17:17 linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/tests:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 4.0K
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Oct &lt;span class="m"&gt;7&lt;/span&gt; &lt;span class="m"&gt;2009&lt;/span&gt; memtest/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/boot/tests/memtest:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 164K
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 157K Oct &lt;span class="m"&gt;7&lt;/span&gt; &lt;span class="m"&gt;2009&lt;/span&gt; memtest86+-4.00
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/pxelinux.cfg:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 48K
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 2.0K Jun &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; default
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;24&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; esx/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.3K Jul &lt;span class="m"&gt;24&lt;/span&gt; 17:18 esx.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Jun &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; esxi/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.1K Jul &lt;span class="m"&gt;24&lt;/span&gt; 17:18 esxi.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root &lt;span class="m"&gt;423&lt;/span&gt; Oct &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="m"&gt;2009&lt;/span&gt; firmware.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Dec &lt;span class="m"&gt;14&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; opensuse/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.8K Jul &lt;span class="m"&gt;24&lt;/span&gt; 17:18 opensuse.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 2.6K Jun &lt;span class="m"&gt;4&lt;/span&gt; &lt;span class="m"&gt;2010&lt;/span&gt; rescue.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;drwxr-xr-x &lt;span class="m"&gt;2&lt;/span&gt; root root 4.0K Jul &lt;span class="m"&gt;24&lt;/span&gt; 17:05 sles/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 2.7K Jul &lt;span class="m"&gt;24&lt;/span&gt; 17:18 sles.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root &lt;span class="m"&gt;329&lt;/span&gt; Oct &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="m"&gt;2009&lt;/span&gt; tests.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/pxelinux.cfg/esx:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 8.0K
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.9K Jun &lt;span class="m"&gt;24&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; esx-4.1-260247.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.9K Jun &lt;span class="m"&gt;24&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; esx-4.1-348481.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/pxelinux.cfg/esxi:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 4.0K
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.7K Jun &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; esxi41.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/pxelinux.cfg/opensuse:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 24K
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.8K Jun &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; opensuse-11.3-x64.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.8K Jun &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; opensuse-11.3-x86.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.8K Jun &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; opensuse-11.4-x64.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.8K Jun &lt;span class="m"&gt;20&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; opensuse-11.4-x86.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.8K Dec &lt;span class="m"&gt;14&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; opensuse-12.1-x64.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.8K Dec &lt;span class="m"&gt;14&lt;/span&gt; &lt;span class="m"&gt;2011&lt;/span&gt; opensuse-12.1-x86.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/srv/tftpboot/pxelinux.cfg/sles:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;total 60K
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.8K Jul &lt;span class="m"&gt;24&lt;/span&gt; 16:58 sles-10.2-x64.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.8K Jul &lt;span class="m"&gt;24&lt;/span&gt; 16:57 sles-10.2-x86.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.8K Jul &lt;span class="m"&gt;24&lt;/span&gt; 16:57 sles-10.3-x64.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.8K Jul &lt;span class="m"&gt;24&lt;/span&gt; 16:57 sles-10.3-x86.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.8K Jul &lt;span class="m"&gt;24&lt;/span&gt; 16:57 sles-10.4-x64.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.8K Jul &lt;span class="m"&gt;24&lt;/span&gt; 16:57 sles-10.4-x86.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.8K Jul &lt;span class="m"&gt;24&lt;/span&gt; 16:58 sles-11-x64.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.8K Jul &lt;span class="m"&gt;24&lt;/span&gt; 16:58 sles-11-x86.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.8K Jul &lt;span class="m"&gt;24&lt;/span&gt; 16:59 sles-11.1-vmware-x64.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.8K Jul &lt;span class="m"&gt;24&lt;/span&gt; 16:59 sles-11.1-vmware-x86.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.8K Jul &lt;span class="m"&gt;24&lt;/span&gt; 16:59 sles-11.1-x64.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.8K Jul &lt;span class="m"&gt;24&lt;/span&gt; 17:00 sles-11.1-x86.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.8K Jul &lt;span class="m"&gt;24&lt;/span&gt; 17:00 sles-11.2-vmware-x64.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.8K Jul &lt;span class="m"&gt;24&lt;/span&gt; 17:17 sles-11.2-vmware-x86.menu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-rw-r--r-- &lt;span class="m"&gt;1&lt;/span&gt; root root 1.8K Jul &lt;span class="m"&gt;24&lt;/span&gt; 17:00 sles-11.2-x64.menu
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>NetApp: Archive SnapManager SQL snapshots</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_netapp-archive-snapmanager-sql-snapshots/</link><pubDate>Fri, 08 Aug 2014 08:25:56 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4410</guid><description>&lt;p&gt;As I wrote before, we&amp;rsquo;re using SnapManager (for SQL/Oracle) to create consistent snapshots. However my database guys don&amp;rsquo;t want to name their snapshots daily.&lt;!-- raw HTML omitted --&gt; (which I can understand), as once you archive those snapshots to a secondary (and tertiary) system, the names become junk.&lt;/p&gt;
&lt;p&gt;So, they&amp;rsquo;re naming the snapshots like snap__vcsrv_29_12_2012-10.00.01. Sadly, when it comes to SnapVault, it expects the names in form of daily.&lt;!-- raw HTML omitted --&gt; otherwise you won&amp;rsquo;t be able to transfer the snapshots with the CLI (none that I have found anyway).&lt;/p&gt;
&lt;p&gt;But we didn&amp;rsquo;t want to move away from naming the snapshots the way they are, so I ended up writing a PowerShell script, that once triggered archives the Snapshots needed for a set of databases. It took me a while to figure a bunch of stuff out, but in the end I think I have a working way of archiving custom-named snapshots.&lt;/p&gt;</description></item><item><title>Implementing SnapVault backups - the hard way</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_implementing-snapvault-backups-the-hard-way/</link><pubDate>Fri, 08 Aug 2014 08:25:10 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4372</guid><description>&lt;p&gt;Well, I recently had the pleasant task of implementing SnapVault backups, that are being shipped to an offsite location with SnapMirror.&lt;/p&gt;
&lt;p&gt;That in itself isn&amp;rsquo;t the bad thing, however we decided against Protection Manager (since it was a charged product back when we decided on this). So I basically had the three tasks:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Actually implement the SnapVault stuff (and learn my way around it and also document it)&lt;/li&gt;
&lt;li&gt;Write a bunch of scripts, that help us in creating scheduled backups of our databases&lt;/li&gt;
&lt;li&gt;Create a monitoring script, that&amp;rsquo;ll fit into our Nagios environment already in place&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Well, two months later (sadly it still has some kinks - I can&amp;rsquo;t figure out this one bug though for the life of it) and a few hundred hours of working on/with it and out came four things:&lt;/p&gt;</description></item><item><title>NetApp: Establishing SnapVault relations</title><link>https://christian.blog.pakiheim.de/posts/2014-08-08_netapp-establishing-snapvault-relations/</link><pubDate>Fri, 08 Aug 2014 08:22:46 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4361</guid><description>&lt;p&gt;I&amp;rsquo;ve been spending a lot of my time the last week on getting SnapVault with out FAS-filers to work. Out came a script, which does this for a given volume (and of course SnapVault Primary and Secondary).&lt;/p&gt;
&lt;p&gt;The script expects, that &lt;a href="http://christian.weblog.heimdaheim.de/2012/03/07/netapp-fasdata-ontap-public-key-authentification-with-cifsnfs-license/" title="NetApp FAS/Data ONTAP public key authentification with CIFS/NFS license"&gt;SSH public key authentification&lt;/a&gt; has been set up.&lt;/p&gt;</description></item><item><title>Nexus 5000: Configure CEST</title><link>https://christian.blog.pakiheim.de/posts/2014-06-24_nexus-5000-configure-cest/</link><pubDate>Tue, 24 Jun 2014 21:07:52 +0000</pubDate><guid isPermaLink="false">http://christian.weblog.heimdaheim.de/?p=5170</guid><description>&lt;p&gt;Since I&amp;rsquo;m living and working in Germany, most of my hardware is using timezone configuration for CEST (or Europe/Berlin).&lt;/p&gt;
&lt;p&gt;This here is the simple configuration for our Nexus 5000&amp;rsquo;s:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt;5&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;conf t
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;clock timezone CET 1 0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;clock summer-time CEST 5 Sun Mar 02:00 5 Sun Oct 03:00 60
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;exit
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;copy running-config startup-config
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>UCS 5108 power redundancy lost</title><link>https://christian.blog.pakiheim.de/posts/2014-06-22_ucs-5108-power-redundancy-lost/</link><pubDate>Sun, 22 Jun 2014 10:41:22 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4346</guid><description>&lt;p&gt;Well, another day - another UCS error. Out of the blue, one of our chassis started displaying that one PSU had failed, however the UCS was showing no PSU had failed &amp;#x1f937; &lt;a href="https://christian.blog.pakiheim.de/uploads/2012/09/F0408-PSU-state.png"&gt;&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2012/09/F0408-PSU-state.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Well, as it turns out - this is &lt;a href="http://tools.cisco.com/Support/BugToolKit/search/getBugDetails.do?method=fetchBugDetails&amp;amp;bugId=CSCub84671" title="Cisco BugTool Kit link"&gt;yet another known bug in 2.0.2(r)&lt;/a&gt;. You&amp;rsquo;ll either have to unplug and plug all the power cables (that&amp;rsquo;s four) in a maintainance window - or simply change the Equipment Power Policy (found in the Root of your UCS, tab Policy) &lt;a href="https://christian.blog.pakiheim.de/uploads/2012/09/power-policy.png"&gt;&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2012/09/power-policy.png"&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>NetApp: Monitoring of SnapVault/SnapMirror/LUN/Snapshot information with Nagios</title><link>https://christian.blog.pakiheim.de/posts/2013-12-15_netapp-monitoring-of-snapvault-snapmirror-lun-snapshot-information-with-nagios/</link><pubDate>Sun, 15 Dec 2013 15:51:03 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4422</guid><description>&lt;p&gt;&lt;a href="http://christian.weblog.heimdaheim.de/2012/12/29/implementing-snapvault-backups-the-hard-way/" title="Implementing SnapVault backups – the hard way"&gt;As I wrote before&lt;/a&gt;, we have a bunch of filers (and a ton of volumes w/ luns on them), that I need to monitor. At first, I tried the existing NetApp Nagios-Plugin(s), but they all use SNMP and with that I can either watch all volumes or none. And that didn&amp;rsquo;t satisfy me.&lt;/p&gt;
&lt;p&gt;Don&amp;rsquo;t get me wrong, the existing plugins are okay and I still use them for stuff (like GLOBALSTATUS or FAN/CPU/POWER) which isn&amp;rsquo;t present in the API or real hard to get at, however I wanted more. So I ended up looking at the NetApp API, and ended up writing a &amp;ldquo;short&amp;rdquo; plugin for Nagios using Perl.&lt;/p&gt;
&lt;p&gt;Maybe if I&amp;rsquo;m ever bored, I&amp;rsquo;ll rewrite it using C, but for now the Perl plugin has to suffice.&lt;/p&gt;
&lt;p&gt;So far the plugin supports the following things:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Monitoring FlexVolumes (simply watching the free space)&lt;/li&gt;
&lt;li&gt;Monitoring LUN space (the allocated space inside a FlexVolume for iSCSI/FC LUNs)&lt;/li&gt;
&lt;li&gt;Monitoring Snapshot space (the allocated space inside a FlexVolume for Snapshots)&lt;/li&gt;
&lt;li&gt;Monitoring SnapVault relations (and their age)&lt;/li&gt;
&lt;li&gt;Monitoring SnapMirror relations (and their age)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The plugin will return performance data for most (if not all) of those classes. It needs a user on the filer you wish to monitor - which sadly needs to have the admin role.&lt;/p&gt;</description></item><item><title>NetScaler: Generate a simple usage statistic per Vserver</title><link>https://christian.blog.pakiheim.de/posts/2013-11-21_netscaler-generate-a-simple-usage-statistic-per-vserver/</link><pubDate>Thu, 21 Nov 2013 16:39:08 +0000</pubDate><guid isPermaLink="false">http://christian.weblog.heimdaheim.de/?p=5156</guid><description>&lt;p&gt;One of my co-workers recently approached me, that he needed a simple shell script which would generate a simple report about a Vserver&amp;rsquo;s current connections. After ironing out a few things with him (he had the intention of it being on a CIFS share on our file-server - which I changed to a simple HTML page) I went to work.&lt;/p&gt;
&lt;p&gt;Out came two scripts. One is the collection instance, and the other is the processing instance. First the collection script runs, finds the current HA master node and then collects the Vserver&amp;rsquo;s current connections. After that script has dumped the information (date, time, current connections) into a file, the processing script will go and create a simple HTML page that&amp;rsquo;ll show exactly those informations.&lt;/p&gt;</description></item><item><title>VMware templates: post-processing for SUSE Linux Enterprise Server and openSUSE</title><link>https://christian.blog.pakiheim.de/posts/2013-11-21_vmware-templates-post-processing-for-suse-linux-enterprise-server-and-opensuse/</link><pubDate>Thu, 21 Nov 2013 16:31:40 +0000</pubDate><guid isPermaLink="false">http://christian.weblog.heimdaheim.de/?p=5153</guid><description>&lt;p&gt;Well, I&amp;rsquo;ve been fiddling around with SLES and openSUSE VMware templates. I know it&amp;rsquo;s a stupid idea when you have a PXE server from which you could install this in a matter of minutes (seriously the SLES PXE installation takes about 5 minutes).&lt;/p&gt;
&lt;p&gt;However, when dealing with DMZ&amp;rsquo;s (yeah, they exist!) you usually don&amp;rsquo;t have any PXE servers there. So I decided to go with simple VMware templates (like we do with Windows already), but had to iron out a few kinks.&lt;/p&gt;</description></item><item><title>MDS9100 firmware updates - generating copy commands</title><link>https://christian.blog.pakiheim.de/posts/2013-10-20_mds9100-firmware-updates-generating-copy-commands/</link><pubDate>Sun, 20 Oct 2013 11:20:02 +0000</pubDate><guid isPermaLink="false">http://christian.weblog.heimdaheim.de/?p=5147</guid><description>&lt;p&gt;Well, I went to work today &amp;hellip; yeah, I know it&amp;rsquo;s Sunday right ? I ended up updating two MDS9148 switches and I didn&amp;rsquo;t want to figure out everything all over again. So I put the system image and kickstart onto one of our FTP servers and ran a short bash loop on it:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;root:(ftp.daheim.heimdaheim.de) PWD:~
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Sun Oct 20, 08:57:24 [0] &amp;gt; for file in `ls /srv/ftp/firmware/mds9148/*6.2.3*`; do
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;echo &amp;#34;copy ftp://10.0.0.55/`echo $file | sed &amp;#39;s,/srv/ftp/,,&amp;#39;` bootflash:/`echo $file | sed &amp;#39;s,/srv/ftp/firmware/mds9148/,,&amp;#39;`&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;done
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Now that&amp;rsquo;ll generate me two lines, which in turn I can use on the MDS&amp;rsquo;n:&lt;/p&gt;</description></item><item><title>XenServer 6-x: Update all hosts in pool</title><link>https://christian.blog.pakiheim.de/posts/2013-09-15_xenserver-6-x-update-all-hosts-in-pool/</link><pubDate>Sun, 15 Sep 2013 16:23:51 +0000</pubDate><guid isPermaLink="false">http://christian.weblog.heimdaheim.de/?p=5142</guid><description>&lt;p&gt;Well, what annoyed me in the past was that I had to patch each XenServer patch by patch (no bulk applying) and when used in combination with UCS blades (especially if those have &amp;gt;250GB RAM), it takes ages to keep a pool up-to-date. So I ended up writing yet another script (I know why I hate Citrix XenServer &amp;hellip; the XenCenter GUI is lacking sooooo much) which will download new patches from a directory on a HTTP server and then print the lines necessary to apply the patches to all hosts in a pool.&lt;/p&gt;</description></item><item><title>XenServer 6-x: Quick VM Protection Policy to VM name-label script</title><link>https://christian.blog.pakiheim.de/posts/2013-09-15_xenserver-6-x-quick-vm-protection-policy-to-vm-name-label-script/</link><pubDate>Sun, 15 Sep 2013 16:14:04 +0000</pubDate><guid isPermaLink="false">http://christian.weblog.heimdaheim.de/?p=5125</guid><description>&lt;p&gt;Well, today I ended up writing a short script that&amp;rsquo;ll give me a list of VMPPs with the VMs that are associated to it.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Get a list of VMPPs&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; vmpp in &lt;span class="sb"&gt;`&lt;/span&gt;xe vmpp-list &lt;span class="nv"&gt;params&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;uuid --minimal &lt;span class="p"&gt;|&lt;/span&gt; sed &lt;span class="s2"&gt;&amp;#34;s/,/ /g&amp;#34;&lt;/span&gt;&lt;span class="sb"&gt;`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;VMPP_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sb"&gt;`&lt;/span&gt;xe vmpp-list &lt;span class="nv"&gt;params&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;name-label &lt;span class="nv"&gt;uuid&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$vmpp&lt;/span&gt; --minimal&lt;span class="sb"&gt;`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; vm in &lt;span class="sb"&gt;`&lt;/span&gt;xe vmpp-list &lt;span class="nv"&gt;params&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;VMs --minimal &lt;span class="nv"&gt;uuid&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$vmpp&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sed -e &lt;span class="s2"&gt;&amp;#34;s/;//g&amp;#34;&lt;/span&gt; -e &lt;span class="s2"&gt;&amp;#34;s/,//g&amp;#34;&lt;/span&gt;&lt;span class="sb"&gt;`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;VM&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sb"&gt;`&lt;/span&gt;xe vm-list &lt;span class="nv"&gt;params&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;name-label &lt;span class="nv"&gt;uuid&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$vm&lt;/span&gt; --minimal&lt;span class="sb"&gt;`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$VMPP_NAME&lt;/span&gt;&lt;span class="s2"&gt;: &lt;/span&gt;&lt;span class="nv"&gt;$VM&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>vmware-config-tools-pl finished with Could not find Parent Node</title><link>https://christian.blog.pakiheim.de/posts/2013-09-09_vmware-config-tools-pl-finished-with-could-not-find-parent-node/</link><pubDate>Mon, 09 Sep 2013 19:15:53 +0000</pubDate><guid isPermaLink="false">http://christian.weblog.heimdaheim.de/?p=5128</guid><description>&lt;p&gt;Well, today I encountered a old problem (or so I thought). Basically a specific udevadm version causes the vmware-config-tools.pl script to error out like this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;The&lt;/span&gt; &lt;span class="n"&gt;vmblock&lt;/span&gt; &lt;span class="n"&gt;enables&lt;/span&gt; &lt;span class="n"&gt;dragging&lt;/span&gt; &lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="n"&gt;copying&lt;/span&gt; &lt;span class="n"&gt;files&lt;/span&gt; &lt;span class="n"&gt;between&lt;/span&gt; &lt;span class="n"&gt;host&lt;/span&gt; &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="n"&gt;guest&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Fusion&lt;/span&gt; &lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="n"&gt;Workstation&lt;/span&gt; &lt;span class="n"&gt;virtual&lt;/span&gt; &lt;span class="n"&gt;environment&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt; &lt;span class="n"&gt;Do&lt;/span&gt; &lt;span class="n"&gt;you&lt;/span&gt; &lt;span class="n"&gt;wish&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="n"&gt;enable&lt;/span&gt; &lt;span class="n"&gt;this&lt;/span&gt; &lt;span class="n"&gt;feature&lt;/span&gt;&lt;span class="err"&gt;?&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;no&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;!!!&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;EXPERIMENTAL&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;!!!&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;VMware&lt;/span&gt; &lt;span class="n"&gt;automatic&lt;/span&gt; &lt;span class="n"&gt;kernel&lt;/span&gt; &lt;span class="n"&gt;modules&lt;/span&gt; &lt;span class="n"&gt;enables&lt;/span&gt; &lt;span class="n"&gt;automatic&lt;/span&gt; &lt;span class="n"&gt;building&lt;/span&gt; &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="n"&gt;installation&lt;/span&gt; &lt;span class="n"&gt;of&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;VMware&lt;/span&gt; &lt;span class="n"&gt;kernel&lt;/span&gt; &lt;span class="n"&gt;modules&lt;/span&gt; &lt;span class="n"&gt;at&lt;/span&gt; &lt;span class="n"&gt;boot&lt;/span&gt; &lt;span class="n"&gt;that&lt;/span&gt; &lt;span class="n"&gt;are&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;already&lt;/span&gt; &lt;span class="n"&gt;present&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt; &lt;span class="n"&gt;By&lt;/span&gt; &lt;span class="n"&gt;selecting&lt;/span&gt; &lt;span class="n"&gt;yes&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;you&lt;/span&gt; &lt;span class="n"&gt;will&lt;/span&gt; &lt;span class="n"&gt;be&lt;/span&gt; &lt;span class="n"&gt;enabling&lt;/span&gt; &lt;span class="n"&gt;this&lt;/span&gt; &lt;span class="n"&gt;experimental&lt;/span&gt; &lt;span class="n"&gt;feature&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt; &lt;span class="n"&gt;You&lt;/span&gt; &lt;span class="n"&gt;can&lt;/span&gt; &lt;span class="n"&gt;always&lt;/span&gt; &lt;span class="n"&gt;disable&lt;/span&gt; &lt;span class="n"&gt;this&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;feature&lt;/span&gt; &lt;span class="n"&gt;by&lt;/span&gt; &lt;span class="n"&gt;re&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;running&lt;/span&gt; &lt;span class="n"&gt;vmware&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;config&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;tools&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;pl&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Would&lt;/span&gt; &lt;span class="n"&gt;you&lt;/span&gt; &lt;span class="n"&gt;like&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="n"&gt;enable&lt;/span&gt; &lt;span class="n"&gt;VMware&lt;/span&gt; &lt;span class="n"&gt;automatic&lt;/span&gt; &lt;span class="n"&gt;kernel&lt;/span&gt; &lt;span class="n"&gt;modules&lt;/span&gt;&lt;span class="err"&gt;?&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;no&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;No&lt;/span&gt; &lt;span class="n"&gt;X&lt;/span&gt; &lt;span class="n"&gt;install&lt;/span&gt; &lt;span class="n"&gt;found&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Could&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;find&lt;/span&gt; &lt;span class="n"&gt;Parent&lt;/span&gt; &lt;span class="ne"&gt;Node&lt;/span&gt;&lt;span class="o"&gt;...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;I&amp;rsquo;ve had encountered this before in the past, and before there was some explanation on the VMware forums, which I couldn&amp;rsquo;t locate. Lucky me, the VMware Tools updater keeps modified versions of vmware-tools-config.pl around. So I ended up creating this short diff, so that I may find it in the future - if I still need it:&lt;/p&gt;</description></item><item><title>XenServer 6-0-2: Fixing Root-Disk-Multipathing with Boot-from-SAN</title><link>https://christian.blog.pakiheim.de/posts/2013-07-16_xenserver-6-0-2-fixing-root-disk-multipathing-with-boot-from-san/</link><pubDate>Tue, 16 Jul 2013 16:27:12 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4464</guid><description>&lt;p&gt;As the title pretty much tells, I’ve been working on fixing the Root-Disk-Multipathing feature of our XenServer installations. Our XenServer boot from a HA-enabled NetApp controller, however we recently noticed that during a controller fail-over some, if not all, paths would go offline and never come back. If you do a &lt;em&gt;cf takeover&lt;/em&gt; and &lt;em&gt;cf giveback&lt;/em&gt; in short succession, you’ll end up with a XenServer host that is unusable, as the Root-Disk would be pretty much non-responsive.&lt;/p&gt;</description></item><item><title>Generate Nagios config for check_netapp-api-pl</title><link>https://christian.blog.pakiheim.de/posts/2013-02-05_generate-nagios-config-for-check-netapp-api-pl/</link><pubDate>Tue, 05 Feb 2013 19:46:24 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4435</guid><description>&lt;p&gt;As so often, I wanted a script, that&amp;rsquo;ll crawl my filers and regenerate the configuration if there are any new volumes/snapvaults/snapmirrors or if one of them has been removed.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-25"&gt;&lt;a class="lnlinks" href="#hl-0-25"&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-26"&gt;&lt;a class="lnlinks" href="#hl-0-26"&gt;26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-27"&gt;&lt;a class="lnlinks" href="#hl-0-27"&gt;27&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-28"&gt;&lt;a class="lnlinks" href="#hl-0-28"&gt;28&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-29"&gt;&lt;a class="lnlinks" href="#hl-0-29"&gt;29&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-30"&gt;&lt;a class="lnlinks" href="#hl-0-30"&gt;30&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-31"&gt;&lt;a class="lnlinks" href="#hl-0-31"&gt;31&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-32"&gt;&lt;a class="lnlinks" href="#hl-0-32"&gt;32&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-33"&gt;&lt;a class="lnlinks" href="#hl-0-33"&gt;33&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-34"&gt;&lt;a class="lnlinks" href="#hl-0-34"&gt;34&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-35"&gt;&lt;a class="lnlinks" href="#hl-0-35"&gt;35&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-36"&gt;&lt;a class="lnlinks" href="#hl-0-36"&gt;36&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-37"&gt;&lt;a class="lnlinks" href="#hl-0-37"&gt;37&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-38"&gt;&lt;a class="lnlinks" href="#hl-0-38"&gt;38&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-39"&gt;&lt;a class="lnlinks" href="#hl-0-39"&gt;39&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-40"&gt;&lt;a class="lnlinks" href="#hl-0-40"&gt;40&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-41"&gt;&lt;a class="lnlinks" href="#hl-0-41"&gt;41&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-42"&gt;&lt;a class="lnlinks" href="#hl-0-42"&gt;42&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-43"&gt;&lt;a class="lnlinks" href="#hl-0-43"&gt;43&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-44"&gt;&lt;a class="lnlinks" href="#hl-0-44"&gt;44&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-45"&gt;&lt;a class="lnlinks" href="#hl-0-45"&gt;45&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-46"&gt;&lt;a class="lnlinks" href="#hl-0-46"&gt;46&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-47"&gt;&lt;a class="lnlinks" href="#hl-0-47"&gt;47&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-48"&gt;&lt;a class="lnlinks" href="#hl-0-48"&gt;48&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-49"&gt;&lt;a class="lnlinks" href="#hl-0-49"&gt;49&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-50"&gt;&lt;a class="lnlinks" href="#hl-0-50"&gt;50&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-51"&gt;&lt;a class="lnlinks" href="#hl-0-51"&gt;51&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-52"&gt;&lt;a class="lnlinks" href="#hl-0-52"&gt;52&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-53"&gt;&lt;a class="lnlinks" href="#hl-0-53"&gt;53&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-54"&gt;&lt;a class="lnlinks" href="#hl-0-54"&gt;54&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-55"&gt;&lt;a class="lnlinks" href="#hl-0-55"&gt;55&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-56"&gt;&lt;a class="lnlinks" href="#hl-0-56"&gt;56&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-57"&gt;&lt;a class="lnlinks" href="#hl-0-57"&gt;57&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-58"&gt;&lt;a class="lnlinks" href="#hl-0-58"&gt;58&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-59"&gt;&lt;a class="lnlinks" href="#hl-0-59"&gt;59&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-60"&gt;&lt;a class="lnlinks" href="#hl-0-60"&gt;60&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-61"&gt;&lt;a class="lnlinks" href="#hl-0-61"&gt;61&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-62"&gt;&lt;a class="lnlinks" href="#hl-0-62"&gt;62&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-63"&gt;&lt;a class="lnlinks" href="#hl-0-63"&gt;63&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-64"&gt;&lt;a class="lnlinks" href="#hl-0-64"&gt;64&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-65"&gt;&lt;a class="lnlinks" href="#hl-0-65"&gt;65&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-66"&gt;&lt;a class="lnlinks" href="#hl-0-66"&gt;66&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-67"&gt;&lt;a class="lnlinks" href="#hl-0-67"&gt;67&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-68"&gt;&lt;a class="lnlinks" href="#hl-0-68"&gt;68&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-69"&gt;&lt;a class="lnlinks" href="#hl-0-69"&gt;69&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-70"&gt;&lt;a class="lnlinks" href="#hl-0-70"&gt;70&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-71"&gt;&lt;a class="lnlinks" href="#hl-0-71"&gt;71&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-72"&gt;&lt;a class="lnlinks" href="#hl-0-72"&gt;72&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-73"&gt;&lt;a class="lnlinks" href="#hl-0-73"&gt;73&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-74"&gt;&lt;a class="lnlinks" href="#hl-0-74"&gt;74&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-75"&gt;&lt;a class="lnlinks" href="#hl-0-75"&gt;75&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-76"&gt;&lt;a class="lnlinks" href="#hl-0-76"&gt;76&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-77"&gt;&lt;a class="lnlinks" href="#hl-0-77"&gt;77&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-78"&gt;&lt;a class="lnlinks" href="#hl-0-78"&gt;78&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-79"&gt;&lt;a class="lnlinks" href="#hl-0-79"&gt;79&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-80"&gt;&lt;a class="lnlinks" href="#hl-0-80"&gt;80&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-81"&gt;&lt;a class="lnlinks" href="#hl-0-81"&gt;81&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-82"&gt;&lt;a class="lnlinks" href="#hl-0-82"&gt;82&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-83"&gt;&lt;a class="lnlinks" href="#hl-0-83"&gt;83&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-84"&gt;&lt;a class="lnlinks" href="#hl-0-84"&gt;84&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-85"&gt;&lt;a class="lnlinks" href="#hl-0-85"&gt;85&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-86"&gt;&lt;a class="lnlinks" href="#hl-0-86"&gt;86&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-87"&gt;&lt;a class="lnlinks" href="#hl-0-87"&gt;87&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-88"&gt;&lt;a class="lnlinks" href="#hl-0-88"&gt;88&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-89"&gt;&lt;a class="lnlinks" href="#hl-0-89"&gt;89&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-90"&gt;&lt;a class="lnlinks" href="#hl-0-90"&gt;90&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-91"&gt;&lt;a class="lnlinks" href="#hl-0-91"&gt;91&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-92"&gt;&lt;a class="lnlinks" href="#hl-0-92"&gt;92&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-93"&gt;&lt;a class="lnlinks" href="#hl-0-93"&gt;93&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-94"&gt;&lt;a class="lnlinks" href="#hl-0-94"&gt;94&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-95"&gt;&lt;a class="lnlinks" href="#hl-0-95"&gt;95&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-96"&gt;&lt;a class="lnlinks" href="#hl-0-96"&gt;96&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;FAS_HOSTS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; ls /etc/nagios/objects/hosts/san/fas*&lt;span class="o"&gt;{&lt;/span&gt;a,b&lt;span class="o"&gt;}&lt;/span&gt;.cfg &lt;span class="p"&gt;|&lt;/span&gt; cut -d/ -f7 &lt;span class="p"&gt;|&lt;/span&gt; cut -d. -f1 &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; host in &lt;span class="nv"&gt;$FAS_HOSTS&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OUTPUT_FILE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/etc/nagios/objects/hosts/san/&lt;span class="nv"&gt;$host&lt;/span&gt;-vol.cfg
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Clear the output file&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt; &amp;gt; &lt;span class="nv"&gt;$OUTPUT_FILE&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Get the volume list&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; volume in &lt;span class="sb"&gt;`&lt;/span&gt;ssh &lt;span class="nv"&gt;$host&lt;/span&gt; vol status &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;{ print $1 }&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; grep ^vol &lt;span class="p"&gt;|&lt;/span&gt; sort -u &lt;span class="p"&gt;|&lt;/span&gt; grep -v vol0$&lt;span class="sb"&gt;`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;user&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; grep &lt;span class="s2"&gt;&amp;#34;USER=&amp;#34;&lt;/span&gt; /etc/netapp-sdk/&lt;span class="nv"&gt;$host&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d&lt;span class="o"&gt;=&lt;/span&gt; -f2 &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;pass&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; grep &lt;span class="s2"&gt;&amp;#34;PASS=&amp;#34;&lt;/span&gt; /etc/netapp-sdk/&lt;span class="nv"&gt;$host&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d&lt;span class="o"&gt;=&lt;/span&gt; -f2 &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# echo &amp;#34;define service {&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# echo &amp;#34; use generic-service&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# echo &amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# echo &amp;#34; check_command check_netapp-volfree!$user!$pass!${volume}!92!98&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# echo &amp;#34; check_interval 5&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# echo &amp;#34; host_name ${host}&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# echo &amp;#34; notifications_enabled 0&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# echo &amp;#34; notification_interval 720&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# echo &amp;#34; service_description VOLSPACE ${volume}&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# echo &amp;#34;}&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;define service {&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; use generic-service-san-perfdata&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; check_command check_netapp-lunspace!&lt;/span&gt;&lt;span class="nv"&gt;$user&lt;/span&gt;&lt;span class="s2"&gt;!&lt;/span&gt;&lt;span class="nv"&gt;$pass&lt;/span&gt;&lt;span class="s2"&gt;!&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;volume&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; check_interval 5&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; host_name &lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;host&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; notifications_enabled 0&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; notification_interval 720&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; service_description LUNSPACE &lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;volume&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;}&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;SR&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; ssh &lt;span class="nv"&gt;$host&lt;/span&gt; snap reserve &lt;span class="nv"&gt;$volume&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d -f7 &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$SR&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; !&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;0%&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;define service {&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; use generic-service-san-perfdata&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; check_command check_netapp-snapreserve!&lt;/span&gt;&lt;span class="nv"&gt;$user&lt;/span&gt;&lt;span class="s2"&gt;!&lt;/span&gt;&lt;span class="nv"&gt;$pass&lt;/span&gt;&lt;span class="s2"&gt;!&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;volume&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; check_interval 10&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; host_name &lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;host&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; notifications_enabled 0&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; notification_interval 720&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; # SR: &lt;/span&gt;&lt;span class="nv"&gt;$SR&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; service_description SNAPRESERVE &lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;volume&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;}&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;done&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; tee -a &lt;span class="nv"&gt;$OUTPUT_FILE&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Check snapvault foo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; sv in &lt;span class="sb"&gt;`&lt;/span&gt;ssh &lt;span class="nv"&gt;$host&lt;/span&gt; snapvault status -l 2&amp;gt;/dev/null &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;{ print $2 }&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; grep vol&lt;span class="sb"&gt;`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# only do the checks on sv_secondary&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$sv&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="nv"&gt;$host&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d: -f1 &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;host&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;vol&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$sv&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d/ -f3 &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;user&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; grep &lt;span class="s2"&gt;&amp;#34;USER=&amp;#34;&lt;/span&gt; /etc/netapp-sdk/&lt;span class="nv"&gt;$host&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d&lt;span class="o"&gt;=&lt;/span&gt; -f2 &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;pass&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; grep &lt;span class="s2"&gt;&amp;#34;PASS=&amp;#34;&lt;/span&gt; /etc/netapp-sdk/&lt;span class="nv"&gt;$host&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d&lt;span class="o"&gt;=&lt;/span&gt; -f2 &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;define service {&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; use generic-service-san-perfdata&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; check_command check_netapp-snapvault!&lt;/span&gt;&lt;span class="nv"&gt;$user&lt;/span&gt;&lt;span class="s2"&gt;!&lt;/span&gt;&lt;span class="nv"&gt;$pass&lt;/span&gt;&lt;span class="s2"&gt;!&lt;/span&gt;&lt;span class="nv"&gt;$vol&lt;/span&gt;&lt;span class="s2"&gt;!38!42!&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; check_interval 60&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; host_name &lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;host&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; notifications_enabled 0&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; notification_interval 720&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; service_description SNAPVAULT &lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;vol&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;}&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;done&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; tee -a &lt;span class="nv"&gt;$OUTPUT_FILE&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Check snapmirror foo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; sm in &lt;span class="sb"&gt;`&lt;/span&gt;ssh &lt;span class="nv"&gt;$host&lt;/span&gt; snapmirror status 2&amp;gt;/dev/null &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;{ print $2 }&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; grep vol &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="nv"&gt;$host&lt;/span&gt;&lt;span class="sb"&gt;`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# only do the checks on sm_secondary&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$sm&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="nv"&gt;$host&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d: -f1 &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;host&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;vol&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$sm&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d/ -f3 &lt;span class="p"&gt;|&lt;/span&gt; cut -d: -f2 &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;user&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; grep &lt;span class="s2"&gt;&amp;#34;USER=&amp;#34;&lt;/span&gt; /etc/netapp-sdk/&lt;span class="nv"&gt;$host&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d&lt;span class="o"&gt;=&lt;/span&gt; -f2 &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;pass&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; grep &lt;span class="s2"&gt;&amp;#34;PASS=&amp;#34;&lt;/span&gt; /etc/netapp-sdk/&lt;span class="nv"&gt;$host&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d&lt;span class="o"&gt;=&lt;/span&gt; -f2 &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;define service {&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; use generic-service-san-perfdata&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; check_command check_netapp-snapmirror!&lt;/span&gt;&lt;span class="nv"&gt;$user&lt;/span&gt;&lt;span class="s2"&gt;!&lt;/span&gt;&lt;span class="nv"&gt;$pass&lt;/span&gt;&lt;span class="s2"&gt;!&lt;/span&gt;&lt;span class="nv"&gt;$vol&lt;/span&gt;&lt;span class="s2"&gt;!38!42!&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; check_interval 60&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; host_name &lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;host&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; notifications_enabled 0&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; notification_interval 720&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; service_description SNAPMIRROR &lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;vol&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;}&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;done&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; tee -a &lt;span class="nv"&gt;$OUTPUT_FILE&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Generate Nagios config for NetApp filers</title><link>https://christian.blog.pakiheim.de/posts/2013-01-01_generate-nagios-config-for-netapp-filers/</link><pubDate>Tue, 01 Jan 2013 09:46:39 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4432</guid><description>&lt;p&gt;At some point in the last few weeks, I repeatedly had to recreate my Nagios config for currently six filers. After doing that a few times, I ended up (like sooo often) writing a short Bash script, that&amp;rsquo;ll do this for me - without any fuss.&lt;/p&gt;
&lt;p&gt;The only thing the script needs, is that the filers and the filers are registered in DNS &amp;hellip; Here&amp;rsquo;s an example:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;fas3240a IN A 172.31.76.150
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;fas3240a-sp IN A 172.31.74.150
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;fas3240b IN A 172.31.76.151
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;fas3240b-sp IN A 172.31.74.151
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;With that done, the script will create the necessary Nagios config for those filers.&lt;/p&gt;</description></item><item><title>NetApp: Establishing SnapMirror relationships</title><link>https://christian.blog.pakiheim.de/posts/2012-12-31_netapp-establishing-snapmirror-relationships/</link><pubDate>Mon, 31 Dec 2012 09:44:19 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4428</guid><description>&lt;p&gt;After &lt;a href="http://christian.weblog.heimdaheim.de/2012/12/30/netapp-establishing-snapvault-relations/" title="NetApp: Establishing SnapVault relations"&gt;figuring out the SnapVault stuff&lt;/a&gt;, I needed to implement a whole bunch of SnapMirror relations. As I am lazy (as in click-lazy), I ended up writing a somewhat short Bash script, that&amp;rsquo;ll either establish a bunch of SnapMirror relations (for a single host) or just for a single volume.&lt;/p&gt;
&lt;p&gt;The script expects, that &lt;a href="http://christian.weblog.heimdaheim.de/2012/03/07/netapp-fasdata-ontap-public-key-authentification-with-cifsnfs-license/" title="NetApp FAS/Data ONTAP public key authentification with CIFS/NFS license"&gt;SSH public key authentification&lt;/a&gt; has been set up, and that the source for the SnapMirror exists and is online/not-restricted.&lt;/p&gt;</description></item><item><title>NetApp: SnapVault snapshot retention for non-standard snapshot names</title><link>https://christian.blog.pakiheim.de/posts/2012-12-29_netapp-snapvault-snapshot-retention-for-non-standard-snapshot-names/</link><pubDate>Sat, 29 Dec 2012 09:37:48 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4425</guid><description>&lt;p&gt;Well, the name says it pretty much. Once you rename the snapshot on the SnapVault destination from daily.0 to something else, the whole builtin SnapVault snapshot retention isn&amp;rsquo;t gonna work anymore.&lt;/p&gt;
&lt;p&gt;Back when I started all the code-writing, I wasn&amp;rsquo;t aware of this. One of my co-worker complained to me about it on Wednesday that there are an assfull of snapshots on the SnapVault destination (one snapshot each day since the end of October, meaning more than 50 snapshots per volume, in a total of 12 or so FlexVolumes, making the total about 500 snapshots).&lt;/p&gt;
&lt;p&gt;So I took the time to write this little Bash script (yeah, I know I&amp;rsquo;m mixing a bunch of languages - I really like the &lt;a href="http://en.wikipedia.org/wiki/KISS_principle"&gt;KISS&lt;/a&gt; principle), which will get the necessary information from the filer (snapvault snap sched needs to be set) and then deletes the over-aged snapshots.&lt;/p&gt;</description></item><item><title>NetApp: Archive SnapManager SQL Snapinfo</title><link>https://christian.blog.pakiheim.de/posts/2012-12-29_netapp-archive-snapmanager-sql-snapinfo/</link><pubDate>Sat, 29 Dec 2012 09:16:45 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4416</guid><description>The MSSQL admins decided to dump the SMSQL Snapinfo stuff on a separate volume, that SMSQL also snapshots. &lt;a href="http://christian.weblog.heimdaheim.de/2012/12/29/netapp-archive-snapmanager-sql-snapshots/" title="NetApp: Archive SnapManager SQL snapshots"&gt;Same as before&lt;/a&gt;, I need a PowerShell script that&amp;rsquo;ll archive the snapshot and rename it.</description></item><item><title>NetApp: Archive SnapManager Oracle Snapshots</title><link>https://christian.blog.pakiheim.de/posts/2012-12-29_netapp-archive-snapmanager-oracle-snapshots/</link><pubDate>Sat, 29 Dec 2012 09:12:57 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4413</guid><description>And here&amp;rsquo;s the script for SMO. However, since different people administrate the Oracle Databases, they don&amp;rsquo;t want me to tinker with the database like the MSSQL admins. They give me a CSV-list of volumes, that should be backed up and I work with that.</description></item><item><title>MDS9000: Setting summer time for CET</title><link>https://christian.blog.pakiheim.de/posts/2012-10-17_mds9000-setting-summer-time-for-cet/</link><pubDate>Wed, 17 Oct 2012 20:37:36 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4358</guid><description>&lt;p&gt;After rebuilding two MDS9148, I wanted them to correctly switch the summer/winter time for my time zone. Currently I&amp;rsquo;m in CET (or CEST during the summer), so I googled for that. The search came up with &lt;a href="http://www.cisco-faq.com/128/configuring_time_zone_dst.html"&gt;Cisco-FAQ&lt;/a&gt;, however that needed a slight adjustment.&lt;/p&gt;
&lt;p&gt;Apparently the NXOS doesn&amp;rsquo;t support the feature &amp;ldquo;recurring&amp;rdquo; in the clock configuration. So I had to slightly adapt the configuration line:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;clock timezone MET 2 0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;clock summer-time MET 5 Sun Mar 02:00 5 Sun Oct 03:00 60
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>vCenter: Removing VSC custom attributes</title><link>https://christian.blog.pakiheim.de/posts/2012-10-17_vcenter-removing-vsc-custom-attributes/</link><pubDate>Wed, 17 Oct 2012 20:10:01 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4357</guid><description>&lt;p&gt;Well, yesterday I got pissed of those Virtual Storage Console custom attributes.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://christian.blog.pakiheim.de/uploads/2012/10/vcenter-custom-attributes.png"&gt;&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2012/10/vcenter-custom-attributes.png"&gt;&lt;/a&gt; Currently we don&amp;rsquo;t use the Provisioning &amp;amp; Cloning feature of the VSC, thus we don&amp;rsquo;t need the custom attributes. After poking around, I decided to write a short PowerCLI script to do the task.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s really rather simple, so here goes:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;param&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;string&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vCenter&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Add the VI-Snapin if it isn&amp;#39;t loaded already&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;PSSnapin&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Name&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;VMware.VimAutomation.Core&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;ErrorAction&lt;/span&gt; &lt;span class="n"&gt;SilentlyContinue&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;eq&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;null&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Add&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;PSSnapin&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Name&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;VMware.VimAutomation.Core&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;If&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vCenter&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;vcenter-remove-vsc-attributes: &amp;lt;vcenter-server&amp;gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; &amp;lt;vcenter-server&amp;gt; - DNS name of your vCenter server.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;exit&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Connect&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VIServer&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Server&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vCenter&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Remove&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;CustomAttribute&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;CustomAttribute&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;PnC.CustSpec&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;PnC.Deployed&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;PnC.GroupID&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;PnC.Source&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Confirm&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="bp"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Disconnect&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VIServer&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;server&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vCenter&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Confirm&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="bp"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>NetApp: Changing DS4243 shelf ID</title><link>https://christian.blog.pakiheim.de/posts/2012-10-11_netapp-changing-ds4243-shelf-id/</link><pubDate>Thu, 11 Oct 2012 21:17:39 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4355</guid><description>&lt;p&gt;I&amp;rsquo;m working on a project right now, providing a SnapVault target for our &amp;ldquo;big&amp;rdquo; NetApp. So we moved our 3240 to it&amp;rsquo;s target location, I spent most of my time yesterday doing the cabling (SAS and ACP, as well as power).&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m still not finished, I still need to &amp;quot; &lt;em&gt;beautify&lt;/em&gt;&amp;quot; the power cables, need to fix the network cables (currently I don&amp;rsquo;t have none &amp;hellip;.) and some other minor stuff. But lemme skip back a bit.&lt;/p&gt;</description></item><item><title>NetApp: Migrating FCP luns with ndmpcopy to another controller</title><link>https://christian.blog.pakiheim.de/posts/2012-10-06_netapp-migrating-fcp-luns-with-ndmpcopy-to-another-controller/</link><pubDate>Sat, 06 Oct 2012 06:31:10 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4352</guid><description>&lt;p&gt;Well, I&amp;rsquo;m in a situation, where I need to move all volumes from one controller to two others. So I looked at the ways I had available:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Freshly implementing everything: No option at all!&lt;/li&gt;
&lt;li&gt;vol copy: Is rather slow, thus no option&lt;/li&gt;
&lt;li&gt;ndmpcopy: That&amp;rsquo;s exactly what I needed!&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;ndmpcopy is a great way to copy over a whole volume including it&amp;rsquo;s files (thus FCP luns) to another volume/controller.&lt;/p&gt;
&lt;p&gt;First I threw in a crossover cable, since at around 6 PM our backup system starts it&amp;rsquo;s daily run, and everything else running via IP in between 6 PM and 6 AM is seriously impaired by this. Configured the additional ports on all three controllers (picked a private, not-routed range just in case) and then kicked of a simple bash script that ran the following:&lt;/p&gt;</description></item><item><title>NetApp LUN creation/vol sizing</title><link>https://christian.blog.pakiheim.de/posts/2012-09-20_netapp-lun-creation-vol-sizing/</link><pubDate>Thu, 20 Sep 2012 04:49:43 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4345</guid><description>&lt;p&gt;Well, as you might know I&amp;rsquo;ve been tinkering with a NetApp FAS at work. The last few months, I&amp;rsquo;ve been trying to figure out a few things, which I actually did.&lt;/p&gt;
&lt;p&gt;One &amp;ldquo;error&amp;rdquo; I ran into with creating the lun&amp;rsquo;s and volumes by hand was that the volumes were running out of space. Even if the volume was a bit larger than the LUN. After that happened a few times, I decided to see how to fix that. As it turns out, the GUI &amp;ldquo;fixes&amp;rdquo; that already in a way I wouldn&amp;rsquo;t have expected.&lt;/p&gt;</description></item><item><title>UCS 5108: VIF down</title><link>https://christian.blog.pakiheim.de/posts/2012-09-17_ucs-5108-vif-down/</link><pubDate>Mon, 17 Sep 2012 18:20:26 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4335</guid><description>&lt;p&gt;Well, I have yet another weird UCS problem. I have a single blade, that has trouble with it&amp;rsquo;s primary fabric attachment.&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2012/08/ucs-1.png" width="500"/&gt;
&lt;/figure&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2012/08/ucs-2.png" width="500"/&gt;
&lt;/figure&gt;
&lt;p&gt;The problem get&amp;rsquo;s even more weird, if you look at the details.&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2012/08/ucs-3.png" width="500"/&gt;
&lt;/figure&gt;
&lt;p&gt;After looking at the IO modules, the error doesn&amp;rsquo;t become any clearer:&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2012/08/ucs-4.png" width="500"/&gt;
&lt;/figure&gt;
&lt;p&gt;So far, I have tried nearly everything. I&amp;rsquo;ve tried resetting the active and passive Connectivity of the vNIC, I tried resetting the DCE adapter for the vNIC, but nothing. I even tried resetting the vHBA that&amp;rsquo;s associated with this fabric, but that didn&amp;rsquo;t result to anything. Not even the usual flogi (fibre channel login) errors, that you get when either booting/resetting the blade.&lt;/p&gt;</description></item><item><title>UCS 5108: Power problem</title><link>https://christian.blog.pakiheim.de/posts/2012-09-04_ucs-5108-power-problem/</link><pubDate>Tue, 04 Sep 2012 17:09:12 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4342</guid><description>&lt;p&gt;Well, I recently had yet another UCS display/I2C communication problem. Somehow one of my chassis&amp;rsquo; started to think, that the power redundancy was lost.&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2012/08/ucs-6.png" width="500"/&gt;
&lt;/figure&gt;
&lt;p&gt;After looking at it a bit deeper, it seems only the GUI or the chassis did notice this power glitch:&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2012/08/ucs-5.png" width="500"/&gt;
&lt;/figure&gt;
&lt;p&gt;As you can see, all PSU&amp;rsquo;s still have power. Now, since I had a big maintainance window the last weekend anyhow (and I spent ~14 hours at work), I decided to restart the IO modules in that chassis. And guess what: The error is gone! Another weird I2C communication issue with the firmware release 2.0.2 &amp;hellip;&lt;/p&gt;</description></item><item><title>SMT mirroring troubles</title><link>https://christian.blog.pakiheim.de/posts/2012-08-30_smt-mirroring-troubles/</link><pubDate>Thu, 30 Aug 2012 17:46:27 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4320</guid><description>&lt;p&gt;Well, I&amp;rsquo;ve been having issues with our SMT. Basically after the release of SLES11 SP2 in &lt;a href="http://forums.suse.com/showthread.php?711-add-catalogs-to-SMT-for-%28not-yet-used%29-versions"&gt;February&lt;/a&gt;, I&amp;rsquo;ve been waiting for the &lt;a href="http://www.claudiokuenzler.com/blog/265/howto-add-sles-11-sp2-updates-novell-smt-mirror-repository-repoindex"&gt;repositories&lt;/a&gt; to turn &amp;ldquo;mirrorable&amp;rdquo;, which they haven&amp;rsquo;t yet. So I wrote a mail to the EMEA customer support.&lt;/p&gt;
&lt;p&gt;And yesterday I got a reply, stating that my mirror credentials had been regenerated. And guess what ? I can mirror stuff again. So if you ever have any issues like the ones I described (or any of the people in the forum threads experienced), write a mail to your Novell customer support. &amp;#x1f61b;&lt;/p&gt;</description></item><item><title>SnapManager for SQL Server: Service fails to respond in a timely fashin</title><link>https://christian.blog.pakiheim.de/posts/2012-08-30_snapmanager-for-sql-server-service-fails-to-respond-in-a-timely-fashin/</link><pubDate>Thu, 30 Aug 2012 17:34:58 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4325</guid><description>&lt;p&gt;Well, we recently upgraded the SnapManager version on our test box to 6.4.1. Now however, after restarting the box the SnapManager service failed to start &amp;hellip; The error was something like this:&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2012/08/event-id-7000&amp;#43;7009-snapmanager.png" width="500"/&gt;
&lt;/figure&gt;
&lt;p&gt;Now, first I stumbled upon this &lt;a href="https://communities.netapp.com/thread/17862"&gt;NetApp Community post&lt;/a&gt;, which only contained the &amp;ldquo;solution&amp;rdquo; to increase the global! wait time for services. That didn&amp;rsquo;t sit well with me.&lt;/p&gt;
&lt;p&gt;So after looking through NOW! for a bit, I actually found the correct way. The fix is described in &lt;a href="https://kb.netapp.com/support/index?page=content&amp;amp;id=2010835"&gt;KB2010835&lt;/a&gt;. Yet again, another certificate error. Why do vendors deploy SSL certificates, when they use untrusted ones, which defeats the purpose of SSL certs or at least &amp;ldquo;brings up&amp;rdquo; users to ignore any error message they get concerning SSL certificates ?&lt;/p&gt;</description></item><item><title>Total Commander: Generate the sum of all directories</title><link>https://christian.blog.pakiheim.de/posts/2012-08-07_total-commander-generate-the-sum-of-all-directories/</link><pubDate>Tue, 07 Aug 2012 07:39:58 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4329</guid><description>&lt;p&gt;In a Total Commander file list press Shift+Alt+Enter to calculate the directory size of all sub-directories.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://christian.blog.pakiheim.de/uploads/2012/08/total-commander-dir-list.png"&gt;&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2012/08/total-commander-dir-list.png"&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Installserver: Publish a VMware ESX ISO - register-vmware</title><link>https://christian.blog.pakiheim.de/posts/2012-07-24_installserver-publish-a-vmware-esx-iso-register-vmware/</link><pubDate>Tue, 24 Jul 2012 16:21:12 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4324</guid><description>&lt;p&gt;Here&amp;rsquo;s an old script, that also uses the magic &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-08_installserver-regenerate-pxe-base-menu" title="Installserver: Regenerate PXE base menu"&gt;provided by pxe-menu-generation&lt;/a&gt; (the script I posted before), but for VMware ESX/ESXi.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt; 10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt; 11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt; 12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt; 13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt; 14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt; 15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt; 16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt; 17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt; 18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt; 19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt; 20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt; 21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt; 22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt; 23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt; 24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-25"&gt;&lt;a class="lnlinks" href="#hl-0-25"&gt; 25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-26"&gt;&lt;a class="lnlinks" href="#hl-0-26"&gt; 26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-27"&gt;&lt;a class="lnlinks" href="#hl-0-27"&gt; 27&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-28"&gt;&lt;a class="lnlinks" href="#hl-0-28"&gt; 28&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-29"&gt;&lt;a class="lnlinks" href="#hl-0-29"&gt; 29&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-30"&gt;&lt;a class="lnlinks" href="#hl-0-30"&gt; 30&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-31"&gt;&lt;a class="lnlinks" href="#hl-0-31"&gt; 31&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-32"&gt;&lt;a class="lnlinks" href="#hl-0-32"&gt; 32&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-33"&gt;&lt;a class="lnlinks" href="#hl-0-33"&gt; 33&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-34"&gt;&lt;a class="lnlinks" href="#hl-0-34"&gt; 34&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-35"&gt;&lt;a class="lnlinks" href="#hl-0-35"&gt; 35&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-36"&gt;&lt;a class="lnlinks" href="#hl-0-36"&gt; 36&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-37"&gt;&lt;a class="lnlinks" href="#hl-0-37"&gt; 37&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-38"&gt;&lt;a class="lnlinks" href="#hl-0-38"&gt; 38&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-39"&gt;&lt;a class="lnlinks" href="#hl-0-39"&gt; 39&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-40"&gt;&lt;a class="lnlinks" href="#hl-0-40"&gt; 40&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-41"&gt;&lt;a class="lnlinks" href="#hl-0-41"&gt; 41&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-42"&gt;&lt;a class="lnlinks" href="#hl-0-42"&gt; 42&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-43"&gt;&lt;a class="lnlinks" href="#hl-0-43"&gt; 43&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-44"&gt;&lt;a class="lnlinks" href="#hl-0-44"&gt; 44&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-45"&gt;&lt;a class="lnlinks" href="#hl-0-45"&gt; 45&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-46"&gt;&lt;a class="lnlinks" href="#hl-0-46"&gt; 46&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-47"&gt;&lt;a class="lnlinks" href="#hl-0-47"&gt; 47&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-48"&gt;&lt;a class="lnlinks" href="#hl-0-48"&gt; 48&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-49"&gt;&lt;a class="lnlinks" href="#hl-0-49"&gt; 49&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-50"&gt;&lt;a class="lnlinks" href="#hl-0-50"&gt; 50&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-51"&gt;&lt;a class="lnlinks" href="#hl-0-51"&gt; 51&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-52"&gt;&lt;a class="lnlinks" href="#hl-0-52"&gt; 52&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-53"&gt;&lt;a class="lnlinks" href="#hl-0-53"&gt; 53&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-54"&gt;&lt;a class="lnlinks" href="#hl-0-54"&gt; 54&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-55"&gt;&lt;a class="lnlinks" href="#hl-0-55"&gt; 55&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-56"&gt;&lt;a class="lnlinks" href="#hl-0-56"&gt; 56&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-57"&gt;&lt;a class="lnlinks" href="#hl-0-57"&gt; 57&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-58"&gt;&lt;a class="lnlinks" href="#hl-0-58"&gt; 58&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-59"&gt;&lt;a class="lnlinks" href="#hl-0-59"&gt; 59&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-60"&gt;&lt;a class="lnlinks" href="#hl-0-60"&gt; 60&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-61"&gt;&lt;a class="lnlinks" href="#hl-0-61"&gt; 61&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-62"&gt;&lt;a class="lnlinks" href="#hl-0-62"&gt; 62&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-63"&gt;&lt;a class="lnlinks" href="#hl-0-63"&gt; 63&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-64"&gt;&lt;a class="lnlinks" href="#hl-0-64"&gt; 64&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-65"&gt;&lt;a class="lnlinks" href="#hl-0-65"&gt; 65&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-66"&gt;&lt;a class="lnlinks" href="#hl-0-66"&gt; 66&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-67"&gt;&lt;a class="lnlinks" href="#hl-0-67"&gt; 67&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-68"&gt;&lt;a class="lnlinks" href="#hl-0-68"&gt; 68&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-69"&gt;&lt;a class="lnlinks" href="#hl-0-69"&gt; 69&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-70"&gt;&lt;a class="lnlinks" href="#hl-0-70"&gt; 70&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-71"&gt;&lt;a class="lnlinks" href="#hl-0-71"&gt; 71&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-72"&gt;&lt;a class="lnlinks" href="#hl-0-72"&gt; 72&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-73"&gt;&lt;a class="lnlinks" href="#hl-0-73"&gt; 73&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-74"&gt;&lt;a class="lnlinks" href="#hl-0-74"&gt; 74&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-75"&gt;&lt;a class="lnlinks" href="#hl-0-75"&gt; 75&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-76"&gt;&lt;a class="lnlinks" href="#hl-0-76"&gt; 76&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-77"&gt;&lt;a class="lnlinks" href="#hl-0-77"&gt; 77&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-78"&gt;&lt;a class="lnlinks" href="#hl-0-78"&gt; 78&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-79"&gt;&lt;a class="lnlinks" href="#hl-0-79"&gt; 79&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-80"&gt;&lt;a class="lnlinks" href="#hl-0-80"&gt; 80&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-81"&gt;&lt;a class="lnlinks" href="#hl-0-81"&gt; 81&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-82"&gt;&lt;a class="lnlinks" href="#hl-0-82"&gt; 82&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-83"&gt;&lt;a class="lnlinks" href="#hl-0-83"&gt; 83&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-84"&gt;&lt;a class="lnlinks" href="#hl-0-84"&gt; 84&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-85"&gt;&lt;a class="lnlinks" href="#hl-0-85"&gt; 85&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-86"&gt;&lt;a class="lnlinks" href="#hl-0-86"&gt; 86&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-87"&gt;&lt;a class="lnlinks" href="#hl-0-87"&gt; 87&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-88"&gt;&lt;a class="lnlinks" href="#hl-0-88"&gt; 88&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-89"&gt;&lt;a class="lnlinks" href="#hl-0-89"&gt; 89&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-90"&gt;&lt;a class="lnlinks" href="#hl-0-90"&gt; 90&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-91"&gt;&lt;a class="lnlinks" href="#hl-0-91"&gt; 91&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-92"&gt;&lt;a class="lnlinks" href="#hl-0-92"&gt; 92&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-93"&gt;&lt;a class="lnlinks" href="#hl-0-93"&gt; 93&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-94"&gt;&lt;a class="lnlinks" href="#hl-0-94"&gt; 94&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-95"&gt;&lt;a class="lnlinks" href="#hl-0-95"&gt; 95&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-96"&gt;&lt;a class="lnlinks" href="#hl-0-96"&gt; 96&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-97"&gt;&lt;a class="lnlinks" href="#hl-0-97"&gt; 97&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-98"&gt;&lt;a class="lnlinks" href="#hl-0-98"&gt; 98&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-99"&gt;&lt;a class="lnlinks" href="#hl-0-99"&gt; 99&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-100"&gt;&lt;a class="lnlinks" href="#hl-0-100"&gt;100&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-101"&gt;&lt;a class="lnlinks" href="#hl-0-101"&gt;101&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-102"&gt;&lt;a class="lnlinks" href="#hl-0-102"&gt;102&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-103"&gt;&lt;a class="lnlinks" href="#hl-0-103"&gt;103&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-104"&gt;&lt;a class="lnlinks" href="#hl-0-104"&gt;104&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-105"&gt;&lt;a class="lnlinks" href="#hl-0-105"&gt;105&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-106"&gt;&lt;a class="lnlinks" href="#hl-0-106"&gt;106&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-107"&gt;&lt;a class="lnlinks" href="#hl-0-107"&gt;107&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-108"&gt;&lt;a class="lnlinks" href="#hl-0-108"&gt;108&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-109"&gt;&lt;a class="lnlinks" href="#hl-0-109"&gt;109&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-110"&gt;&lt;a class="lnlinks" href="#hl-0-110"&gt;110&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-111"&gt;&lt;a class="lnlinks" href="#hl-0-111"&gt;111&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;TFTP_DIR&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/srv/tftp
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;INSTSRC_DIR&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/srv/instsrc
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; -z &lt;span class="nv"&gt;$@&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Usage: register-vmware &amp;lt;path to iso-file&amp;gt; labelname&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;exit&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#set -x&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;ISO_FILE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkdir /mnt/loop
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mount -o loop &lt;span class="nv"&gt;$ISO_FILE&lt;/span&gt; /mnt/loop
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; -f /mnt/loop/packages.xml &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Determine ISO information&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OS_LABEL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; grep &lt;span class="s2"&gt;&amp;#34;&amp;lt;name&amp;gt;&amp;#34;&lt;/span&gt; /mnt/loop/packages.xml &lt;span class="p"&gt;|&lt;/span&gt; sed -e &lt;span class="s2"&gt;&amp;#34;s,&amp;lt;name&amp;gt;,,&amp;#34;&lt;/span&gt; -e &lt;span class="s2"&gt;&amp;#34;s,&amp;lt;/name&amp;gt;,,&amp;#34;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OS_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; grep &lt;span class="s2"&gt;&amp;#34;&amp;lt;ProductLineId&amp;gt;&amp;#34;&lt;/span&gt; /mnt/loop/packages.xml &lt;span class="p"&gt;|&lt;/span&gt; sed -e &lt;span class="s2"&gt;&amp;#34;s,&amp;lt;ProductLineId&amp;gt;,,&amp;#34;&lt;/span&gt; -e &lt;span class="s2"&gt;&amp;#34;s,&amp;lt;/ProductLineId&amp;gt;,,&amp;#34;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OS_RELEASE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; grep &lt;span class="s2"&gt;&amp;#34;&amp;lt;version&amp;gt;&amp;#34;&lt;/span&gt; /mnt/loop/packages.xml &lt;span class="p"&gt;|&lt;/span&gt; sed -e &lt;span class="s2"&gt;&amp;#34;s,&amp;lt;version&amp;gt;,,&amp;#34;&lt;/span&gt; -e &lt;span class="s2"&gt;&amp;#34;s,&amp;lt;/version&amp;gt;,,&amp;#34;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OS_BUILD&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; grep &lt;span class="s2"&gt;&amp;#34;&amp;lt;release&amp;gt;&amp;#34;&lt;/span&gt; /mnt/loop/packages.xml &lt;span class="p"&gt;|&lt;/span&gt; sed -e &lt;span class="s2"&gt;&amp;#34;s,&amp;lt;release&amp;gt;,,&amp;#34;&lt;/span&gt; -e &lt;span class="s2"&gt;&amp;#34;s,&amp;lt;/release&amp;gt;,,&amp;#34;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;shopt&lt;/span&gt; -s extglob
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OS_LABEL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;OS_LABEL&lt;/span&gt;&lt;span class="p"&gt;##*( )&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OS_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;OS_NAME&lt;/span&gt;&lt;span class="p"&gt;##*( )&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OS_RELEASE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;OS_RELEASE&lt;/span&gt;&lt;span class="p"&gt;##*( )&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OS_BUILD&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;OS_BUILD&lt;/span&gt;&lt;span class="p"&gt;##*( )&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;elif&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; -f /mnt/loop/README.txt &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OS_LABEL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OS_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OS_RELEASE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OS_BUILD&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Create directories&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkdir -p &lt;span class="nv"&gt;$TFTP_DIR&lt;/span&gt;/boot/&lt;span class="nv"&gt;$OS_NAME&lt;/span&gt;/&lt;span class="nv"&gt;$OS_RELEASE&lt;/span&gt;-&lt;span class="nv"&gt;$OS_BUILD&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkdir -p &lt;span class="nv"&gt;$TFTP_DIR&lt;/span&gt;/pxelinux.cfg/&lt;span class="nv"&gt;$OS_NAME&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkdir -p &lt;span class="nv"&gt;$INSTSRC_DIR&lt;/span&gt;/&lt;span class="nv"&gt;$OS_NAME&lt;/span&gt;/&lt;span class="nv"&gt;$OS_RELEASE&lt;/span&gt;-&lt;span class="nv"&gt;$OS_BUILD&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#set +x&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Copy CD/DVD content&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rsync -av /mnt/loop/* &lt;span class="nv"&gt;$INSTSRC_DIR&lt;/span&gt;/&lt;span class="nv"&gt;$OS_NAME&lt;/span&gt;/&lt;span class="nv"&gt;$OS_RELEASE&lt;/span&gt;-&lt;span class="nv"&gt;$OS_BUILD&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Copy the PXE boot file (initrd/kernel)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cp &lt;span class="nv"&gt;$INSTSRC_DIR&lt;/span&gt;/&lt;span class="nv"&gt;$OS_NAME&lt;/span&gt;/&lt;span class="nv"&gt;$OS_RELEASE&lt;/span&gt;-&lt;span class="nv"&gt;$OS_BUILD&lt;/span&gt;/isolinux/initrd.img
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;$TFTP_DIR&lt;/span&gt;/boot/&lt;span class="nv"&gt;$OS_NAME&lt;/span&gt;/&lt;span class="nv"&gt;$OS_RELEASE&lt;/span&gt;-&lt;span class="nv"&gt;$OS_BUILD&lt;/span&gt;/initrd.img
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cp &lt;span class="nv"&gt;$INSTSRC_DIR&lt;/span&gt;/&lt;span class="nv"&gt;$OS_NAME&lt;/span&gt;/&lt;span class="nv"&gt;$OS_RELEASE&lt;/span&gt;-&lt;span class="nv"&gt;$OS_BUILD&lt;/span&gt;/isolinux/vmlinuz
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;$TFTP_DIR&lt;/span&gt;/boot/&lt;span class="nv"&gt;$OS_NAME&lt;/span&gt;/&lt;span class="nv"&gt;$OS_RELEASE&lt;/span&gt;-&lt;span class="nv"&gt;$OS_BUILD&lt;/span&gt;/vmlinuz
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Create the PXE boot menu&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cat &amp;gt; &lt;span class="nv"&gt;$TFTP_DIR&lt;/span&gt;/pxelinux.cfg/&lt;span class="nv"&gt;$OS_NAME&lt;/span&gt;/&lt;span class="nv"&gt;$OS_NAME&lt;/span&gt;-&lt;span class="nv"&gt;$OS_RELEASE&lt;/span&gt;-&lt;span class="nv"&gt;$OS_BUILD&lt;/span&gt;.menu &lt;span class="s"&gt;&amp;lt;&amp;lt; EOF
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;#LABEL $OS_LABEL $OS_RELEASE - build $OS_BUILD
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;#OSNAME $OS_NAME
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;#OSARCH x86_64
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU TITLE VMware Installservice
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU BACKGROUND addons/background-vmware.png
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR screen 37;40 #80ffffff #00000000
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR border 0 #ffffffff #ee000000 std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR title 0 #ffffffff #ee000000 std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR unsel 0 #ffffffff #ee000000 std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR sel 0 #ffffffff #85000000 std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR scrollbar 30;44 #40000000 #00000000
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR tabmsg 0 #ee000000 #ffffffff std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR cmdmark 0 #ff00ff00 #00000000 std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR cmdline 0 #ee000000 #ffffffff std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR timeout_msg 0 #ee000000 #ffffffff std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR timeout 0 #ee000000 #ffffffff std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR disabled 0 #ffffffff #ee000000 std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR pwdheader 0 #ff000000 #99ffffff rev
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR pwdborder 0 #ff000000 #99ffffff rev
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR pwdentry 0 #ff000000 #99ffffff rev
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR hotkey 0 #ff00ff00 #ee000000 std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR hotsel 0 #ffffffff #85000000 std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;LABEL DESC
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU LABEL $OS_LABEL $OS_RELEASE
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU DISABLE
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU SEPARATOR
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;LABEL kickstart
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU LABEL ^Kickstart Installation
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;KERNEL boot/$OS_NAME/$OS_RELEASE-$OS_BUILD/vmlinuz
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;APPEND initrd=boot/$OS_NAME/$OS_RELEASE-$OS_BUILD/initrd.img vmkopts=debugLogToSerial:1 mem=512M ks=http://install.home.barfoo.org/kickstart/$OS_NAME-$OS_RELEASE-$OS_BUILD.cfg HOSTNAME=
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;IAPPEND 1
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;TEXT HELP
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;Es ist zu beachten, das mit TAB der Hostname angepasst werden muss!
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;ENDTEXT
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;LABEL netinst
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU LABEL ^Netzwerkbasierte Installation
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;KERNEL boot/$OS_NAME/$OS_RELEASE-$OS_BUILD/vmlinuz
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;APPEND initrd=boot/$OS_NAME/$OS_RELEASE-$OS_BUILD/initrd.img vmkopts=debugLogToSerial:1 mem=512M url=http://install.home.barfoo.org/instsrc/$OS_NAME/$OS_RELEASE-$OS_BUILD
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;IAPPEND 1
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU SEPARATOR
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;LABEL back
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU LABEL &amp;lt;-- ^Vorherige Ansicht
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;KERNEL addons/vesamenu.c32
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;APPEND pxelinux.cfg/$OS_NAME.menu
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;umount /mnt/loop
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rmdir /mnt/loop
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Installserver: Publish a SLES/OpenSUSE ISO - register-suse</title><link>https://christian.blog.pakiheim.de/posts/2012-07-24_installserver-publish-a-sles-opensuse-iso-register-suse/</link><pubDate>Tue, 24 Jul 2012 13:20:34 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4323</guid><description>&lt;p&gt;Well, I&amp;rsquo;ve been tinkering with a way to &amp;ldquo;unify&amp;rdquo; the way we deploy new OpenSUSE/SLES ISOs onto our installation server, once they are released. So here, I&amp;rsquo;ll show you the script I came up with:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt; 10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt; 11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt; 12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt; 13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt; 14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt; 15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt; 16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt; 17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt; 18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt; 19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt; 20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt; 21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt; 22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt; 23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt; 24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-25"&gt;&lt;a class="lnlinks" href="#hl-0-25"&gt; 25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-26"&gt;&lt;a class="lnlinks" href="#hl-0-26"&gt; 26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-27"&gt;&lt;a class="lnlinks" href="#hl-0-27"&gt; 27&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-28"&gt;&lt;a class="lnlinks" href="#hl-0-28"&gt; 28&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-29"&gt;&lt;a class="lnlinks" href="#hl-0-29"&gt; 29&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-30"&gt;&lt;a class="lnlinks" href="#hl-0-30"&gt; 30&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-31"&gt;&lt;a class="lnlinks" href="#hl-0-31"&gt; 31&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-32"&gt;&lt;a class="lnlinks" href="#hl-0-32"&gt; 32&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-33"&gt;&lt;a class="lnlinks" href="#hl-0-33"&gt; 33&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-34"&gt;&lt;a class="lnlinks" href="#hl-0-34"&gt; 34&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-35"&gt;&lt;a class="lnlinks" href="#hl-0-35"&gt; 35&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-36"&gt;&lt;a class="lnlinks" href="#hl-0-36"&gt; 36&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-37"&gt;&lt;a class="lnlinks" href="#hl-0-37"&gt; 37&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-38"&gt;&lt;a class="lnlinks" href="#hl-0-38"&gt; 38&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-39"&gt;&lt;a class="lnlinks" href="#hl-0-39"&gt; 39&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-40"&gt;&lt;a class="lnlinks" href="#hl-0-40"&gt; 40&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-41"&gt;&lt;a class="lnlinks" href="#hl-0-41"&gt; 41&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-42"&gt;&lt;a class="lnlinks" href="#hl-0-42"&gt; 42&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-43"&gt;&lt;a class="lnlinks" href="#hl-0-43"&gt; 43&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-44"&gt;&lt;a class="lnlinks" href="#hl-0-44"&gt; 44&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-45"&gt;&lt;a class="lnlinks" href="#hl-0-45"&gt; 45&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-46"&gt;&lt;a class="lnlinks" href="#hl-0-46"&gt; 46&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-47"&gt;&lt;a class="lnlinks" href="#hl-0-47"&gt; 47&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-48"&gt;&lt;a class="lnlinks" href="#hl-0-48"&gt; 48&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-49"&gt;&lt;a class="lnlinks" href="#hl-0-49"&gt; 49&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-50"&gt;&lt;a class="lnlinks" href="#hl-0-50"&gt; 50&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-51"&gt;&lt;a class="lnlinks" href="#hl-0-51"&gt; 51&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-52"&gt;&lt;a class="lnlinks" href="#hl-0-52"&gt; 52&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-53"&gt;&lt;a class="lnlinks" href="#hl-0-53"&gt; 53&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-54"&gt;&lt;a class="lnlinks" href="#hl-0-54"&gt; 54&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-55"&gt;&lt;a class="lnlinks" href="#hl-0-55"&gt; 55&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-56"&gt;&lt;a class="lnlinks" href="#hl-0-56"&gt; 56&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-57"&gt;&lt;a class="lnlinks" href="#hl-0-57"&gt; 57&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-58"&gt;&lt;a class="lnlinks" href="#hl-0-58"&gt; 58&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-59"&gt;&lt;a class="lnlinks" href="#hl-0-59"&gt; 59&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-60"&gt;&lt;a class="lnlinks" href="#hl-0-60"&gt; 60&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-61"&gt;&lt;a class="lnlinks" href="#hl-0-61"&gt; 61&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-62"&gt;&lt;a class="lnlinks" href="#hl-0-62"&gt; 62&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-63"&gt;&lt;a class="lnlinks" href="#hl-0-63"&gt; 63&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-64"&gt;&lt;a class="lnlinks" href="#hl-0-64"&gt; 64&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-65"&gt;&lt;a class="lnlinks" href="#hl-0-65"&gt; 65&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-66"&gt;&lt;a class="lnlinks" href="#hl-0-66"&gt; 66&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-67"&gt;&lt;a class="lnlinks" href="#hl-0-67"&gt; 67&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-68"&gt;&lt;a class="lnlinks" href="#hl-0-68"&gt; 68&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-69"&gt;&lt;a class="lnlinks" href="#hl-0-69"&gt; 69&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-70"&gt;&lt;a class="lnlinks" href="#hl-0-70"&gt; 70&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-71"&gt;&lt;a class="lnlinks" href="#hl-0-71"&gt; 71&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-72"&gt;&lt;a class="lnlinks" href="#hl-0-72"&gt; 72&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-73"&gt;&lt;a class="lnlinks" href="#hl-0-73"&gt; 73&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-74"&gt;&lt;a class="lnlinks" href="#hl-0-74"&gt; 74&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-75"&gt;&lt;a class="lnlinks" href="#hl-0-75"&gt; 75&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-76"&gt;&lt;a class="lnlinks" href="#hl-0-76"&gt; 76&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-77"&gt;&lt;a class="lnlinks" href="#hl-0-77"&gt; 77&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-78"&gt;&lt;a class="lnlinks" href="#hl-0-78"&gt; 78&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-79"&gt;&lt;a class="lnlinks" href="#hl-0-79"&gt; 79&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-80"&gt;&lt;a class="lnlinks" href="#hl-0-80"&gt; 80&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-81"&gt;&lt;a class="lnlinks" href="#hl-0-81"&gt; 81&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-82"&gt;&lt;a class="lnlinks" href="#hl-0-82"&gt; 82&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-83"&gt;&lt;a class="lnlinks" href="#hl-0-83"&gt; 83&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-84"&gt;&lt;a class="lnlinks" href="#hl-0-84"&gt; 84&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-85"&gt;&lt;a class="lnlinks" href="#hl-0-85"&gt; 85&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-86"&gt;&lt;a class="lnlinks" href="#hl-0-86"&gt; 86&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-87"&gt;&lt;a class="lnlinks" href="#hl-0-87"&gt; 87&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-88"&gt;&lt;a class="lnlinks" href="#hl-0-88"&gt; 88&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-89"&gt;&lt;a class="lnlinks" href="#hl-0-89"&gt; 89&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-90"&gt;&lt;a class="lnlinks" href="#hl-0-90"&gt; 90&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-91"&gt;&lt;a class="lnlinks" href="#hl-0-91"&gt; 91&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-92"&gt;&lt;a class="lnlinks" href="#hl-0-92"&gt; 92&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-93"&gt;&lt;a class="lnlinks" href="#hl-0-93"&gt; 93&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-94"&gt;&lt;a class="lnlinks" href="#hl-0-94"&gt; 94&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-95"&gt;&lt;a class="lnlinks" href="#hl-0-95"&gt; 95&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-96"&gt;&lt;a class="lnlinks" href="#hl-0-96"&gt; 96&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-97"&gt;&lt;a class="lnlinks" href="#hl-0-97"&gt; 97&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-98"&gt;&lt;a class="lnlinks" href="#hl-0-98"&gt; 98&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-99"&gt;&lt;a class="lnlinks" href="#hl-0-99"&gt; 99&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-100"&gt;&lt;a class="lnlinks" href="#hl-0-100"&gt;100&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-101"&gt;&lt;a class="lnlinks" href="#hl-0-101"&gt;101&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-102"&gt;&lt;a class="lnlinks" href="#hl-0-102"&gt;102&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-103"&gt;&lt;a class="lnlinks" href="#hl-0-103"&gt;103&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-104"&gt;&lt;a class="lnlinks" href="#hl-0-104"&gt;104&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-105"&gt;&lt;a class="lnlinks" href="#hl-0-105"&gt;105&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-106"&gt;&lt;a class="lnlinks" href="#hl-0-106"&gt;106&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-107"&gt;&lt;a class="lnlinks" href="#hl-0-107"&gt;107&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-108"&gt;&lt;a class="lnlinks" href="#hl-0-108"&gt;108&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-109"&gt;&lt;a class="lnlinks" href="#hl-0-109"&gt;109&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-110"&gt;&lt;a class="lnlinks" href="#hl-0-110"&gt;110&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-111"&gt;&lt;a class="lnlinks" href="#hl-0-111"&gt;111&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-112"&gt;&lt;a class="lnlinks" href="#hl-0-112"&gt;112&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-113"&gt;&lt;a class="lnlinks" href="#hl-0-113"&gt;113&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-114"&gt;&lt;a class="lnlinks" href="#hl-0-114"&gt;114&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-115"&gt;&lt;a class="lnlinks" href="#hl-0-115"&gt;115&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-116"&gt;&lt;a class="lnlinks" href="#hl-0-116"&gt;116&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-117"&gt;&lt;a class="lnlinks" href="#hl-0-117"&gt;117&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-118"&gt;&lt;a class="lnlinks" href="#hl-0-118"&gt;118&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-119"&gt;&lt;a class="lnlinks" href="#hl-0-119"&gt;119&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-120"&gt;&lt;a class="lnlinks" href="#hl-0-120"&gt;120&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-121"&gt;&lt;a class="lnlinks" href="#hl-0-121"&gt;121&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-122"&gt;&lt;a class="lnlinks" href="#hl-0-122"&gt;122&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-123"&gt;&lt;a class="lnlinks" href="#hl-0-123"&gt;123&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-124"&gt;&lt;a class="lnlinks" href="#hl-0-124"&gt;124&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-125"&gt;&lt;a class="lnlinks" href="#hl-0-125"&gt;125&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-126"&gt;&lt;a class="lnlinks" href="#hl-0-126"&gt;126&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-127"&gt;&lt;a class="lnlinks" href="#hl-0-127"&gt;127&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-128"&gt;&lt;a class="lnlinks" href="#hl-0-128"&gt;128&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;TFTP_DIR&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/srv/tftpboot
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;INSTSRC_DIR&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/srv/instsrc
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; -z &lt;span class="nv"&gt;$@&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Usage: register-suse &amp;lt;path to iso-file&amp;gt; labelname&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;exit&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;ISO_FILE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkdir /mnt/loop
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mount -o loop &lt;span class="nv"&gt;$ISO_FILE&lt;/span&gt; /mnt/loop
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Determine ISO information&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;OS_LABEL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; grep &lt;span class="s1"&gt;&amp;#39;^LABEL&amp;#39;&lt;/span&gt; /mnt/loop/content &lt;span class="p"&gt;|&lt;/span&gt; cut -d -f10- &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; -z &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$OS_LABEL&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OS_LABEL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; grep &lt;span class="s1"&gt;&amp;#39;^LABEL&amp;#39;&lt;/span&gt; /mnt/loop/content &lt;span class="p"&gt;|&lt;/span&gt; cut -d -f2- &lt;span class="p"&gt;|&lt;/span&gt; head -n1 &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;OS_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; grep &lt;span class="s1"&gt;&amp;#39;^DISTRIBUTION&amp;#39;&lt;/span&gt; /mnt/loop/content &lt;span class="p"&gt;|&lt;/span&gt; cut -d -f3- &lt;span class="p"&gt;|&lt;/span&gt; tr &lt;span class="s1"&gt;&amp;#39;[:upper:]&amp;#39;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;[:lower:]&amp;#39;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; -z &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$OS_NAME&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OS_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; grep &lt;span class="s1"&gt;&amp;#39;^PRODUCT&amp;#39;&lt;/span&gt; /mnt/loop/content &lt;span class="p"&gt;|&lt;/span&gt; cut -d -f2- &lt;span class="p"&gt;|&lt;/span&gt; cut -d_ -f1-2 &lt;span class="p"&gt;|&lt;/span&gt; tr &lt;span class="s1"&gt;&amp;#39;[:upper:]&amp;#39;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;[:lower:]&amp;#39;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;case&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$OS_NAME&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; in
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; suse_sle&lt;span class="p"&gt;|&lt;/span&gt;suse_sles&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="nv"&gt;OS_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;sles&lt;span class="p"&gt;;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;esac&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;OS_RELEASE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; grep ^VERSION /mnt/loop/content &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;{ print $2 }&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d- -f1 &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$OS_LABEL&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; grep -i vmware &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; !&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OS_RELEASE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$OS_RELEASE&lt;/span&gt;&lt;span class="s2"&gt;-vmware&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;OS_ARCH&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; grep ^BASEARCHS /mnt/loop/content &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;{ print $2 }&amp;#39;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; -z &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$OS_ARCH&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OS_ARCH&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; grep ^DEFAULTBASE /mnt/loop/content &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;{ print $2 }&amp;#39;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;OS_SHORTLABEL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; grep ^SHORTLABEL /mnt/loop/content &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;{ print $2 }&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d&lt;span class="o"&gt;(&lt;/span&gt; -f1 &lt;span class="p"&gt;|&lt;/span&gt; sed -e &lt;span class="s2"&gt;&amp;#34;s,SLES-,SLES,&amp;#34;&lt;/span&gt; -e &lt;span class="s2"&gt;&amp;#34;s,-, ,g&amp;#34;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;case&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$OS_ARCH&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; in
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; i*86&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="nv"&gt;OS_ARCH&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;x86&lt;span class="p"&gt;;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; x86_64&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="nv"&gt;OS_ARCH&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;x64&lt;span class="p"&gt;;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;esac&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Create directories&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkdir -p &lt;span class="nv"&gt;$TFTP_DIR&lt;/span&gt;/boot/&lt;span class="nv"&gt;$OS_NAME&lt;/span&gt;/&lt;span class="nv"&gt;$OS_RELEASE&lt;/span&gt;/&lt;span class="nv"&gt;$OS_ARCH&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkdir -p &lt;span class="nv"&gt;$TFTP_DIR&lt;/span&gt;/pxelinux.cfg/&lt;span class="nv"&gt;$OS_NAME&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkdir -p &lt;span class="nv"&gt;$INSTSRC_DIR&lt;/span&gt;/&lt;span class="nv"&gt;$OS_NAME&lt;/span&gt;/&lt;span class="nv"&gt;$OS_RELEASE&lt;/span&gt;/&lt;span class="nv"&gt;$OS_ARCH&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Copy CD/DVD content&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rsync -av /mnt/loop/* &lt;span class="nv"&gt;$INSTSRC_DIR&lt;/span&gt;/&lt;span class="nv"&gt;$OS_NAME&lt;/span&gt;/&lt;span class="nv"&gt;$OS_RELEASE&lt;/span&gt;/&lt;span class="nv"&gt;$OS_ARCH&lt;/span&gt;/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Create the info file&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cat &amp;gt; &lt;span class="nv"&gt;$INSTSRC_DIR&lt;/span&gt;/&lt;span class="nv"&gt;$OS_NAME&lt;/span&gt;/&lt;span class="nv"&gt;$OS_RELEASE&lt;/span&gt;/&lt;span class="nv"&gt;$OS_ARCH&lt;/span&gt;/info &lt;span class="s"&gt;&amp;lt;&amp;lt;EOF
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;Language: en_US
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;Keytable: de-lat1-nd
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;Install: http://install.home.barfoo.org/{INSTSRC_DIR//srv/}/$OS_NAME/$OS_RELEASE/$OS_ARCH/
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;Autoyast: http://install.home.barfoo.org/autoyast/
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;Textmode: 1
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Copy the PXE boot file (initrd/kernel)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cp &lt;span class="nv"&gt;$INSTSRC_DIR&lt;/span&gt;/&lt;span class="nv"&gt;$OS_NAME&lt;/span&gt;/&lt;span class="nv"&gt;$OS_RELEASE&lt;/span&gt;/&lt;span class="nv"&gt;$OS_ARCH&lt;/span&gt;/boot/*/loader/initrd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;$TFTP_DIR&lt;/span&gt;/boot/&lt;span class="nv"&gt;$OS_NAME&lt;/span&gt;/&lt;span class="nv"&gt;$OS_RELEASE&lt;/span&gt;/&lt;span class="nv"&gt;$OS_ARCH&lt;/span&gt;/initrd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cp &lt;span class="nv"&gt;$INSTSRC_DIR&lt;/span&gt;/&lt;span class="nv"&gt;$OS_NAME&lt;/span&gt;/&lt;span class="nv"&gt;$OS_RELEASE&lt;/span&gt;/&lt;span class="nv"&gt;$OS_ARCH&lt;/span&gt;/boot/*/loader/linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;$TFTP_DIR&lt;/span&gt;/boot/&lt;span class="nv"&gt;$OS_NAME&lt;/span&gt;/&lt;span class="nv"&gt;$OS_RELEASE&lt;/span&gt;/&lt;span class="nv"&gt;$OS_ARCH&lt;/span&gt;/linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Create the PXE boot menu&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cat &amp;gt; &lt;span class="nv"&gt;$TFTP_DIR&lt;/span&gt;/pxelinux.cfg/&lt;span class="nv"&gt;$OS_NAME&lt;/span&gt;/&lt;span class="nv"&gt;$OS_NAME&lt;/span&gt;-&lt;span class="nv"&gt;$OS_RELEASE&lt;/span&gt;-&lt;span class="nv"&gt;$OS_ARCH&lt;/span&gt;.menu &lt;span class="s"&gt;&amp;lt;&amp;lt; EOF
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;#LABEL $OS_SHORTLABEL
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;#OSNAME $OS_NAME
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;#OSARCH $OS_ARCH
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU TITLE Linux Installationservices
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU BACKGROUND addons/background-suse.png
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR screen 37;40 #80ffffff #00000000
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR border 0 #ffffffff #ee000000 std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR title 0 #ffffffff #ee000000 std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR unsel 0 #ffffffff #ee000000 std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR sel 0 #ffffffff #85000000 std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR scrollbar 30;44 #40000000 #00000000
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR tabmsg 0 #ee000000 #ffffffff std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR cmdmark 0 #ff00ff00 #00000000 std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR cmdline 0 #ee000000 #ffffffff std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR timeout_msg 0 #ee000000 #ffffffff std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR timeout 0 #ee000000 #ffffffff std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR disabled 0 #ffffffff #ee000000 std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR pwdheader 0 #ff000000 #99ffffff rev
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR pwdborder 0 #ff000000 #99ffffff rev
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR pwdentry 0 #ff000000 #99ffffff rev
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR hotkey 0 #ff00ff00 #ee000000 std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU COLOR hotsel 0 #ffffffff #85000000 std
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;LABEL DESC
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; MENU LABEL $OS_LABEL ($OS_ARCH)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; MENU DISABLE
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU SEPARATOR
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;LABEL autoyast
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; MENU LABEL ^Automatisierte Installation
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; KERNEL boot/$OS_NAME/$OS_RELEASE/$OS_ARCH/linux
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; APPEND initrd=boot/$OS_NAME/$OS_RELEASE/$OS_ARCH/initrd info=http://install.home.barfoo.org/${INSTSRC_DIR//srv/}/$OS_NAME/$OS_RELEASE/$OS_ARCH/info splash=native ramdisk_size=65535 vga=791 barrier=off
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;LABEL netinst
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; MENU LABEL ^Netzwerkbasierte Installation
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; KERNEL boot/$OS_NAME/$OS_RELEASE/$OS_ARCH/linux
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; APPEND initrd=boot/$OS_NAME/$OS_RELEASE/$OS_ARCH/initrd install=http://install.home.barfoo.org/${INSTSRC_DIR//srv/}/$OS_NAME/$OS_RELEASE/$OS_ARCH/ splash=native ramdisk_size=65535 vga=791 barrier=off
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;MENU SEPARATOR
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;LABEL back
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; MENU LABEL &amp;lt;-- ^Vorherige Ansicht
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; KERNEL addons/vesamenu.c32
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; APPEND pxelinux.cfg/$OS_NAME.menu
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;umount /mnt/loop
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rmdir /mnt/loop
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;This also needs a second script, as this will only create a menu entry, not the menu itself. You&amp;rsquo;ll &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-08_installserver-regenerate-pxe-base-menu" title="Installserver: Regenerate PXE base menu"&gt;find the script in the next post&lt;/a&gt;!&lt;/p&gt;</description></item><item><title>VMs in Alarm state after scheduled maintainance</title><link>https://christian.blog.pakiheim.de/posts/2012-07-22_vms-in-alarm-state-after-scheduled-maintainance/</link><pubDate>Sun, 22 Jul 2012 10:38:04 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4318</guid><description>&lt;p&gt;Well, I&amp;rsquo;m back at work after three weeks of vacation (some pictures to follow) and the provider hosting our disaster datacenter had their annual (or is it monthly now?) SAN maintainance, so we shut down everything over there by 9:00 am.&lt;/p&gt;
&lt;p&gt;After things were back up around 5pm, I booted the ESX hosts, however the VMs we&amp;rsquo;re all displaying the alert state - as if either the VMs had an HA event or we&amp;rsquo;re using to much CPU time. It didn&amp;rsquo;t matter whether or not the VM was running or not, the state persisted.&lt;/p&gt;</description></item><item><title>NetApp - Remove LUN mappings</title><link>https://christian.blog.pakiheim.de/posts/2012-06-15_netapp-remove-lun-mappings/</link><pubDate>Fri, 15 Jun 2012 14:30:58 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4309</guid><description>&lt;p&gt;As &lt;a href="https://christian.blog.pakiheim.de/posts/2012-06-15_netapp-remove-lun-mappings" title="NetApp – Copy LUN mappings"&gt;promised in the earlier post&lt;/a&gt;, for completeness sake, here&amp;rsquo;s the counterpart for removing the LUNs in the first place.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-25"&gt;&lt;a class="lnlinks" href="#hl-0-25"&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-26"&gt;&lt;a class="lnlinks" href="#hl-0-26"&gt;26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-27"&gt;&lt;a class="lnlinks" href="#hl-0-27"&gt;27&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-28"&gt;&lt;a class="lnlinks" href="#hl-0-28"&gt;28&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-29"&gt;&lt;a class="lnlinks" href="#hl-0-29"&gt;29&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-30"&gt;&lt;a class="lnlinks" href="#hl-0-30"&gt;30&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-31"&gt;&lt;a class="lnlinks" href="#hl-0-31"&gt;31&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-32"&gt;&lt;a class="lnlinks" href="#hl-0-32"&gt;32&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-33"&gt;&lt;a class="lnlinks" href="#hl-0-33"&gt;33&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-34"&gt;&lt;a class="lnlinks" href="#hl-0-34"&gt;34&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-35"&gt;&lt;a class="lnlinks" href="#hl-0-35"&gt;35&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-36"&gt;&lt;a class="lnlinks" href="#hl-0-36"&gt;36&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-37"&gt;&lt;a class="lnlinks" href="#hl-0-37"&gt;37&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-38"&gt;&lt;a class="lnlinks" href="#hl-0-38"&gt;38&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-39"&gt;&lt;a class="lnlinks" href="#hl-0-39"&gt;39&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-40"&gt;&lt;a class="lnlinks" href="#hl-0-40"&gt;40&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-41"&gt;&lt;a class="lnlinks" href="#hl-0-41"&gt;41&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;#!/bin/bash&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;KEY_FILE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;/root/.ssh/netapp.dsa&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;SSH_OPTS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;/root/.ssh/netapp-ssh_config&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="nv"&gt;$#&lt;/span&gt; -ne &lt;span class="m"&gt;2&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;fas-remove-lunmap: FAS_CONTROLLER TARGET_IGROUP&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Remove every mapped lun from the target igroup (for example reinstallation)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; Usage:&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; - FAS_CONTROLLER: Hostname/IP-adress of the DATA ONTAP controller&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; - TARGET_IGROUP: igroup that is actually modified&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;exit&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;FAS_CTRL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;TARGET&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ssh_fas&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# $@: commands for Data ONTAP&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;COMMANDS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$@&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; /usr/bin/ssh -i &lt;span class="nv"&gt;$KEY_FILE&lt;/span&gt; -l root -F &lt;span class="nv"&gt;$SSH_OPTS&lt;/span&gt; &lt;span class="nv"&gt;$COMMANDS&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Get the hostname of the controller, necessary for the reporting&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;CTRL_HOSTNAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; ssh_fas &lt;span class="nv"&gt;$FAS_CTRL&lt;/span&gt; rdfile /etc/rc &lt;span class="p"&gt;|&lt;/span&gt; grep ^hostname &lt;span class="p"&gt;|&lt;/span&gt; cut -d -f2 &lt;span class="p"&gt;|&lt;/span&gt; tr &lt;span class="s1"&gt;&amp;#39;a-z&amp;#39;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;A-Z&amp;#39;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#set -x&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Get the lun list.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; lun in &lt;span class="k"&gt;$(&lt;/span&gt; ssh_fas &lt;span class="nv"&gt;$FAS_CTRL&lt;/span&gt; lun show -g &lt;span class="nv"&gt;$SOURCE&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;{ print $1 }&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sort -u &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# If the LUN id is 0, skip otherwise we would remove the boot LUN&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$LUN_ID&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; !&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;0&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Actually remove the mapping to our host&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Removing &lt;/span&gt;&lt;span class="nv"&gt;$lun&lt;/span&gt;&lt;span class="s2"&gt; from &lt;/span&gt;&lt;span class="nv"&gt;$TARGET&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ssh_fas &lt;span class="nv"&gt;$FAS_CTRL&lt;/span&gt; lun unmap &lt;span class="nv"&gt;$lun&lt;/span&gt; &lt;span class="nv"&gt;$TARGET&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#set +x&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;With that, you can simply run it against a NetApp controller and remove every LUN map except the one with LUN ID 0 (which is pretty handy when installing/reinstalling ESX servers).&lt;/p&gt;</description></item><item><title>NetApp - Get a list of volumes containing too much LUNs</title><link>https://christian.blog.pakiheim.de/posts/2012-06-08_netapp-get-a-list-of-volumes-containing-too-much-luns/</link><pubDate>Fri, 08 Jun 2012 19:04:53 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4303</guid><description>&lt;p&gt;Well, after figuring things out (and realizing that if you create a LUN in the same size as the volume it&amp;rsquo;ll break), I decided to write yet another script to figure out which LUNs needed fixing.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-25"&gt;&lt;a class="lnlinks" href="#hl-0-25"&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-26"&gt;&lt;a class="lnlinks" href="#hl-0-26"&gt;26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-27"&gt;&lt;a class="lnlinks" href="#hl-0-27"&gt;27&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-28"&gt;&lt;a class="lnlinks" href="#hl-0-28"&gt;28&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-29"&gt;&lt;a class="lnlinks" href="#hl-0-29"&gt;29&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-30"&gt;&lt;a class="lnlinks" href="#hl-0-30"&gt;30&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-31"&gt;&lt;a class="lnlinks" href="#hl-0-31"&gt;31&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-32"&gt;&lt;a class="lnlinks" href="#hl-0-32"&gt;32&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-33"&gt;&lt;a class="lnlinks" href="#hl-0-33"&gt;33&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-34"&gt;&lt;a class="lnlinks" href="#hl-0-34"&gt;34&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-35"&gt;&lt;a class="lnlinks" href="#hl-0-35"&gt;35&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-36"&gt;&lt;a class="lnlinks" href="#hl-0-36"&gt;36&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-37"&gt;&lt;a class="lnlinks" href="#hl-0-37"&gt;37&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-38"&gt;&lt;a class="lnlinks" href="#hl-0-38"&gt;38&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-39"&gt;&lt;a class="lnlinks" href="#hl-0-39"&gt;39&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-40"&gt;&lt;a class="lnlinks" href="#hl-0-40"&gt;40&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-41"&gt;&lt;a class="lnlinks" href="#hl-0-41"&gt;41&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-42"&gt;&lt;a class="lnlinks" href="#hl-0-42"&gt;42&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-43"&gt;&lt;a class="lnlinks" href="#hl-0-43"&gt;43&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-44"&gt;&lt;a class="lnlinks" href="#hl-0-44"&gt;44&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-45"&gt;&lt;a class="lnlinks" href="#hl-0-45"&gt;45&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-46"&gt;&lt;a class="lnlinks" href="#hl-0-46"&gt;46&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-47"&gt;&lt;a class="lnlinks" href="#hl-0-47"&gt;47&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-48"&gt;&lt;a class="lnlinks" href="#hl-0-48"&gt;48&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-49"&gt;&lt;a class="lnlinks" href="#hl-0-49"&gt;49&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-50"&gt;&lt;a class="lnlinks" href="#hl-0-50"&gt;50&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-51"&gt;&lt;a class="lnlinks" href="#hl-0-51"&gt;51&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-52"&gt;&lt;a class="lnlinks" href="#hl-0-52"&gt;52&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-53"&gt;&lt;a class="lnlinks" href="#hl-0-53"&gt;53&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-54"&gt;&lt;a class="lnlinks" href="#hl-0-54"&gt;54&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-55"&gt;&lt;a class="lnlinks" href="#hl-0-55"&gt;55&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-56"&gt;&lt;a class="lnlinks" href="#hl-0-56"&gt;56&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-57"&gt;&lt;a class="lnlinks" href="#hl-0-57"&gt;57&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-58"&gt;&lt;a class="lnlinks" href="#hl-0-58"&gt;58&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-59"&gt;&lt;a class="lnlinks" href="#hl-0-59"&gt;59&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-60"&gt;&lt;a class="lnlinks" href="#hl-0-60"&gt;60&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-61"&gt;&lt;a class="lnlinks" href="#hl-0-61"&gt;61&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-62"&gt;&lt;a class="lnlinks" href="#hl-0-62"&gt;62&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;KEY_FILE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;/root/.ssh/netapp.dsa&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;SSH_OPTS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;/root/.ssh/netapp-ssh_config&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;FAS_CTRL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ssh_fas&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# $@: commands for Data ONTAP&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;COMMANDS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$@&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; /usr/bin/ssh -i &lt;span class="nv"&gt;$KEY_FILE&lt;/span&gt; -l root -F &lt;span class="nv"&gt;$SSH_OPTS&lt;/span&gt; &lt;span class="nv"&gt;$COMMANDS&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; volume in &lt;span class="k"&gt;$(&lt;/span&gt; ssh_fas &lt;span class="nv"&gt;$FAS_CTRL&lt;/span&gt; vol status &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="s2"&gt;&amp;#34;vol.* online&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;{ print $1 }&amp;#39;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;VOL_SIZE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; ssh_fas &lt;span class="nv"&gt;$FAS_CTRL&lt;/span&gt; vol size &lt;span class="nv"&gt;$volume&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;{ print $8 }&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sed &lt;span class="s2"&gt;&amp;#34;s,.,,&amp;#34;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;VOL_UNIT_PARAM&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${#&lt;/span&gt;&lt;span class="nv"&gt;VOL_SIZE&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; - 1&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; bc &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;VOL_UNIT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;VOL_SIZE&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nv"&gt;$VOL_UNIT_PARAM&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nv"&gt;1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;case&lt;/span&gt; &lt;span class="nv"&gt;$VOL_UNIT&lt;/span&gt; in
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; k&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="nv"&gt;CONV&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;1024&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; m&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="nv"&gt;CONV&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;1024 * 1024&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; g&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="nv"&gt;CONV&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;1024 * 1024 * 1024&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;esac&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;VOL_SIZE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;scale=0; &lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;VOL_SIZE&lt;/span&gt;&lt;span class="p"&gt;/&lt;/span&gt;&lt;span class="nv"&gt;$VOL_UNIT&lt;/span&gt;&lt;span class="p"&gt;/&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; * &lt;/span&gt;&lt;span class="nv"&gt;$CONV&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; bc &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Subtract the snap reserve (if any)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;SNAP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; ssh_fas &lt;span class="nv"&gt;$FAS_CTRL&lt;/span&gt; snap reserve &lt;span class="nv"&gt;$volume&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d -f7 &lt;span class="p"&gt;|&lt;/span&gt; sed &lt;span class="s2"&gt;&amp;#34;s,%,,&amp;#34;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="nv"&gt;$SNAP&lt;/span&gt; -gt &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;SNAP_SIZE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$VOL_SIZE&lt;/span&gt;&lt;span class="s2"&gt; * &lt;/span&gt;&lt;span class="nv"&gt;$SNAP&lt;/span&gt;&lt;span class="s2"&gt; / 100&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; bc &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;REMAINING_VOL_SIZE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$VOL_SIZE&lt;/span&gt;&lt;span class="s2"&gt; - &lt;/span&gt;&lt;span class="nv"&gt;$SNAP_SIZE&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; bc &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;SNAP_SIZE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;REMAINING_VOL_SIZE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$VOL_SIZE&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Get the luns created inside the volume&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;LUN_SIZE_TOTAL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; lunsize in &lt;span class="k"&gt;$(&lt;/span&gt; ssh_fas &lt;span class="nv"&gt;$FAS_CTRL&lt;/span&gt; lun show -l &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;volume&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;{ print $3 }&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; sed -e &lt;span class="s2"&gt;&amp;#34;s,(,,&amp;#34;&lt;/span&gt; -e &lt;span class="s2"&gt;&amp;#34;s,),,&amp;#34;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;LUN_SIZE_TOTAL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$LUN_SIZE_TOTAL&lt;/span&gt;&lt;span class="s2"&gt; + &lt;/span&gt;&lt;span class="nv"&gt;$lunsize&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; bc &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;REMAINING_VOL_SIZE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$REMAINING_VOL_SIZE&lt;/span&gt;&lt;span class="s2"&gt; - &lt;/span&gt;&lt;span class="nv"&gt;$lunsize&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; bc &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Get the estimated space necessary.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;VOL_RESERVE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$VOL_SIZE&lt;/span&gt;&lt;span class="s2"&gt; * 3 / 100&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; bc &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; VOL_NAME: &lt;/span&gt;&lt;span class="nv"&gt;$volume&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; VOLUME_SIZE: &lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;scale=2; &lt;/span&gt;&lt;span class="nv"&gt;$VOL_SIZE&lt;/span&gt;&lt;span class="s2"&gt; / 1024 / 1024 / 1024&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; bc &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;G&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; - SNAP_SIZE: &lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;scale=2; &lt;/span&gt;&lt;span class="nv"&gt;$SNAP_SIZE&lt;/span&gt;&lt;span class="s2"&gt; / 1024 / 1024 / 1024&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; bc &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;G&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; SUB_TOTAL: &lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;scale=2; (&lt;/span&gt;&lt;span class="nv"&gt;$VOL_SIZE&lt;/span&gt;&lt;span class="s2"&gt; - &lt;/span&gt;&lt;span class="nv"&gt;$SNAP_SIZE&lt;/span&gt;&lt;span class="s2"&gt;) / 1024 / 1024 / 1024&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; bc &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;G&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; - TOTAL_LUN_SIZE: &lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;scale=2; &lt;/span&gt;&lt;span class="nv"&gt;$LUN_SIZE_TOTAL&lt;/span&gt;&lt;span class="s2"&gt; / 1024 / 1024 / 1024&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; bc &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;G&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; SUB_TOTAL: &lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;scale=2; (&lt;/span&gt;&lt;span class="nv"&gt;$VOL_SIZE&lt;/span&gt;&lt;span class="s2"&gt; - &lt;/span&gt;&lt;span class="nv"&gt;$SNAP_SIZE&lt;/span&gt;&lt;span class="s2"&gt; - &lt;/span&gt;&lt;span class="nv"&gt;$LUN_SIZE_TOTAL&lt;/span&gt;&lt;span class="s2"&gt;) / 1024 / 1024 / 1024&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; bc &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;G&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; MISSING_SPACE:&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;DIFFERENCE_VOL_LUN&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;scale=2; (&lt;/span&gt;&lt;span class="nv"&gt;$VOL_SIZE&lt;/span&gt;&lt;span class="s2"&gt; - &lt;/span&gt;&lt;span class="nv"&gt;$SNAP_SIZE&lt;/span&gt;&lt;span class="s2"&gt; - &lt;/span&gt;&lt;span class="nv"&gt;$LUN_SIZE_TOTAL&lt;/span&gt;&lt;span class="s2"&gt;)&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; bc &lt;span class="p"&gt;|&lt;/span&gt; sed &lt;span class="s2"&gt;&amp;#34;s,-,,&amp;#34;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; DIFFERENCE_VOL_LUN: &lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;scale=2; &lt;/span&gt;&lt;span class="nv"&gt;$DIFFERENCE_VOL_LUN&lt;/span&gt;&lt;span class="s2"&gt; / 1024 / 1024 / 1024&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; bc &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;G&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; + VOL_RESERVE: &lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;scale=2; &lt;/span&gt;&lt;span class="nv"&gt;$VOL_RESERVE&lt;/span&gt;&lt;span class="s2"&gt; / 1024 / 1024 / 1024&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; bc &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;G&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; SUB_TOTAL: &lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;scale=2; (&lt;/span&gt;&lt;span class="nv"&gt;$DIFFERENCE_VOL_LUN&lt;/span&gt;&lt;span class="s2"&gt; + &lt;/span&gt;&lt;span class="nv"&gt;$VOL_RESERVE&lt;/span&gt;&lt;span class="s2"&gt;) / 1024 / 1024 / 1024&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; bc &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;G&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;And with that you have a list of volumes, with the amount of space they need to resized in order to accomodate the contained LUNs and the snapshots.&lt;/p&gt;</description></item><item><title>XenServer - Automation Metdata backups</title><link>https://christian.blog.pakiheim.de/posts/2012-06-05_xenserver-automation-metdata-backups/</link><pubDate>Tue, 05 Jun 2012 18:59:48 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4301</guid><description>&lt;p&gt;Well, we had some issues with XenServers &amp;ldquo;automated&amp;rdquo; metadata backup, so I decided - with the help of one of our consultants - to automate it on our own to an external target.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-25"&gt;&lt;a class="lnlinks" href="#hl-0-25"&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-26"&gt;&lt;a class="lnlinks" href="#hl-0-26"&gt;26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-27"&gt;&lt;a class="lnlinks" href="#hl-0-27"&gt;27&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-28"&gt;&lt;a class="lnlinks" href="#hl-0-28"&gt;28&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-29"&gt;&lt;a class="lnlinks" href="#hl-0-29"&gt;29&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-30"&gt;&lt;a class="lnlinks" href="#hl-0-30"&gt;30&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-31"&gt;&lt;a class="lnlinks" href="#hl-0-31"&gt;31&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-32"&gt;&lt;a class="lnlinks" href="#hl-0-32"&gt;32&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-33"&gt;&lt;a class="lnlinks" href="#hl-0-33"&gt;33&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-34"&gt;&lt;a class="lnlinks" href="#hl-0-34"&gt;34&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-35"&gt;&lt;a class="lnlinks" href="#hl-0-35"&gt;35&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-36"&gt;&lt;a class="lnlinks" href="#hl-0-36"&gt;36&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-37"&gt;&lt;a class="lnlinks" href="#hl-0-37"&gt;37&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-38"&gt;&lt;a class="lnlinks" href="#hl-0-38"&gt;38&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-39"&gt;&lt;a class="lnlinks" href="#hl-0-39"&gt;39&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-40"&gt;&lt;a class="lnlinks" href="#hl-0-40"&gt;40&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-41"&gt;&lt;a class="lnlinks" href="#hl-0-41"&gt;41&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-42"&gt;&lt;a class="lnlinks" href="#hl-0-42"&gt;42&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-43"&gt;&lt;a class="lnlinks" href="#hl-0-43"&gt;43&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-44"&gt;&lt;a class="lnlinks" href="#hl-0-44"&gt;44&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-45"&gt;&lt;a class="lnlinks" href="#hl-0-45"&gt;45&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-46"&gt;&lt;a class="lnlinks" href="#hl-0-46"&gt;46&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-47"&gt;&lt;a class="lnlinks" href="#hl-0-47"&gt;47&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-48"&gt;&lt;a class="lnlinks" href="#hl-0-48"&gt;48&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-49"&gt;&lt;a class="lnlinks" href="#hl-0-49"&gt;49&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-50"&gt;&lt;a class="lnlinks" href="#hl-0-50"&gt;50&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-51"&gt;&lt;a class="lnlinks" href="#hl-0-51"&gt;51&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-52"&gt;&lt;a class="lnlinks" href="#hl-0-52"&gt;52&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-53"&gt;&lt;a class="lnlinks" href="#hl-0-53"&gt;53&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-54"&gt;&lt;a class="lnlinks" href="#hl-0-54"&gt;54&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-55"&gt;&lt;a class="lnlinks" href="#hl-0-55"&gt;55&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-56"&gt;&lt;a class="lnlinks" href="#hl-0-56"&gt;56&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-57"&gt;&lt;a class="lnlinks" href="#hl-0-57"&gt;57&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Crontab entry for each server:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 02 5 * * * root /usr/local/sbin/xen-pool-backup.sh&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Get the pool name&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;POOL_NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; xe pool-list &lt;span class="p"&gt;|&lt;/span&gt; grep name-label &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;{ print $4 }&amp;#39;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;HOST_UUID&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; xe host-list &lt;span class="nv"&gt;hostname&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sb"&gt;`&lt;/span&gt;hostname&lt;span class="sb"&gt;`&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="s2"&gt;&amp;#34;uuid ( RO)&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; awk &lt;span class="s1"&gt;&amp;#39;{ print $5 }&amp;#39;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;DAILY_GENERATIONS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;7&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;WEEKLY_GENERATIONS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;4&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;NFS_MOUNT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;nfs.home.barfoo.org:/srv/xenbackup&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;NFS_LOCAL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;/tmp/backup-mount/&lt;/span&gt;&lt;span class="nv"&gt;$POOL_NAME&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Figure out if we&amp;#39;re the pool master&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;POOL_MASTER&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; xe pool-list &lt;span class="p"&gt;|&lt;/span&gt; grep master &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;{ print $4 }&amp;#39;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$POOL_MASTER&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$HOST_UUID&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Only the pool master should backup the pool database, as this is the only&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# one who has a authoritive pool database&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Create the necessary directory and mount the NFS volume&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; mkdir -p &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NFS_LOCAL&lt;/span&gt;&lt;span class="p"&gt;%/*&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; mount -t nfs &lt;span class="nv"&gt;$NFS_MOUNT&lt;/span&gt; &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NFS_LOCAL&lt;/span&gt;&lt;span class="p"&gt;%/*&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; mkdir -p &lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; -f &lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;/daily.&lt;span class="nv"&gt;$DAILY_GENERATIONS&lt;/span&gt;.gz &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; rm -f &lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;/daily.&lt;span class="nv"&gt;$DAILY_GENERATIONS&lt;/span&gt;.gz
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;OLD_DAILY&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;scale=0; &lt;/span&gt;&lt;span class="nv"&gt;$DAILY_GENERATIONS&lt;/span&gt;&lt;span class="s2"&gt; - 1&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; bc &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; OLD in &lt;span class="k"&gt;$(&lt;/span&gt; seq &lt;span class="nv"&gt;$OLD_DAILY&lt;/span&gt; -1 &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; -f &lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;/daily.&lt;span class="nv"&gt;$OLD&lt;/span&gt;.gz &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;NEW&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;scale=0; &lt;/span&gt;&lt;span class="nv"&gt;$OLD&lt;/span&gt;&lt;span class="s2"&gt;+1&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; bc &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Save the time stamp somewhere&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; touch &lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;/.timestamp -r &lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;/daily.&lt;span class="nv"&gt;$OLD&lt;/span&gt;.gz
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; mv &lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;/daily.&lt;span class="nv"&gt;$OLD&lt;/span&gt;.gz &lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;/daily.&lt;span class="nv"&gt;$NEW&lt;/span&gt;.gz
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Restore the date&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; touch &lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;/daily.&lt;span class="nv"&gt;$NEW&lt;/span&gt;.gz -r &lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;/.timestamp
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;[&lt;/span&gt; -f &lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;/daily.0.gz &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; mv &lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;/daily.0.gz
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;/daily.1.gz
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; xe pool-dump-database file-name&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;/daily.0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; gzip -9 &lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;/daily.0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;[&lt;/span&gt; -f &lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;/.timestamp &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; rm &lt;span class="nv"&gt;$NFS_LOCAL&lt;/span&gt;/.timestamp
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; umount &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NFS_LOCAL&lt;/span&gt;&lt;span class="p"&gt;%/*&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; rm -rf &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;NFS_LOCAL&lt;/span&gt;&lt;span class="p"&gt;%/*&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;With that, I have at least a daily backup - and in combination with our daily TSM backup, I have at least month long history of metadata backups.&lt;/p&gt;</description></item><item><title>NetApp - Get a list of all volumes not being used</title><link>https://christian.blog.pakiheim.de/posts/2012-05-30_netapp-get-a-list-of-all-volumes-not-being-used/</link><pubDate>Wed, 30 May 2012 17:40:12 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4297</guid><description>&lt;p&gt;Well, I had another task for today &amp;hellip; I have an amount of FlexVolumes (sixty currently per controller), and I didn&amp;rsquo;t know if we had any, that didn&amp;rsquo;t have any LUNs on them. Now I thought there was a command for that since my co-worker mentioned something like that. However, once again &amp;hellip; there isn&amp;rsquo;t.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-25"&gt;&lt;a class="lnlinks" href="#hl-0-25"&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-26"&gt;&lt;a class="lnlinks" href="#hl-0-26"&gt;26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-27"&gt;&lt;a class="lnlinks" href="#hl-0-27"&gt;27&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-28"&gt;&lt;a class="lnlinks" href="#hl-0-28"&gt;28&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-29"&gt;&lt;a class="lnlinks" href="#hl-0-29"&gt;29&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-30"&gt;&lt;a class="lnlinks" href="#hl-0-30"&gt;30&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-31"&gt;&lt;a class="lnlinks" href="#hl-0-31"&gt;31&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-32"&gt;&lt;a class="lnlinks" href="#hl-0-32"&gt;32&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-33"&gt;&lt;a class="lnlinks" href="#hl-0-33"&gt;33&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-34"&gt;&lt;a class="lnlinks" href="#hl-0-34"&gt;34&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-35"&gt;&lt;a class="lnlinks" href="#hl-0-35"&gt;35&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-36"&gt;&lt;a class="lnlinks" href="#hl-0-36"&gt;36&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-37"&gt;&lt;a class="lnlinks" href="#hl-0-37"&gt;37&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-38"&gt;&lt;a class="lnlinks" href="#hl-0-38"&gt;38&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-39"&gt;&lt;a class="lnlinks" href="#hl-0-39"&gt;39&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;MAILTO&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;san@barfoo.org&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;KEY_FILE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;/root/.ssh/netapp.dsa&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;SSH_OPTS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;/root/.ssh/netapp-ssh_config&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;FAS_CTRL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;TMPDIR&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; mktemp -d &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ssh_fas&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# $@: commands for Data ONTAP&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;COMMANDS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$@&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; /usr/bin/ssh -i &lt;span class="nv"&gt;$KEY_FILE&lt;/span&gt; -l root -F &lt;span class="nv"&gt;$SSH_OPTS&lt;/span&gt; &lt;span class="nv"&gt;$COMMANDS&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Get the hostname of the controller, necessary for the reporting&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;CTRL_HOSTNAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; ssh_fas &lt;span class="nv"&gt;$FAS_CTRL&lt;/span&gt; rdfile /etc/rc &lt;span class="p"&gt;|&lt;/span&gt; grep ^hostname &lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; cut -d -f2 &lt;span class="p"&gt;|&lt;/span&gt; tr &lt;span class="s1"&gt;&amp;#39;a-z&amp;#39;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;A-Z&amp;#39;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Get a list of all volumes / luns&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;VOL_LIST&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; ssh_fas &lt;span class="nv"&gt;$FAS_CTRL&lt;/span&gt; vol status &lt;span class="p"&gt;|&lt;/span&gt; grep ^vol &lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; egrep -v &lt;span class="s1"&gt;&amp;#39;(nfs|cifs)&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; awk &lt;span class="s1"&gt;&amp;#39;{ print $1 }&amp;#39;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;LUN_LIST&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; ssh_fas &lt;span class="nv"&gt;$FAS_CTRL&lt;/span&gt; lun show &lt;span class="p"&gt;|&lt;/span&gt; grep &lt;span class="s1"&gt;&amp;#39;/vol&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; awk &lt;span class="s1"&gt;&amp;#39;{ print $1 }&amp;#39;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; lun in &lt;span class="nv"&gt;$LUN_LIST&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;VOL_EXTRACT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$lun&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; cut -d/ -f3 &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;VOL_LIST&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;VOL_LIST&lt;/span&gt;&lt;span class="p"&gt;/&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;VOL_EXTRACT&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;/&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; vol in &lt;span class="nv"&gt;$VOL_LIST&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Empty Flex Volume: &lt;/span&gt;&lt;span class="nv"&gt;$vol&lt;/span&gt;&lt;span class="s2"&gt;.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;done&lt;/span&gt; &amp;gt; &lt;span class="nv"&gt;$TMPDIR&lt;/span&gt;/mailcontent
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; grep Flex &lt;span class="nv"&gt;$TMPDIR&lt;/span&gt;/mailcontent &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; cat &lt;span class="nv"&gt;$TMPDIR&lt;/span&gt;/mailcontent &lt;span class="p"&gt;|&lt;/span&gt; mailx -r &lt;span class="nv"&gt;$MAILTO&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -s &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$CTRL_HOSTNAME&lt;/span&gt;&lt;span class="s2"&gt;: Empty volume check&amp;#34;&lt;/span&gt; &lt;span class="nv"&gt;$MAILTO&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rm -r &lt;span class="nv"&gt;$TMPDIR&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Automating qual_devices updates</title><link>https://christian.blog.pakiheim.de/posts/2012-05-30_automating-qual-devices-updates/</link><pubDate>Wed, 30 May 2012 17:23:58 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4296</guid><description>&lt;p&gt;Well, once again I was presented with a nice AutoSupport warning once I logged into my NOW account. Since we don&amp;rsquo;t have CIFS and/or NFS licensed on our filers, I wrote a cute little script that does the whole work for me.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-25"&gt;&lt;a class="lnlinks" href="#hl-0-25"&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-26"&gt;&lt;a class="lnlinks" href="#hl-0-26"&gt;26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-27"&gt;&lt;a class="lnlinks" href="#hl-0-27"&gt;27&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-28"&gt;&lt;a class="lnlinks" href="#hl-0-28"&gt;28&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-29"&gt;&lt;a class="lnlinks" href="#hl-0-29"&gt;29&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-30"&gt;&lt;a class="lnlinks" href="#hl-0-30"&gt;30&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-31"&gt;&lt;a class="lnlinks" href="#hl-0-31"&gt;31&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-32"&gt;&lt;a class="lnlinks" href="#hl-0-32"&gt;32&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-33"&gt;&lt;a class="lnlinks" href="#hl-0-33"&gt;33&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-34"&gt;&lt;a class="lnlinks" href="#hl-0-34"&gt;34&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-35"&gt;&lt;a class="lnlinks" href="#hl-0-35"&gt;35&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-36"&gt;&lt;a class="lnlinks" href="#hl-0-36"&gt;36&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-37"&gt;&lt;a class="lnlinks" href="#hl-0-37"&gt;37&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-38"&gt;&lt;a class="lnlinks" href="#hl-0-38"&gt;38&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-39"&gt;&lt;a class="lnlinks" href="#hl-0-39"&gt;39&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-40"&gt;&lt;a class="lnlinks" href="#hl-0-40"&gt;40&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-41"&gt;&lt;a class="lnlinks" href="#hl-0-41"&gt;41&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-42"&gt;&lt;a class="lnlinks" href="#hl-0-42"&gt;42&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-43"&gt;&lt;a class="lnlinks" href="#hl-0-43"&gt;43&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-44"&gt;&lt;a class="lnlinks" href="#hl-0-44"&gt;44&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-45"&gt;&lt;a class="lnlinks" href="#hl-0-45"&gt;45&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-46"&gt;&lt;a class="lnlinks" href="#hl-0-46"&gt;46&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-47"&gt;&lt;a class="lnlinks" href="#hl-0-47"&gt;47&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-48"&gt;&lt;a class="lnlinks" href="#hl-0-48"&gt;48&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-49"&gt;&lt;a class="lnlinks" href="#hl-0-49"&gt;49&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-50"&gt;&lt;a class="lnlinks" href="#hl-0-50"&gt;50&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-51"&gt;&lt;a class="lnlinks" href="#hl-0-51"&gt;51&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-52"&gt;&lt;a class="lnlinks" href="#hl-0-52"&gt;52&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-53"&gt;&lt;a class="lnlinks" href="#hl-0-53"&gt;53&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-54"&gt;&lt;a class="lnlinks" href="#hl-0-54"&gt;54&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-55"&gt;&lt;a class="lnlinks" href="#hl-0-55"&gt;55&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-56"&gt;&lt;a class="lnlinks" href="#hl-0-56"&gt;56&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-57"&gt;&lt;a class="lnlinks" href="#hl-0-57"&gt;57&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-58"&gt;&lt;a class="lnlinks" href="#hl-0-58"&gt;58&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-59"&gt;&lt;a class="lnlinks" href="#hl-0-59"&gt;59&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-60"&gt;&lt;a class="lnlinks" href="#hl-0-60"&gt;60&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-61"&gt;&lt;a class="lnlinks" href="#hl-0-61"&gt;61&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-62"&gt;&lt;a class="lnlinks" href="#hl-0-62"&gt;62&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-63"&gt;&lt;a class="lnlinks" href="#hl-0-63"&gt;63&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-64"&gt;&lt;a class="lnlinks" href="#hl-0-64"&gt;64&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-65"&gt;&lt;a class="lnlinks" href="#hl-0-65"&gt;65&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-66"&gt;&lt;a class="lnlinks" href="#hl-0-66"&gt;66&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-67"&gt;&lt;a class="lnlinks" href="#hl-0-67"&gt;67&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-68"&gt;&lt;a class="lnlinks" href="#hl-0-68"&gt;68&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-69"&gt;&lt;a class="lnlinks" href="#hl-0-69"&gt;69&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-70"&gt;&lt;a class="lnlinks" href="#hl-0-70"&gt;70&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-71"&gt;&lt;a class="lnlinks" href="#hl-0-71"&gt;71&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-72"&gt;&lt;a class="lnlinks" href="#hl-0-72"&gt;72&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-73"&gt;&lt;a class="lnlinks" href="#hl-0-73"&gt;73&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-74"&gt;&lt;a class="lnlinks" href="#hl-0-74"&gt;74&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-75"&gt;&lt;a class="lnlinks" href="#hl-0-75"&gt;75&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-76"&gt;&lt;a class="lnlinks" href="#hl-0-76"&gt;76&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-77"&gt;&lt;a class="lnlinks" href="#hl-0-77"&gt;77&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-78"&gt;&lt;a class="lnlinks" href="#hl-0-78"&gt;78&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-79"&gt;&lt;a class="lnlinks" href="#hl-0-79"&gt;79&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-80"&gt;&lt;a class="lnlinks" href="#hl-0-80"&gt;80&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-81"&gt;&lt;a class="lnlinks" href="#hl-0-81"&gt;81&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-82"&gt;&lt;a class="lnlinks" href="#hl-0-82"&gt;82&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-83"&gt;&lt;a class="lnlinks" href="#hl-0-83"&gt;83&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-84"&gt;&lt;a class="lnlinks" href="#hl-0-84"&gt;84&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-85"&gt;&lt;a class="lnlinks" href="#hl-0-85"&gt;85&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-86"&gt;&lt;a class="lnlinks" href="#hl-0-86"&gt;86&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-87"&gt;&lt;a class="lnlinks" href="#hl-0-87"&gt;87&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-88"&gt;&lt;a class="lnlinks" href="#hl-0-88"&gt;88&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;TMPDIR&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; mktemp -d &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;KEY_FILE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;/root/.ssh/netapp.dsa&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;SSH_OPTS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;/root/.ssh/netapp-ssh_config&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;FAS_CTRL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;QUALDEVICES&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ssh_fas&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# $@: commands for Data ONTAP&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;COMMANDS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$@&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; /usr/bin/ssh -i &lt;span class="nv"&gt;$KEY_FILE&lt;/span&gt; -l root -F &lt;span class="nv"&gt;$SSH_OPTS&lt;/span&gt; &lt;span class="nv"&gt;$COMMANDS&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#set -x&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Updating qual_devices on &lt;/span&gt;&lt;span class="nv"&gt;$FAS_CTRL&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Enable ftpd if it isn&amp;#39;t enabled already&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; -n &lt;span class="s2"&gt;&amp;#34;Checking FTP subsystem&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;FTPD_INITIAL_STATE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; ssh_fas &lt;span class="nv"&gt;$FAS_CTRL&lt;/span&gt; options ftpd.enable &lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; awk &lt;span class="s1"&gt;&amp;#39;{ print $2 }&amp;#39;&lt;/span&gt; &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="nv"&gt;$FTPD_INITIAL_STATE&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;off&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ssh_fas &lt;span class="nv"&gt;$FAS_CTRL&lt;/span&gt; options ftpd.enable on
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; .... ok&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; .... ok&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;read&lt;/span&gt; -s -p &lt;span class="s2"&gt;&amp;#34;Please supply the root password for &lt;/span&gt;&lt;span class="nv"&gt;$FAS_CTRL&lt;/span&gt;&lt;span class="s2"&gt;: &amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;ROOT_PASSWD&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$REPLY&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Checking qual_devices:&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; -n &lt;span class="s2"&gt;&amp;#34; Running: &amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkdir &lt;span class="nv"&gt;$TMPDIR&lt;/span&gt;/fas-version
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Check the old version.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ftp -n &lt;span class="nv"&gt;$FAS_CTRL&lt;/span&gt; &amp;gt;/dev/null &lt;span class="s"&gt;&amp;lt;&amp;lt;END_SCRIPT
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;prompt
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;user root $ROOT_PASSWD
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;lcd $TMPDIR/fas-version
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;cd /etc
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;mget qual_devices*
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;quit
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;END_SCRIPT&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;FAS_VERSION&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; grep Datecode &lt;span class="nv"&gt;$TMPDIR&lt;/span&gt;/fas-version/qual_devices_v3 &lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; head -n1 &lt;span class="p"&gt;|&lt;/span&gt; cut -d -f3 &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$FAS_VERSION&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Unzip the qual_devices.zip file and compare it.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;ORIGPWD&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$PWD&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkdir &lt;span class="nv"&gt;$TMPDIR&lt;/span&gt;/new-version
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; &lt;span class="nv"&gt;$TMPDIR&lt;/span&gt;/new-version
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;unzip &lt;span class="nv"&gt;$QUALDEVICES&lt;/span&gt; &amp;gt;/dev/null
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; -n &lt;span class="s2"&gt;&amp;#34; New: &amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;NEW_VERSION&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt; grep Datecode &lt;span class="nv"&gt;$TMPDIR&lt;/span&gt;/new-version/qual_devices_v3 &lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; head -n1 &lt;span class="p"&gt;|&lt;/span&gt; cut -d -f3 &lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$NEW_VERSION&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Upload the supplied version if the new file doesn&amp;#39;t match the one running&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# on the controller&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="nv"&gt;$NEW_VERSION&lt;/span&gt; !&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$FAS_VERSION&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Uploading qual_devices to &lt;/span&gt;&lt;span class="nv"&gt;$FAS_CTRL&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ftp -n &lt;span class="nv"&gt;$FAS_CTRL&lt;/span&gt; &amp;gt;/dev/null &lt;span class="s"&gt;&amp;lt;&amp;lt;END_SCRIPT
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;prompt
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;user root $ROOT_PASSWD
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;lcd $TMPDIR/new-version
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;cd /etc
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;mput qual_devices*
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;quit
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;END_SCRIPT&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# Send an asup message, that the issue is corrected&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Generating AutoSupport message&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ssh_fas &lt;span class="nv"&gt;$FAS_CTRL&lt;/span&gt; options autosupport.doit qual_devices_fixed_&lt;span class="nv"&gt;$NEW_VERSION&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#set +x&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Enable ftpd&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="nv"&gt;$FTPD_INITIAL_STATE&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;off&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ssh_fas &lt;span class="nv"&gt;$FAS_CTRL&lt;/span&gt; options ftpd.enable off
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rm -r &lt;span class="nv"&gt;$TMPDIR&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;The whole thing is surly based, that FTP is configured ( &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-08_netapp-fas-data-ontap-public-key-authentification-with-cifs-nfs-license" title="NetApp FAS/Data ONTAP public key authentification with CIFS/NFS license"&gt;as I described previously&lt;/a&gt;).&lt;/p&gt;</description></item><item><title>TSM and NetApp - Another Quick Hint</title><link>https://christian.blog.pakiheim.de/posts/2012-05-27_tsm-and-netapp-another-quick-hint/</link><pubDate>Sun, 27 May 2012 13:45:22 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4290</guid><description>&lt;p&gt;Well, we&amp;rsquo;ve been trying to come up with a decent way to backup NetApp snapshots to tape (SnapMirror To Tape), so we evaluated all the available methods of using NDMP backups.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;There&amp;rsquo;s Image Backup in two different variants - FULL and DIFFerntial&lt;/li&gt;
&lt;li&gt;There&amp;rsquo;s SnapMirror To Tape&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;So the Image Backup is one of the ways. However the DIFFerntial backup only works for CIFS and NFS shares (which we don&amp;rsquo;t use). We only have FC luns (or rather FCoE luns), so there&amp;rsquo;s only a single (or in case of the boot luns more than one) file in each volume. With that however, each run of the Image Backup with the DIFFerential option, it&amp;rsquo;s gonna backup the full size of the volume (plus the deduplicated amount).&lt;/p&gt;</description></item><item><title>vm-online-backup - Another day, another PowerCLI script</title><link>https://christian.blog.pakiheim.de/posts/2012-04-30_vm-online-backup-another-day-another-powercli-script/</link><pubDate>Mon, 30 Apr 2012 16:38:47 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4271</guid><description>&lt;p&gt;Well, on Friday I had a short chat with someone from one of our application departments, stating he wanted a backup copy of a VM (ain&amp;rsquo;t to hard), but a) they don&amp;rsquo;t want any downtime and b) it has to be identical to the original.&lt;/p&gt;
&lt;p&gt;So I sat down today, googled for a bit and actually found something that pretty much does what I want, though I had to fix it up a bit &amp;hellip; So find attached a script, which creates a hot-clone from a snapshot and then only if the latest clone was successful deletes the old one.&lt;/p&gt;</description></item><item><title>TSM and NetApp - Quick Hint</title><link>https://christian.blog.pakiheim.de/posts/2012-04-25_tsm-and-netapp-quick-hint/</link><pubDate>Wed, 25 Apr 2012 20:09:24 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4266</guid><description>&lt;p&gt;Well, to save everyone else the trouble (since it isn&amp;rsquo;t documented anywhere - and I just spent about an hour finding the cause for this), if you need to configure NDMP on your NetApp Filer, make sure you also configure an interface other than e0M.&lt;/p&gt;
&lt;p&gt;Apparently the necessary controlport for NDMP (10000) is being blocked on e0M, thus ndmp may be configured and running, however TSM is gonna complain that it is unable to connect to the specified data mover.&lt;/p&gt;</description></item><item><title>SLES11-1 and updated multipath-tools</title><link>https://christian.blog.pakiheim.de/posts/2012-04-07_sles11-1-and-updated-multipath-tools/</link><pubDate>Sat, 07 Apr 2012 10:15:21 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4256</guid><description>&lt;p&gt;Well, after I scripted the installation the other day, I tried installing SLES11.1-Updates to the freshly installed systems. Guess what ? The thing broke. Initially (it was late Friday afternoon - like 6 PM - before my one week vacation) I didn&amp;rsquo;t have much time to debug the issue, so I sat down last week and looked at the issue.&lt;/p&gt;
&lt;p&gt;During the installation, when first starting multipath via command line, the scsi-mpatha device appears, and each and every occurance of this is subsequentially being used (and other stuff replaced by this actually) during the whole installation phase.&lt;/p&gt;</description></item><item><title>VMware Update Manager issues</title><link>https://christian.blog.pakiheim.de/posts/2012-03-31_vmware-update-manager-issues/</link><pubDate>Sat, 31 Mar 2012 21:14:28 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4241</guid><description>&lt;p&gt;Well, I recently (last Wednesday) had a lot of trouble with Update Manager.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://christian.blog.pakiheim.de/uploads/2012/03/vcenter-update-manager-remediate-errors.png"&gt;&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2012/03/vcenter-update-manager-remediate-errors.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;First I thought, upgrading vCenter and modules to 5.0U1 would solve my troubles, however it did not. Update Manager was still complaining about something. Since neither in the vCenter Update Manager nor the vCenter log itself were having any useful information I enabled SSHd and the ESXi Shell via the vCenter client:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://christian.blog.pakiheim.de/uploads/2012/03/vcenter-esx-service-properties.png"&gt;&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2012/03/vcenter-esx-service-properties.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;SSH&amp;rsquo;ed into the ESX host and looked at /var/log/esxupdate.log, and found this particular log:&lt;/p&gt;</description></item><item><title>WDS and multi-architecture boot images</title><link>https://christian.blog.pakiheim.de/posts/2012-02-24_wds-and-multi-architecture-boot-images/</link><pubDate>Fri, 24 Feb 2012 17:31:26 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4185</guid><description>&lt;p&gt;Well, I recently stumbled upon another cute bug/feature with Windows Deployment Services. When you already have 32bit boot images (as we do) and then add an 64bit boot image (which we needed, since the drivers for UCS firmware v2.0 only support Windows Server 2008 R2) you still only see the 32bit images.&lt;/p&gt;
&lt;p&gt;Why ? Because apparently the client (in my case a UCS blade) isn&amp;rsquo;t reporting it&amp;rsquo;s architecture correctly in the PXE phase. Microsoft actually has a &lt;a href="http://support.microsoft.com/kb/932447/en-us"&gt;KB article&lt;/a&gt; for this. You only need to enable architecture discovery.&lt;/p&gt;</description></item><item><title>Microsoft Cluster on VMware and Devices</title><link>https://christian.blog.pakiheim.de/posts/2012-02-11_microsoft-cluster-on-vmware-and-devices/</link><pubDate>Sat, 11 Feb 2012 08:40:44 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4170</guid><description>&lt;p&gt;Well, once again the Microsoft Cluster on VMware bit my ass &amp;hellip; As you might know, MSCS on VMware is a particular kind of pain, with each upgrade you end up with the same problem over and over again (SCSI reservations on the RDM-LUNs being one, and the passive node not booting being the other).&lt;/p&gt;
&lt;p&gt;So I opened up another support case with VMware, and the responded like this:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Please see this kb entry: &lt;a href="http://kb.vmware.com/kb/1016106"&gt;http://kb.vmware.com/kb/1016106&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Reconfiguring NTP settings vCenter-wide</title><link>https://christian.blog.pakiheim.de/posts/2012-02-04_reconfiguring-ntp-settings-vcenter-wide/</link><pubDate>Sat, 04 Feb 2012 19:55:40 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4162</guid><description>&lt;p&gt;I recently started reinstalling all my ESX hosts, so I wrote up a short script that is reconfiguring all hosts and sets the NTP configuration according to my wish:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-25"&gt;&lt;a class="lnlinks" href="#hl-0-25"&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-26"&gt;&lt;a class="lnlinks" href="#hl-0-26"&gt;26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-27"&gt;&lt;a class="lnlinks" href="#hl-0-27"&gt;27&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-28"&gt;&lt;a class="lnlinks" href="#hl-0-28"&gt;28&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-29"&gt;&lt;a class="lnlinks" href="#hl-0-29"&gt;29&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-30"&gt;&lt;a class="lnlinks" href="#hl-0-30"&gt;30&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;param&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;string&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vcenter&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;string&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ntpserver1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;string&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ntpserver2&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Add the VI-Snapin if it isn&amp;#39;t loaded already&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;PSSnapin&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Name&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;VMware.VimAutomation.Core&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;ErrorAction&lt;/span&gt; &lt;span class="n"&gt;SilentlyContinue&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;eq&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;null&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Add&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;PSSnapin&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Name&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;VMware.VimAutomation.Core&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;If&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vcenter&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ntpserver1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ntpserver2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;vcenter-ntp-reconfigure: &amp;lt;vcenter-server&amp;gt; &amp;lt;ntpserver1&amp;gt; &amp;lt;ntpserver2&amp;gt;&amp;#34;&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;This script clears the NTP servers currently configured and&amp;#34;&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Hsot&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;adds the ones supplied on the command line.&amp;#34;&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; &amp;lt;vcenter-server&amp;gt; - DNS name of your vCenter server.&amp;#34;&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; &amp;lt;ntpserver1&amp;gt; - NTP server #1&amp;#34;&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; &amp;lt;ntpserver2&amp;gt; - NTP server #2&amp;#34;&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;exit&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Connect&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VIServer&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Server&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vcenter&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;foreach&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;esxhost&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VMHost&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VMHost&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;esxhost&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="n"&gt;Remove&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VMHostNtpServer&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Confirm&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="bp"&gt;false&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;NtpServer&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VMHost&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;esxhost&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="err"&gt;`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VMHostNtpServer&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VMHost&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;esxhost&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="n"&gt;Add&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VMHostNtpServer&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;NtpServer&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ntpserver1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VMHost&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;esxhost&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="n"&gt;Add&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VMHostNtpServer&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;NtpServer&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;ntpserver2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Disconnect&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VIServer&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;server&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vcenter&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Confirm&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="bp"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;As you can see, the script takes the vCenter hostname and two NTP servers and basically applies it to each host in your vCenter environment.&lt;/p&gt;</description></item><item><title>Using HPs vibdeposit with VMware Update Manager</title><link>https://christian.blog.pakiheim.de/posts/2012-02-04_using-hps-vibdeposit-with-vmware-update-manager/</link><pubDate>Sat, 04 Feb 2012 17:34:28 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4045</guid><description>&lt;p&gt;As we&amp;rsquo;re finally at the point, where I only need to bother with HP hardware (which in itself is troublesome enough), I wanted to use HPs vibdeposit with our Update Manager. The whole purpose of the repository is the integration of HPs custom vibs (download able on each hardware under VMware ESXi 5.0) into the VMware Update Manager. That makes it easy to integrate, say the nmi-sourcing driver, into the VMware built ESXi images.&lt;/p&gt;</description></item><item><title>Emptying a VMFS datastore with PowerCLI</title><link>https://christian.blog.pakiheim.de/posts/2012-01-26_emptying-a-vmfs-datastore-with-powercli/</link><pubDate>Thu, 26 Jan 2012 21:14:41 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4070</guid><description>&lt;p&gt;Well, once again I hacked at the Powershell/PowerCLI the other day. Since we don&amp;rsquo;t yet have a Enterprise Plus license at work (which would support Datastore Maintaince and Storage DRS), I needed a way to empty one datastore and move all the content into another one, while enabling Thin-Provisioning.&lt;/p&gt;
&lt;p&gt;So I googled for a bit, and actually &lt;a href="http://thephuck.com/virtualization/mass-storage-migrations-using-vsphere-storage-vmotion-and-powercli/"&gt;found a few hints&lt;/a&gt; &amp;hellip; So without further yada-yada, here&amp;rsquo;s the script I came up with:&lt;/p&gt;</description></item><item><title>Doing TSM's job on Windows Server 2008</title><link>https://christian.blog.pakiheim.de/posts/2012-01-26_doing-tsm-s-job-on-windows-server-2008/</link><pubDate>Thu, 26 Jan 2012 21:02:09 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4064</guid><description>&lt;p&gt;Ran into another weird problem the other day &amp;hellip; Had a few Windows boxens running out of space. Why ? Well, because TSM includes a System-State backup when creating the daily incremental. Now, apparently (as stated by the IBM support) it isn&amp;rsquo;t TSM&amp;rsquo;s job to keep track of the VSS snapshots but rather Windows&amp;rsquo;. Now by default, if you don&amp;rsquo;t click on the VSS properties of a Windows drive, there is no limit on the volume. Thus, VSS is slowly eating up all your space.&lt;/p&gt;</description></item><item><title>Empty Port SSL after ADAM installation</title><link>https://christian.blog.pakiheim.de/posts/2012-01-18_empty-port-ssl-after-adam-installation/</link><pubDate>Wed, 18 Jan 2012 20:43:56 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4055</guid><description>&lt;p&gt;I&amp;rsquo;ve been meaning to post this, but never actually got around to doing that. When installing vCenter 5.0, an instance of ADAM is installed, which stores all the configration data for Linked Mode.&lt;/p&gt;
&lt;p&gt;It basically boils down to running this script and rebooting the box:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-batch" data-lang="batch"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;reg DELETE &lt;span class="s2"&gt;&amp;#34;HKLMSYSTEMCurrentControlSetservicesADAM_VMwareVCMSDSParameters&amp;#34;&lt;/span&gt; /v &lt;span class="s2"&gt;&amp;#34;Port SSL&amp;#34;&lt;/span&gt; /f
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;reg ADD &lt;span class="s2"&gt;&amp;#34;HKLMSYSTEMCurrentControlSetservicesADAM_VMwareVCMSDSParameters&amp;#34;&lt;/span&gt; /v &lt;span class="s2"&gt;&amp;#34;Port SSL&amp;#34;&lt;/span&gt; /t REG_DWORD /d 0000027c /f
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;This is no new invention of myself, just writing it down for myself from &lt;a href="http://www.virtualserverguy.com/blog/2010/9/21/vcenter-41-adam_vmwarevcmsds-error.html"&gt;here&lt;/a&gt; or &lt;a href="http://www.vmwareinfo.com/2011/02/pesky-vcenter-adam-error.html"&gt;here&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Rebooting a virtual machine via Task scheduler</title><link>https://christian.blog.pakiheim.de/posts/2012-01-16_rebooting-a-virtual-machine-via-task-scheduler/</link><pubDate>Mon, 16 Jan 2012 09:03:06 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4035</guid><description>&lt;p&gt;Since the Scheduled Tasks in vCenter ain&amp;rsquo;t exportable, I went ahead and wrote a rather simple script, which lets me do this in Windows own Task Scheduler. What this script does, is initiate a graceful shutdown and if the VM isn&amp;rsquo;t shutdown within 60 seconds (12 * 5 seconds) it simply powers the VM off and immediately after that powers it back on.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-25"&gt;&lt;a class="lnlinks" href="#hl-0-25"&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-26"&gt;&lt;a class="lnlinks" href="#hl-0-26"&gt;26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-27"&gt;&lt;a class="lnlinks" href="#hl-0-27"&gt;27&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-28"&gt;&lt;a class="lnlinks" href="#hl-0-28"&gt;28&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-29"&gt;&lt;a class="lnlinks" href="#hl-0-29"&gt;29&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-30"&gt;&lt;a class="lnlinks" href="#hl-0-30"&gt;30&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-31"&gt;&lt;a class="lnlinks" href="#hl-0-31"&gt;31&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-32"&gt;&lt;a class="lnlinks" href="#hl-0-32"&gt;32&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-33"&gt;&lt;a class="lnlinks" href="#hl-0-33"&gt;33&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-34"&gt;&lt;a class="lnlinks" href="#hl-0-34"&gt;34&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-35"&gt;&lt;a class="lnlinks" href="#hl-0-35"&gt;35&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-36"&gt;&lt;a class="lnlinks" href="#hl-0-36"&gt;36&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-37"&gt;&lt;a class="lnlinks" href="#hl-0-37"&gt;37&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-38"&gt;&lt;a class="lnlinks" href="#hl-0-38"&gt;38&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-39"&gt;&lt;a class="lnlinks" href="#hl-0-39"&gt;39&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-40"&gt;&lt;a class="lnlinks" href="#hl-0-40"&gt;40&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-41"&gt;&lt;a class="lnlinks" href="#hl-0-41"&gt;41&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-42"&gt;&lt;a class="lnlinks" href="#hl-0-42"&gt;42&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-43"&gt;&lt;a class="lnlinks" href="#hl-0-43"&gt;43&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-44"&gt;&lt;a class="lnlinks" href="#hl-0-44"&gt;44&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-45"&gt;&lt;a class="lnlinks" href="#hl-0-45"&gt;45&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-46"&gt;&lt;a class="lnlinks" href="#hl-0-46"&gt;46&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-47"&gt;&lt;a class="lnlinks" href="#hl-0-47"&gt;47&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-48"&gt;&lt;a class="lnlinks" href="#hl-0-48"&gt;48&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;param&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;string&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vCenter&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;string&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;VMname&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Add the VI-Snapin if it isn&amp;#39;t loaded already&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;PSSnapin&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Name&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;VMware.VimAutomation.Core&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;ErrorAction&lt;/span&gt; &lt;span class="n"&gt;SilentlyContinue&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;eq&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;null&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Add&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;PSSnapin&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Name&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;VMware.VimAutomation.Core&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;If&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vCenter&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;VMname&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;vm-reboot: &amp;lt;vcenter-server&amp;gt; &amp;lt;VMname&amp;gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; &amp;lt;vcenter-server&amp;gt; - DNS name of your vCenter server.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; &amp;lt;VMname&amp;gt; - Display name of the VM in this vCenter server.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;exit&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Connect&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VIServer&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Server&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vCenter&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;VM&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VM&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;VMname&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# First, try shutting down the virtual machine gracefully&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Stopping VM $( $VM )&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; - Graceful shutdown&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Shutdown&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VMGuest&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VM&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;VM&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Confirm&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="bp"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;VM&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VM&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;VMname&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;While&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;VM&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;PowerState&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;ne&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;PoweredOff&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# If that doesn&amp;#39;t work, break out the hammer and just kill it&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;gt&lt;/span&gt; &lt;span class="mi"&gt;12&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; - Forced shutdown&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Stop&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VM&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VM&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;VMname&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Confirm&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="bp"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Start&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Sleep&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Seconds&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;VM&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VM&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;VMname&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;If&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;VM&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;PowerState&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;eq&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;PoweredOff&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Starting VM $( $VM )&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Start&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VM&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VM&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;VM&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Confirm&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="bp"&gt;false&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;$&lt;/span&gt;&lt;span class="n"&gt;NULL&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Disconnect&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VIServer&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;server&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vCenter&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Confirm&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="bp"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Before this implementation in PowerCLI, I needed three tasks for each VM that was to be scheduled. And when migrating vCenters (and I usually do an empty install) vCenter&amp;rsquo;s scheduled tasks are not exportable, thus you need to re-create the tasks on the new vCenter by yourself again, which for more than four virtual machines is really a pain in the ass &amp;hellip;&lt;/p&gt;</description></item><item><title>Reoccurring memory limits in vCenter</title><link>https://christian.blog.pakiheim.de/posts/2012-01-13_reoccurring-memory-limits-in-vcenter/</link><pubDate>Fri, 13 Jan 2012 15:00:20 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=4032</guid><description>&lt;p&gt;We recently had, after we migrated from vSphere 4 to vSphere 5, a memory limit in size of the configured memory on each and every VM. Since memory limits on VM level pretty much destroy performance, I went ahead an wrote this simple script to remove all memory limits on all VMs that don&amp;rsquo;t have &amp;ldquo;Unlimited&amp;rdquo; configured:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;param&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;string&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vCenter&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Add the VI-Snapin if it isn&amp;#39;t loaded already&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;PSSnapin&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Name&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;VMware.VimAutomation.Core&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;ErrorAction&lt;/span&gt; &lt;span class="n"&gt;SilentlyContinue&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;eq&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;null&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Add&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;PSSnapin&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Name&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;VMware.VimAutomation.Core&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;If&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vCenter&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;cluster-remove-mem-limits: &amp;lt;vcenter-server&amp;gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; &amp;lt;vcenter-server&amp;gt; - DNS name of your vCenter server.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;exit&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Connect&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VIServer&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Server&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vCenter&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VM&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VMResourceConfiguration&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="n"&gt;Where&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="ne"&gt;Object&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;_&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;memlimitmb&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;ne&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;-1&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="err"&gt;`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Set&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VMResourceConfiguration&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;memlimitmb&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;null&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Disconnect&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VIServer&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;server&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vCenter&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Confirm&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="bp"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;This script is basically what the guy over at &lt;a href="http://get-admin.com/blog/how-to/vmware/powershell-removing-vmware-cpumemory-resource-limits/"&gt;get-admin.com&lt;/a&gt; did, just only for memory limits.&lt;/p&gt;</description></item><item><title>PowerCLI undamp; Windows jump list for recent items set to zero</title><link>https://christian.blog.pakiheim.de/posts/2011-07-05_powercli-amp-windows-jump-list-for-recent-items-set-to-zero/</link><pubDate>Tue, 05 Jul 2011 17:22:27 +0000</pubDate><guid isPermaLink="false">https://blog.barfoo.org/?p=3790</guid><description>&lt;p&gt;Today I had to install PowerCLI on my workstation. When I tried launching it for the first time, it simply opened and closed again instantly. After &lt;a href="http://communities.vmware.com/thread/282140"&gt;browsing the VMware community&lt;/a&gt; for this error and not finding a useful solution, I ended up googling the error. As it turns out, this only happens when you did set the &amp;quot; &lt;em&gt;Number of recent items to display in jump lists&lt;/em&gt;&amp;quot; to something less than 4.&lt;/p&gt;</description></item><item><title>Changing the vCenter hostname</title><link>https://christian.blog.pakiheim.de/posts/2011-06-01_changing-the-vcenter-hostname/</link><pubDate>Wed, 01 Jun 2011 17:56:10 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=3769</guid><description>&lt;p&gt;I recently reinstalled the vCenter Server at work, and in my never ending wisdom &lt;em&gt;cough&lt;/em&gt;, I decided to do that on new hardware. That entitled using the same host name plus the appendix _NEW. Now, I know this isn&amp;rsquo;t conforming with DNS naming schemes (iirc underscore isn&amp;rsquo;t a valid DNS char), however it worked &amp;hellip;&lt;/p&gt;
&lt;p&gt;So once I had everything installed on the new hardware, I switched the ESX servers from the old vCenter to the freshly installed one. Once that was finished, I shut down the old vCenter server, changed IP address and host name of the new one and rebooted. That basically worked, even though suddenly every ESX in my inventory was disconnected. After reconnecting all ESX servers everything was back online.&lt;/p&gt;</description></item><item><title>WDS and DL580 G7</title><link>https://christian.blog.pakiheim.de/posts/2011-01-15_wds-and-dl580-g7/</link><pubDate>Sat, 15 Jan 2011 17:14:56 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=3684</guid><description>&lt;p&gt;We recently received a shipment of Hewlett Packards all-new DL580 G7. While I&amp;rsquo;m impressed with what they did with the iLO3, I&amp;rsquo;m quite disappointed with what they did to the PXE-ROM.&lt;/p&gt;
&lt;p&gt;Sure, gPXE may be the future and is offering more possibilites than &amp;ldquo;normal&amp;rdquo; PXE, however breaking customers deployment option(s) &amp;ndash; at least for Windows that is &amp;ndash; really wouldn&amp;rsquo;t be an option.&lt;/p&gt;
&lt;p&gt;Now for the long story, we needed to install a temporary Windows on this DL580 (one with testing purposes). That said, we tried for three days to actually make this work (trying different things with the boot image), but it kept ending with the same result.&lt;/p&gt;</description></item><item><title>SVC: Find WWPN</title><link>https://christian.blog.pakiheim.de/posts/2010-11-15_svc-find-wwpn/</link><pubDate>Mon, 15 Nov 2010 17:50:56 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=3621</guid><description>&lt;p&gt;Today we had (once again) hardware troubles. We ended up replacing a lot of things, but in the end it was a) the HBA and b) apparently some memory DIMMs. Now, that isn&amp;rsquo;t SVC related. However, we built in another HBA (from our Standby hardware), which apparently already had been assigned to a host.&lt;/p&gt;
&lt;p&gt;Now, since you can&amp;rsquo;t search for a WWPN (at least not that I know of), I ended up writing a little script (yup, &lt;strong&gt;AGAIN&lt;/strong&gt;) in order to do that for me!&lt;/p&gt;</description></item><item><title>TSM Client: Service Script for Solaris 10</title><link>https://christian.blog.pakiheim.de/posts/2010-10-27_tsm-client-service-script-for-solaris-10/</link><pubDate>Wed, 27 Oct 2010 15:31:05 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=3613</guid><description>&lt;p&gt;Today I&amp;rsquo;ve been fighting with Solaris 10 and the SMF Manifest (others would call it init-script &amp;hellip;). Since I wanted to do it the proper way (I could have used a &amp;ldquo;old-style&amp;rdquo; init-script, but I didn&amp;rsquo;t wanna ..), I ended up combing the interweb for examples .. As it turns out, not even IBM has documented a way, on how to do this.&lt;/p&gt;
&lt;p&gt;In the end this is what I&amp;rsquo;ve come up with:&lt;/p&gt;</description></item><item><title>Install issues with Proliant BL460c G6 and Windows Deployment Services</title><link>https://christian.blog.pakiheim.de/posts/2010-10-22_install-issues-with-proliant-bl460c-g6-and-windows-deployment-services/</link><pubDate>Fri, 22 Oct 2010 17:56:53 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=3554</guid><description>&lt;p&gt;We&amp;rsquo;ve been dealing with authentification issues on newly delivered HP Proliant BL460c G6 blade servers. Most threads on HPs customer forum, suggests changing the NIC driver, embedded within the WDS boot image.&lt;/p&gt;
&lt;p&gt;We tried that, but still were getting the following error:&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="%28/uploads/2010/10/wds-installation-issues.png"
alt="WDS: installation issues"/&gt; &lt;figcaption&gt;
&lt;p&gt;WDS: installation issues&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;As it turns out, it ain&amp;rsquo;t really so damn hard .. we tried several times changing various things within the boot image, but it still didn&amp;rsquo;t change anything. Somehow it was rather easy.&lt;/p&gt;</description></item><item><title>Create an offline snapshot of a VM</title><link>https://christian.blog.pakiheim.de/posts/2010-10-22_create-an-offline-snapshot-of-a-vm/</link><pubDate>Fri, 22 Oct 2010 16:11:25 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=3570</guid><description>&lt;p&gt;We&amp;rsquo;re currently thinking about automating Windows Updates and the involved disaster snapshot-copy to a degree, where we don&amp;rsquo;t need to intervene anymore.&lt;/p&gt;
&lt;p&gt;Right now, we already have a rudimentary scheduler in place, which does the reboots for some (200 ..) systems already. Now, we&amp;rsquo;d like to extend it to also cover the bi-weekly Windows Update spree.&lt;/p&gt;
&lt;p&gt;Since PowerShell (and PowerCLI) work quite well with vSphere automation, I cooked up the below script to first shutdown a virtual machine (for snapshot consistency reasons), then take a snapshot and power on the virtual machine again afterwards.&lt;/p&gt;</description></item><item><title>Locking down Firefox</title><link>https://christian.blog.pakiheim.de/posts/2010-10-12_locking-down-firefox/</link><pubDate>Tue, 12 Oct 2010 17:52:37 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=3581</guid><description>&lt;p&gt;Once again, I had the task of locking down Firefox, so users couldn&amp;rsquo;t use it to do any harm on a terminal server. Thankfully there&amp;rsquo;s the guide over at the &lt;a href="http://www.engineering.uwaterloo.ca/twiki/bin/view/Linux/FirefoxLockdown"&gt;Faculty of Engineering of the University of Waterloo&lt;/a&gt; (by David Collie), who shows which parts to modify.&lt;/p&gt;
&lt;p&gt;However, finding the particular part in the Javascript is rather hindersome, so here a short Unix-Diff (for thos who&amp;rsquo;re able to read unified diffs) as well as the whole file.&lt;/p&gt;</description></item><item><title>Modified SnapReminder</title><link>https://christian.blog.pakiheim.de/posts/2010-10-08_modified-snapreminder/</link><pubDate>Fri, 08 Oct 2010 16:06:57 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=3552</guid><description>&lt;p&gt;Well, PowerCLI makes my life a little bit easier. Believe it or not, each of us vCenter infrastructure admins has one of these: a Windows admin, thinking a snapshot is also a backup. Thankfully, Alan Renouf over at &lt;a href="http://www.virtu-al.net/"&gt;virtu-al.net&lt;/a&gt; wrote the &lt;a href="http://www.virtu-al.net/2009/06/22/powercli-snapreminder/"&gt;SnapReminder&lt;/a&gt;, which already helped me a lot! However, occasionally the script isn&amp;rsquo;t finding the snapshot author (for whatever reason).&lt;/p&gt;
&lt;p&gt;Since I want a notification in that case, I modified the script a little bit to suit my needs.&lt;/p&gt;</description></item><item><title>Fix Path Selection Policy for a whole vCenter Cluster</title><link>https://christian.blog.pakiheim.de/posts/2010-10-07_fix-path-selection-policy-for-a-whole-vcenter-cluster/</link><pubDate>Thu, 07 Oct 2010 18:38:49 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=3544</guid><description>&lt;p&gt;These last few weeks, I&amp;rsquo;ve been toying with PowerCLI (and PowerShell for that matter). One thing I do have to say, is that Microsoft finally did it right! It&amp;rsquo;s a useable, program-able command line interface for Windows after all! Thanks to &lt;a href="http://www.ivobeerens.nl/"&gt;Ivo Beerens&lt;/a&gt; and his post &amp;quot; &lt;a href="http://www.ivobeerens.nl/?p=465"&gt;Best practices for HP EVA, vSphere 4 and Round Robin multi-pathing&lt;/a&gt;&amp;quot;, I was able to come up with the below:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-25"&gt;&lt;a class="lnlinks" href="#hl-0-25"&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-26"&gt;&lt;a class="lnlinks" href="#hl-0-26"&gt;26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-27"&gt;&lt;a class="lnlinks" href="#hl-0-27"&gt;27&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-28"&gt;&lt;a class="lnlinks" href="#hl-0-28"&gt;28&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-29"&gt;&lt;a class="lnlinks" href="#hl-0-29"&gt;29&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-30"&gt;&lt;a class="lnlinks" href="#hl-0-30"&gt;30&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-31"&gt;&lt;a class="lnlinks" href="#hl-0-31"&gt;31&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-32"&gt;&lt;a class="lnlinks" href="#hl-0-32"&gt;32&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-33"&gt;&lt;a class="lnlinks" href="#hl-0-33"&gt;33&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-34"&gt;&lt;a class="lnlinks" href="#hl-0-34"&gt;34&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-35"&gt;&lt;a class="lnlinks" href="#hl-0-35"&gt;35&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-36"&gt;&lt;a class="lnlinks" href="#hl-0-36"&gt;36&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-37"&gt;&lt;a class="lnlinks" href="#hl-0-37"&gt;37&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-38"&gt;&lt;a class="lnlinks" href="#hl-0-38"&gt;38&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-39"&gt;&lt;a class="lnlinks" href="#hl-0-39"&gt;39&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-40"&gt;&lt;a class="lnlinks" href="#hl-0-40"&gt;40&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-41"&gt;&lt;a class="lnlinks" href="#hl-0-41"&gt;41&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-42"&gt;&lt;a class="lnlinks" href="#hl-0-42"&gt;42&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-43"&gt;&lt;a class="lnlinks" href="#hl-0-43"&gt;43&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-44"&gt;&lt;a class="lnlinks" href="#hl-0-44"&gt;44&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-45"&gt;&lt;a class="lnlinks" href="#hl-0-45"&gt;45&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-46"&gt;&lt;a class="lnlinks" href="#hl-0-46"&gt;46&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-47"&gt;&lt;a class="lnlinks" href="#hl-0-47"&gt;47&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# LICENSE: GNU General Public License v2. (see LICENSE.txt)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# COPYRIGHT: Copyright 2010 Christian Heim &amp;lt;christian.heim@barfoo.org&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Add the VI-Snapin if it isn&amp;#39;t loaded already&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;PSSnapin&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Name&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;VMware.VimAutomation.Core&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;ErrorAction&lt;/span&gt; &lt;span class="n"&gt;SilentlyContinue&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;eq&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;null&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Add&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;PSSnapin&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Name&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;VMware.VimAutomation.Core&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;length&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;lt&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;fix_multipathing: &amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; - Display-Name of the vCenter cluster, we should check all LUNs&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; on all available Hosts, and set the Path Selection Policy&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; to the selected one.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; - Path Selection Policy&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; Possible:&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; - RoundRobin (VMW_PSP_RR, Round Robin)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; - Fixed (VMW_PSP_FIXED, Fixed)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34; - MostRecentlyUsed (VMW_PSP_MRU , Most Recently Used)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;exit&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vcserver&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;vcenter.home.barfoo.org&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;cluster&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;target_policy&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Since I do have only SVC-Disks connected to my hosts, I limit the search to those&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;canonical_name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;naa.6005076801808021*&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Target vCenter Cluster: &amp;#34;&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;cluster&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Target PSP: &amp;#34;&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;target_policy&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;switch&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;target_policy&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;RoundRobin&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;display_policy&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;VMW_PSP_RR&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;MostRecentlyUsed&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;display_policy&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;VMW_PSP_MRU&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Fixed&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;display_policy&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;VMW_PSP_FIXED&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;default&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Warning&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Unknown PSP selected! Please consult the help and try again.&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;exit&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Connect&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VIServer&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;vcserver&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;/&lt;/span&gt;&lt;span class="n"&gt;dev&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;null&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&amp;amp;&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Write&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Host&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Found &amp;#34;&lt;/span&gt;&lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VMHost&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;location&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;cluster&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;cluster&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;ScsiLun&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;CanonicalName&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;canonical_name&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;LunType&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;disk&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="n"&gt;where&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;_&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;MultipathPolicy&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;ne&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;target_policy&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Count&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34; LUNs in &amp;#34;&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;cluster&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34; not using Path Selection Policy &amp;#34;&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;display_policy&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;VMHost&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;location&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;cluster&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;cluster&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="n"&gt;Get&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;ScsiLun&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;CanonicalName&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;canonical_name&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;LunType&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;disk&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="n"&gt;where&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;_&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;MultipathPolicy&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;ne&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;target_policy&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="n"&gt;Set&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;ScsiLun&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;MultipathPolicy&lt;/span&gt; &lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="n"&gt;target_policy&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;/&lt;/span&gt;&lt;span class="n"&gt;dev&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;null&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&amp;amp;&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;This works great, however you could make it work on the whole vCenter inventory, which I don&amp;rsquo;t want. We usually add LUNs to a single cluster at one time. Only thing you might need to change, is the canonical name. Mine simply says &amp;ldquo;find all SVC LUNs&amp;rdquo; and you might need to change it, if you&amp;rsquo;re using a different storage.&lt;/p&gt;</description></item><item><title>SAN reporting</title><link>https://christian.blog.pakiheim.de/posts/2010-08-20_san-reporting/</link><pubDate>Fri, 20 Aug 2010 14:34:52 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=3115</guid><description>&lt;p&gt;We do have some customers, who get charged on a monthly basis for their SAN usage. We already had &amp;ldquo;reporting&amp;rdquo; in place, but that wasn&amp;rsquo;t very flexible. So I went ahead and rewrote the current reporting script from scratch, and this is what I&amp;rsquo;ve come up with:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-25"&gt;&lt;a class="lnlinks" href="#hl-0-25"&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-26"&gt;&lt;a class="lnlinks" href="#hl-0-26"&gt;26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-27"&gt;&lt;a class="lnlinks" href="#hl-0-27"&gt;27&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-28"&gt;&lt;a class="lnlinks" href="#hl-0-28"&gt;28&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-29"&gt;&lt;a class="lnlinks" href="#hl-0-29"&gt;29&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-30"&gt;&lt;a class="lnlinks" href="#hl-0-30"&gt;30&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-31"&gt;&lt;a class="lnlinks" href="#hl-0-31"&gt;31&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-32"&gt;&lt;a class="lnlinks" href="#hl-0-32"&gt;32&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-33"&gt;&lt;a class="lnlinks" href="#hl-0-33"&gt;33&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-34"&gt;&lt;a class="lnlinks" href="#hl-0-34"&gt;34&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-35"&gt;&lt;a class="lnlinks" href="#hl-0-35"&gt;35&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-36"&gt;&lt;a class="lnlinks" href="#hl-0-36"&gt;36&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-37"&gt;&lt;a class="lnlinks" href="#hl-0-37"&gt;37&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-38"&gt;&lt;a class="lnlinks" href="#hl-0-38"&gt;38&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-39"&gt;&lt;a class="lnlinks" href="#hl-0-39"&gt;39&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-40"&gt;&lt;a class="lnlinks" href="#hl-0-40"&gt;40&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-41"&gt;&lt;a class="lnlinks" href="#hl-0-41"&gt;41&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-42"&gt;&lt;a class="lnlinks" href="#hl-0-42"&gt;42&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-43"&gt;&lt;a class="lnlinks" href="#hl-0-43"&gt;43&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-44"&gt;&lt;a class="lnlinks" href="#hl-0-44"&gt;44&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-45"&gt;&lt;a class="lnlinks" href="#hl-0-45"&gt;45&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-46"&gt;&lt;a class="lnlinks" href="#hl-0-46"&gt;46&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-47"&gt;&lt;a class="lnlinks" href="#hl-0-47"&gt;47&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-48"&gt;&lt;a class="lnlinks" href="#hl-0-48"&gt;48&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-49"&gt;&lt;a class="lnlinks" href="#hl-0-49"&gt;49&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-50"&gt;&lt;a class="lnlinks" href="#hl-0-50"&gt;50&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-51"&gt;&lt;a class="lnlinks" href="#hl-0-51"&gt;51&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;#/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# LICENSE: GNU General Public License v2. (see LICENSE.txt)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# COPYRIGHT: Copyright 2010 Christian Heim &amp;lt;christian.heim@barfoo.org&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;svc_sshkey=&amp;#34;~/.ssh/svc-id_dsa&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;svc_addr=&amp;#34;10.144.0.150&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;svc_user=&amp;#34;admin&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;if [ -z $1 ] ; then
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; echo &amp;#34;Please rerun this script with some kind of filter value&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; echo &amp;#34;(for example &amp;#39;$0 NAS&amp;#39;)&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; exit 1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;else
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; filter=$1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;fi
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;IFS=&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;DISK=&amp;#34;$( ssh -i $svc_sshkey -l $svc_user $svc_addr svcinfo lsvdisk -nohdr -bytes -delim :
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; | egrep -i &amp;#34;V.*$filter&amp;#34; | cut -d: -f2,8 | sort )&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# Get a unique list of systems
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;SYSTEMS=&amp;#34;$( echo $DISK | sed &amp;#34;s, ,n,g&amp;#34; | cut -d -f1 | sed &amp;#39;s,^V,,&amp;#39; | cut -d_ -f1 | sort -u )&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;for system in $SYSTEMS ; do
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; VDISKS=&amp;#34;$( echo $DISK | sed &amp;#34;s, ,n,g&amp;#34; | grep $system | sed &amp;#34;s,:,: ,&amp;#34; )&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; SYSTEM_TOTAL=&amp;#34;$( echo $DISK | sed &amp;#34;s, ,n,g&amp;#34; | grep $system | cut -d: -f2 | awk &amp;#39;{SUM += $1} END { printf &amp;#34;%.2f&amp;#34;, SUM }&amp;#39; )&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; for vdisk in $VDISKS ; do
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; NAME=&amp;#34;$( echo $vdisk | cut -d: -f1 )&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; SIZE=&amp;#34;$( echo $vdisk | cut -d: -f2 | sed &amp;#34;s,^ ,,&amp;#34; )&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; GB_SIZE=&amp;#34;$( echo &amp;#34;$SIZE / 1024 / 1024 / 1024&amp;#34; | bc )&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; if [ $GB_SIZE -eq 0 ] ; then
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; GB_SIZE=&amp;#34;$( echo &amp;#34;scale=2; $SIZE / 1024 / 1024 / 1024&amp;#34; | bc )&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; GB_SIZE=&amp;#34;${GB_SIZE/./0.}&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; fi
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; echo &amp;#34;$NAME: ${GB_SIZE/./,} GB&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; done
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; SUB_TOTAL_SYSTEM=&amp;#34;$( echo &amp;#34;scale=2; $SYSTEM_TOTAL / 1024 / 1024 / 1024&amp;#34; | bc )&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; echo &amp;#34;SUB TOTAL: ${SUB_TOTAL_SYSTEM/./,} GB&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; echo
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;done
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;TOTAL=&amp;#34;$( echo $DISK | sed &amp;#34;s, ,n,g&amp;#34; | cut -d: -f2 | awk &amp;#39;{SUM += $1} END { printf &amp;#34;%.2f&amp;#34;, SUM }&amp;#39; )&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;TOTAL=&amp;#34;$( echo &amp;#34;scale=2; $TOTAL / 1024 / 1024 / 1024&amp;#34; | bc ) GB&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;echo &amp;#34;------------------------------------------------&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;echo $TOTAL
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;exit 0
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;I gotta say, once again I learned a lot &amp;hellip; two &lt;a href="http://www.sunsite.ualberta.ca/Documentation/Gnu/gawk-3.1.0/html_chapter/gawk_14.html#SEC192"&gt;new&lt;/a&gt; &lt;a href="http://www.commandlinefu.com/commands/view/1497/using-awk-to-sumcount-a-column-of-numbers."&gt;things&lt;/a&gt; about awk!&lt;/p&gt;</description></item><item><title>Displaying Windows Architecture with bginfo</title><link>https://christian.blog.pakiheim.de/posts/2010-06-18_displaying-windows-architecture-with-bginfo/</link><pubDate>Fri, 18 Jun 2010 15:22:08 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=3111</guid><description>&lt;p&gt;On all our servers in the basement, we do have &lt;a href="http://technet.microsoft.com/de-de/sysinternals/bb897557.aspx"&gt;bginfo&lt;/a&gt; installed, in order to quickly get certain information. Now as I was struggling with a big Service Pack roll out, I looked into making bginfo also display the OS architecture. But apparently it isn&amp;rsquo;t that easy &amp;hellip; At least bginfo doesn&amp;rsquo;t provide it by default.&lt;/p&gt;
&lt;p&gt;After (yet another hour in front of Google), I finally found what I was &lt;a href="http://stackoverflow.com/questions/1413409/how-to-determine-os-platform-with-wmi"&gt;looking for&lt;/a&gt;. At first I didn&amp;rsquo;t limit the query on a specific CPU, but that turned out to be shitty (x32 being displayed twice, once for each CPU). But after limiting it to DeviceID=&amp;lsquo;CPU0&amp;rsquo; it works like a charm &amp;#x1f609;&lt;/p&gt;</description></item><item><title>AutoYAST and custom swap partitioning</title><link>https://christian.blog.pakiheim.de/posts/2010-06-03_autoyast-and-custom-swap-partitioning/</link><pubDate>Thu, 03 Jun 2010 18:34:24 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=3061</guid><description>Well, we&amp;rsquo;ve been discussing our swap partitioning the last few days at work, and I finally got around to implementing it. Again, it proved to be kinda hard, basically because AutoYAST decides to do things differently.</description></item><item><title>SLES10 not installing boot loader in MBR</title><link>https://christian.blog.pakiheim.de/posts/2010-06-03_sles10-not-installing-boot-loader-in-mbr/</link><pubDate>Thu, 03 Jun 2010 18:15:23 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=3055</guid><description>&lt;p&gt;Well, &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-08_reset-master-boot-record-mbr" title="Reset Master Boot Record (MBR)"&gt;as I mentioned in my earlier post&lt;/a&gt;, I had some trouble during the week. I was having issues with SLES10 installations not finishing during the bootloader installation phase. After trying out different flavors (as in 10SP2 x64/x86, &amp;hellip;), and not having any luck with this, I went searching on Google as a last effort try. Guess what, yet again Google &lt;a href="http://www.issociate.de/board/post/489385/Configuring_grub.html"&gt;helped me out&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;It was pretty simple. Putting /dev/cciss/c0d0 into /boot/grub/device.map as (hd0) made the grub-installer finish. Now, figuring out how to transfer those information during the installation proved difficult. I was just about to give up, while reading through the &lt;a href="http://www.suse.com/~ug/autoyast_doc/index.html"&gt;AutoYAST documentation&lt;/a&gt;, &lt;a href="http://users.suse.com/~ug/autoyast_doc/configuration.html#id306587"&gt;when it struck me&lt;/a&gt;. There is even an extra chapter for this stuff, so simply putting the following into my profile solved my issues:&lt;/p&gt;</description></item><item><title>VMware Consolidated Backup and TRANSPORT_MODE=hotadd</title><link>https://christian.blog.pakiheim.de/posts/2010-03-18_vmware-consolidated-backup-and-transport-mode-hotadd/</link><pubDate>Thu, 18 Mar 2010 17:03:38 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=3015</guid><description>&lt;p&gt;As the title says, I&amp;rsquo;ve been playing with vCB (inside a VM) and the TSM integration with newer (&amp;gt;6.0) clients for work. Result of all this work should be a feasibility study. We&amp;rsquo;re currently thinking about replacing our VMware server(s) with ESXi. But as most of you know, if you install ESXi, you simply can&amp;rsquo;t install anything (well, you can .. on ~100KB of disk space, which is compared to a TSM client weighing roughly 120MB nothing!). As we would like the possibility to backup VMs on image-level, I went looking at solutions.&lt;/p&gt;</description></item><item><title>Windows Server 2003: taskmgr giving Logon failure</title><link>https://christian.blog.pakiheim.de/posts/2010-02-25_windows-server-2003-taskmgr-giving-logon-failure/</link><pubDate>Thu, 25 Feb 2010 17:58:22 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=3005</guid><description>&lt;p&gt;I had myself a lot of fun today. I ended up patching a Windows Server 2003 x64 SP1, where the Task Manager wouldn&amp;rsquo;t start anymore. It simply failed (or in case of right clicking on the task bar wouldn&amp;rsquo;t even appear), so I went downstairs and pulled a hard disk out of the RAID1 array, just to be sure.&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="%28/uploads/2010/02/weird-windows-error.png"
alt="Really weird Windows error"/&gt; &lt;figcaption&gt;
&lt;p&gt;Really weird Windows error&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;I went ahead, installed SP2 (as you can see on the above picture) while having the jitters. Also installed the VirusScan I was scheduled to install, and the system came back online. Phewww.&lt;/p&gt;</description></item><item><title>VMware vSphere: Safely remove network controller</title><link>https://christian.blog.pakiheim.de/posts/2010-02-23_vmware-vsphere-safely-remove-network-controller/</link><pubDate>Tue, 23 Feb 2010 18:24:01 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2996</guid><description>&lt;p&gt;Well, it&amp;rsquo;s another day another fight. As we started migrating our VM&amp;rsquo;s from the old VMware ESX farms to the new environment, and upgraded the hardware suddenly the network devices were hot-plug-able, thus they did turn up in the &amp;ldquo;Safely Remove&amp;rdquo; dialog.&lt;/p&gt;
&lt;p&gt;I myself don&amp;rsquo;t have any trouble with that. The trouble I do have is the people working with those VM&amp;rsquo;s and their possibly hazardous &amp;ldquo;uuuh, what&amp;rsquo;s this ? I don&amp;rsquo;t need this! &amp;lt;click-click, network-device unplugged&amp;gt;&amp;rdquo;&lt;/p&gt;</description></item><item><title>VBscript: Query remote OS and SP info (continued)</title><link>https://christian.blog.pakiheim.de/posts/2010-02-15_vbscript-query-remote-os-and-sp-info-continued/</link><pubDate>Mon, 15 Feb 2010 20:34:34 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2975</guid><description>&lt;p&gt;After some more crunching on &lt;a href="https://christian.blog.pakiheim.de/posts/2010-02-15_vbscript-query-remote-os-and-sp-info-continued" title="VBscript: Query remote OS and SP info"&gt;my VBscript&lt;/a&gt;, I think I finally have a working script that runs through a csv-list I point it to and walk onto each system (by ip-address only sadly) and query the os and the Service Pack that is installed. The CSV may look like this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Hostname;IP;Model;Description;OS;Service-Pack;BL;Priority
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;epimetheus;10.0.0.2;VMware guest;File-Server
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;hades;10.0.0.1;VMware guest;Core-Router
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;After saving that one, and running a cscript //NoLogo win_sp_level.vbs you should find a completed list like this:&lt;/p&gt;</description></item><item><title>Converting TIVSM RPMs to deb</title><link>https://christian.blog.pakiheim.de/posts/2010-02-15_converting-tivsm-rpms-to-deb/</link><pubDate>Mon, 15 Feb 2010 09:59:31 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2944</guid><description>&lt;p&gt;We received a preinstalled customer server the other day, for which we had declared &amp;ldquo;as-is&amp;rdquo; support only, since it is running Lucid Lynx. Now today, I started getting the TSM client to work. Was kinda weird, since at first dsmc was reporting something like this:&lt;/p&gt;
&lt;p&gt;# ./dsmc: no such file or directory&lt;/p&gt;
&lt;p&gt;After fiddling with it a bit more, here are the control files, as well as the prerm and postinst-scripts for TIVSM-API, TIVSM-API64 and TIVSM-BA:&lt;/p&gt;</description></item><item><title>VMware Data Recovery</title><link>https://christian.blog.pakiheim.de/posts/2010-01-05_vmware-data-recovery/</link><pubDate>Tue, 05 Jan 2010 17:11:35 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2919</guid><description>&lt;p&gt;I&amp;rsquo;ve been tinkering with VMware&amp;rsquo;s Data Recovery for the last two weeks (as in configured it some time before Christmas) and had it running all that time. I have to say the integration into the vCenter Client GUI is amazing, I&amp;rsquo;d love to see that for VCB also. The &lt;a href="http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;amp;cmd=displayKC&amp;amp;externalId=1020128"&gt;Changed Block Tracking&lt;/a&gt; is a neat way to minimize the amount backup data as well as your backup window (which is nearly zero anyhow due to vDR using snapshots).&lt;/p&gt;</description></item><item><title>VCP410 exam</title><link>https://christian.blog.pakiheim.de/posts/2009-12-24_vcp410-exam/</link><pubDate>Thu, 24 Dec 2009 20:25:55 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2873</guid><description>&lt;p&gt;I&amp;rsquo;ve been learning for my VCP-410 exam the last week or so, and what can I say ? It helped &amp;hellip; 463 points of a total of 500 points ain&amp;rsquo;t that bad at all (considering I spend twenty minutes doing it).&lt;/p&gt;
&lt;p&gt;Sure, I could have spent more time, and do better than &lt;strong&gt;92,6%&lt;/strong&gt;, but then again: why should I ?&lt;/p&gt;
&lt;p&gt;The achieved points (nor the percentage) don&amp;rsquo;t appear on the certificate (or at least it didn&amp;rsquo;t on the old one), so why bother. Anyway, that was my christmas present to myself, it that light; happy christmas ya&amp;rsquo;ll.&lt;/p&gt;</description></item><item><title>PXEBoot the VMware ESXi installer</title><link>https://christian.blog.pakiheim.de/posts/2009-11-20_pxeboot-the-vmware-esxi-installer/</link><pubDate>Fri, 20 Nov 2009 20:19:46 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2845</guid><description>&lt;p&gt;Some of you may know, that VMware released vSphere 4.0 Update 1 yesterday. I took this as a reason, to finally wrap my head around booting the VMware ESXi installer from my PXE/TFTP box. Since VMware was kind enough &lt;a href="http://www.vmware.com/pdf/vsp_4_pxe_boot_esxi.pdf"&gt;to provide&lt;/a&gt; (a somewhat worthless) document, that explains how to extract the necessary files on Windows. But that quite doesn&amp;rsquo;t work with Linux &amp;ndash; and VMware just states that you should be using mount and it&amp;rsquo;s option offset.&lt;/p&gt;</description></item><item><title>Configuring nagios-plugins-zypper</title><link>https://christian.blog.pakiheim.de/posts/2009-11-12_configuring-nagios-plugins-zypper/</link><pubDate>Thu, 12 Nov 2009 17:45:43 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2801</guid><description>&lt;p&gt;Since I&amp;rsquo;m running check_zypper via nrpe (which in turn runs as nobody), I need to set up sudo. In order for the plugin to work, we need to add the following line to /etc/sudoers (by means of visudo):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;nobody ALL = NOPASSWD: /usr/bin/zypper sl, /usr/bin/zypper --non-interactive --no-gpg-checks --terse list-updates
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;(Keep in mind this needs to be a single line &amp;hellip;)&lt;/p&gt;</description></item><item><title>Linux: Convert Gigabyte into Blocks</title><link>https://christian.blog.pakiheim.de/posts/2009-11-02_linux-convert-gigabyte-into-blocks/</link><pubDate>Mon, 02 Nov 2009 16:55:32 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2772</guid><description>&lt;p&gt;I just googled again for a &lt;a href="http://www.unitconversion.org/data-storage/gigabits-to-blocks-conversion.html"&gt;Gigabyte to Blocks&lt;/a&gt; converter when I stumbled upon &lt;a href="http://www.unix.com/aix/120651-converting-blocks-megabytes-gigabytes.html#post302359376"&gt;this&lt;/a&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;echo &amp;#34;(15*1024*1024*1024)/512&amp;#34; | bc
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Easy to use and yet handy.&lt;/p&gt;</description></item><item><title>SVC: Migrate VDisks off a MDisk Group onto another</title><link>https://christian.blog.pakiheim.de/posts/2009-10-29_svc-migrate-vdisks-off-a-mdisk-group-onto-another/</link><pubDate>Thu, 29 Oct 2009 18:09:17 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2739</guid><description>&lt;p&gt;Out of necessity, another SVC shell script was just born. If you ever need to migrate a whole MDisk group onto another, you quickly discover the limited application of the SVC GUI. Now, you could query the VDisks using your original MDisk Group and then copy and paste the VDisk&amp;rsquo;s name (or the VDisk ID) into a command line and simply reuse that svctask migratevdisk command over and over.&lt;/p&gt;
&lt;p&gt;Luckily IBM blessed the SVC with an SSH interface. So again, we can write a (kinda) simple shell script which may look like this:&lt;/p&gt;</description></item><item><title>ESX: Query CDP information from the command line</title><link>https://christian.blog.pakiheim.de/posts/2009-10-29_esx-query-cdp-information-from-the-command-line/</link><pubDate>Thu, 29 Oct 2009 17:20:46 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2725</guid><description>&lt;p&gt;I&amp;rsquo;m just tracing some troubles I&amp;rsquo;m having with a backup server and two (independent) network adapter ports (as in two ports on two different dual-port nics). If I enable the port and set it to auto configuration, it&amp;rsquo;ll get 100MBit/Half-Duplex, but the Portgroup becomes unavailable.&lt;/p&gt;
&lt;p&gt;In order to get the connection back, I need to logon on the console (thank god even the backup server got an iLO2), and manually (as in esxcfg-nics -s 1000 -d full vmnic1) configure the adapter to 1GBit/s and full-duplex.&lt;/p&gt;</description></item><item><title>RPM: Query a specific rpm-file for information</title><link>https://christian.blog.pakiheim.de/posts/2009-10-28_rpm-query-a-specific-rpm-file-for-information/</link><pubDate>Wed, 28 Oct 2009 18:12:44 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2717</guid><description>&lt;p&gt;Since I end up googling it each time I need this, it&amp;rsquo;s about time I write it down &amp;hellip; If you want to query a specific RPM for information (Requires/Information/&amp;hellip;) you&amp;rsquo;ll need to use the &amp;ndash;package/-p option.&lt;/p&gt;
&lt;blockquote&gt;
&lt;h3 id="-p---query-a-specific-rpm-package-file"&gt;&lt;strong&gt;-p &lt;code&gt;&amp;lt;file&amp;gt;&lt;/code&gt;&lt;/strong&gt; — Query a Specific RPM Package File&lt;/h3&gt;
&lt;p&gt;Up to now, every means of specifying a package to an RPM query focused on packages that had already been installed. While it&amp;rsquo;s certainly very useful to be able to dredge up information about packages that are already on your system, what about packages that haven&amp;rsquo;t yet been installed? The &lt;strong&gt;-p&lt;/strong&gt; option can do that for you.&lt;/p&gt;</description></item><item><title>KMP: Define a new subpkg template</title><link>https://christian.blog.pakiheim.de/posts/2009-10-24_kmp-define-a-new-subpkg-template/</link><pubDate>Sat, 24 Oct 2009 16:43:36 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2700</guid><description>&lt;p&gt;There might be reasons, you&amp;rsquo;d wish you could make the kernel module package do other things. Two already pop into my head: 1) The mpp-Image upgrades for the ibm-rdac kernel module packages and 2) the &amp;quot; &lt;em&gt;adjustments&lt;/em&gt;&amp;quot; which need to be done post install for the VMware kernel module package in /etc/vmware-tools/locations.&lt;/p&gt;
&lt;p&gt;What you basically do is this:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Add the new subpkg template to your sources list&lt;/li&gt;
&lt;li&gt;Call the %suse_kernel_module_package macro with the option -s and then add your source number&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;For me this looks like this:&lt;/p&gt;</description></item><item><title>SMT: Disable unmirrorable catalogs</title><link>https://christian.blog.pakiheim.de/posts/2009-10-24_smt-disable-unmirrorable-catalogs/</link><pubDate>Sat, 24 Oct 2009 16:22:50 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2694</guid><description>&lt;p&gt;Today I got this report from my SMT:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt;5&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;WARNING&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;The&lt;/span&gt; &lt;span class="n"&gt;following&lt;/span&gt; &lt;span class="n"&gt;repositories&lt;/span&gt; &lt;span class="n"&gt;cannot&lt;/span&gt; &lt;span class="n"&gt;be&lt;/span&gt; &lt;span class="n"&gt;mirrored&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Maybe&lt;/span&gt; &lt;span class="n"&gt;you&lt;/span&gt; &lt;span class="n"&gt;have&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;enough&lt;/span&gt; &lt;span class="n"&gt;permissions&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="n"&gt;download&lt;/span&gt; &lt;span class="n"&gt;these&lt;/span&gt; &lt;span class="n"&gt;repositories&lt;/span&gt;&lt;span class="err"&gt;?&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;SLES10&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;SP2&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Pool&lt;/span&gt; &lt;span class="n"&gt;sles&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;x86_64&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;SLES10&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;SP2&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Pool&lt;/span&gt; &lt;span class="n"&gt;sles&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;i586&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;However, if you try and disable that repository with smt-catalogs -d, SMT is gonna quit your action with &amp;quot; &lt;em&gt;0 repositories disabled&lt;/em&gt;&amp;quot;. Since I didn&amp;rsquo;t want the error to show up again, here&amp;rsquo;s a quick way on how to disable it.&lt;/p&gt;
&lt;p&gt;Open up a mysql shell (mysql -u root -p preferably) and enter those queries:&lt;/p&gt;</description></item><item><title>Creating a custom RPM repository for SMT</title><link>https://christian.blog.pakiheim.de/posts/2009-10-22_creating-a-custom-rpm-repository-for-smt/</link><pubDate>Thu, 22 Oct 2009 17:59:45 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2665</guid><description>&lt;p&gt;I spent some time yesterday figuring out ways on how to assign custom (as in self-built) RPMs to a installation using SMT. First you obviously need a &amp;quot; &lt;em&gt;external&lt;/em&gt;&amp;quot; repository, that can be integrated into the SMT.&lt;/p&gt;
&lt;p&gt;So we need to create repository someplace, where the SMT can go and grab it. I ain&amp;rsquo;t gonna cover the sharing part, since that is your job! I&amp;rsquo;m just gonna cover the steps on how to create the custom repository and how to integrate it into the SMT.&lt;/p&gt;</description></item><item><title>Active Directory authentification for Samba on SLES11</title><link>https://christian.blog.pakiheim.de/posts/2009-10-21_active-directory-authentification-for-samba-on-sles11/</link><pubDate>Wed, 21 Oct 2009 18:46:25 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2663</guid><description>&lt;p&gt;I recently &amp;ldquo;redesigned&amp;rdquo; the PXE-installation server, which comes with a Samba service to easily move files on/off the box. The old one had the restriction, you need to create local user accounts. Since I also did an distribution upgrade, I wanted to try the integration of SLES11 into Active Directory.&lt;/p&gt;
&lt;p&gt;And as it turns out, it really is simple. Just follow the steps &lt;a href="http://www.suse.com/documentation/sles11/book_sle_admin/data/sec_samba_adnet.html"&gt;outlined in the handbook&lt;/a&gt;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open the Windows Domain Membership module, yast samba-client (or yast, then Network Services -&amp;gt; Windows Domain Membership) and enter your Domain information&lt;/li&gt;
&lt;li&gt;Open the Samba Server Module, yast samba-server (or yast, then Network Services -&amp;gt; Samba Server) and also enter your Domain information&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Just make sure, you also check the box labeled &lt;em&gt;&lt;strong&gt;Also Use SMB Information for Linux Authentication&lt;/strong&gt;&lt;/em&gt;, otherwise it won&amp;rsquo;t work &amp;ndash; don&amp;rsquo;t ask me why &amp;hellip;&lt;/p&gt;</description></item><item><title>Using the integrated kickstart generator</title><link>https://christian.blog.pakiheim.de/posts/2009-10-14_using-the-integrated-kickstart-generator/</link><pubDate>Wed, 14 Oct 2009 16:36:00 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2642</guid><description>&lt;p&gt;VMware built an kickstart generator into ESX 3.5. &lt;a href="http://pubs.vmware.com/vi35u2/install/wwhelp/wwhimpl/common/html/wwhelp.htm?context=install&amp;amp;file=install_remote_scripted.11.3.html#957177"&gt;You just need to enable it&lt;/a&gt;, simply by editing an XML configuration and restarting the webAccess service. Simply edit /usr/lib/vmware/webAccess/tomcat/apache-tomcat-5.5.26/webapps/ui/WEB-INF/struts-config.xml and look for the line saying:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;action path=&amp;#34;/scriptedInstall&amp;#34; type=&amp;#34;org.apache.struts.actions.ForwardAction&amp;#34; parameter=&amp;#34;/WEB-INF/jsp/scriptedInstall/disabled.jsp&amp;#34; /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;This line needs to be commented out (&amp;lt;&amp;ndash; and &amp;ndash;&amp;gt;) and the lines following, having those comment marks around them needs to be removed.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-1-1"&gt;&lt;a class="lnlinks" href="#hl-1-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-2"&gt;&lt;a class="lnlinks" href="#hl-1-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-3"&gt;&lt;a class="lnlinks" href="#hl-1-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-4"&gt;&lt;a class="lnlinks" href="#hl-1-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-5"&gt;&lt;a class="lnlinks" href="#hl-1-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-6"&gt;&lt;a class="lnlinks" href="#hl-1-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-7"&gt;&lt;a class="lnlinks" href="#hl-1-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-8"&gt;&lt;a class="lnlinks" href="#hl-1-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-9"&gt;&lt;a class="lnlinks" href="#hl-1-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-10"&gt;&lt;a class="lnlinks" href="#hl-1-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-11"&gt;&lt;a class="lnlinks" href="#hl-1-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;!--
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;action path=&amp;#34;/scriptedInstall&amp;#34; type=&amp;#34;com.vmware.webcenter.scripted.ProcessAction&amp;#34;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;forward name=&amp;#34;scriptedInstall.form1&amp;#34; path=&amp;#34;/WEB-INF/jsp/scriptedInstall/form1.jsp&amp;#34; /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;forward name=&amp;#34;scriptedInstall.form2&amp;#34; path=&amp;#34;/WEB-INF/jsp/scriptedInstall/form2.jsp&amp;#34; /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;forward name=&amp;#34;scriptedInstall.form3&amp;#34; path=&amp;#34;/WEB-INF/jsp/scriptedInstall/form3.jsp&amp;#34; /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;forward name=&amp;#34;scriptedInstall.form4&amp;#34; path=&amp;#34;/WEB-INF/jsp/scriptedInstall/form4.jsp&amp;#34; /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;forward name=&amp;#34;scriptedInstall.form5&amp;#34; path=&amp;#34;/WEB-INF/jsp/scriptedInstall/form5.jsp&amp;#34; /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;forward name=&amp;#34;scriptedInstall.form6&amp;#34; path=&amp;#34;/WEB-INF/jsp/scriptedInstall/form6.jsp&amp;#34; /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;forward name=&amp;#34;scriptedInstall.form7&amp;#34; path=&amp;#34;/WEB-INF/jsp/scriptedInstall/form7.jsp&amp;#34; /&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;/action&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;After doing that, you should be able to restart the webAccess service, and after that access your ESX host.&lt;/p&gt;</description></item><item><title>Autoinstalling VMware-Tools</title><link>https://christian.blog.pakiheim.de/posts/2009-10-13_autoinstalling-vmware-tools/</link><pubDate>Tue, 13 Oct 2009 16:30:08 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2635</guid><description>&lt;p&gt;As I &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-08_sles11-and-autoyast" title="SLES11 and AutoYaST"&gt;wrote before&lt;/a&gt;, I have been working on our AutoYaST setup. That entitles determining whether or not we&amp;rsquo;re currently inside a VMware environment. AutoYaST rules wise, that&amp;rsquo;s pretty easy (even though the MAC-tag is empty &amp;#x1f633;):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;!-- Addons: Install VMware Tools / KMP --&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;rule&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;custom1&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;script&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;if ip a | grep &amp;#34;link/ether 00:50:56&amp;#34; &amp;gt;/dev/null ; then
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; echo -n vmware
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;fi;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;/script&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;match&amp;gt;*&amp;lt;/match&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;match_type&amp;gt;exact&amp;lt;/match_type&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;/custom1&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;result&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;profile&amp;gt;addons/@custom1@.xml&amp;lt;/profile&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;/result&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;/rule&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;The hard part is figuring out ways, to make the VMware Tools installation as pain free as possible. One thing I can&amp;rsquo;t do, is running vmware-config-tools.pl &amp;hellip;&lt;/p&gt;</description></item><item><title>New IBM RDAC version (or not)</title><link>https://christian.blog.pakiheim.de/posts/2009-09-09_new-ibm-rdac-version-or-not/</link><pubDate>Wed, 09 Sep 2009 20:03:30 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2577</guid><description>&lt;p&gt;A week ago (September 02nd), I received a mail detailing the release of IBM&amp;rsquo;s new multipathing device driver for the DS4x00 series, which finally works with SLES11 (the available software up till now doesn&amp;rsquo;t &amp;ndash; as in fails with kernels &amp;gt; 2.6.26 iirc).&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2009/09/ibm-rdac-new-version.png"
alt="ESC&amp;#43; notification detailing the release" width="450"/&gt; &lt;figcaption&gt;
&lt;p&gt;ESC+ notification detailing the release&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;There wouldn&amp;rsquo;t be any trouble, if IBM (or rather the vendor providing the driver &amp;ndash; LSI) would actually release the driver &amp;hellip; up till today, I have yet to see the new version appear on the &lt;a href="http://www.lsi.com/rdac/ds4000.html"&gt;download page&lt;/a&gt;. I already tried to notify IBM about the trouble, but as usual there is lack of ways to actually get this to the right person.&lt;/p&gt;</description></item><item><title>Tivoli Storage Manager Server 5-5-3</title><link>https://christian.blog.pakiheim.de/posts/2009-08-28_tivoli-storage-manager-server-5-5-3/</link><pubDate>Fri, 28 Aug 2009 14:19:14 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2558</guid><description>&lt;p&gt;I spent yesterday afternoon upgrading our TS7530, and in my fad I also upgraded TSM to 5.5.3. Now, once I started TSM it quickly started complaining about the paths to the drives.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt;5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt;6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt;7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt;8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt;9&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ANR8873E The path from source TSM1 to destination VTL1_DR03
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(/dev/lin_tape/IBMtape03) is taken offline.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ANR8873E The path from source TSM1 to destination VTL1_DR03
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(/dev/lin_tape/IBMtape03) is taken offline.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;HBA_LoadLibrary: previously unfreed libraries exist, call HBA_FreeLibrary().
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ANR8873E The path from source TSM1 to destination VTL1_DR07
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(/dev/lin_tape/IBMtape07) is taken offline.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ANR8873E The path from source TSM1 to destination VTL1_DR07
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(/dev/lin_tape/IBMtape-07) is taken offline.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;I thought maybe this is a mere device problem (we have had them before), so I rebooted the boxes. But still no luck and I went home after about an hour of trying without any luck. In the morning, my co-worker called our trustworthy IBM service partner, and the TSM consultant said he had the &lt;a href="http://www.ibm.com/developerworks/forums/thread.jspa?threadID=270799&amp;amp;tstart=0"&gt;exact&lt;/a&gt;, &lt;a href="http://www.adsm.org/forum/showthread.php?p=74331"&gt;same&lt;/a&gt; problem yesterday. We would have two options:&lt;/p&gt;</description></item><item><title>IBM RSA II adapter and Java RE (fini)</title><link>https://christian.blog.pakiheim.de/posts/2009-08-19_ibm-rsa-ii-adapter-and-java-re-fini/</link><pubDate>Wed, 19 Aug 2009 04:32:44 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2539</guid><description>&lt;p&gt;If you remember back to July, &lt;a href="https://christian.blog.pakiheim.de/posts/2009-08-19_ibm-rsa-ii-adapter-and-java-re-fini" title="IBM RSA II adapter and Java RE"&gt;I looked into some troubles&lt;/a&gt; I had with the IBM RSA II adapter&amp;rsquo;s Java interface and the latest JRE updates. I just noticed, that IBM released a &lt;a href="http://www-947.ibm.com/support/entry/portal/docdisplay?brand=5000008&amp;amp;lndocid=MIGR-5081602"&gt;new firmware&lt;/a&gt; yesterday for the RSA. The ChangeLog states this:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Version 1.13, GFEP35A&lt;/strong&gt;
Problem(s) Fixed:&lt;/p&gt;
&lt;p&gt;* Suggested
o Fix for Remote Control General Exception in JRE 1.6 update 12 and above.
o Corrected a problem that DHCP renew/release may fail after a long time.
o Corrected a problem that remote control preference link disapears after creating new key buttons.
o Corrected a problem that cause event number shows only from 0 to 255 when views RSA log via telnet session.&lt;/p&gt;</description></item><item><title>rpc-statd starting before portmap</title><link>https://christian.blog.pakiheim.de/posts/2009-08-04_rpc-statd-starting-before-portmap/</link><pubDate>Tue, 04 Aug 2009 14:51:49 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2519</guid><description>&lt;p&gt;&lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-08_portmap-hanging-on-shutdown" title="portmap hanging on shutdown"&gt;One problem gone&lt;/a&gt;, another one turns up. When rpc.statd (nfs-common) tries to start before portmap, it&amp;rsquo;s gonna result in failure. Now, the logfile (/var/log/daemon.log) is gonna print a rather cryptic error message:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Aug  4 15:54:25 xen2 rpc.statd[3419]: Version 1.1.2 Starting
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Aug  4 15:54:25 xen2 rpc.statd[3419]: unable to register (statd, 1, udp).
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;After fixing the start order (I really hate &lt;em&gt;SUSE&lt;/em&gt;/Debian* for not having init-script dependencies &amp;ndash; like Gentoo&amp;rsquo;s baselayout/Roy&amp;rsquo;s &lt;a href="http://roy.marples.name/projects/openrc"&gt;openrc&lt;/a&gt; does have), everything is like it should be and I&amp;rsquo;m able to put the /srv/xen mount into the fstab &amp;hellip;&lt;/p&gt;</description></item><item><title>OFED packages for Debian</title><link>https://christian.blog.pakiheim.de/posts/2009-08-04_ofed-packages-for-debian/</link><pubDate>Tue, 04 Aug 2009 12:25:08 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2504</guid><description>&lt;p&gt;&lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-08_xen-dom0-failing-with-kernel-panic" title="Xen dom0 failing with kernel panic"&gt;As I mentioned yesterday&lt;/a&gt;, I&amp;rsquo;m currently doing some project work. Said project includes InfiniBand technology.&lt;/p&gt;
&lt;p&gt;Apparently we bought a &amp;ldquo;cheap&amp;rdquo; InfiniBand switch, which comes without a subnet manager. So, in order to communicate between the nodes, you need to install the subnet manager (&lt;a href="http://pkg-ofed.alioth.debian.org/"&gt;opensm&lt;/a&gt; in my case) on each node.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;echo &amp;#39;deb http://pkg-ofed.alioth.debian.org/apt/ofed ./&amp;#39; &amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; /etc/apt/sources.list.d/openfabrics.list;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; aptitude update;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; aptitude install opensm
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;In order to utilize the InfiniBand interface you need to do a few things first though:&lt;/p&gt;</description></item><item><title>TS7530 authentification failure</title><link>https://christian.blog.pakiheim.de/posts/2009-08-01_ts7530-authentification-failure/</link><pubDate>Sat, 01 Aug 2009 05:20:04 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2415</guid><description>&lt;p&gt;Today, I had a rather troublesome morning. Once I got to work, Nagios was already complaining about the lin_taped on one of our TSM servers, which apparently failed due to too &lt;a href="https://christian.blog.pakiheim.de/uploads/2009/07/messages"&gt;many SCSI resets&lt;/a&gt;. Additionally, I can&amp;rsquo;t login using the VE console (I can login however using SSH) so I ended up opening up a IBM Electronic Service Call (ESC+).&lt;/p&gt;
&lt;p&gt;Using SSH, I can get some information on the VE&amp;rsquo;s status:&lt;/p&gt;</description></item><item><title>VMware vSphere and templates</title><link>https://christian.blog.pakiheim.de/posts/2009-07-31_vmware-vsphere-and-templates/</link><pubDate>Fri, 31 Jul 2009 13:51:01 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2486</guid><description>&lt;p&gt;I just converted one of my (old) templates, as I wanted to refresh the updates and the virus scanner. After converting, I was asked about the UUID (no clue why), and expected to be done with it. But after looking at the console, I got the following, completely cryptic message:&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2009/07/win-xp_template-error.png"
alt="Unable to connect to MKS" width="400"/&gt; &lt;figcaption&gt;
&lt;p&gt;Unable to connect to MKS&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;After digging a bit deeper (that is looking at the vmware.log of the virtual machine, since the message of the GUI is &lt;em&gt;&lt;strong&gt;real&lt;/strong&gt;&lt;/em&gt; cryptic), I&amp;rsquo;m a bit wiser:&lt;/p&gt;</description></item><item><title>IBM TS7530 and the Virtualization Engine for Tape Console</title><link>https://christian.blog.pakiheim.de/posts/2009-07-31_ibm-ts7530-and-the-virtualization-engine-for-tape-console/</link><pubDate>Fri, 31 Jul 2009 12:44:16 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2480</guid><description>&lt;p&gt;I just had yet another support call with &lt;a href="http://www.ibm.com/us/en/"&gt;IBM&lt;/a&gt;, concerning the Tape Console (or VE console, courtesy of &lt;a href="http://www.falconstor.com"&gt;Falconstor&lt;/a&gt;). My basic problem was/is, that I, as a german person, do have a german Windows Server 2003 installation. Now, if you do have german decimal number format selected in the regional settings, the display is gonna be kinda impaired and you&amp;rsquo;re gonna see something like this:&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2009/07/ve_console-german.png"
alt="VE console with german decimal number format" width="400"/&gt; &lt;figcaption&gt;
&lt;p&gt;VE console with german decimal number format&lt;/p&gt;</description></item><item><title>Custom certificates in VMware vSphere</title><link>https://christian.blog.pakiheim.de/posts/2009-07-24_custom-certificates-in-vmware-vsphere/</link><pubDate>Fri, 24 Jul 2009 13:34:57 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2431</guid><description>&lt;p&gt;Finally, &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-08_vmware-new-virtualcenter-2-5-update-4" title="VMware: New VirtualCenter 2.5 Update 4"&gt;after about 6 months&lt;/a&gt; (I last talked about that on February 25th, when Virtual Center 2.5U4 was released) our troubles with our &amp;quot; &lt;em&gt;custom&lt;/em&gt;&amp;quot; certificates seems to be resolved! As it turns out, it really was our fault and not VMware&amp;rsquo;s.&lt;/p&gt;
&lt;p&gt;When generating the pfx from the signed certificate and the key-file, you need to supply a password, otherwise the vCenter service is unable to utilize the private key of the pfx, since it&amp;rsquo;s unable to access the PFX with the default password ( &lt;strong&gt;testpassword&lt;/strong&gt; is the default for Virtual Center as well as vSphere).&lt;/p&gt;</description></item><item><title>Windows XP(e) refusing to connect to a terminal server</title><link>https://christian.blog.pakiheim.de/posts/2009-07-23_windows-xp-e-refusing-to-connect-to-a-terminal-server/</link><pubDate>Thu, 23 Jul 2009 14:48:52 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2411</guid><description>&lt;p&gt;Today a error message reappeared I thought I wouldn&amp;rsquo;t see again. We use Wyse Thin Clients and 2X running on two terminal servers, to provide the thin clients with applications. Now, once a while one of the thin clients (not all at once, just a single one) refuse to connect to the terminal server jabbing about this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;The remote computer disconnected the session because of an error in the licensing protocol.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;The error message you get from the 2X client ain&amp;rsquo;t the slightest bit more helpful.&lt;/p&gt;</description></item><item><title>Burning CD/DVDs as unprivileged user</title><link>https://christian.blog.pakiheim.de/posts/2009-07-21_burning-cd-dvds-as-unprivileged-user/</link><pubDate>Tue, 21 Jul 2009 15:26:50 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2399</guid><description>&lt;p&gt;After the last reinstallation of Windows (both at home and at work), I decided that from this day forth, I&amp;rsquo;d be working as unprivileged user (ie not as local administrator). Now, working as unprivileged user is some kind of relief (since not every program is able to wreak havoc within your computer), but also somewhat of a burden.&lt;/p&gt;
&lt;p&gt;Up until now, I had serious troubles burning CDs and/or DVDs as unprivileged user. Basically InfraRecorder refused to work at all. Only way that I had left, was copying the ISO to my local disk and then use runas in conjunction with InfraRecorder, to execute as Administrator.&lt;/p&gt;</description></item><item><title>Updating a Linux VM from Virtual Infrastructure to vSphere</title><link>https://christian.blog.pakiheim.de/posts/2009-07-08_updating-a-linux-vm-from-virtual-infrastructure-to-vsphere/</link><pubDate>Wed, 08 Jul 2009 13:51:50 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2314</guid><description>&lt;p&gt;Well, if you&amp;rsquo;re gonna update a SLES10 (or even a SLES11) VM, you created with Virtual Infrastructure, you&amp;rsquo;re gonna run into a snag (like I do). Grub (or rather the kernel itself) is gonna barf.&lt;/p&gt;
&lt;p&gt;Now, I searched for a while and didn&amp;rsquo;t find anything specific on the net, so I&amp;rsquo;m gonna write it down. Up till 3.5U4 the maximal resolution you&amp;rsquo;d be able to enter within a virtual machine was vga=0x32d (at least for my 19&amp;quot; TFT&amp;rsquo;s at work). But now, after the upgrade to vSphere that isn&amp;rsquo;t working anymore.&lt;/p&gt;</description></item><item><title>New vmware-tools-kmp</title><link>https://christian.blog.pakiheim.de/posts/2009-06-10_new-vmware-tools-kmp/</link><pubDate>Wed, 10 Jun 2009 11:31:04 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2273</guid><description>&lt;p&gt;&lt;strong&gt;Disclaimer:&lt;/strong&gt; I don&amp;rsquo;t take &lt;em&gt;any responsibility&lt;/em&gt; for faults within the software, I just provide the RPM&amp;rsquo;s! Feel free to ask me about stuff concerning these RPM&amp;rsquo;s, but I ain&amp;rsquo;t accountable if your stuff goes &lt;strong&gt;kaboom&lt;/strong&gt;! Oh, and those RPM&amp;rsquo;s aren&amp;rsquo;t &lt;strong&gt;recommended&lt;/strong&gt; or &lt;strong&gt;supported&lt;/strong&gt; by VMware!&lt;/p&gt;
&lt;p&gt;Since we recently upgraded our VMware Infrastructure to VMware vSphere, I finally had a chance to refresh the RPM&amp;rsquo;s for the KMP for &lt;em&gt;2.6.16.60-0.39.3-0.1&lt;/em&gt; and &lt;em&gt;2.6.27.21-0.1&lt;/em&gt;. You can find the source RPM &lt;a href="http://distributions.barfoo.org/SLES10/src/vmware-tools-4.0.0_164009-0.1.src.rpm"&gt;here&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>OCF agent for Tivoli Storage Manager: redux</title><link>https://christian.blog.pakiheim.de/posts/2009-06-05_ocf-agent-for-tivoli-storage-manager-redux/</link><pubDate>Fri, 05 Jun 2009 09:35:50 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2238</guid><description>&lt;p&gt;Well, after I finished my &lt;a href="http://christian.weblog.heimdaheim.de/2008/10/05/linux-ha-and-tivoli-storage-manager-finito/" title="Linux-HA and Tivoli Storage Manager (Finito!)"&gt;first OCF agent back in October 2008&lt;/a&gt;, we have it running in production now for about ten months. During that time, we found quite a few points in which we&amp;rsquo;d like to improve the behaviour with that Linux-HA should handle TSM.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Shutdown TSM nicely if possible (Cancel client sessions, cancel running processes and dismount mounted volumes)&lt;/li&gt;
&lt;li&gt;Better error handling&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So, after another week of writing and testing with a small instance, I present the new OCF agent for Tivoli Storage Manager. It still has one or two weak points, but they are negligible. I still need to write the documentation for it, but the script should just work &amp;hellip;&lt;/p&gt;</description></item><item><title>Weird TS3500 problem: redux</title><link>https://christian.blog.pakiheim.de/posts/2009-06-03_weird-ts3500-problem-redux/</link><pubDate>Wed, 03 Jun 2009 12:49:35 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2224</guid><description>&lt;p&gt;Well, after &lt;a href="https://christian.blog.pakiheim.de/posts/2009-06-03_weird-ts3500-problem-redux" title="Weird TS3500 problem"&gt;yesterday&amp;rsquo;s episode with our tape library&lt;/a&gt; today continued to be a taxing day. After restarting a few exports that were hanging yesterday due to our library problems, something similar returned. TSM was unable to locate a few (two to be exact) tapes in the library.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt;5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt;6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt;7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt;8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt;9&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ANR8300E I/O error on library LIB3584 (OP=00006C03, CC=314, KEY=05, ASC=3B,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ASCQ=0E, SENSE=70.00.05.00.00.00.00.0A.00.00.00.00.3B.0E.00.C0.00-.04.,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Description=The source slot or drive was empty in an attempt to move a
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;volume). Refer to Appendix C in the &amp;#39;Messages&amp;#39; manual for recommended action.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ANR8312E Volume 000400 could not be located in library LIB3584.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ANR8358E Audit operation is required for library LIB3584.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ANR8381E LTO volume 000400 could not be mounted in drive DR6 (/dev/rmt0).
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ANR1402W Mount request denied for volume 000400 - volume unavailable.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ANR1410W Access mode for volume 000400 now set to &amp;#34;unavailable&amp;#34;.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Yet the library reported the tapes were still inventoried. &amp;#x1f937; Here we are again, looking completely baffled. After a short while trying to figure out what to do, we went through the Data Cartridge inventory again. As it turns out, through putting the library in &amp;ldquo;Pause&amp;rdquo;-Mode and restarting TSM multiple times, TSM apparently completely forgot that it had these tapes put into drives.&lt;/p&gt;</description></item><item><title>Novell KMP: vmware-tools-kmp and ibm-lin_tape-kmp</title><link>https://christian.blog.pakiheim.de/posts/2009-05-10_novell-kmp-vmware-tools-kmp-and-ibm-lin-tape-kmp/</link><pubDate>Sun, 10 May 2009 11:27:22 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=2118</guid><description>&lt;p&gt;&lt;strong&gt;Disclaimer:&lt;/strong&gt; I don&amp;rsquo;t take &lt;em&gt;any responsibility&lt;/em&gt; for faults within the software, I just provide the RPM&amp;rsquo;s! Feel free to ask me about stuff concerning these RPM&amp;rsquo;s, but I ain&amp;rsquo;t accountable if your stuff goes &lt;strong&gt;kaboom&lt;/strong&gt; &amp;hellip; Oh, and those RPM&amp;rsquo;s aren&amp;rsquo;t &lt;strong&gt;recommended&lt;/strong&gt; or &lt;strong&gt;supported&lt;/strong&gt; by Novell or IBM!&lt;/p&gt;
&lt;p&gt;After &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-08_novell-kmp-useable-version-of-ibm-rdac-ds4000" title="Novell KMP: Useable version of ibm-rdac-ds4000"&gt;working with the novell-kmp solution&lt;/a&gt;, I think it&amp;rsquo;s actually rather easy to create a &amp;quot; &lt;em&gt;Kernel Module Package&lt;/em&gt;&amp;quot;. In the end, I created two additional KMP&amp;rsquo;s, one for the tools component of the VMware-Tools shipped with VMware ESX, and another for the lin_tape SCSI driver, used by our IBM TS3400 as well as the IBM TS7530.&lt;/p&gt;</description></item><item><title>TSM: Restoring the database/recovery log to a point-in-time</title><link>https://christian.blog.pakiheim.de/posts/2009-04-24_tsm-restoring-the-database-recovery-log-to-a-point-in-time/</link><pubDate>Fri, 24 Apr 2009 12:38:34 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1998</guid><description>&lt;p&gt;Well, my co-worker just called on my cell (it&amp;rsquo;s Friday, 16:00), and asked me which start-up script he needed to change in order to restore the database. My first response was, &amp;ldquo;ummm, that&amp;rsquo;s gonna be hard, we&amp;rsquo;re using heartbeat&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Okay, so after a bit of asking I got out of him what he wanted to achieve by changing the start-up script. Apparently he did something to crash Tivoli Storage Manager (or rather repeatedly crash it) and wanted to restore the database. He talked to one of the systems partner we do have (and I&amp;rsquo;m happy we have them most of the time), who in return told him how to do it, but forgot a minute after he hung up the phone.&lt;/p&gt;</description></item><item><title>SLES10: zypper-log</title><link>https://christian.blog.pakiheim.de/posts/2009-04-03_sles10-zypper-log/</link><pubDate>Fri, 03 Apr 2009 04:34:49 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1979</guid><description>&lt;p&gt;Well, I just stumbled upon something .. My Nagios at work wasn&amp;rsquo;t working anymore, and I went looking.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;nagios3&lt;/span&gt; &lt;span class="o"&gt;~&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;tail&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="k"&gt;var&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nb"&gt;log&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;nagios&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;nagios&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;log&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1238658394&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="n"&gt;Error&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;Unable&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="n"&gt;save&lt;/span&gt; &lt;span class="n"&gt;status&lt;/span&gt; &lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;No&lt;/span&gt; &lt;span class="n"&gt;space&lt;/span&gt; &lt;span class="n"&gt;left&lt;/span&gt; &lt;span class="n"&gt;on&lt;/span&gt; &lt;span class="n"&gt;device&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1238658403&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="n"&gt;Error&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;Unable&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="n"&gt;save&lt;/span&gt; &lt;span class="n"&gt;status&lt;/span&gt; &lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;No&lt;/span&gt; &lt;span class="n"&gt;space&lt;/span&gt; &lt;span class="n"&gt;left&lt;/span&gt; &lt;span class="n"&gt;on&lt;/span&gt; &lt;span class="n"&gt;device&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1238658413&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="n"&gt;Error&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;Unable&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="n"&gt;save&lt;/span&gt; &lt;span class="n"&gt;status&lt;/span&gt; &lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;No&lt;/span&gt; &lt;span class="n"&gt;space&lt;/span&gt; &lt;span class="n"&gt;left&lt;/span&gt; &lt;span class="n"&gt;on&lt;/span&gt; &lt;span class="n"&gt;device&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1238658423&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="n"&gt;SERVICE&lt;/span&gt; &lt;span class="n"&gt;ALERT&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;tsm1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="n"&gt;POWER&lt;/span&gt; &lt;span class="n"&gt;WARN&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="n"&gt;OK&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="n"&gt;SOFT&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;u&lt;/span&gt; &lt;span class="n"&gt;OK&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1238658423&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="n"&gt;Error&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;Unable&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="n"&gt;save&lt;/span&gt; &lt;span class="n"&gt;status&lt;/span&gt; &lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;No&lt;/span&gt; &lt;span class="n"&gt;space&lt;/span&gt; &lt;span class="n"&gt;left&lt;/span&gt; &lt;span class="n"&gt;on&lt;/span&gt; &lt;span class="n"&gt;device&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1238658433&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="n"&gt;SERVICE&lt;/span&gt; &lt;span class="n"&gt;ALERT&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;tsm2&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="n"&gt;LOAD&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="n"&gt;WARNING&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="n"&gt;SOFT&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="n"&gt;WARNING&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="nb"&gt;load&lt;/span&gt; &lt;span class="n"&gt;average&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;6.25&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;5.72&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;5.36&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1238658433&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="n"&gt;Error&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;Unable&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="n"&gt;save&lt;/span&gt; &lt;span class="n"&gt;status&lt;/span&gt; &lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;No&lt;/span&gt; &lt;span class="n"&gt;space&lt;/span&gt; &lt;span class="n"&gt;left&lt;/span&gt; &lt;span class="n"&gt;on&lt;/span&gt; &lt;span class="n"&gt;device&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1238658443&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="n"&gt;Error&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;Unable&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="n"&gt;save&lt;/span&gt; &lt;span class="n"&gt;status&lt;/span&gt; &lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;No&lt;/span&gt; &lt;span class="n"&gt;space&lt;/span&gt; &lt;span class="n"&gt;left&lt;/span&gt; &lt;span class="n"&gt;on&lt;/span&gt; &lt;span class="n"&gt;device&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1238658453&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="n"&gt;Error&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;Unable&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="n"&gt;save&lt;/span&gt; &lt;span class="n"&gt;status&lt;/span&gt; &lt;span class="n"&gt;file&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;No&lt;/span&gt; &lt;span class="n"&gt;space&lt;/span&gt; &lt;span class="n"&gt;left&lt;/span&gt; &lt;span class="n"&gt;on&lt;/span&gt; &lt;span class="n"&gt;device&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1238658463&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="n"&gt;Error&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;Unable&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;After that, zip - nada. Next thing, check whether or not the device is really full &amp;hellip; Okay, df ..&lt;/p&gt;</description></item><item><title>Nagios: SNMP OID's for IBM's RSA II adapter</title><link>https://christian.blog.pakiheim.de/posts/2009-04-01_nagios-snmp-oid-s-for-ibm-s-rsa-ii-adapter/</link><pubDate>Wed, 01 Apr 2009 10:10:15 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1924</guid><description>&lt;p&gt;Well, after some poking around I finally found some OID&amp;rsquo;s for the RSA&amp;rsquo;s (only through these two links: &lt;a href="http://www.monitoringexchange.org/inventory/Check-Plugins/Hardware/Server-%2528Manufacturer%2529/IBM/RSA---RSA-II-FAN-SPEED"&gt;check_rsa_fan&lt;/a&gt; and &lt;a href="http://www.monitoringexchange.org/inventory/Check-Plugins/Hardware/Server-%2528Manufacturer%2529/IBM/RSA---RSA-II-TEMPERATURE"&gt;check_rsa_temp&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;For Nagios, I dismissed the fans, since the fan speed is only passed on in percent values. So I only added this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-25"&gt;&lt;a class="lnlinks" href="#hl-0-25"&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-26"&gt;&lt;a class="lnlinks" href="#hl-0-26"&gt;26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-27"&gt;&lt;a class="lnlinks" href="#hl-0-27"&gt;27&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-28"&gt;&lt;a class="lnlinks" href="#hl-0-28"&gt;28&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;define hostgroup{
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; hostgroup_name rsa-snmp
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; alias Remote Supervisor Adapter (allowing SNMP connections)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;define service{
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; use generic-perfdata
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; check_command check_rsa_snmpv1_public!.1.3.6.1.4.1.2.3.51.1.2.1.2.1.1!45!60!°C!Temperature CPU0!
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; hostgroup_name rsa-snmp
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; service_description TEMP CPU0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;define service{
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; use generic-perfdata
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; check_command check_rsa_snmpv1_public!.1.3.6.1.4.1.2.3.51.1.2.1.2.2.1!45!60!°C!Temperature CPU1!
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; hostgroup_name rsa-snmp
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; service_description TEMP CPU1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;define service{
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; use generic-perfdata
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; check_command check_rsa_snmpv1_public!.1.3.6.1.4.1.2.3.51.1.2.1.5.1.0!29!35!°C!Temperature Ambient!
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; hostgroup_name rsa-snmp
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; service_description TEMP AMBIENT
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Oh, and if anyone else is curious like me, here&amp;rsquo;s the list with the OID&amp;rsquo;s, courtesy of Gerhard Gschlad and Leonardo Calamai.&lt;/p&gt;</description></item><item><title>RPM spec: Installing a custom init-script</title><link>https://christian.blog.pakiheim.de/posts/2009-03-26_rpm-spec-installing-a-custom-init-script/</link><pubDate>Thu, 26 Mar 2009 15:14:51 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1961</guid><description>&lt;p&gt;Well, I&amp;rsquo;m sitting again here grinding my head on how to fix up a certain package. Now, I had to look it up again, so this time I&amp;rsquo;m writing it down!&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Source1: ${name}.initd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;...
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;install -o root -g root -m 755 %{S:1} $RPM_BUILD_ROOT/etc/init.d/ndo2db
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Windows: Running msconfig as non privileged user</title><link>https://christian.blog.pakiheim.de/posts/2009-03-25_windows-running-msconfig-as-non-privileged-user/</link><pubDate>Wed, 25 Mar 2009 10:38:38 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1958</guid><description>&lt;p&gt;Well, the title is kinda misleading since you need administrator privileges to run msconfig in it&amp;rsquo;s full scope. But this is just a hint to myself on how to execute msconfig without logging out and then logging in as administrator.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;runas /user:Administrator C:WINDOWSpchealthhelpctrbinariesmsconfig.exe
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Nagios: Watching Clustered environments (the other way)</title><link>https://christian.blog.pakiheim.de/posts/2009-03-19_nagios-watching-clustered-environments-the-other-way/</link><pubDate>Thu, 19 Mar 2009 08:36:22 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1931</guid><description>&lt;p&gt;Well, recently I stepped up to watch our cluster environments &amp;hellip; Michael has a good howto on how to watch Windows Cluster environments in the &lt;a href="http://nsclient.com/nscp/wiki/TipsAndTrick"&gt;NSclient++ wiki&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Now, this has it&amp;rsquo;s own perks &amp;hellip; Which I stumbled upon when trying to write a Linux-HA OCF resource agent for the Nagios NRPE server. Combining that Linux-HA with SLES10 is a good thing generally, but using startproc in that resource agent is not such a good idea.&lt;/p&gt;
&lt;p&gt;Apparently Novell (or SuSE GmbH) thought it might be wise to include some additional logic into the wrapper. startproc, checkproc and killproc do check for the name of the executable. So if you try to start an additional process with the same name, you need to dig a bit deeper.&lt;/p&gt;
&lt;p&gt;For this to work, you need two additional things (quotations directly from &lt;strong&gt;man 8 startproc&lt;/strong&gt;):&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;-p&lt;/strong&gt; pid_file
(Former option &lt;strong&gt;-f&lt;/strong&gt; changed due to the LSB specification.) Use an alternate pid file instead of the default (/var/run/ &lt;strong&gt;&lt;!-- raw HTML omitted --&gt;&lt;/strong&gt;.pid). The pid read from this file is being matched against the pid of running processes that have an executable with specified path of the program. In order to avoid confusion with stale pid files, a not up-to-date pid will be ignored.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Now, then apparently this isn&amp;rsquo;t enough. startproc is still refusing to start a second process.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;-i&lt;/strong&gt; ignore_file
The pid found in this file is used as session id of the same binary program which should be ignored by &lt;strong&gt;startproc&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>Linux-HA: Creating a random authkey</title><link>https://christian.blog.pakiheim.de/posts/2009-03-18_linux-ha-creating-a-random-authkey/</link><pubDate>Wed, 18 Mar 2009 13:00:47 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1926</guid><description>&lt;p&gt;I just looked over the slides of a presentation &lt;a href="https://blog.devnu11.net/"&gt;one of my trainees&lt;/a&gt; bought back from Chemnitz, and there was this nifty one-line command, with which you can generate a random sha1sum for your authkeys file.&lt;/p&gt;
&lt;p&gt;Now, since I&amp;rsquo;m a bit lazy here&amp;rsquo;s the full command line to fill &lt;strong&gt;&lt;em&gt;/etc/ha.d/authkeys&lt;/em&gt;&lt;/strong&gt; for you:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;node2 ~ [0] &amp;gt; echo &amp;#34;auth 1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;1 sha1 $( dd if=/dev/urandom count=4 2&amp;gt; /dev/null | openssl dgst -sha1 )&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>TSM client: Backing up files with umlauts on SLES</title><link>https://christian.blog.pakiheim.de/posts/2009-03-02_tsm-client-backing-up-files-with-umlauts-on-sles/</link><pubDate>Mon, 02 Mar 2009 13:21:10 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1907</guid><description>&lt;p&gt;In the past, I always had problems with SLES and our Tivoli Storage Manager client&amp;rsquo;s when backing up files with german umlauts. Well, today I looked a bit harder, and quite quickly found a solution.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sles9 root [0] &amp;gt; env | grep ^LC
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;LC_CTYPE=de_DE.UTF-8
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;As you can see from the above, SLES9/10 ain&amp;rsquo;t setting &lt;em&gt;LANG&lt;/em&gt; or &lt;em&gt;LC_ALL&lt;/em&gt; (which I searched for first), but is setting &lt;em&gt;LC_CTYPE&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;So, simply changing the &lt;em&gt;LC_CTYPE&lt;/em&gt; in the init-script and/or prepending the dsmc command line with a new &lt;em&gt;LC_CTYPE&lt;/em&gt; fixes my umlauts problems!&lt;/p&gt;</description></item><item><title>Nagios: check_snmp again</title><link>https://christian.blog.pakiheim.de/posts/2009-02-27_nagios-check-snmp-again/</link><pubDate>Fri, 27 Feb 2009 10:59:25 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1897</guid><description>&lt;p&gt;Well, today I had to grind my head again, regarding the way check_snmp handles WARNING and CRITICAL events. From my point of view, check_snmp is really just retarded sometimes.&lt;/p&gt;
&lt;p&gt;As you know, all the other plugins accept WARNING and CRITICAL-thresholds based on the calculation, if the return integer is above this threshold it reached WARNING/CRITICAL state. But check_snmp doesn&amp;rsquo;t play that way.&lt;/p&gt;
&lt;p&gt;It expects only ranges, which are &lt;strong&gt;NOT&lt;/strong&gt; gonna result in warning or critical events. Which is kinda stupid, since you gotta rethink twice about the thresholds &amp;#x1f61b;&lt;/p&gt;</description></item><item><title>Nagios: NSclient++ in a clustered Environment</title><link>https://christian.blog.pakiheim.de/posts/2009-02-26_nagios-nsclient-in-a-clustered-environment/</link><pubDate>Thu, 26 Feb 2009 10:50:36 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1880</guid><description>&lt;p&gt;Well, most of you already know that I&amp;rsquo;m a Nagios fanatic. I like to watch as many aspects as I possibly can. So, yesterday I started figuring out ways to watch our different cluster groups (housing a bunch &amp;ndash; try above 20.000 &amp;ndash; of file shares).&lt;/p&gt;
&lt;p&gt;Now, my first tries failed horribly. I brought down a complete cluster group, resulting in a major annoyance. Now, today I went at it a bit smarter &amp;#x1f61b; I cloned myself two VM&amp;rsquo;s off my &lt;em&gt;Windows Server 2003 Enterprise R2 template&lt;/em&gt;, created a new cluster.&lt;/p&gt;</description></item><item><title>MySQL: Beware of sync_binlog on EXT3</title><link>https://christian.blog.pakiheim.de/posts/2009-02-23_mysql-beware-of-sync-binlog-on-ext3/</link><pubDate>Mon, 23 Feb 2009 21:35:38 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1870</guid><description>&lt;p&gt;Well, I just glazed again over my my.cnf for our web-cluster because I just moved a database from one cluster to another and getting quite different performance from it. So, as I expected, there is a slight difference between both configuration files:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt;5&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;@@&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;55&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;8&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="mi"&gt;58&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;6&lt;/span&gt; &lt;span class="err"&gt;@@&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;innodb_log_group_home_dir&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="k"&gt;var&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;lib&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;mysql&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;db&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;innodb_log_file_size&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;512&lt;/span&gt;&lt;span class="n"&gt;M&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;innodb_thread_concurrency&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;8&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;sync_binlog&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;And apparently, &lt;a href="http://www.mysqlperformanceblog.com/2009/01/21/beware-ext3-and-sync-binlog-do-not-play-well-together/"&gt;according to the MySQL Performance Blog&lt;/a&gt; that&amp;rsquo;s really, really bad (as well, we&amp;rsquo;re currently running without write caching, as the battery module of the storage is dead).&lt;/p&gt;</description></item><item><title>Tivoli Storage Manager Client and Microsoft Cluster Services (continued)</title><link>https://christian.blog.pakiheim.de/posts/2009-02-16_tivoli-storage-manager-client-and-microsoft-cluster-services-continued/</link><pubDate>Mon, 16 Feb 2009 15:19:57 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1859</guid><description>&lt;p&gt;As you might recall &lt;a href="https://christian.blog.pakiheim.de/posts/2009-02-16_tivoli-storage-manager-client-and-microsoft-cluster-services-continued" title="Tivoli Storage Manager Client and Microsoft Cluster Services"&gt;from my first article about this topic&lt;/a&gt;, I had some troubles with the Microsoft Cluster Services and the registration replication. Now, today as we tried switching the TSM-Server for some resources, we ran into this again.&lt;/p&gt;
&lt;p&gt;We were using the service install tool (dsmcutil install scheduler) to set the new password as well as the GUI. Now, as we brought the resource online with the local service manager, everything was honky dory. But as soon as we brought it online using the Cluster Manager, it failed horribly. Why ?&lt;/p&gt;</description></item><item><title>MySQL: Replication and hostname wild cards</title><link>https://christian.blog.pakiheim.de/posts/2009-02-15_mysql-replication-and-hostname-wild-cards/</link><pubDate>Sun, 15 Feb 2009 19:06:13 +0000</pubDate><guid isPermaLink="false">https://christian.blog.pakiheim.de/posts/2009-02-15_mysql-replication-and-hostname-wild-cards/</guid><description>&lt;p&gt;Yeah, yeah .. I know, it&amp;rsquo;s weekend. But I usually can think much better when no one is rattling my cage. So I had another look at my replication problems.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Don&amp;rsquo;t you &lt;strong&gt;never &lt;em&gt;ever&lt;/em&gt;&lt;/strong&gt; change InnoDB settings when migrating between hardware,
because InnoDB is rather sensitive regarding those parameters.&lt;/li&gt;
&lt;li&gt;When you&amp;rsquo;re setting up the replication (don&amp;rsquo;t ask me why) and copying over the database to the second replication partner, be aware if you&amp;rsquo;re using wild cards you&amp;rsquo;re gonna get seriously bitten in the back.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Now, let&amp;rsquo;s look at the constellation.&lt;/p&gt;</description></item><item><title>Linux: Getting information about an EXT3 filesystem</title><link>https://christian.blog.pakiheim.de/posts/2009-02-13_linux-getting-information-about-an-ext3-filesystem/</link><pubDate>Fri, 13 Feb 2009 11:52:01 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1765</guid><description>&lt;p&gt;You know, I&amp;rsquo;m not getting any younger. It&amp;rsquo;s getting harder remembering every damn command &amp;hellip; so here is how you get information out of your EXT3 filesystem:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sles10sp2 ~ [0] &amp;gt; tune2fs -l /dev/sda2 | grep &amp;#34;^Filesystem&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Filesystem volume name: &amp;lt;none&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Filesystem UUID: 8eec8235-4d9e-4b58-acf9-3c68c977d5ea
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Filesystem magic number: 0xEF53
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Filesystem revision #: 1 (dynamic)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Filesystem features: has_journal resize_inode filetype
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; needs_recovery sparse_super large_file
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Filesystem state: clean
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Filesystem OS type: Linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Filesystem created: Tue May 27 10:48:56 2008
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Restarting the NSclient++ service without the management applet</title><link>https://christian.blog.pakiheim.de/posts/2009-02-11_restarting-the-nsclient-service-without-the-management-applet/</link><pubDate>Wed, 11 Feb 2009 14:21:36 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1760</guid><description>&lt;p&gt;For people, who are as click and point-lazy as me, here is how you restart the service without using the service management applet.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;net stop &amp;#34;NSClientpp (Nagios) 0.3.5.2 2008-09-24 w32&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;net start &amp;#34;NSClientpp (Nagios) 0.3.5.2 2008-09-24 w32&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>MySQL: Setting up an InnoDB raw device</title><link>https://christian.blog.pakiheim.de/posts/2009-02-11_mysql-setting-up-an-innodb-raw-device/</link><pubDate>Wed, 11 Feb 2009 13:34:45 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1751</guid><description>&lt;p&gt;Well, since I had to brood about this (again I might add), I&amp;rsquo;m gonna write it down this time &amp;hellip;&lt;/p&gt;
&lt;p&gt;Setting up the InnoDB raw device isn&amp;rsquo;t that hard, just make sure the device has proper permissions (either add &lt;em&gt;mysql&lt;/em&gt; to the &lt;em&gt;disk&lt;/em&gt; group or create a udev rule).&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;KERNEL=&amp;#34;sdb2&amp;#34;, OWNER=&amp;#34;mysql&amp;#34;, GROUP=&amp;#34;mysql&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Now after that (and a reboot/udevcontrol reload_rules later), you should be able to initialize the InnoDB device. Yes, the &lt;a href="http://dev.mysql.com/doc/refman/5.0/en/innodb-raw-devices.html"&gt;InnoDB device needs initializing&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Monitoring the IBM BladeCenter chassis with Nagios</title><link>https://christian.blog.pakiheim.de/posts/2009-02-10_monitoring-the-ibm-bladecenter-chassis-with-nagios/</link><pubDate>Tue, 10 Feb 2009 11:40:00 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1729</guid><description>&lt;p&gt;Today I ended up working out the details on what we want to monitor regarding our BladeCenter. The most interesting details (for us that is) are these:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Fan speeds for Chassis Cooling/Power Module Cooling Bay(s)&lt;/li&gt;
&lt;li&gt;Temperature&lt;/li&gt;
&lt;li&gt;Power Domain utilization&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It wasn&amp;rsquo;t * &lt;strong&gt;that&lt;/strong&gt;* hard to implement. Only trouble(s) I ran into, were ( &lt;strong&gt;1&lt;/strong&gt;) IBM did a real shitty job with the &lt;a href="http://www-947.ibm.com/systems/support/supportsite.wss/docdisplay?lndocid=MIGR-5078305&amp;amp;brandind=5000020"&gt;MIB&amp;rsquo;s&lt;/a&gt;. If you look closely into the mmblade.mib, you&amp;rsquo;re gonna notice, that not a single OID is specified for the events. ( &lt;strong&gt;2&lt;/strong&gt;) As the MIB&amp;rsquo;s weren&amp;rsquo;t documented anywhere, I had to look them up via &lt;em&gt;snmpwalk&lt;/em&gt; (which I had never used before). So as a reminder (to myself), here&amp;rsquo;s how it is done:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;snmpwalk -v1 -c public -O n 10.0.0.35 .1.3.6.1.4.1.2.3.51.2.2
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;This will get you a list, with a lot of output (5154 lines to be exact). Lucky me, the web interface of the management module/ssh interface is rather verbose, so all you need to do is compare those values with what you are looking for.&lt;/p&gt;
&lt;p&gt;So for myself (and anyone interested) read ahead for the list of checks we are currently running on the management module.&lt;/p&gt;</description></item><item><title>Installing SLES10 via network with no DHCP available</title><link>https://christian.blog.pakiheim.de/posts/2009-01-30_installing-sles10-via-network-with-no-dhcp-available/</link><pubDate>Fri, 30 Jan 2009 11:24:08 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1683</guid><description>&lt;p&gt;In our current fight against the BladeCenter switches, we&amp;rsquo;re currently facing the problem that the blades ain&amp;rsquo;t able to send/receive DHCP-traffic.&lt;/p&gt;
&lt;p&gt;So in order to move forward, we had to use static IP addresses. And since SLES10 ain&amp;rsquo;t straight forward on that, I had to &lt;a href="https://christian.blog.pakiheim.de/uploads/2009/01/linuxrc.html"&gt;look it up&lt;/a&gt;. Now, here&amp;rsquo;s for me (and everyone else tired of searching) how to do it:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt;5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt;6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt;7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt;8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt;9&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;install=http://ftp.barfoo.org/install/SLES10-x64/CD1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; netdevice=eth0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; hostip=10.0.1.240
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; netmask=255.255.255.0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; gateway=10.0.1.1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; nameserver=10.0.1.2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; domain=home.barfoo.org
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; insmod=bnx2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; splash=verbose
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Setting up the BladeCenter H</title><link>https://christian.blog.pakiheim.de/posts/2009-01-30_setting-up-the-bladecenter-h/</link><pubDate>Fri, 30 Jan 2009 10:50:40 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1677</guid><description>&lt;p&gt;Well, we finally had our maintenance window today, in which we planned the hardware exchange for our current Dell Blade Chassis (don&amp;rsquo;t ask!). The exchange went fine, but as we started exploring the components (like the IBM BladeCenter SAN switches &amp;ndash; which are in fact Cisco MDS 9100) we hit a few road blocks.&lt;/p&gt;
&lt;p&gt;First, the default user name/password combo for the Cisco MDS 9100 for the BladeCenter is USERID/PASSW0RD (just as the rest of the password combinations).&lt;/p&gt;</description></item><item><title>Updating path information for TSM</title><link>https://christian.blog.pakiheim.de/posts/2009-01-28_updating-path-information-for-tsm/</link><pubDate>Wed, 28 Jan 2009 15:11:31 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1670</guid><description>&lt;p&gt;As I did some switching today (between the new lin_tape version by IBM and our own lin_tape version), I ended up writing those lines a dozen times. Here is (just for me, if you don&amp;rsquo;t care .. skip ahead) on how to generate a list of commands:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt;5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt;6&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;for i in $( seq -w 1 32 ); do
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; token=&amp;#34;${i/0/}&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; path_prefix=&amp;#34;/dev/lt/IBMtape12245775&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; echo &amp;#34;DELETE PATH TSM1 VTL1_DR$i SRCTYPE=SERVER DESTTYPE=DRIVE LIBRARY=VTL1&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; echo &amp;#34;DEFINE PATH TSM1 VTL1_DR$i SRCTYPE=SERVER DESTTYPE=DRIVE LIBRARY=VTL1 DEVICE=$path_prefix$((token+11))A1&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;done
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;which should get you a list like this:&lt;/p&gt;</description></item><item><title>Sidenote: Amount of Slots per Virtual Tape Library</title><link>https://christian.blog.pakiheim.de/posts/2009-01-27_sidenote-amount-of-slots-per-virtual-tape-library/</link><pubDate>Tue, 27 Jan 2009 20:32:57 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1661</guid><description>&lt;p&gt;Well, I just stumbled about this again (and I don&amp;rsquo;t know right now whether or not this is documented inside a RedBook or not) today, so I thought maybe I&amp;rsquo;m gonna write it down.&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2009/01/ve-console-decreasing-slots.png"
alt="Slot-Amount Property of a Virtual Tape Library" width="312"/&gt; &lt;figcaption&gt;
&lt;p&gt;Slot-Amount Property of a Virtual Tape Library&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Please keep in mind, when creating the virtual library to think hard about the amount of slots you might need. It ain&amp;rsquo;t that bad, you just can&amp;rsquo;t decrease the amount anymore.  So if you think about creating 50 different virtual tape libraries with 500 slots each on your TS7530, think again. The current software level only supports 25.000 slots on a global level.&lt;/p&gt;</description></item><item><title>Working with IBM's Virtualization Engine Console</title><link>https://christian.blog.pakiheim.de/posts/2009-01-27_working-with-ibm-s-virtualization-engine-console/</link><pubDate>Tue, 27 Jan 2009 17:27:31 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1652</guid><description>&lt;p&gt;Recently, we got the recommendation from our system partner to use static allocated tape cartridges instead of dynamic allocated ones. Apparently using dynamic allocating cartridges comes with a performance penalty if more than a few nodes are backing up a large amount of data at once.&lt;/p&gt;
&lt;p&gt;And yet again, I noticed that the IBM Virtualization Engine Console (aka Falconstor Software) is really error prone.&lt;/p&gt;
&lt;p&gt;In order to change the allocation type, we had to shred the old cartridges first (500 x ~100M up till now), chance the allocation type at the virtual tape library level, and then recreate the 500 cartridges with a fixed size (500x 102400MB). Now, as I was kinda optimistic, I decided to create all 500 cartridges at once.&lt;/p&gt;</description></item><item><title>Opsview installation reviewed</title><link>https://christian.blog.pakiheim.de/posts/2009-01-24_opsview-installation-reviewed/</link><pubDate>Sat, 24 Jan 2009 11:33:50 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1599</guid><description>&lt;p&gt;Well, I recently (well, yesterday) built the &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-08_building-opsview-for-suse-linux-enterprise-10" title="Building opsview for SUSE Linux Enterprise 10"&gt;opsview RPM&amp;rsquo;s for SLES10&lt;/a&gt;, and started fiddeling about with it today. Alex &amp;quot; &lt;em&gt;recommended&lt;/em&gt;&amp;quot; I should rather look at Opsview instead of Centreon, but boy was there a surprise waiting for me &amp;hellip;&lt;/p&gt;
&lt;p&gt;Opsview has the advantage that it at least lets you use the package manager. But, it also needs &lt;em&gt;&lt;strong&gt;a lot&lt;/strong&gt;&lt;/em&gt; of handy work (just like Centreon, which I really dislike since it&amp;rsquo;s real error prone).&lt;/p&gt;</description></item><item><title>Automatic updates on SUSE Linux Enterprise 10</title><link>https://christian.blog.pakiheim.de/posts/2009-01-23_automatic-updates-on-suse-linux-enterprise-10/</link><pubDate>Fri, 23 Jan 2009 11:30:01 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1611</guid><description>&lt;p&gt;I had the problem, that the automatic update function of YaST doesn&amp;rsquo;t work like I want it to. I just wanted it to install only those updates, that ain&amp;rsquo;t interactive, don&amp;rsquo;t need a service restart and don&amp;rsquo;t need a reboot.&lt;/p&gt;
&lt;p&gt;YaST does only feature an online update that skips &amp;ldquo;interactive&amp;rdquo; updates (I&amp;rsquo;ve never even encountered an interactive update up till now). So I went ahead and wrote a (hackish) script, that achieves what I need.&lt;/p&gt;</description></item><item><title>Trusted vendors in SUSE Linux Enteprise 10</title><link>https://christian.blog.pakiheim.de/posts/2009-01-19_trusted-vendors-in-suse-linux-enteprise-10/</link><pubDate>Mon, 19 Jan 2009 20:31:19 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1576</guid><description>&lt;p&gt;The other day I had a closer look at the zypper logs (well, I was digging for a time-history of installed packages). First &amp;hellip; damn does zypper produce a &lt;em&gt;&lt;strong&gt;lot&lt;/strong&gt;&lt;/em&gt; of logs on a &amp;quot; &lt;em&gt;productive&lt;/em&gt;&amp;quot; (or rather on a &lt;em&gt;maintained&lt;/em&gt; - as in up-to-date) system.&lt;/p&gt;
&lt;p&gt;But glazing over the logs, I found out something new about zypper. It actually has an internal list, which only purpose is to identify a trusted vendor &amp;hellip;&lt;/p&gt;</description></item><item><title>Cleaning up /tmp</title><link>https://christian.blog.pakiheim.de/posts/2009-01-18_cleaning-up-tmp/</link><pubDate>Sun, 18 Jan 2009 13:26:59 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1553</guid><description>&lt;p&gt;Well, I just looked into &lt;em&gt;/tmp&lt;/em&gt; on one of our boxes and noticed that SSHd left behind some (try &lt;strong&gt;400&lt;/strong&gt;) directories .. Now, I could use a simple &lt;em&gt;rm -rf /tmp/ssh-*&lt;/em&gt;, but I didn&amp;rsquo;t want to kill my current agent forward file.&lt;/p&gt;
&lt;p&gt;After looking at the man-page of find, I stumbled about &lt;em&gt;&lt;strong&gt;-mtime&lt;/strong&gt;&lt;/em&gt;. And that seems to work out quite well.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;find /tmp -name &amp;#34;ssh-*&amp;#34; -mtime +5 | xargs rm -rf
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Automating zypper updates</title><link>https://christian.blog.pakiheim.de/posts/2009-01-17_automating-zypper-updates/</link><pubDate>Sat, 17 Jan 2009 18:16:27 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1540</guid><description>&lt;p&gt;Well, I just looked into using ` &lt;em&gt;zypper up&lt;/em&gt; ` to update some of our boxen (I do have a script, which holds the boxen it needs to process in a variable and simply goes through them one by one) &amp;ndash; yes, I could activate auto-update, I just don&amp;rsquo;t want that at this point &amp;#x1f609;&lt;/p&gt;
&lt;p&gt;So at first I tried just using &lt;em&gt;zypper&lt;/em&gt; to automatically update that given list, but even if you pass &lt;strong&gt;&lt;em&gt;&amp;ndash;no-confirm&lt;/em&gt;&lt;/strong&gt;, &lt;em&gt;zypper&lt;/em&gt; would still ask for your confirmation (which seems kinda stupid). After a short while thinking about it, a lesson from &lt;a href="mailto:solar@gentoo.org"&gt;solar@gentoo.org&lt;/a&gt; came to mind. When working in a chroot, he simply used this:&lt;/p&gt;</description></item><item><title>VI Client: Changing the language from the system default</title><link>https://christian.blog.pakiheim.de/posts/2009-01-14_vi-client-changing-the-language-from-the-system-default/</link><pubDate>Wed, 14 Jan 2009 08:12:45 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1531</guid><description>&lt;p&gt;Well, as I am in fact running a german Windows XP, the VI Client started displaying all menus and operations in German when I updated to 2.5u2. Normally, I wouldn&amp;rsquo;t have much of a problem with that, but recently it started to annoy me, since the translation is a bit off from the real meaning of much of the operations.&lt;/p&gt;
&lt;p&gt;So today, in the morning I started looking for ways to revert the VI Client back to displaying everything in English. And guess what. There&amp;rsquo;s no way to switch the language from the VI Client itself. There&amp;rsquo;s just a &lt;a href="http://communities.vmware.com/thread/159090"&gt;workaround&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Distribution running on IBM TS7530 Virtualization Engine</title><link>https://christian.blog.pakiheim.de/posts/2009-01-09_distribution-running-on-ibm-ts7530-virtualization-engine/</link><pubDate>Fri, 09 Jan 2009 14:18:35 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1507</guid><description>&lt;p&gt;Well, I was just a bit curious earlier what distribution might be running on our IBM TS7530 Virtualization engines .. well, I just had a look-see ..&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-25"&gt;&lt;a class="lnlinks" href="#hl-0-25"&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-26"&gt;&lt;a class="lnlinks" href="#hl-0-26"&gt;26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-27"&gt;&lt;a class="lnlinks" href="#hl-0-27"&gt;27&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;vetapeservice@VTL-B:~&amp;gt; cat /etc/SuSE-release
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;SUSE Linux Enterprise Server 10 (x86_64)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;VERSION = 10
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;PATCHLEVEL=1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;vetapeservice@VTL-B:~&amp;gt; uname -a
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Linux VTL 2.6.16.46-229-smp #1 Sun Apr 13 05:21:49 UTC 2008 x86_64 GNU/Linux
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;vetapeservice@VTL-B:~&amp;gt; free -m
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; total used free shared buffers cached
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Mem: 4022 1378 2643 0 342 552
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;-/+ buffers/cache: 484 3537
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Swap: 3815 0 3815
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;vetapeservice@VTL-B:~&amp;gt; cat /proc/cpuinfo
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;processor : 1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;vendor_id : AuthenticAMD
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cpu family : 15
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;model : 65
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;model name : Dual-Core AMD Opteron(tm) Processor 8218
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;stepping : 3
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cpu MHz : 2600.186
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cache size : 1024 KB
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;physical id : 0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;siblings : 2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;core id : 1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cpu cores : 2
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Main difference to a &amp;quot; &lt;em&gt;normal&lt;/em&gt;&amp;quot; SUSE Linux Enterprise Server 10 installation (there&amp;rsquo;s about zip normal with that kind of installation, thus the quotes) thus far are:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;the build for the VE uses busybox as init&lt;/li&gt;
&lt;li&gt;IBM stripped man/info&lt;/li&gt;
&lt;li&gt;they are running Xorg/Fluxbox on it&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Just don&amp;rsquo;t ask me why there&amp;rsquo;s a DE ( &lt;strong&gt;d&lt;/strong&gt; esktop &lt;strong&gt;e&lt;/strong&gt; nvironment) running, it ain&amp;rsquo;t even hooked up to a monitor. Only reason would be for the RSA&amp;rsquo; remote monitor stuff &amp;hellip; &lt;em&gt;&lt;strong&gt;lala&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;</description></item><item><title>VBscript undamp; Active Directory and printers (continued)</title><link>https://christian.blog.pakiheim.de/posts/2008-12-05_vbscript-amp-active-directory-and-printers-continued/</link><pubDate>Fri, 05 Dec 2008 21:54:09 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/index.php/2007/10/25/vbscript-active-directory-and-printers-continued/</guid><description>&lt;p&gt;As I &lt;a href="https://christian.blog.pakiheim.de/posts/2008-12-05_vbscript-amp-active-directory-and-printers-continued" title="VBscript &amp;amp; Active Directory and printers ?"&gt;posted earlier&lt;/a&gt;, I tried working around some limitations in Microsoft&amp;rsquo;s Active Directory by teaching the script some intelligence.&lt;/p&gt;
&lt;p&gt;But, since we recently started using Thin Clients, all the stuff I did with the fancy vbs was just a waste-of-time. Turns out, Windows XP Embedded doesn&amp;rsquo;t work quite the same as a &amp;quot; &lt;em&gt;normal&lt;/em&gt;&amp;quot; Windows XP (that&amp;rsquo;s where I tested the script on), and it simply dies when running the WMI Query. Bollocks.&lt;/p&gt;</description></item><item><title>IBM TS7530 and DNS</title><link>https://christian.blog.pakiheim.de/posts/2008-11-22_ibm-ts7530-and-dns/</link><pubDate>Sat, 22 Nov 2008 17:31:50 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1263</guid><description>&lt;p&gt;Well, we had our TS7530 delivered in late September, the day after the IBM service guys came by to prep the VTL for our needs (IBM sells the thing as black box). Now, since that day; they fought with the Call Home functionality. The trouble was simply, that the Call Home Service running on the Virtualization Engines just didn&amp;rsquo;t start.&lt;/p&gt;
&lt;p&gt;After about 6 weeks of trial and error (and the IBM service guys popping in every second week), they finally found the cause of the Call Home Service not being able to start. Domain Name Resolution. Neither the IP addresses of the VE&amp;rsquo;s nor the VE console were registered in our DNS/or local host files.&lt;/p&gt;</description></item><item><title>Nagios and check_ram yet again</title><link>https://christian.blog.pakiheim.de/posts/2008-11-14_nagios-and-check-ram-yet-again/</link><pubDate>Fri, 14 Nov 2008 18:08:30 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1247</guid><description>&lt;p&gt;As some people know, I previously &amp;quot; &lt;em&gt;created&lt;/em&gt;&amp;quot; (mostly modified the check_swap plug-in to print RAM usage) check_ram in C. Now one of my problems for the past few months was putting the C plug-in as well as &amp;quot; &lt;em&gt;supported&lt;/em&gt;&amp;quot; environment under the same hat. Today I had another look at the amount of available plug-ins in &lt;a href="http://www.monitoringexchange.org/search?query=check_ram"&gt;NagiosExchange&lt;/a&gt;. There are quite a few plug-ins available, but as I do have some experience with Python, I used the one &lt;a href="http://www.monitoringexchange.org/inventory/Check-Plugins/Operating-Systems/Linux/Check_Ram-on-Linux-32-bit-and-64-bit-systems"&gt;written in Python&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It was rather easy hacking in support for performance data into it, as the below shows. Someone else already posted a non-unified diff for performance data support, but that ain&amp;rsquo;t quite right according to the &lt;a href="http://nagiosplug.sourceforge.net/developer-guidelines.html#AEN203"&gt;Nagios plug-in development guidelines&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>IBM TS7530 engine failover and HBA mode</title><link>https://christian.blog.pakiheim.de/posts/2008-10-28_ibm-ts7530-engine-failover-and-hba-mode/</link><pubDate>Tue, 28 Oct 2008 15:21:06 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1265</guid><description>&lt;p&gt;Well, when they delivered the VTL about four weeks ago, nobody figured this thing would be such a mess. Apparently IBM hasn&amp;rsquo;t set up that much VTL&amp;rsquo;s with engine failover.&lt;/p&gt;
&lt;p&gt;Point being, the VE&amp;rsquo;s have eight HBA ports (four inside, four outside the black box). Now, as they configured the VTL, the ports were all in initiator mode. And we needed the fourth port in target mode as well, as it&amp;rsquo;s better to have 4 independent paths to the VTL. The only problem was, the VE console didn&amp;rsquo;t think so.&lt;/p&gt;</description></item><item><title>IBM TS7530 zoning</title><link>https://christian.blog.pakiheim.de/posts/2008-10-27_ibm-ts7530-zoning/</link><pubDate>Mon, 27 Oct 2008 15:41:59 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1267</guid><description>&lt;p&gt;At first, as we prepped the zoning for the VTL, we did it WWN-based. Now the trouble with the HBA&amp;rsquo;s of the VTL is simply that it has different WWPN&amp;rsquo;s on the same WWN. And WWN-based zoning simply doesn&amp;rsquo;t allow access to that.&lt;/p&gt;
&lt;p&gt;So off we went and switched to Switchport-based zoning, and see. It just works &amp;#x1f937;&lt;/p&gt;</description></item><item><title>Defragmenting all fragmented MyISAM tables</title><link>https://christian.blog.pakiheim.de/posts/2008-10-16_defragmenting-all-fragmented-myisam-tables/</link><pubDate>Thu, 16 Oct 2008 20:18:22 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=973</guid><description>&lt;p&gt;I just had another look at what I wrote the week before last (you know, being home-sick/on vacation has it&amp;rsquo;s advantages) and additionally read up on &amp;quot; &lt;em&gt;&lt;a href="http://dev.mysql.com/doc/refman/5.0/en/optimize-table.html"&gt;OPTIMIZE TABLE&lt;/a&gt;&lt;/em&gt;&amp;quot; again. The comments in the manual mention &amp;quot; &lt;em&gt;&lt;a href="http://dev.mysql.com/doc/refman/5.0/en/show-table-status.html"&gt;SHOW TABLE STATUS&lt;/a&gt;&lt;/em&gt;&amp;quot;, which gives you a complete list, but it doesn&amp;rsquo;t allow you to filter certain kinds of things out (like I only wanted to see MyISAM tables in the list, I only wanted database and table).&lt;/p&gt;</description></item><item><title>Adapter bonding on Linux</title><link>https://christian.blog.pakiheim.de/posts/2008-10-16_adapter-bonding-on-linux/</link><pubDate>Thu, 16 Oct 2008 16:47:23 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1185</guid><description>&lt;p&gt;Well, today I had a rather weird error. I was testing the adapter bonding on one of the boxen designated as Tivoli Storage Manager Server, when I noticed that the bonding wasn&amp;rsquo;t working as expected when simulating an error (that is unplugging one of the TP cables for the bond).&lt;/p&gt;
&lt;p&gt;Now, the bond had &amp;ldquo;mode=6 miimon=100&amp;rdquo; as options. After running &amp;ldquo;linux bond debug&amp;rdquo; through Google (which turned up nothing useful, besides one document on the Oracle Wiki about IOS/Linux adapter teaming), I figured &amp;ldquo;Hey, just lets test switching the arguments.&amp;rdquo; And guess what ?&lt;/p&gt;</description></item><item><title>Windows Server 2003 Terminal services</title><link>https://christian.blog.pakiheim.de/posts/2008-10-15_windows-server-2003-terminal-services/</link><pubDate>Wed, 15 Oct 2008 12:11:18 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1176</guid><description>&lt;p&gt;Well, once you thought you don&amp;rsquo;t have any more problems, another one just pops up. I&amp;rsquo;m currently bashing my head against the wall, why the hell the forwarded (or is it redirected ?) drives are not shown in the in the &amp;ldquo;My Computer&amp;rdquo; explorer view. I pretty sure have an idea why (basically, &lt;code&gt;HKEY_CURRENT_USERS\Software\Classes&lt;/code&gt; isn&amp;rsquo;t writeable, but that&amp;rsquo;s where Windows, or rather the Terminal Services &amp;ndash; or whatever is creating the associations), just don&amp;rsquo;t know a clever way around/by it.&lt;/p&gt;</description></item><item><title>Setting up Linux-HA</title><link>https://christian.blog.pakiheim.de/posts/2008-10-01_setting-up-linux-ha/</link><pubDate>Wed, 01 Oct 2008 08:17:09 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=1004</guid><description>&lt;p&gt;Well, initially I thought writing the &lt;a href="http://christian.weblog.heimdaheim.de/2008/09/26/linux-ha-and-tivoli-storage-manager/" title="Linux-HA and Tivoli Storage Manager"&gt;OCF resource agent for Tivoli Storage Manager&lt;/a&gt; was the hard part. But as it turns out, it really ain&amp;rsquo;t. The hard part, is getting the resources into the heartbeat agent (or whatever you wanna call it). The worst part about it, is that the hb_gui is completely worthless if you want to do a configuration without quorum.&lt;/p&gt;
&lt;p&gt;First of all, we need to setup the main Linux-HA configuration file ( &lt;em&gt;/etc/ha.d/ha.cf&lt;/em&gt;). Configuring that, is rather simple. For me, as I do have two network devices, over which both nodes see each other (one is an adapter bond of comprising of two simple, plain, old 1G copper ports; the other is the 1G fibre cluster port), the configuration looks like this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;udpport 694
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;autojoin none
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;crm true
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;use_logd on
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;debug false
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;coredumps false
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;auto_failback on
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ucast bond0 10.0.0.10
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ucast bond0 10.0.0.20
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ucast eth2 10.0.0.29
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ucast eth2 10.0.0.30
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;node tsm1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;node tsm2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;respawn root /usr/lib64/heartbeat/pingd -m 100 -d 5s
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ping 10.0.0.1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;respawn root /sbin/evmsd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;apiauth evms uid=hacluster,root
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;After configuring the service itself is done, one just needs to start the heartbeat daemon on both nodes. Afterwards, we should be able to configure the cluster resources.&lt;/p&gt;
&lt;p&gt;I find it particularly easier to just update the corresponding sections with &lt;em&gt;cibadmin&lt;/em&gt; (the man-page really has some good examples). So here are my configuration files for two resource groups ( &lt;em&gt;crm_mon&lt;/em&gt; doesn&amp;rsquo;t difference between resources and grouped resources, it&amp;rsquo;ll just show you that you configured two resources).&lt;/p&gt;</description></item><item><title>Subversion via HTTP(s) and mod_rewrite</title><link>https://christian.blog.pakiheim.de/posts/2008-09-28_subversion-via-http-s-and-mod-rewrite/</link><pubDate>Sun, 28 Sep 2008 19:17:01 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=991</guid><description>&lt;p&gt;Well, I just finished my wild-goose chase with Apache and subversion regarding a rather weird error. I recently reinstalled our subversion box, and ever since then I was unable to commit anything new to any of the repositories.
Subversion told me this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;svn-client admin-scripts [1] &amp;gt; svn ci -m &amp;#34;Directories for Tivoli Storage Manager Scripts.&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;svn: Commit failed (details follow):
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;svn: MKACTIVITY of &amp;#39;/svn/admin-scripts/!svn/act/someid&amp;#39;: 302 Found
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Apache didn&amp;rsquo;t say much about it either, besides this particular line:&lt;/p&gt;</description></item><item><title>What's up, dude</title><link>https://christian.blog.pakiheim.de/posts/2008-09-16_what-s-up-dude/</link><pubDate>Tue, 16 Sep 2008 08:49:49 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=942</guid><description>&lt;p&gt;Some people might ask, &amp;quot; &lt;strong&gt;Gosh, what&amp;rsquo;s up with you ?&lt;/strong&gt;&amp;quot; .. Well I&amp;rsquo;ve been incredibly busy with work the last month (sheeesh, another month already passed by). We finally finished the public tender; gonna get some of the components next week (that is the library extension, the LTO4 drives and cartridges, two brand new Cisco MDS9134 and some Fibre channel hard disks for the existing DS4700). After work, I made my usual visits in the gym and well, after I was home some relaxing, kicking up my feet and doing nothing (as in zip).&lt;/p&gt;</description></item><item><title>zypper-update-report (was: patch2mail for SLES10)</title><link>https://christian.blog.pakiheim.de/posts/2008-09-09_zypper-update-report-was-patch2mail-for-sles10/</link><pubDate>Tue, 09 Sep 2008 23:11:01 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=907</guid><description>&lt;p&gt;Well, &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-08_patch2mail-for-sles10" title="patch2mail for SLES10"&gt;after some more refining&lt;/a&gt; I think I finally have a script I ain&amp;rsquo;t never gonna touch again (unless something breaks, which can happen quick as we all know).&lt;/p&gt;
&lt;p&gt;The script now uses a sysconfig file for the common settings (like sender, receipents, categories to scan for), so it may be deployed en mass.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;/etc/sysconfig/zypper-update-report&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;## Type: string
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;## Default: root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;## Config: &amp;#34;&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;#
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# Sender address for the update report
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;FROM=&amp;#34;Yourupdatemonkey &amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;## Type: string
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;## Default: root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;## Config: &amp;#34;&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;#
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# Receiver address for the update report
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;#RECEIPENTS=&amp;#34;tehsysadmin@barfoo.org&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;## Type: string
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;## Default: &amp;#34;securty recommended optional&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;## Config: &amp;#34;&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;#
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# List of groups, to include in the report
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;CLASSES=&amp;#34;security recommended optional&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;/usr/local/sbin/zypper-update-report&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Custom macros in host definitions</title><link>https://christian.blog.pakiheim.de/posts/2008-08-16_custom-macros-in-host-definitions/</link><pubDate>Sat, 16 Aug 2008 19:10:37 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=920</guid><description>&lt;p&gt;Well, I was &lt;a href="https://christian.blog.pakiheim.de/posts/2008-07-19_nagios-hostgroup-inheritance-continued" title="Nagios Hostgroup Inheritance"&gt;playing with the hostgroup inheritance&lt;/a&gt; earlier. One problem with that is, if you define a duplicate service Nagios is really unpredictable or rather inconsistent. Now, as Thomas Guyot-Sionnest told me, I should try &lt;a href="http://nagios.sourceforge.net/docs/3_0/macros.html"&gt;custom macros&lt;/a&gt; for the check definition. So what I did was the following:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;templates/host-windows.cfg&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt;5&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;define host {
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; name         generic-windows
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; register 0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; _RDPPORT 3389
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;hostgroups/windows.cfg&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Debugging rug</title><link>https://christian.blog.pakiheim.de/posts/2008-08-15_debugging-rug/</link><pubDate>Fri, 15 Aug 2008 19:19:06 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=902</guid><description>&lt;p&gt;Well, it&amp;rsquo;s 7pm. I&amp;rsquo;m sitting at home and thinking about why in gods name rug isn&amp;rsquo;t adding my update repository. I can add the service using yast inst_source, but when yast then syncs with ZenWorks, it tells me something like:&lt;/p&gt;
&lt;p&gt;Failed to get repomd/repodata.xml; Reason: 530 - Access denied&lt;/p&gt;
&lt;p&gt;So my fellow co-worker turned on the debug-logging and we quickly found out why: rug isn&amp;rsquo;t using the command line credentials I was passing.&lt;/p&gt;</description></item><item><title>Suspected NRPE weirdness</title><link>https://christian.blog.pakiheim.de/posts/2008-08-10_suspected-nrpe-weirdness/</link><pubDate>Sun, 10 Aug 2008 07:55:28 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=874</guid><description>&lt;p&gt;Well, I just noticed a really weird thing, when you have command line arguments enabled.&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s a snippet from my &lt;em&gt;nrpe.cfg&lt;/em&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;dont_blame_nrpe=1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;command[check_disk]=/usr/lib/nagios/plugins/check_disk -E -w $ARG1$ -c $ARG2$ -p $ARG3$
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Now, if you&amp;rsquo;d check the free space for the root, it ain&amp;rsquo;t gonna show any inode percentage (that one isn&amp;rsquo;t what I&amp;rsquo;m talking about). But if you have to use bind mounts like I do (Tivoli needs a separate &amp;quot; &lt;em&gt;domain&lt;/em&gt;&amp;quot; -- that is a separate mount point for each domain), you might wanna check the free space on the &lt;em&gt;&lt;strong&gt;real&lt;/strong&gt;&lt;/em&gt; device, rather than the free space on the bind mount (which is gonna show you the free space of the parent file system - in my case the root fs).&lt;/p&gt;</description></item><item><title>Nagios 3 and hostgroup inheritance</title><link>https://christian.blog.pakiheim.de/posts/2008-08-08_nagios-3-and-hostgroup-inheritance/</link><pubDate>Fri, 08 Aug 2008 12:24:01 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=850</guid><description>&lt;p&gt;As I wrote some &lt;a href="https://christian.blog.pakiheim.de/posts/2008-07-19_nagios-hostgroup-inheritance-continued" title="Nagios Hostgroup Inheritance"&gt;time&lt;/a&gt; &lt;a href="https://christian.blog.pakiheim.de/posts/2008-07-19_nagios-hostgroup-inheritance-continued" title="Nagios Hostgroup Inheritance (continued)"&gt;ago&lt;/a&gt;, I was trying to utilize Nagios 3.x&amp;rsquo;s neat feature of &amp;quot; &lt;em&gt;nested&lt;/em&gt;&amp;quot; hostgroups. Well, as it turned out I thought it worked differently; basically like this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;define hostgroup {
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; hostgroup_name a-parent-hostgroup
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; alias Our toplevel parent hostgroup
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;define service {
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; use generic-service
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; check_command check_dummy!0!
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; service_description SSH
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; hostgroup_name a-parent-hostgroup
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;define hostgroup {
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; hostgroup_name a-child-hostgroup
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; hostgroup_members a-parent-hostgroup
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; alias Our child hostgroup
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;define service {
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; use generic-service
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; check_command check_dummy!0!
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; service_description LOAD
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; hostgroup_name a-child-hostgroup
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;As you can cleary see on line 14, I thought you define the relation between two hostgroups in the child hostgroup. The problem with it was basically (as I said in the earlier posts), that all the services defined for the child hostgroups are handed on upwards to the parent hostgroup(s).&lt;/p&gt;</description></item><item><title>Nagios 3-x and check_pcmeasure-pl</title><link>https://christian.blog.pakiheim.de/posts/2008-08-07_nagios-3-x-and-check-pcmeasure-pl/</link><pubDate>Thu, 07 Aug 2008 18:23:18 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=845</guid><description>&lt;p&gt;Recently we purchased a MessPC station for our server room, and my co-worker and myself had the wish it to be integrated within Nagios. Well, so far so good. The first I did was put both keywords into Google.&lt;/p&gt;
&lt;p&gt;That pretty fast brought up the &lt;a href="http://www.messpc.de/nagios.php"&gt;manufacturer&amp;rsquo;s page&lt;/a&gt; (sorry it&amp;rsquo;s German only) about the device supporting Nagios by means of either SNMP or a specific plugin called &lt;a href="http://linux.swobspace.net/projects/nagios-en/pcmeasure.html"&gt;pcmeasure&lt;/a&gt;. So I went ahead and tried both ways.&lt;/p&gt;</description></item><item><title>More VirtualCenter troubles (fini)</title><link>https://christian.blog.pakiheim.de/posts/2008-08-07_more-virtualcenter-troubles-fini/</link><pubDate>Thu, 07 Aug 2008 18:03:46 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=838</guid><description>&lt;p&gt;Well, today the &lt;a href="https://christian.blog.pakiheim.de/posts/2008-08-07_more-virtualcenter-troubles-fini" title="More VirtualCenter troubles"&gt;support request&lt;/a&gt; came back. Seems &lt;a href="http://communities.vmware.com/thread/54721"&gt;one&lt;/a&gt; of the originally linked VMTN dicussions really is the only way:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Export the customization specification&lt;/li&gt;
&lt;li&gt;Edit the XML file&lt;/li&gt;
&lt;li&gt;Import it again&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The related part inside the customization specification should then look like this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;type&amp;gt;vim.vm.customization.Password&amp;lt;/type&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;plainText&amp;gt;true&amp;lt;/plainText&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;value&amp;gt;Password01&amp;lt;/value&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;/password&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;So if you ever think about switching the default VirtualCenter certificate (for whatever reason), make sure you use the above workaround. Otherwise VirtualCenter is gonna fail miserably during the customization phase of the cloning process.&lt;/p&gt;</description></item><item><title>SUSE Linux Enterprise Server 10 on VMware ESX (finished)</title><link>https://christian.blog.pakiheim.de/posts/2008-07-30_suse-linux-enterprise-server-10-on-vmware-esx-finished/</link><pubDate>Wed, 30 Jul 2008 18:08:59 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=747</guid><description>&lt;p&gt;As I pointed out in my &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-16_suse-linux-enterprise-server-10-on-vmware-esx-continued" title="SUSE Linux Enterprise Server 10 on VMware ESX (continued)"&gt;past&lt;/a&gt; &lt;a href="https://christian.blog.pakiheim.de/posts/2008-07-30_suse-linux-enterprise-server-10-on-vmware-esx-finished" title="SUSE Linux Enterprise Server 10 on VMware ESX"&gt;posts&lt;/a&gt;, I was having some weird errors with SLES10 regarding mounting CD images inside the guest (as well, as it turned out, on the physical hardware).&lt;/p&gt;
&lt;p&gt;Now, finally, after about a week or so Novell finally released an updated kernel package today. So the error per se is fixed, I can use my CD drives again, as well as update my virtual machines by means of virtual center, without the trickery of copying the &lt;em&gt;linux.iso&lt;/em&gt; from &lt;em&gt;/vmimages/tools&lt;/em&gt; to the guest and mount it by means of &lt;em&gt;mount -o loop&lt;/em&gt;.&lt;/p&gt;</description></item><item><title>Yet another VMware error</title><link>https://christian.blog.pakiheim.de/posts/2008-07-30_yet-another-vmware-error/</link><pubDate>Wed, 30 Jul 2008 18:00:49 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=740</guid><description>&lt;p&gt;Today I was moving a pretty standard SLES10 virtual machine to another host, when the migration dialog showed me this:&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2008/07/faultmemorysizenotrecommended.png"
alt="fault.MemorySizeNotRecommended" width="500"/&gt; &lt;figcaption&gt;
&lt;p&gt;fault.MemorySizeNotRecommended&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;And if you now think, the virtual machine is something special take a look at those settings:&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2008/07/vm-configuration.png"
alt="Virtual machine configuration" width="500"/&gt; &lt;figcaption&gt;
&lt;p&gt;Virtual machine configuration&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;I don&amp;rsquo;t know what to think about that error message. Googling for it doesn&amp;rsquo;t reveal that much about it. If anyone out there got an idea, I&amp;rsquo;m open for suggestions.&lt;/p&gt;</description></item><item><title>Fixing vmkernel symlinks</title><link>https://christian.blog.pakiheim.de/posts/2008-07-30_fixing-vmkernel-symlinks/</link><pubDate>Wed, 30 Jul 2008 07:19:32 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=725</guid><description>&lt;p&gt;Since I do happen to be in the situation pretty often where the kernel inside a VM is newer than what VMware currently has in their tools (as in the SUSE kernel is newer than the binary modules built by VMware), here&amp;rsquo;s a quick reminder for myself on how to to fix the .ko symlinks.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt;5&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;for file in /lib/modules/$( uname -r )/misc/*.ko ;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;do
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; rm $file &amp;amp;&amp;amp;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ln -s /lib/modules/$( uname -r )/misc/${file/.ko/.o} $file
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;done
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Microsoft Cluster Services powered by IBM</title><link>https://christian.blog.pakiheim.de/posts/2008-07-26_microsoft-cluster-services-powered-by-ibm/</link><pubDate>Sat, 26 Jul 2008 18:47:46 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=691</guid><description>&lt;p&gt;If you think back, I talked about &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-16_windows-cluster-service-continued" title="Windows Cluster Service (continued)"&gt;my problems&lt;/a&gt; with &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-16_ibm-rdac-and-windows-cluster-service" title="IBM RDAC and Windows Cluster Service"&gt;MSCS while utilizing the IBM RDAC Multipath&lt;/a&gt; driver for Windows.&lt;/p&gt;
&lt;p&gt;Everyone I talked to about this, including our IBM business partner and it&amp;rsquo;s systems engineers; as well as some IBM systems engineer (who in fact was an freelance guy hired by IBM), told me it had to do with how we did the zoning (stuffing every controller into a single zone), and that would be the reason why the x3650 was seeing that many drives.&lt;/p&gt;</description></item><item><title>Connecting to a remote console with MSTSC 6-0-6001</title><link>https://christian.blog.pakiheim.de/posts/2008-07-23_connecting-to-a-remote-console-with-mstsc-6-0-6001/</link><pubDate>Wed, 23 Jul 2008 13:02:00 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=572</guid><description>&lt;p&gt;Well, as one can read in about every damn post you can find for that topic, the &lt;em&gt;/console&lt;/em&gt; switch is now silently ignored, as well as the rdp file option &amp;quot; &lt;em&gt;connect to console:i:1&lt;/em&gt;&amp;quot;.&lt;/p&gt;
&lt;p&gt;Now, what you don&amp;rsquo;t find anywhere (only in some &lt;a href="http://theregime.wordpress.com/2007/12/27/changes-to-rdp-for-61/"&gt;scenario explanation&lt;/a&gt;), that it &lt;strong&gt;is&lt;/strong&gt; allowed to specify the mode (ie &lt;em&gt;/console&lt;/em&gt; previously and now &lt;em&gt;/admin&lt;/em&gt;) within the full address parameter.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Scenario:&lt;/strong&gt; In the RDC client UI, you specify &lt;strong&gt;&lt;em&gt;Computer_name&lt;/em&gt; /console&lt;/strong&gt; in the &lt;strong&gt;Computer&lt;/strong&gt; box (where &lt;em&gt;Computer_name&lt;/em&gt; represents the name of the remote computer to which you want to connect), and then click &lt;strong&gt;Connect&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Nagios Hostgroup Inheritance (continued)</title><link>https://christian.blog.pakiheim.de/posts/2008-07-19_nagios-hostgroup-inheritance-continued/</link><pubDate>Sat, 19 Jul 2008 09:41:21 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=561</guid><description>&lt;p&gt;Well, it turns out that &lt;a href="https://christian.blog.pakiheim.de/posts/2008-07-19_nagios-hostgroup-inheritance-continued" title="Nagios Hostgroup Inheritance"&gt;my thought&lt;/a&gt; was ultimativly flawed. When defining the &lt;em&gt;&lt;a href="http://nagios.sourceforge.net/docs/3_0/objectdefinitions.html#hostgroup"&gt;hostgroup_members&lt;/a&gt;&lt;/em&gt; in the lower tiers, nagios is association the checks from the lower tier with the upper tiers. Thus propagandating all checks upwards, and me ending up with ~250 checks instead of ~150.&lt;/p&gt;
&lt;p&gt;Gonna have to try to define the dependency backwards, maybe that&amp;rsquo;ll help. But that&amp;rsquo;s a topic for Monday. Guess I&amp;rsquo;ll finish viewing Ghost in the Shell - Stand Alone Complex first.&lt;/p&gt;</description></item><item><title>Extending VMotion compatiblity (continued)</title><link>https://christian.blog.pakiheim.de/posts/2008-07-14_extending-vmotion-compatiblity-continued/</link><pubDate>Mon, 14 Jul 2008 17:41:40 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=500</guid><description>&lt;p&gt;Remember my &lt;a href="https://christian.blog.pakiheim.de/posts/2008-07-14_extending-vmotion-compatiblity-continued" title="Extending vMotion compatiblity"&gt;last post about cpu masking&lt;/a&gt; ? Well, turns out that you can do it to a &amp;ldquo;template&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;The only point you don&amp;rsquo;t need to do, is to mark the &lt;strong&gt;VM&lt;/strong&gt; as a &amp;quot; &lt;em&gt;template&lt;/em&gt;&amp;quot;. You still can clone it and move it around and all that other stuff, but the good part is, that the cloned VM keeps the cpu mask set to the &amp;quot; &lt;em&gt;template&lt;/em&gt;&amp;quot; &amp;#x1f937;&lt;/p&gt;</description></item><item><title>Nagios3 with Active Directory authorization on SLES10</title><link>https://christian.blog.pakiheim.de/posts/2008-07-14_nagios3-with-active-directory-authorization-on-sles10/</link><pubDate>Mon, 14 Jul 2008 17:32:04 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=494</guid><description>&lt;p&gt;Well, it seems to be getting a &amp;ldquo;trend&amp;rdquo; for me, to integrate stuff into our Active Directory. Now that I know why, and how easy that is, I expect to add more stuff. The good thing about the integration is, that you only need to maintain a single source for authorization.&lt;/p&gt;
&lt;p&gt;The bad thing about that is, that stuff becomes dependent on the Active Directory (we do have four domain controllers, so that should be fine).&lt;/p&gt;</description></item><item><title>Managing unixODBC connections on SLES10</title><link>https://christian.blog.pakiheim.de/posts/2008-07-03_managing-unixodbc-connections-on-sles10/</link><pubDate>Thu, 03 Jul 2008 06:42:27 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=454</guid><description>&lt;p&gt;Recently I got the task, to implement unixODBC/freetds on one (well, it&amp;rsquo;s really three) of our web servers, as someone wanted to use Microsoft SQL Server 2005 with PHP (without using the &lt;a href="http://de3.php.net/manual/en/ref.mssql.php"&gt;MSSQL functions&lt;/a&gt;, which PHP provides soo nicely; don&amp;rsquo;t ask me why).&lt;/p&gt;
&lt;p&gt;With that I also got a set of &amp;quot; &lt;em&gt;instructions&lt;/em&gt;&amp;quot; on how to install freetds from source (remember, I was a Gentoo dev, so I know my way around, when it comes to building from source), as well as a small set of instructions on how to create the connection.&lt;/p&gt;</description></item><item><title>subversion on WebDAV with Active Directory authorization on SLES10</title><link>https://christian.blog.pakiheim.de/posts/2008-06-29_subversion-on-webdav-with-active-directory-authorization-on-sles10/</link><pubDate>Sun, 29 Jun 2008 17:49:29 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=425</guid><description>&lt;p&gt;Okay, so I ended up toying with subversion via WebDAV on SLES today (I know, I know .. it&amp;rsquo;s bloody Sunday). It wasn&amp;rsquo;t much of a hassle though, after reading this. Sure, I made a few errors at first (simply confused the logic behind &amp;quot; &lt;em&gt;&lt;a href="http://httpd.apache.org/docs/2.2/mod/core.html#location"&gt;Location&lt;/a&gt;&lt;/em&gt;&amp;quot; and &amp;quot; &lt;em&gt;&lt;a href="http://httpd.apache.org/docs/2.2/mod/core.html#directory"&gt;Directory&lt;/a&gt;&lt;/em&gt;&amp;quot;), but after that plain subversion commits via WebDAV (thus utilizing Apache) worked fine.&lt;/p&gt;
&lt;p&gt;For POC or as a hint to myself, here&amp;rsquo;s where and what I needed to add/change:&lt;/p&gt;</description></item><item><title>The clue to build ppc64 RPM's</title><link>https://christian.blog.pakiheim.de/posts/2008-06-26_the-clue-to-build-ppc64-rpm-s/</link><pubDate>Thu, 26 Jun 2008 15:52:22 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=400</guid><description>&lt;p&gt;Remember, I &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-16_building-rpms-on-sles10sp2-ppc64" title="Building RPMs on SLES10SP2-ppc64"&gt;talked&lt;/a&gt; about building RPM&amp;rsquo;s on SLES10SP2 on ppc64 ? Well, turns out I was rather stupid .. and it was rather simple (don&amp;rsquo;t ask me why I didn&amp;rsquo;t think of that). I tried asking solar, I used Google (apparently with the wrong search parameters), nothing though. Not a clue.&lt;/p&gt;
&lt;p&gt;Today it bugged me again, so I used Google again. This time with &amp;quot; &lt;em&gt;&lt;a href="http://www.google.de/search?q=ppc64+suse+rpmbuild&amp;amp;ie=utf-8&amp;amp;oe=utf-8&amp;amp;aq=t&amp;amp;rls=org.mozilla:de:official&amp;amp;client=firefox-a"&gt;ppc64 suse rpmbuild&lt;/a&gt;&lt;/em&gt;&amp;quot;, and guess what I saw within the preview of the second hit ..&lt;/p&gt;</description></item><item><title>Updated `check_ram' plugin</title><link>https://christian.blog.pakiheim.de/posts/2008-06-17_updated-check-ram-plugin/</link><pubDate>Tue, 17 Jun 2008 09:25:21 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=358</guid><description>&lt;p&gt;As I was building the updated RPMs for SLES10, though needed to &lt;a href="https://christian.blog.pakiheim.de/uploads/2008/06/nagios-plugins-1412-check_ram.patch"&gt;refresh&lt;/a&gt; my old patch. Also, I was getting strange messages from autotools and fixed these &lt;a href="https://christian.blog.pakiheim.de/uploads/2008/06/nagios-plugins-1412-autoconf-quirks.patch"&gt;quirks&lt;/a&gt;, Now, I prepped a patch for it, and finished building new RPMs for i586 and x86_64.&lt;/p&gt;</description></item><item><title>GPO (behind the scenes)</title><link>https://christian.blog.pakiheim.de/posts/2008-06-05_gpo-behind-the-scenes/</link><pubDate>Thu, 05 Jun 2008 06:46:20 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=340</guid><description>&lt;p&gt;Well, to begin with we had this really weird problem that the &lt;a href="https://christian.blog.pakiheim.de/posts/2008-06-04_windows-xp-embedded-windows-server-2003-and-gpo-settings-the-solution" title="Windows XP Embedded and GPO settings"&gt;thin clients&lt;/a&gt; as well as the terminal server would only load user based group policy if you are a &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-16_windows-xp-embedded-and-gpo-settings-continued" title="Windows XP Embedded and GPO settings (continued)"&gt;member of the group of local administrators&lt;/a&gt;. While that&amp;rsquo;s ok for the thin clients (users can&amp;rsquo;t actually change something unless they log in as &amp;ldquo;Administrator&amp;rdquo; - don&amp;rsquo;t ask me why), it&amp;rsquo;s a real no-no on the terminal server.&lt;/p&gt;</description></item><item><title>Windows XP Embedded, Windows Server 2003 and GPO settings (the solution)</title><link>https://christian.blog.pakiheim.de/posts/2008-06-04_windows-xp-embedded-windows-server-2003-and-gpo-settings-the-solution/</link><pubDate>Wed, 04 Jun 2008 19:35:57 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=338</guid><description>&lt;p&gt;OK, so about an hour (yeah, yeah; I know .. I shouldn&amp;rsquo;t be working at that time, but it really gave me sleepless nights) ago, I finally figured out why the hell both my Windows XP Embedded thin clients as well as my Windows Server 2003 systems where showing this &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-16_windows-xp-embedded-and-gpo-settings-continued" title="Windows XP Embedded and GPO settings (continued)"&gt;real &lt;em&gt;&lt;strong&gt;weird&lt;/strong&gt;&lt;/em&gt; behaviour&lt;/a&gt; when applying group policies, or more precise the user based configuration of a group policy.&lt;/p&gt;</description></item><item><title>Rescuing a rebooting machine that's hanging</title><link>https://christian.blog.pakiheim.de/posts/2008-05-24_rescuing-a-rebooting-machine-that-s-hanging/</link><pubDate>Sat, 24 May 2008 17:14:56 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=311</guid><description>&lt;p&gt;One of my co-worker approached me today with a weird problem. Yesterday he had a disk in a 900GiB array failing which he replaced. After that, he run a rebuild/verification, fsck&amp;rsquo;ed the file system and tried to mount the volume again.&lt;/p&gt;
&lt;p&gt;Apparently the mount produced a kernel oops (guess what, the 900GiB is running reiserfs), thus leaving the kernel tainted (or what do they call it ?). So he tried to reboot the box but it didn&amp;rsquo;t reboot. It started rebooting but then hung (as in not continuing the reboot). He tried to ssh back to the box, and it worked just fine.&lt;/p&gt;</description></item><item><title>IBM (Tivoli) Integrated Solutions Console</title><link>https://christian.blog.pakiheim.de/posts/2008-05-23_ibm-tivoli-integrated-solutions-console/</link><pubDate>Fri, 23 May 2008 17:28:03 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=295</guid><description>&lt;p&gt;Here I am, preparing our environment for the first (of hopefully many) tester for our upcoming VTL project. So I ended up installing the ISC and Administration Center for Tivoli Storage Manager on a 64bit guest (that is SLES10 for AMD64), just because I forgot to include support for later versions with our current running one. Guess what, &lt;em&gt;na&lt;/em&gt;- &lt;em&gt;na&lt;/em&gt; &lt;em&gt;na&lt;/em&gt; &lt;em&gt;na&lt;/em&gt; &lt;em&gt;na&lt;/em&gt;. Exactly, didn&amp;rsquo;t work, the same errors I got while trying it before in a virtual environment. &amp;ldquo;Portlet is not available.&amp;rdquo;&lt;/p&gt;</description></item><item><title>Getting a FC HBA to rescan it's attached devices</title><link>https://christian.blog.pakiheim.de/posts/2008-05-19_getting-a-fc-hba-to-rescan-it-s-attached-devices/</link><pubDate>Mon, 19 May 2008 11:50:48 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=253</guid><description>&lt;p&gt;If you&amp;rsquo;re using a 2.6 based distribution, the FC HBA (or more correctly the corresponding driver) should create entries in &lt;em&gt;/sys/class/scsi_host&lt;/em&gt;. Now you only need to get the host-number (basically the # of the host bus adapter) and you can get started ..&lt;/p&gt;
&lt;p&gt;Simply doing this, is going to tell the FC HBA &amp;ldquo;rescan&amp;rdquo; and discover new devices ..&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;echo &amp;#34;1&amp;#34; &amp;gt; /sys/class/fc_host/host/issue_lip
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;That should do the trick, and you should be able to get udev to recognize the new devices attached via FibreChannel without the need to reboot the whole box (which might be a bit tricky).&lt;/p&gt;</description></item><item><title>open-vm-tools for Debian Etch</title><link>https://christian.blog.pakiheim.de/posts/2008-04-20_open-vm-tools-for-debian-etch/</link><pubDate>Sun, 20 Apr 2008 12:16:29 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=253</guid><description>&lt;p&gt;Well, after a loooong time of trying to get the modules and all the other stuff (read: init-script for the guest daemon and modules) working, I think I&amp;rsquo;m about there.&lt;/p&gt;
&lt;p&gt;I finally fixed a long-standing issue, with the postinst/prerm scripts, and the tools should be about ready. Gonna try and send it Daniel Baumann&amp;rsquo;s way (that is the Debian Maintainer), for proper inclusion into Lenny.&lt;/p&gt;
&lt;p&gt;I (successfully) tried splitting the Xorg parts from the &amp;quot; &lt;em&gt;normal&lt;/em&gt;&amp;quot; open-vm-tools, as I usually don&amp;rsquo;t want Xorg installed on &lt;em&gt;&lt;strong&gt;any&lt;/strong&gt;&lt;/em&gt; of my virtual machines. Thus leaving me with open-vm-tools, open-vm-modules and open-vm-toolbox (and open-vm-source) as a list of packages one could install.&lt;/p&gt;</description></item><item><title>Software support and key account managers</title><link>https://christian.blog.pakiheim.de/posts/2008-04-14_software-support-and-key-account-managers/</link><pubDate>Mon, 14 Apr 2008 12:24:59 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=174</guid><description>&lt;p&gt;As Mike wrote about his &lt;a href="http://blogs.gentoo.org/kingtaco/2008/03/18/a_tale_of_two_vendors"&gt;experiences with hardware vendors&lt;/a&gt;, I&amp;rsquo;m gonna devote this here post to my favorite software company in the world. We recently bought two copies of a software called &amp;quot; &lt;em&gt;2X Application Server Enterprise Edition&lt;/em&gt;&amp;quot;. As one would think from reading the &lt;a href="http://www.2x.com/applicationserver/"&gt;spe&lt;/a&gt; &lt;a href="http://www.2x.com/loadbalancer/"&gt;cs&lt;/a&gt; of the software, it&amp;rsquo;s near a Citrix solution (which it is, at least for a small part); but in return it&amp;rsquo;s faaaar away concerning the price. Just so you get an idea, about what I&amp;rsquo;m meaning with &amp;quot; &lt;em&gt;faaar&lt;/em&gt;&amp;quot;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt;5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt;6&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Windows Server 2003:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Standard Edition: 2 * 91,00
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;CAL: 50 * 6,00
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Terminal Server CAL: 50 * 17,00
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ___________
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; 1.332,00
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;The above are fixed costs, you need them anyway as both Citrix as well as the 2X solution is only working * &lt;strong&gt;on top&lt;/strong&gt;* of Windows Server 2003 Terminal Services.&lt;/p&gt;
&lt;p&gt;Now, here&amp;rsquo;s the real comparison between &lt;em&gt;2X Application Server &amp;amp; Loadbalancer&lt;/em&gt; and &lt;em&gt;Citrix XenApp Platinum Edition&lt;/em&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-1-1"&gt;&lt;a class="lnlinks" href="#hl-1-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-1-2"&gt;&lt;a class="lnlinks" href="#hl-1-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;2X 2 * 1510,00 = 3.020,00
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Citrix 50 * 393,00 = 19.650,00
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;While 2X is licensed per terminal server, &lt;a href="http://shop.mensys.nl/cgi-bin/db2www/mns_art2.d2w/report?catname=CitrixXenAppPlatinumEdition_LP&amp;amp;username=&amp;amp;i1=&amp;amp;o=&amp;amp;x=16:56:52&amp;amp;Search=XEN%20APP&amp;amp;C=250"&gt;XenApp&lt;/a&gt; is licensed per user. As you can see from the above prices, the 2X solution is roughly 1/6 of the Citrix XenApp solution.&lt;/p&gt;</description></item><item><title>TYPO3 hogging</title><link>https://christian.blog.pakiheim.de/posts/2008-04-08_typo3-hogging/</link><pubDate>Tue, 08 Apr 2008 21:28:44 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=267</guid><description>&lt;p&gt;Well, we do appear to be having some strange load problems with our main TYPO3 box hosting several home pages of the local universities, as you can see below.&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2008/08/t3node1_load_05-19_07_04_2008.png"
alt="LOAD on t3node1 between 05:00-19:00 on 2008/04/07" width="500"/&gt; &lt;figcaption&gt;
&lt;p&gt;LOAD on t3node1 between 05:00-19:00 on 2008/04/07&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;We repeatedly tried to figure out which of them was the one responsible, but neither I nor the other Unix sysadmin knew a better way to figure out the load each TYPO3 installation was causing (since there ain&amp;rsquo;t no phptop or something similar). But since today the new semester started, we figured it might be good to finally figure which one it was. And a few minutes (as in one or two) wouldn&amp;rsquo;t be much of a problem compared to the advantage we&amp;rsquo;re getting out of it.&lt;/p&gt;</description></item><item><title>Creating multi-distribution RPM/XML repositories</title><link>https://christian.blog.pakiheim.de/posts/2008-04-02_creating-multi-distribution-rpm-xml-repositories/</link><pubDate>Wed, 02 Apr 2008 14:36:05 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=261</guid><description>&lt;p&gt;Well, as we do have quite a few custom built RPM&amp;rsquo;s, I was searching for a new solution to manage the repo(s). Currently I do have a single repository per distribution.&lt;/p&gt;
&lt;p&gt;One thing one needs to know about createrepo (from &lt;a href="http://linux.duke.edu/projects/metadata/"&gt;createrepo&lt;/a&gt;), it doesn&amp;rsquo;t support this type of thing in the first place. So I had to come up with another way of doing it. First, I created a proper layout (much like the Debian Official Repository layout):&lt;/p&gt;</description></item><item><title>Integrating Windows XPe into Active Directory</title><link>https://christian.blog.pakiheim.de/posts/2008-03-07_integrating-windows-xpe-into-active-directory/</link><pubDate>Fri, 07 Mar 2008 22:12:44 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=231</guid><description>&lt;p&gt;As the guys over at &lt;a href="http://www.freewysemonkeys.com"&gt;FreeWyseMonkeys&lt;/a&gt; demonstrated with JoinDomain.zip, it ain&amp;rsquo;t hard to integrate a Windows XP Embedded system into Active Directory.&lt;/p&gt;
&lt;p&gt;You basically need this:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A system powered by Windows XP Embedded&lt;/li&gt;
&lt;li&gt;netdom.exe (from any Windows XP - SP2 in your MUI language)&lt;/li&gt;
&lt;li&gt;some know-how, on how to use netdom to integrate it into your AD&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Everything else is already present on the Windows XP Embedded systems I&amp;rsquo;ve seen. Then let&amp;rsquo;s get it on !&lt;/p&gt;</description></item><item><title>Backup solutions</title><link>https://christian.blog.pakiheim.de/posts/2008-03-07_backup-solutions/</link><pubDate>Fri, 07 Mar 2008 21:38:52 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=230</guid><description>&lt;p&gt;Well some people apparently completely &lt;em&gt;&lt;strong&gt;don&amp;rsquo;t&lt;/strong&gt;&lt;/em&gt; understand the use of a backup client like dsmc, additionally they don&amp;rsquo;t seem to have the slightest clue on how to draw up a &amp;ldquo;clever&amp;rdquo; backup solution.&lt;/p&gt;
&lt;p&gt;Lemme describe the situation for you. We do have two Solaris systems at work, housing our mailing system(s). Now apparently, people are unable to install the Tivoli Storage Manager Client on Solaris (or get it working properly - which people are blaming on the software not &lt;strong&gt;working&lt;/strong&gt;).&lt;/p&gt;</description></item><item><title>OCFS2 follow-up</title><link>https://christian.blog.pakiheim.de/posts/2008-03-07_ocfs2-follow-up/</link><pubDate>Fri, 07 Mar 2008 07:29:26 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=229</guid><description>&lt;p&gt;OK, it turned out that said colleague wasn&amp;rsquo;t responsible at all. Turns out, the &lt;em&gt;&lt;strong&gt;real&lt;/strong&gt;&lt;/em&gt; trigger was me creating a new volume on our SAN, on the same array that houses the OCFS2 volume.&lt;/p&gt;
&lt;p&gt;Apparently, during creation of an additional SAN volume, all other SAN volumes in this array are either read-only or delayed during that time, as you can see from the following log:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-25"&gt;&lt;a class="lnlinks" href="#hl-0-25"&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-26"&gt;&lt;a class="lnlinks" href="#hl-0-26"&gt;26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-27"&gt;&lt;a class="lnlinks" href="#hl-0-27"&gt;27&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-28"&gt;&lt;a class="lnlinks" href="#hl-0-28"&gt;28&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-29"&gt;&lt;a class="lnlinks" href="#hl-0-29"&gt;29&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: (13,3):o2hb_write_timeout:242 ERROR: Heartbeat write timeout to device sdd1 after 12000 milliseconds
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Heartbeat thread (13) printing last 24 blocking operations (cur = 4):
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Heartbeat thread stuck at waiting for read completion, stuffing current time into that blocker (index 4)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Index 5: took 0 ms to do submit_bio for read
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Index 6: took 0 ms to do waiting for read completion
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Index 7: took 0 ms to do bio alloc write
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Index 8: took 0 ms to do bio add page write
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Index 9: took 0 ms to do submit_bio for write
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Index 10: took 0 ms to do checking slots
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Index 11: took 0 ms to do waiting for write completion
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Index 12: took 2002 ms to do msleep
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Index 13: took 0 ms to do allocating bios for read
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Index 14: took 0 ms to do bio alloc read
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Index 15: took 0 ms to do bio add page read
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Index 16: took 0 ms to do submit_bio for read
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Index 17: took 0 ms to do waiting for read completion
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Index 18: took 0 ms to do bio alloc write
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Index 19: took 0 ms to do bio add page write
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Index 20: took 0 ms to do submit_bio for write
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Index 21: took 0 ms to do checking slots
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Index 22: took 0 ms to do waiting for write completion
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Index 23: took 2004 ms to do msleep
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Index 0: took 0 ms to do allocating bios for read
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Index 1: took 0 ms to do bio alloc read
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Index 2: took 0 ms to do bio add page read
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Index 3: took 0 ms to do submit_bio for read
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Index 4: took 9995 ms to do waiting for read completion
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: (13,3):o2hb_stop_all_regions:1682 ERROR: stopping heartbeat on all active regions.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel: Kernel panic - not syncing: *** ocfs2 is very sorry to be fencing this system by panicing ***
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>OCFS2 fun</title><link>https://christian.blog.pakiheim.de/posts/2008-03-06_ocfs2-fun/</link><pubDate>Thu, 06 Mar 2008 10:31:05 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=228</guid><description>&lt;p&gt;Turns out, that &lt;a href="https://christian.blog.pakiheim.de/posts/2008-03-06_ocfs2-fun" title="OCFS2 fun yet again"&gt;said colleague&lt;/a&gt; has been playing with NFS on one off the web nodes, thus apparently rendering the remaining nodes offline (or semi-offline).&lt;/p&gt;
&lt;p&gt;Now after all web nodes hung themselves, we had to hard reset them, now everything is tingly again .. &lt;em&gt;&lt;strong&gt;yay&lt;/strong&gt;&lt;/em&gt; for a great first day &amp;hellip;&lt;/p&gt;</description></item><item><title>Getting the 2X service up and running</title><link>https://christian.blog.pakiheim.de/posts/2008-02-21_getting-the-2x-service-up-and-running/</link><pubDate>Thu, 21 Feb 2008 19:31:18 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=226</guid><description>As I &lt;a href="http://christian.weblog.heimdaheim.de/2007/01/25/research-project/" title="Research project"&gt;mentioned before&lt;/a&gt;, we decided against the Citrix Presentation Server solution in favour of the 2X LoadBalancer and ApplicationServer combination. You&amp;rsquo;re gonna say, but Citrix does the same and it&amp;rsquo;s only one &amp;quot; &lt;em&gt;application frame&lt;/em&gt;&amp;quot;. 2X is exactly the same.</description></item><item><title>Zend Optimizer again</title><link>https://christian.blog.pakiheim.de/posts/2008-02-19_zend-optimizer-again/</link><pubDate>Tue, 19 Feb 2008 19:15:54 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=225</guid><description>&lt;p&gt;Well, I happen to be back at my favorite application. Today I stumbled upon a &amp;quot; &lt;em&gt;nice&lt;/em&gt;&amp;quot; thing. If you turn on the Zend Optimizer (doesn&amp;rsquo;t matter whether it is 2.6.2 or 3.3.0), one of the TYPO3 back ends ain&amp;rsquo;t showing &lt;em&gt;&lt;strong&gt;any&lt;/strong&gt;&lt;/em&gt; content in the preview pane. Once you turn the Zend Optimizer stuff off, it works without a problem.&lt;/p&gt;
&lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2008/08/o_rly001.jpg"
alt="O RLY ?" width="438"/&gt; &lt;figcaption&gt;
&lt;p&gt;O RLY ?&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;And as Zend stated on their &amp;quot; &lt;em&gt;Support Forum&lt;/em&gt;&amp;quot;, they don&amp;rsquo;t really support the Zend Optimizer stuff in the first place. Which is nice, what for do you need the Zend Guard shit in the first place ??&lt;/p&gt;</description></item><item><title>Been a while</title><link>https://christian.blog.pakiheim.de/posts/2008-02-17_been-a-while/</link><pubDate>Sun, 17 Feb 2008 08:53:16 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=185</guid><description>&lt;p&gt;Well, it&amp;rsquo;s been quite a while since most of the people last heard a word from me. The last few months I&amp;rsquo;ve been extremely busy with work-related tasks (and as a side-effect of that, didn&amp;rsquo;t want to spend much time in front of the computer after 9 hours of work). I also started spending more and more time in the gym, like nearly two hours every Tuesday and Thursday.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I finally &lt;strong&gt;fixed&lt;/strong&gt; our replication issues, we do now have a &lt;strong&gt;working&lt;/strong&gt;! MySQL Multi-Master ( &lt;a href="https://christian.blog.pakiheim.de/uploads/2008/02/mycnf-node11.txt"&gt;1. Node&lt;/a&gt;, &lt;a href="https://christian.blog.pakiheim.de/uploads/2008/02/mycnf-node21.txt"&gt;2. Node&lt;/a&gt; -- bear in mind, this boxes are &lt;em&gt;&lt;strong&gt;only&lt;/strong&gt;&lt;/em&gt; serving MySQL and nothing else, so don&amp;rsquo;t use these configurations on mixed setups) Replication Setup as database back end for our TYPO3-vHosts.&lt;/li&gt;
&lt;li&gt;all the web nodes are now serving the content from a clustered, shared SAN volume (is that a good thing ? &amp;#x1f61b; - don&amp;rsquo;t know yet &amp;hellip;)&lt;/li&gt;
&lt;li&gt;our VI environment is getting more and more acceptance (even if you hear some complaints now and then, like &lt;em&gt;&amp;ldquo;awww, damn that crap my 4GiB RAM, 2x3.0GHz Windows 2008 is running soooo choppy&amp;rdquo;&lt;/em&gt; - simple answer, don&amp;rsquo;t use Windows Server 2008 and/or Windows Vista!)&lt;/li&gt;
&lt;li&gt;I finished prepping our VM templates (at least the Windows ones)&lt;/li&gt;
&lt;li&gt;we&amp;rsquo;re still putting together the plans on whether or not invest into a VDI solution.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The next few weeks are gonna be as frantic as the weeks before, I still have to migrate a lot of TYPO3 installations to our new cluster (which sadly needs time, as we need to wait for DNS changes to propagate). Honestly, I might be ending up extending the SAN volume for the MySQL data storage, as even with only three somewhat busy sites, the binary log of the last 5 days is about 2GiB in size. And we still have ~ &lt;strong&gt;20&lt;/strong&gt; other busy sites on a separate box.&lt;/p&gt;</description></item><item><title>Windows Server 2008</title><link>https://christian.blog.pakiheim.de/posts/2008-02-16_windows-server-2008/</link><pubDate>Sat, 16 Feb 2008 17:41:11 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=193</guid><description>&lt;p&gt;Well, as it is Saturday and I&amp;rsquo;m having lots of time (whereas I&amp;rsquo;d usually spend it working), I thought I&amp;rsquo;d give Windows Server 2008 a try. What interested me most, is the Windows Server 2008 &lt;em&gt;&amp;quot; &lt;a href="http://www.microsoft.com/windowsserver2008/en/us/r2-compare-core-installation.aspx"&gt;Server Core Installations&lt;/a&gt;&amp;quot;&lt;/em&gt;, as it&amp;rsquo;s supposed to lower the security risk (as there is &lt;em&gt;&lt;strong&gt;no&lt;/strong&gt;&lt;/em&gt; Internet Explorer, no Explorer nothing running by default, only a simply &lt;em&gt;cmd.exe&lt;/em&gt;).&lt;/p&gt;
&lt;p&gt;As one of my co-workers requested me to upload the Standard/Enterprise/Datacenter DVD (which he got through our Microsoft Select 6.0(?) agreement) to our ISO&amp;rsquo; VMFS, I had the DVD already at hand. As for that, I &lt;em&gt;&lt;strong&gt;really&lt;/strong&gt;&lt;/em&gt; love the feature set of VMware.&lt;/p&gt;</description></item><item><title>PacketPro 1-7-0</title><link>https://christian.blog.pakiheim.de/posts/2008-01-15_packetpro-1-7-0/</link><pubDate>Tue, 15 Jan 2008 08:37:41 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/?p=183</guid><description>&lt;p&gt;After &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-16_bloody-cluster-solutions-continued"&gt;blogging&lt;/a&gt; &lt;a href="https://christian.blog.pakiheim.de/posts/2007-08-05_packetpro-450-and-ssh-checks"&gt;the last time&lt;/a&gt; about the PacketPro 450 LoadBalancer appliance, the guys over at &lt;a href="http://www.teamix.net/"&gt;teamix&lt;/a&gt; seem to have taken that to heart and implemented a rather nifty thing for their new release.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s called &amp;quot; &lt;em&gt;Port forwarding&lt;/em&gt;&amp;quot;, which is basically what you&amp;rsquo;d figure from the name. It bounces ports around the load balancer, but saves you from creating a separate virtual server (and adding the physical servers to that one), but also saves you from &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-16_bloody-cluster-solutions-continued"&gt;modifying&lt;/a&gt; the &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-16_bloody-cluster-solutions-continued"&gt;syslog-ng configuration&lt;/a&gt; on the balanced servers.&lt;/p&gt;</description></item><item><title>Deploying VM templates</title><link>https://christian.blog.pakiheim.de/posts/2008-01-08_deploying-vm-templates/</link><pubDate>Tue, 08 Jan 2008 09:38:03 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2008/01/08/deploying-vm-templates</guid><description>&lt;p&gt;Ok, so after my first day yesterday after a rather long vacation I today wanted to look at the problem that the Administrator password isn&amp;rsquo;t changed when using VirtulCenter&amp;rsquo;s clone customization functionality (which relies at least for Windows on sysprep).&lt;/p&gt;
&lt;p&gt;After a short googling, I stumbled upon &lt;a href="http://www.rtfm-ed.co.uk/2006/01/20/sysprep-does-not-reset-administrator-password/"&gt;this&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Simple problem short &amp;hellip; Don&amp;rsquo;t specify an Administrator password for the template. Then you should be able to change the Administrator password when cloning the template. It&amp;rsquo;s &amp;quot; &lt;em&gt;should&lt;/em&gt;&amp;quot;, as the VM&amp;rsquo;s are still updating.&lt;/p&gt;</description></item><item><title>Looking back (yet again)</title><link>https://christian.blog.pakiheim.de/posts/2007-12-31_looking-back-yet-again/</link><pubDate>Mon, 31 Dec 2007 16:10:53 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2007/12/31/looking-back-yet-again/</guid><description>&lt;p&gt;Well, it&amp;rsquo;s yet again New Year&amp;rsquo;s Eve. Yet again a whole year passed by blazing fast, I didn&amp;rsquo;t manage to get everything done like I wanted.&lt;/p&gt;
&lt;p&gt;That includes the following things:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;getting a better job (and probably better paid too!)&lt;/li&gt;
&lt;li&gt;getting a better life (well, it&amp;rsquo;s as it sounds like - my current life is rather unhealthy, and thanks to a friend I got the grip onto myself and started changing a few things - like doing a small workout every day, a bit more movement all over the day and so forth)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Which also means I do have some resolutions for the next year &amp;hellip;&lt;/p&gt;</description></item><item><title>Device CAL's ain't no Device CAL's</title><link>https://christian.blog.pakiheim.de/posts/2007-12-04_device-cal-s-ain-t-no-device-cal-s/</link><pubDate>Tue, 04 Dec 2007 08:21:13 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2007/12/04/device-cals-aint-no-device-cal/</guid><description>&lt;p&gt;I stumbled upon a &lt;em&gt;&lt;strong&gt;real&lt;/strong&gt;&lt;/em&gt; weird problem. Apparently the terminal server licenses called &amp;quot; &lt;em&gt;per Device&lt;/em&gt;&amp;quot; ain&amp;rsquo;t a real per device. From reading on it &lt;a href="http://www.microsoft.com/windowsserver2008/en/us/licensing-R2.aspx"&gt;Microsoft&lt;/a&gt; states it like this:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Device-based versus User-based Terminal Server CALs&lt;/p&gt;
&lt;p&gt;Two types of Terminal Server Client Access Licenses are available: TS Device CAL or TS User CAL.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;A TS Device CAL permits one device (used by any user) to conduct Windows Sessions on any of your servers.&lt;/li&gt;
&lt;li&gt;A TS User CAL permits one user (using any device) to conduct Windows Sessions on any of your servers.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;You may choose to use a combination of TS Device CALs and TS User CALs simultaneously with the server software.&lt;/p&gt;</description></item><item><title>Windows terminal services undamp; network printers</title><link>https://christian.blog.pakiheim.de/posts/2007-11-04_windows-terminal-services-amp-network-printers/</link><pubDate>Sun, 04 Nov 2007 14:08:05 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2007/10/30/windows-terminal-services-network-printers/</guid><description>&lt;p&gt;Yes, yes. I do list a lot of crappy products (go on, laugh; I don&amp;rsquo;t really care). Yesterday I had quite a struggle with Microsoft Windows Server 2003 and Terminal services (or more precisely with their way on how to deal with network printers).&lt;/p&gt;
&lt;p&gt;As most of you know, there a two (possibly three) different ways on how to do network printers.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;would be, to simply share a local connected printer by simply creating a share for the printer&lt;/li&gt;
&lt;li&gt;buy a smart printer with integrated print server&lt;/li&gt;
&lt;li&gt;a combination of 1. and 2.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;We luckily enough do have printers with integrated print servers, so that wouldn&amp;rsquo;t be a problem. &lt;em&gt;&lt;strong&gt;But&lt;/strong&gt;&lt;/em&gt; you get a problem if you&amp;rsquo;re trying to monitor the printer queue if you simply create a new TCP/IP connection from another target. You simply can&amp;rsquo;t tell who&amp;rsquo;s printing what.&lt;/p&gt;</description></item><item><title>Customizing Thin Clients</title><link>https://christian.blog.pakiheim.de/posts/2007-10-12_customizing-thin-clients/</link><pubDate>Fri, 12 Oct 2007 22:14:53 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2007/10/06/thin-clients-active-directory/</guid><description>&lt;p&gt;As some of you know, the company I&amp;rsquo;m currently working for, recently acquired some thin clients to replace our old computers for the students to work on. Those PC&amp;rsquo;s are like P3 800 MHz with 512MB RAM and sadly don&amp;rsquo;t run Office 2007 anymore, so we replaced them with thin clients and are streaming those applications from a Windows Terminal Server cluster (created by and with 2X Application LoadBalancer).&lt;/p&gt;
&lt;p&gt;So far so good, getting them to display the applications ain&amp;rsquo;t hard, the real hard part starts when you want additional things from this Windows XPe (Embedded), like lets say getting them to display a German language.&lt;/p&gt;</description></item><item><title>Nagios undamp; plugins</title><link>https://christian.blog.pakiheim.de/posts/2007-10-06_nagios-amp-plugins/</link><pubDate>Sat, 06 Oct 2007 15:12:43 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2007/10/06/nagios-plugins/</guid><description>&lt;p&gt;Since we started utilizing &lt;a href="http://www.nagios.org/"&gt;Nagios&lt;/a&gt;&amp;rsquo;s power two months ago, I finally came up with a C-based ram-plugin for nagios. The biggest problem I had with the python and perl based plugins, that some distributions (yes, SLES and Debian) don&amp;rsquo;t install either Python or Perl.&lt;/p&gt;
&lt;p&gt;Since I wanted a manageable setup (as in unified code base across all distributions), I wanted it to work without installing too much. So I took the &lt;a href="http://nagiosplug.svn.sourceforge.net/viewvc/nagiosplug/nagiosplug/trunk/plugins/check_swap.c?view=markup"&gt;swap plugin&lt;/a&gt; and basically removed what wasn&amp;rsquo;t necessary and &lt;a href="https://christian.blog.pakiheim.de/uploads/2007/10/check_ram.patch"&gt;voila&lt;/a&gt;!&lt;/p&gt;</description></item><item><title>Thin clients</title><link>https://christian.blog.pakiheim.de/posts/2007-10-06_thin-clients/</link><pubDate>Sat, 06 Oct 2007 14:13:44 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2007/10/06/thin-clients/</guid><description>&lt;p&gt;As some of you people know, we (as in the University) recently purchased some Thin Clients in order to replace some oldish&amp;rsquo; computers and solve the software management at the same time.&lt;/p&gt;
&lt;p&gt;The Thin Clients ain&amp;rsquo;t bad, they are &lt;a href="http://www.wyse.com/products/hardware/thinclients/V90L/index.asp"&gt;Wyse V90L&lt;/a&gt;&amp;rsquo;s and they (as in Wyse) use their own management software to manage and deploy those thin clients and software. The bad thing about that, is it&amp;rsquo;s using it&amp;rsquo;s own &amp;ldquo;Scripting Language&amp;rdquo; (if you can call it that way - it&amp;rsquo;s more pseudo scripting since you can&amp;rsquo;t do much with it besides some basic actions).&lt;/p&gt;</description></item><item><title>TYPO3 and MySQL replication</title><link>https://christian.blog.pakiheim.de/posts/2007-09-08_typo3-and-mysql-replication/</link><pubDate>Sat, 08 Sep 2007 20:33:13 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2007/09/08/typo3-and-mysql-replication/</guid><description>&lt;p&gt;Apparently the TYPO3 version we are using, doesn&amp;rsquo;t play too nice with the MySQL MasterMaster replication.&lt;/p&gt;
&lt;p&gt;Sometimes, something like this is going to happen:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;070826 0:44:32 [ERROR] Slave: Error &amp;#39;Duplicate entry &amp;#39;75-222419149&amp;#39; for key 1&amp;#39; on query. Default database: &amp;#39;t3nb&amp;#39;. Query: &amp;#39;INSERT INTO cache_pagesection
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;070826 0:44:32 [ERROR] Error running query, slave SQL thread aborted. Fix the problem, and restart the slave SQL thread with &amp;#34;SLAVE START&amp;#34;. We stopped at log &amp;#39;dbc-mysql1.000192&amp;#39; position 611861372
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Well, as you can see from the last line in the log, the Slave-SQL thread found a duplicate entry and thought it is smart to just turn off the thread instead of disregarding the just made entry. So from now on, both databases drift since there ain&amp;rsquo;t no replication anymore until someone kick starts the replication again (someone being me).&lt;/p&gt;</description></item><item><title>PacketPro 450 and SSH checks</title><link>https://christian.blog.pakiheim.de/posts/2007-08-05_packetpro-450-and-ssh-checks/</link><pubDate>Sun, 05 Aug 2007 14:51:56 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2007/08/05/packetpro-450-and-ssh-checks/</guid><description>&lt;p&gt;As apparently the guys at Teamix read my recent blog post about their cluster solution, someone of their technical support called me on friday at work &amp;#x1f633;&lt;/p&gt;
&lt;p&gt;And pointed out&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;That I&amp;rsquo;m free to express my thoughts about their product (which I recently did)&lt;/li&gt;
&lt;li&gt;That there is a better way to workaround this issue&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;He also said, its something which they had asked multiple times. It&amp;rsquo;s as simple as editing the &lt;strong&gt;Virtual Server&lt;/strong&gt; and changing the &lt;strong&gt;service inspection&lt;/strong&gt; from &lt;em&gt;&amp;ldquo;Connection&amp;rdquo;&lt;/em&gt; to &lt;em&gt;&amp;ldquo;None&amp;rdquo;&lt;/em&gt; .. &lt;em&gt;&lt;strong&gt;duh&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Fujitsu Siemens, onboard NIC's, Quality assurance and vendors</title><link>https://christian.blog.pakiheim.de/posts/2007-07-12_fujitsu-siemens-onboard-nic-s-quality-assurance-and-vendors/</link><pubDate>Thu, 12 Jul 2007 19:15:56 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2007/07/12/fujitsu-siemens-onboard-nics-quality-assurance-and-vendors/</guid><description>&lt;p&gt;So we bought some Fujitsu Siemens P5916 Intel vPro back in January/February for the Boss and his secretary.&lt;/p&gt;
&lt;p&gt;These boxes are quite nice, come with a Core 2 Duo (which is waaay to overrated for simple business applications like Word, Excel, Access and Outlook), but he insisted on having Windows Vista Ultimate ready PC&amp;rsquo;s.&lt;/p&gt;
&lt;p&gt;We got them, as expected completely &lt;em&gt;&lt;strong&gt;blank&lt;/strong&gt;&lt;/em&gt;. Wasn&amp;rsquo;t so much of a problem though, since we have a Select 5.0 6.0 contract with &lt;em&gt;M$&lt;/em&gt;. Only problem was, they refused to install Vista (as in freezing after preping the HDD). So I called our local vendor, who told me &amp;quot; &lt;em&gt;Go, grab the latest BIOS from the support page and perform a BIOS update!&lt;/em&gt;&amp;quot; - Which I wasn&amp;rsquo;t so happy about to hear and to do &amp;hellip; That didn&amp;rsquo;t work, the box would freeze on boot now &amp;hellip;&lt;/p&gt;</description></item><item><title>SLES, ZendOptimizer and IBM PowerPC(4)+</title><link>https://christian.blog.pakiheim.de/posts/2007-07-11_sles-zendoptimizer-and-ibm-powerpc-4/</link><pubDate>Wed, 11 Jul 2007 08:40:57 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2007/07/10/sles-zendoptimizer-and-ibm-powerpc4/</guid><description>&lt;p&gt;What would you figure from the above ? Hopefully the rather obvious, that it&amp;rsquo;s a &lt;em&gt;&lt;strong&gt;really&lt;/strong&gt;&lt;/em&gt; shitty combination.&lt;/p&gt;
&lt;p&gt;So we figured it would be a nice thing to test our new setup before going into pre-production testing or production, but we don&amp;rsquo;t have an extra spare box. So we took one of the power4 boxes we have mounted in the rack basically consuming energy all day (that&amp;rsquo;s about 38kWh a day) and installed &lt;em&gt;SLES10&lt;/em&gt; onto it. Which wasn&amp;rsquo;t all that bad (at first the box repeatedly started back to AIX, from CD and after convincing the SMS - that&amp;rsquo;s basically the bios on the power*-boxes also known as System Management Services with a hammer to boot from the first hard disk).&lt;/p&gt;</description></item><item><title>Dell PowerEdge 1855, DRAC/MC, firmware updates, telnet and csr's</title><link>https://christian.blog.pakiheim.de/posts/2007-07-06_dell-poweredge-1855-drac-mc-firmware-updates-telnet-and-csr-s/</link><pubDate>Fri, 06 Jul 2007 09:39:38 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2007/07/06/dell-poweredge-1855-dracmc-firmware-updates-telnet-and-csrs/</guid><description>&lt;p&gt;Today I played a bit with our PE Chassis, or more specifically the DRAC/MC (remote management console). One of the things I&amp;rsquo;ve been experiencing was that the DRAC/MC was rather slow when browsing on the web interface (as in waiting a minute for the jnlp for the KVM to download). So I went ahead, fired up &lt;em&gt;net-misc/atftp&lt;/em&gt; on my notebook, put the firmware update provided by Dell in the &lt;strong&gt;TFTPROOT&lt;/strong&gt; and executed this in my telnet session on the DRAC/MC:&lt;/p&gt;</description></item><item><title>miimon, arp_interval and the code</title><link>https://christian.blog.pakiheim.de/posts/2007-07-04_miimon-arp-interval-and-the-code/</link><pubDate>Wed, 04 Jul 2007 19:50:14 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2007/07/04/miimon-arp_interval-and-the-code/</guid><description>&lt;p&gt;After &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-16_adapter-teaming-on-sles10" title="Adapter teaming on SLES10"&gt;today&amp;rsquo;s adventure&lt;/a&gt; with the kernel bonding, I just took a look at the &lt;a href="http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=drivers/net/bonding/bond_main.c;hb=HEAD"&gt;code&lt;/a&gt; &amp;hellip;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-20"&gt;&lt;a class="lnlinks" href="#hl-0-20"&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-21"&gt;&lt;a class="lnlinks" href="#hl-0-21"&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-22"&gt;&lt;a class="lnlinks" href="#hl-0-22"&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-23"&gt;&lt;a class="lnlinks" href="#hl-0-23"&gt;23&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-24"&gt;&lt;a class="lnlinks" href="#hl-0-24"&gt;24&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-25"&gt;&lt;a class="lnlinks" href="#hl-0-25"&gt;25&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-26"&gt;&lt;a class="lnlinks" href="#hl-0-26"&gt;26&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-27"&gt;&lt;a class="lnlinks" href="#hl-0-27"&gt;27&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-28"&gt;&lt;a class="lnlinks" href="#hl-0-28"&gt;28&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; if (miimon) {
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; printk(KERN_INFO DRV_NAME
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;#34;: MII link monitoring set to %d msn&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; miimon);
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; } else if (arp_interval) {
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; int i;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; printk(KERN_INFO DRV_NAME
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;#34;: ARP monitoring set to %d ms, validate %s, with %d target(s):&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; arp_interval,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; arp_validate_tbl[arp_validate_value].modename,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; arp_ip_count);
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; for (i = 0; i &amp;lt; arp_ip_count; i++)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; printk (&amp;#34; %s&amp;#34;, arp_ip_target[i]);
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; printk(&amp;#34;n&amp;#34;);
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; } else {
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; /* miimon and arp_interval not set, we need one so things
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; * work as expected, see bonding.txt for details
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; */
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; printk(KERN_WARNING DRV_NAME
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;#34;: Warning: either miimon or arp_interval and &amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;#34;arp_ip_target module parameters must be specified, &amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;#34;otherwise bonding will not detect link failures! see &amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;#34;bonding.txt for details.n&amp;#34;);
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;If I read it right, you only get the &lt;strong&gt;KERN_WARNING&lt;/strong&gt; for &amp;ldquo;either miimon or arp_interval&amp;rdquo; only if miimon or arp_interval isn&amp;rsquo;t set &amp;hellip; but at least my config says it is .. &amp;#x1f937; .. bed time for me :rolling_eyes:&lt;/p&gt;</description></item><item><title>SLES10 on pSeries</title><link>https://christian.blog.pakiheim.de/posts/2007-07-04_sles10-on-pseries/</link><pubDate>Wed, 04 Jul 2007 15:58:39 +0000</pubDate><guid isPermaLink="false">http://blog.barfoo.org/2007/07/04/sles10-on-pseries/</guid><description>&lt;p&gt;Okay, yet another day passed by blazing fast. I had a good day at work, spent nearly the whole day trying to get my bloody systems hooked up to our SAN (which was interrupted by a non-working SAN-switch, disappearing WWN&amp;rsquo;s, lunch and my trainees), messing around with our internal network, hacking our Blade Chassis switches to get me what I want and some random paperwork.&lt;/p&gt;
&lt;p&gt;But first things first .. We installed SLES10 on a pSeries box the other day (I think on Monday), and now I&amp;rsquo;m trying to get the &lt;strong&gt;&lt;em&gt;WWN&lt;/em&gt;&lt;/strong&gt; of it&amp;rsquo;s &lt;strong&gt;Emulex HBA&lt;/strong&gt;, out of either sysfs or procfs. But whatcha&amp;rsquo; thinking ?&lt;/p&gt;</description></item><item><title>Continuing on SLES10</title><link>https://christian.blog.pakiheim.de/posts/2007-06-16_continuing-on-sles10/</link><pubDate>Sat, 16 Jun 2007 16:14:15 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/2007/06/16/continuing-on-sles10/</guid><description>&lt;p&gt;OK, it turns out that I was rather stupid when configuring the &lt;em&gt;my.cnf&lt;/em&gt;. As it turned out, the effect I was seeing was due to the presence of two log-bin lines, which looked like the following:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;mysqld&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;port&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;3306&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;datadir&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;mysql&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;dbase&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;log&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;mysql&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;logs&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;dbc&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;mysql1&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;log&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;log&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;error&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;mysql&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;logs&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;dbc&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;mysql1&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;err&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;socket&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="k"&gt;var&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;lib&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;mysql&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;mysql&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sock&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;bind&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mf"&gt;172.16&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;234.31&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# custom paths for binary logs&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;log&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;bin&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;mysql&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;binlogs&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;dbc&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;mysql1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;log&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;bin&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;index&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;mysql&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;binlogs&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;dbc&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;mysql1&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;idx&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;relay&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nb"&gt;log&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;mysql&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;binlogs&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;dbc&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;mysql1&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;relay&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;And some lines down there was this:&lt;/p&gt;</description></item><item><title>Back at SLES10</title><link>https://christian.blog.pakiheim.de/posts/2007-06-12_back-at-sles10/</link><pubDate>Tue, 12 Jun 2007 19:42:22 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/2007/06/12/back-at-sles10/</guid><description>&lt;p&gt;Here I am, sitting at my desk on a Thuesday evening thinking about what happened the last few days.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;I finally got to play around with our &lt;a href="http://www.packetpro.de/content/view/63/112/" title="PacketPro 450 Cluster"&gt;PacketPro 450 Cluster&lt;/a&gt;(nifty LoadBalancing appliance)&lt;/li&gt;
&lt;li&gt;We reworked the network the way &lt;em&gt;&lt;strong&gt;we&lt;/strong&gt;&lt;/em&gt; want it (and not that tool of a wannabe sysadmin)&lt;/li&gt;
&lt;li&gt;We mostly figured out how to do the LoadBalancing right, we just need to find some bugs in the LoadBalancer software (like the thing is failing over to its slave from time to time, but keeping the IP address for himself) or let the guys at &lt;a href="http://www.teamix.net/"&gt;teamix&lt;/a&gt; do their work and hopefully get a working release within the next week or so&lt;/li&gt;
&lt;li&gt;I figured out how to setup interface bonding with SLES10 (it was quite straight forward, thanks to the excellent in-kernel documentation), and we&amp;rsquo;re using an active-backup mode for now&lt;/li&gt;
&lt;li&gt;I still need to figure out how to do the MySQL Master&amp;lt;-&amp;gt;Master replication right .. I&amp;rsquo;m currently building fresh RPM&amp;rsquo;s on one of those Dell blades (yes, they ROCK!) which will hopefully be finished till I&amp;rsquo;m at the office tomorrow.&lt;/li&gt;
&lt;li&gt;Pt. 5 also includes figuring out how to pass MySQL a custom location for the binary-log, at least that&amp;rsquo;s what the &lt;a href="http://dev.mysql.com/doc/refman/5.0/en/binary-log.html" title="MySQL handbook, Chapter 5.11.3. The Binary Log"&gt;handbook&lt;/a&gt; says in Chapter &amp;ldquo;5.11.3. The Binary Log&amp;rdquo; &amp;hellip;&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;When started with the &amp;ndash;log-bin[=base_name] option, mysqld writes a log file containing all SQL commands that update data. If no base_name value is given, the default name is the name of the host machine followed by -bin. If the basename is given, but not as an absolute pathname, the server writes the file in the data directory. It is recommended that you specify a basename; see Section B.1.8.1, “Open Issues in MySQL”, for the reason.&lt;/p&gt;</description></item><item><title>Personal progress</title><link>https://christian.blog.pakiheim.de/posts/2007-05-28_personal-progress/</link><pubDate>Mon, 28 May 2007 15:03:44 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/2007/05/28/personal-progress/</guid><description>&lt;p&gt;Well, I haven&amp;rsquo;t blogged in ages (like about a month).&lt;/p&gt;
&lt;p&gt;To answer some of the questions I got either via mail or on IRC &amp;hellip;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;yes, I&amp;rsquo;m still alive; you ain&amp;rsquo;t gonna get away that easy &amp;#x1f61b;&lt;/li&gt;
&lt;li&gt;yes, I finally managed to buy my shiny new car &lt;figure&gt;
&lt;img loading="lazy" src="https://christian.blog.pakiheim.de/uploads/2009/12/VCP.png"
alt="new car" width="512"/&gt; &lt;figcaption&gt;
new car
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/li&gt;
&lt;li&gt;I&amp;rsquo;m still working on apache, virtualization, mobile, kernel, hardened &amp;hellip;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Though I may haven&amp;rsquo;t been that active recently (I don&amp;rsquo;t look at CIA or do I count my own commits), I think I managed to close some apache bugs and some of my own. I&amp;rsquo;m still looking for someone interested in working on the ipw3945 related packages, as I&amp;rsquo;m kinda sick of that buggish thing.&lt;/p&gt;</description></item><item><title>Bla-bla-bla, yada-yada-yada</title><link>https://christian.blog.pakiheim.de/posts/2007-05-04_bla-bla-bla-yada-yada-yada/</link><pubDate>Fri, 04 May 2007 06:48:36 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/2007/05/04/bla-bla-bla-yada-yada-yada/</guid><description>&lt;p&gt;Interesting title &amp;hellip; &amp;#x1f937; I&amp;rsquo;m sitting back home, in my bed, while I&amp;rsquo;m supposed to be at work. I&amp;rsquo;m now a certified sicko due to a common cold.&lt;/p&gt;
&lt;p&gt;Watching the toaster series once again (that&amp;rsquo;s &lt;em&gt;Battlestar Galactica&lt;/em&gt;) and trying to think about some things. Heh, well thinking isn&amp;rsquo;t the right term; it&amp;rsquo;s more like meditate over stuff happening in the last few months.&lt;/p&gt;
&lt;p&gt;Guess this stupid cold is dictating my weekend &amp;#x1f620; and hopefully I&amp;rsquo;m gonna be better on Monday. Have fun.&lt;/p&gt;</description></item><item><title>AIX 5-3 Linux Toolkit</title><link>https://christian.blog.pakiheim.de/posts/2007-04-20_aix-5-3-linux-toolkit/</link><pubDate>Fri, 20 Apr 2007 13:07:04 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/2007/02/07/aix-53-linux-toolkit/</guid><description>&lt;p&gt;OK, so I skipped rebuilding a newer RPM version (for now) and I&amp;rsquo;m currently rebuilding anything that fit&amp;rsquo;s into &lt;em&gt;app-dev&lt;/em&gt; according to IBM &amp;hellip;&lt;/p&gt;
&lt;p&gt;The list reads like this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-8"&gt;&lt;a class="lnlinks" href="#hl-0-8"&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-9"&gt;&lt;a class="lnlinks" href="#hl-0-9"&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-10"&gt;&lt;a class="lnlinks" href="#hl-0-10"&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-11"&gt;&lt;a class="lnlinks" href="#hl-0-11"&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-12"&gt;&lt;a class="lnlinks" href="#hl-0-12"&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-13"&gt;&lt;a class="lnlinks" href="#hl-0-13"&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-14"&gt;&lt;a class="lnlinks" href="#hl-0-14"&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-15"&gt;&lt;a class="lnlinks" href="#hl-0-15"&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-16"&gt;&lt;a class="lnlinks" href="#hl-0-16"&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-17"&gt;&lt;a class="lnlinks" href="#hl-0-17"&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-18"&gt;&lt;a class="lnlinks" href="#hl-0-18"&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-19"&gt;&lt;a class="lnlinks" href="#hl-0-19"&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;$&lt;/span&gt; &lt;span class="n"&gt;ls&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;al&lt;/span&gt; &lt;span class="o"&gt;~/&lt;/span&gt;&lt;span class="n"&gt;app&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;dev&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;autoconf&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;2.59&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;aix5&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;noarch&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rpm&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;automake&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;1.8&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;aix5&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;noarch&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rpm&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;binutils&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;2.14&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;3.&lt;/span&gt;&lt;span class="n"&gt;aix5&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;ppc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rpm&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;bison&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;1.875&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;3.&lt;/span&gt;&lt;span class="n"&gt;aix5&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;ppc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rpm&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;coreutils&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;5.2&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;2.&lt;/span&gt;&lt;span class="n"&gt;aix5&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;ppc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rpm&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;cpio&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;2.5&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;aix5&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;ppc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rpm&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;diffutils&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;2.8&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;aix4&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;3.&lt;/span&gt;&lt;span class="n"&gt;ppc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rpm&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;flex&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;2.5&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;6.&lt;/span&gt;&lt;span class="n"&gt;aix4&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;3.&lt;/span&gt;&lt;span class="n"&gt;ppc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rpm&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;gawk&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;3.1&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;aix5&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;ppc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rpm&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;gcc&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;4.0&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;aix5&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;ppc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rpm&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;gcc&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;cplusplus&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;4.0&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;aix5&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;ppc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rpm&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;gdb&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;6.0&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;aix5&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;ppc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rpm&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;libgcc&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;4.0&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;aix5&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;ppc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rpm&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;libstdcplusplus&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;4.0&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;aix5&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;ppc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rpm&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;libstdcplusplus&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;devel&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;4.0&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;aix5&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;ppc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rpm&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;libtool&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;1.5&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;aix5&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;ppc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rpm&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;m4&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;1.4&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;aix5&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;ppc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rpm&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;make&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;3.80&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;aix5&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="n"&gt;ppc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rpm&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;OK, I&amp;rsquo;m not exactly rebuilding these old versions, I&amp;rsquo;m actually using their old specs to compile newer versions of these. I&amp;rsquo;m currently at &lt;strong&gt;coreutils-6.7&lt;/strong&gt;, which really takes ages. But will see about the rest.&lt;/p&gt;</description></item><item><title>grub via serial console</title><link>https://christian.blog.pakiheim.de/posts/2007-04-10_grub-via-serial-console/</link><pubDate>Tue, 10 Apr 2007 15:09:17 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/2007/04/10/grub-via-serial-console/</guid><description>&lt;p&gt;As I have quite some trouble every time I need grub via serial console, here&amp;rsquo;s just my personal reminder on how to do it right:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt" id="hl-0-1"&gt;&lt;a class="lnlinks" href="#hl-0-1"&gt;1&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-2"&gt;&lt;a class="lnlinks" href="#hl-0-2"&gt;2&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-3"&gt;&lt;a class="lnlinks" href="#hl-0-3"&gt;3&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-4"&gt;&lt;a class="lnlinks" href="#hl-0-4"&gt;4&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-5"&gt;&lt;a class="lnlinks" href="#hl-0-5"&gt;5&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-6"&gt;&lt;a class="lnlinks" href="#hl-0-6"&gt;6&lt;/a&gt;
&lt;/span&gt;&lt;span class="lnt" id="hl-0-7"&gt;&lt;a class="lnlinks" href="#hl-0-7"&gt;7&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# cat /boot/grub/grub.conf
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;serial --unit=0 --speed=38400
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;terminal --timeout=15 console serial
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;title hardened-sources-2.6.20-r1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;root (hd0,0)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kernel (hd0,0)/boot/vmlinuz-2.6.20-hardened-r1 root=/dev/hda1 console=ttyS0,38400 console=tty0
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Additionally the agetty entry for ttyS0 in &lt;em&gt;/etc/inittab&lt;/em&gt; needs to be uncommented and changed accordingly to the serial speed&lt;/p&gt;</description></item><item><title>Cisco sucks</title><link>https://christian.blog.pakiheim.de/posts/2007-03-14_cisco-sucks/</link><pubDate>Wed, 14 Mar 2007 16:10:38 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/2007/03/14/cisco-sucks/</guid><description>&lt;p&gt;OK, today we had somewhat of an emergency. The core-router for our entire network at work had some kind of hardware defect and repeatedly rebooted every three minutes caused the whole network to go &lt;em&gt;&lt;strong&gt;cabooom&lt;/strong&gt;&lt;/em&gt;. Usually (you would think), stuff in the same subnet (or VLAN) would still see each other (again, you would think) .. but apparently the VLAN/subnet database is stored on the core router and took &lt;em&gt;&lt;strong&gt;all&lt;/strong&gt;&lt;/em&gt; subnets with it.&lt;/p&gt;</description></item><item><title>SLES-9 (once again)</title><link>https://christian.blog.pakiheim.de/posts/2007-03-08_sles-9-once-again/</link><pubDate>Thu, 08 Mar 2007 22:55:36 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/2007/03/08/sles-9-once-again/</guid><description>&lt;p&gt;OK, so today was the highlight of the week &amp;hellip; We updated apache2 on Tuesday (yeah, that&amp;rsquo;s still 2.0.49, so if you have some exploits - try them &amp;#x1f61b; ) and now out of the sudden we have major performance issues. We looked nearly the whole forenoon for a reason, &lt;em&gt;&lt;strong&gt;why&lt;/strong&gt;&lt;/em&gt; the frackin&amp;rsquo; apache was using 236% of the CPU&amp;rsquo;s.&lt;/p&gt;
&lt;p&gt;In the afternoon, when my co-worker decided to go home (that was ~1500), I decided to revert back to the old patch level. But that isn&amp;rsquo;t as easy as you think (at least on SLES). The only thing I wanted to do, was something like this:&lt;/p&gt;</description></item><item><title>Waiting</title><link>https://christian.blog.pakiheim.de/posts/2007-02-28_waiting/</link><pubDate>Wed, 28 Feb 2007 14:58:05 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/2007/03/06/waiting/</guid><description>&lt;p&gt;We are still waiting for the money promised by the state and the country for our HBFG (again, it&amp;rsquo;s &amp;ldquo;Hochschulbauförderungsgesetz&amp;rdquo;), that hopefully is reducing or eliminating our storage/SAN problem we have currently. Right now we have to Cisco MDS9216 (that&amp;rsquo;s a 16-port 2GBps SAN-switch, two for redundancy), which means we only have 16 SAN-ports. That isn&amp;rsquo;t much, but still is to less, as we have like 30 machines or so, that &lt;em&gt;&lt;strong&gt;really&lt;/strong&gt;&lt;/em&gt; need access to the SAN, so we either end up unplugging some of them from the SAN or merge them onto some big machines (like our x366).&lt;/p&gt;</description></item><item><title>Shibboleth (WTF is that)</title><link>https://christian.blog.pakiheim.de/posts/2007-02-28_shibboleth-wtf-is-that/</link><pubDate>Wed, 28 Feb 2007 08:51:05 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/2007/02/28/shibboleth-wtf-is-that/</guid><description>&lt;p&gt;OK, I&amp;rsquo;m sitting now again in train (hrm, I get the feeling I&amp;rsquo;ve done that already in the last few days - oh wait, I was doing that just on Monday) this time to Berlin.&lt;/p&gt;
&lt;p&gt;My boss ordered me to attend a workshop covering the implementation of Shibboleth (for those of you, who can&amp;rsquo;t associate anything with that term - it&amp;rsquo;s an implementation for single sign-on, also covering distributed authorization and authentication) somewhere in Berlin Spandau (Evangelisches Johannesstift Berlin).&lt;/p&gt;</description></item><item><title>AIX-5-3 undamp; rpm-4-4-7</title><link>https://christian.blog.pakiheim.de/posts/2007-02-05_aix-5-3-amp-rpm-4-4-7/</link><pubDate>Mon, 05 Feb 2007 14:24:50 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/2007/02/05/aix-53-rpm-447/</guid><description>&lt;p&gt;OK, so I tried to install the &lt;a href="ftp://ftp.software.ibm.com/aix/freeSoftware/aixtoolbox/"&gt;AIX Toolkit&lt;/a&gt; today, to build some newer rpm&amp;rsquo;s (yaaaaah, I &lt;em&gt;&lt;strong&gt;hate&lt;/strong&gt;&lt;/em&gt; RPMS myself, still it&amp;rsquo;s way better than distributing plain tar.gz archives) but looks like either AIX or rpm-4.4.7 doesn&amp;rsquo;t like me.&lt;/p&gt;
&lt;p&gt;Now I&amp;rsquo;ve to figure out how to get &lt;em&gt;libm&lt;/em&gt; (that&amp;rsquo;s &lt;em&gt;/lib/libm.so&lt;/em&gt;) installed on AIX. Will see about that later and/or tomorrow.&lt;/p&gt;</description></item><item><title>Qualcomm Eudora vs- Microsoft Outlook</title><link>https://christian.blog.pakiheim.de/posts/2007-01-25_qualcomm-eudora-vs-microsoft-outlook/</link><pubDate>Thu, 25 Jan 2007 20:44:52 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/2007/01/25/qualcomm-eudora-vs-microsoft-outlook/</guid><description>&lt;p&gt;OK, so I&amp;rsquo;ve spent the last day working on my bosses $MAILPROGRAM. In detail, I&amp;rsquo;ve been trying to get his mails from Eudora (which really is complete &lt;em&gt;&lt;strong&gt;crap&lt;/strong&gt;&lt;/em&gt;) to Outlook (yeah, yeah I KNOW but he really needs a decent calendar with his E-Mail program, which neither KMail, nor Thunderbird nor Mozilla Suite - aka SeaMonkey can provide).&lt;/p&gt;
&lt;p&gt;Problem with all that is Eudora&amp;rsquo;s crappy way of saving mails (and their attachments). Eudora is saving the mails in regular MBX format, but is putting the attachments into a separate folder. I&amp;rsquo;ve looked all over the web, and only found one application capable of importing his mails into Outlook including the attachments from the Attach folder.&lt;/p&gt;</description></item><item><title>Depression coming up</title><link>https://christian.blog.pakiheim.de/posts/2006-09-05_depression-coming-up/</link><pubDate>Tue, 05 Sep 2006 11:10:18 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/?p=88</guid><description>&lt;p&gt;As you may now (or not), I haven&amp;rsquo;t been pretty active in the last couple of days (OK, I admit it has been the last two weeks).&lt;/p&gt;
&lt;p&gt;Work is currently being a bitch (I have a &lt;strong&gt;6,36&lt;/strong&gt; h day normally, but lately that evolved into a &lt;strong&gt;8+&lt;/strong&gt; h day which I&amp;rsquo;m not even payed for), personal life is also a bit frustrating (yeah you know those people-people relations called friendship and stuff).&lt;/p&gt;</description></item><item><title>IBM</title><link>https://christian.blog.pakiheim.de/posts/2006-08-14_ibm/</link><pubDate>Mon, 14 Aug 2006 10:16:28 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/?p=84</guid><description>&lt;p&gt;We just received the long awaited shipment of sixteen 300GB FC-HDD&amp;rsquo;s (2Gbps with 10000rpm) for our SAN (a pretty old DS4500/FaStT 900).&lt;/p&gt;
&lt;p&gt;But there&amp;rsquo;s still the software option missing we ordered within the same breath. So I called our trustworthy IBM distributor (hah!) and asked the guy responsible for sales, what the ETA on this software option is (if someone is interested its VolumeCopy/FlashCopy).&lt;/p&gt;
&lt;p&gt;He told me, that we&amp;rsquo;ll receive a letter with the license key &lt;strong&gt;about 4 weeks&lt;/strong&gt; after commission !!!!!!&lt;/p&gt;</description></item><item><title>SLES-9 SP2 (continued)</title><link>https://christian.blog.pakiheim.de/posts/2006-08-09_sles-9-2-continued/</link><pubDate>Wed, 09 Aug 2006 12:27:50 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/?p=82</guid><description>&lt;p&gt;OK, so after yesterdays &lt;a href="https://christian.blog.pakiheim.de/posts/2014-08-16_sles-9-2" title="SLES-9.2"&gt;battle&lt;/a&gt; with SLES and rpm, I decided to simply upgrade rpm (again rpmbuild -bb rpm.spec as in from source).&lt;/p&gt;
&lt;p&gt;I had to &lt;strong&gt;tune&lt;/strong&gt; (hah, remove stuff that isn&amp;rsquo;t working on this ancient gcc-3.3.3 ie. &lt;em&gt;-fstack-protector&lt;/em&gt;) a bit to get it working, wasted 20 minutes worth of CPU time and ~30 of my time. I finally gave up. I couldn&amp;rsquo;t persuade neither rpm, nor git to compile on the damn SLES/Dell.&lt;/p&gt;</description></item><item><title>Live sucks (again)</title><link>https://christian.blog.pakiheim.de/posts/2006-05-21_live-sucks-again/</link><pubDate>Sun, 21 May 2006 10:46:25 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/?p=73</guid><description>&lt;p&gt;Now is again such a time in live, where you have the motivation or wish to just fade away.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m just listening to &lt;strong&gt;Fort Minor - Where&amp;rsquo;d you go&lt;/strong&gt; and thinking about the stuff &lt;em&gt;Mike Shinoda&lt;/em&gt; is singing &amp;hellip;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I want you to know it&amp;rsquo;s a little fucked up,
That I&amp;rsquo;m stuck here waitin&amp;rsquo;, no longer debatin&amp;rsquo;,
Tired of sittin&amp;rsquo; and hatin&amp;rsquo; and makin&amp;rsquo; these excuses,
For while you&amp;rsquo;re not around, and feeling so useless,
It seems one thing has been true all along,
You don&amp;rsquo;t really know what you got &amp;rsquo;til it&amp;rsquo;s gone.&lt;/p&gt;</description></item><item><title>Bitching</title><link>https://christian.blog.pakiheim.de/posts/2006-03-10_bitching/</link><pubDate>Fri, 10 Mar 2006 19:57:11 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/?p=63</guid><description>&lt;p&gt;Once again, I&amp;rsquo;m compelled to play (other call it administering &amp;#x1f61b;) with our TYPO3 cluster (which is sadly running SLES).&lt;/p&gt;
&lt;p&gt;One thing I just learned about SLES (for the ones curious, its &lt;a href="http://www.novell.com/products/server/"&gt;Novell&amp;rsquo;s SuSE Linux Enterprise Server&lt;/a&gt; and yes, it suffers the same pain as SuSE/openSuSE). They split one single config file (at least the apache2 one) into 9 (or more) different files.&lt;/p&gt;
&lt;p&gt;Another thing is, for what the hell does a simple LAMP need a full blown Xorg w/ KDE installed ?&lt;/p&gt;</description></item><item><title>Work sometimes sucks</title><link>https://christian.blog.pakiheim.de/posts/2006-03-10_work-sometimes-sucks/</link><pubDate>Fri, 10 Mar 2006 16:22:46 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/?p=62</guid><description>&lt;p&gt;Today &lt;a href="http://www.uni-greifswald.de"&gt;they&lt;/a&gt; finally let me fiddle around on an AIX 5.3 system. Well AIX ain&amp;rsquo;t bad, but misses (by default installation) some features and comfort.&lt;/p&gt;
&lt;p&gt;The first thing I noticed, they &lt;strong&gt;only&lt;/strong&gt;! install &lt;a href="http://en.wikipedia.org/wiki/Telnet"&gt;telnet&lt;/a&gt; and don&amp;rsquo;t even give an option to install sshd .. That sucks, especially if you&amp;rsquo;re supposed to log in via the internet (yay! an telnet open to the internet &amp;#x1f62f;)&lt;/p&gt;
&lt;p&gt;So I googled a bit around and found out, that we should have some Bonus CD&amp;rsquo;s (from IBM of course) featuring openssl/openssh, looked into the cubicle behind the rack and look what I&amp;rsquo;ve found &amp;hellip; Go, go &amp;hellip; &amp;#x1f61b;&lt;/p&gt;</description></item><item><title>vserver related stuff</title><link>https://christian.blog.pakiheim.de/posts/2006-02-21_vserver-related-stuff/</link><pubDate>Tue, 21 Feb 2006 08:07:42 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/?p=61</guid><description>&lt;p&gt;Well, so I finally got around to fix some pending bugs ..&lt;/p&gt;
&lt;p&gt;vzquota and vzctl is finally bumped ( &lt;a href="https://bugs.gentoo.org/122532"&gt;#122532&lt;/a&gt;), new baselayout-vserver is in the tree (fixing some issues with rebooting a vps)
and I&amp;rsquo;m finally working on getting dietlibc updated.&lt;/p&gt;
&lt;p&gt;So let&amp;rsquo;s see what the day reveals &amp;#x1f604;&lt;/p&gt;</description></item><item><title>Work sometimes sucks</title><link>https://christian.blog.pakiheim.de/posts/2006-01-20_work-sometimes-sucks/</link><pubDate>Fri, 20 Jan 2006 17:08:39 +0000</pubDate><guid isPermaLink="false">http://blogs.barfoo.org/phreak/?p=60</guid><description>&lt;p&gt;Today was again horrible. The boss started to drive me nuts on 8.30 and it even got worser and worser &amp;hellip;.&lt;/p&gt;
&lt;p&gt;Sometimes I start thinking how it would be, if I had decided &lt;strong&gt;not&lt;/strong&gt; to move with my parents into the outback
(yeah, we&amp;rsquo;ve also outback in Germany, it&amp;rsquo;s called &lt;strong&gt;East Germany&lt;/strong&gt; &amp;#x1f61b;)&lt;/p&gt;</description></item></channel></rss>