この日記のはてなブックマーク数 Subscribe with livedoor Reader

2012-06-30 Sat


XenServerで、パッチを当てたことにする(無保証) [XenServer]


昨日のブログの続きですが

XenServer5.6 SP2だと、FP1 から上げていった POOL とかを同じ XenCenterから接続してたりすると

- XS56EFP1007
- XS56EFP1008

が当たってないと言われるのが気持ち悪いことこの上ないので、当てたことにする方法です。

# cd /var/patch/applied
# vi ead29a11-9dcd-47ec-b82d-da73516fb38b


とかして、下記を記載します。このファイル名は、patch の uuid です。

<info uuid="ead29a11-9dcd-47ec-b82d-da73516fb38b"
  name-label="XS56EFP1008"
  name-description="Public availability: Hotfix for kernel and xen issues"
 after-apply-guidance="restartHost"
version="1.0" />


中身は本当に当ててあるホストからコピってきましょう。これを必要なだけ繰り返します。
もちろん、本当にパッチが当たるわけではないです。

最後に reboot してオシマイ。

……ほんとにこれでいいのか?という気もするが。



2012-06-29 Fri


間違ったパッチを当ててしまって、再度当て直したい時(無保証) [XenServer]


ちょっと昔のことで忘れましたが、XenServer 5.6 SP2 のインストーラでインストールすると、なぜか

- XS56EFP1007
- XS56EFP1008

があたってないぞ!って怒られちゃうんですよね。まぁXenCenterの表示上の問題なので、実害はないんですが、なんかすっきりしません。

で、なぜか 間違って XS56EFP1007 を当ててしまった日には最悪です。たとえば、SP2006 で更新されたファイルが、XS56EFP1007 で古いものに書き戻されてしまいます。

ならば再度 SP2006 を当てればいいじゃない!といいたいところですが、そうは簡単ではないです。なんとかパッチを消してしまいたいところですが、undo できません。

XS56SP2006 の patch uuid が da76a27e-80d4-4223-a601-ac4b21925937 だとして

# xe patch-destroy uuid=da76a27e-80d4-4223-a601-ac4b21925937
The specified patch is applied and cannot be destroyed.


詰んだ!

いやいや xe patch-clear があったはずだとか思うんですが、単純に

/var/patch


にあるパッチファイルを消すだけで意味がないです。ちなみに、消しちゃっても

# xe patch-upload filename=xs56esp2006.xsupdate


で戻ります。で、普通は再インストールしか手段はないんですが、強引になんとかできなくもないようです。
       
以下、完全無保証(元々このブログの記事全部ですが)

まず ls /var/patch すると、いかにも uuid っぽいファイルが置いてあります。
しかし残念ながら、patch の uuid とは一致してません。が、タイムスタンプとファイルサイズから、あたりをつけて、さらに gpg で暗号化されているので、復号化してやります。

# /usr/bin/gpg --homedir /opt/xensource/gpg --no-default-keyring \
               --keyring /opt/xensource/gpg/pubring.gpg \
               --decrypt /var/patch/c4e54bd4-9784-6e95-20fd-e209e2901f39 > /tmp/sp2006.sh

       
で、念のため patch のバックアップを一旦退避

# cd /opt/xensource/patch-backup/
# mv da76a27e-80d4-4223-a601-ac4b21925937 da76a27e-80d4-4223-a601-ac4b21925937.bak


このファイル名は、patch の uuid になってます(このディレクトリって、密かにDom0のディスク容量を圧迫している気が...)

で、復元したファイルを

# chmod u+x /tmp/sp2006.sh


して、

# cd /tmp
# ./sp2006.sh apply


を実行すると、そのパッチが再度実行されます。本当に対象の patch かどうかは、sp2006.sh を見れば、テキストなのですぐにわかります。

……こんなやり方わかるか!orz

参考
http://forums.citrix.com/thread.jspa?threadID=239060

こういった情報までドキュメントで公開されると嬉しいのになぁ……


IPv4/IPv6 meter
検索キーワードは複数指定できます
ChangeLogを検索
Google
Web www.kunitake.org
思ったより安い……時もある、Amazon

カテゴリ