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

2012-07-02 Mon


XenServerで、Host名を変更する [XenServer]


XenServerで POOL内のホスト名を変更するには、いまからなにを自分が変えようとしているかを、ちょっと意識する必要があります。

普通に XenCenterから対象ホストを指定して、その Properties から変えればいいんじゃないか?と思うんですが、これでは ssh でログインしたときのホスト名は変わりません。実は XenCenter から変更したのは name-label で、hostname ではありません。

これは

# xe host-list uuid=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx params=name-label,hostname
name-label ( RW) : xenserver1_changed
      hostname ( RO): xenserver1


を実行してみることでわかります(xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxは、変更したホストのUUID)

XenServerのスレーブサーバは、/etc/sysconfig/network の生成などを、マスタサーバから構成情報を取得して生成しているんですが

/etc/init.d/management-interface


このスクリプトが行なっているようです。

生成、と書きましたが、実際は一部設定ファイルの置換です(例外あり?)

/opt/xensource/libexec/interface-reconfigure


に詳細な処理が書いてあります。

で、

/etc/sysconfig/network


に関しては、DNSDEV, GATEWAYDEVしか書き換えず

HOSTNAME=xenserver1


みたいな箇所は、インストール時のままとなります。

つまりは、XenServer は、管理上、ホストの name-label と hostname を区別してるんですね。

これ以外にも

/etc/hostname
/etc/iscsi/initiatorname.iscsi

あたりも hostname が埋め込まれていますが、name-label の変更では更新されません。インストール時に指定したホスト名がそのまま継続して使われます。

よって、自身の host uuid を調べようと

# xe host-list hostname=`hostname` params=uuid --minimal


とかは、ホスト名に重複がない限りはうまく行くでしょうが、

# xe host-list name-label=`hostname` params=uuid --minimal


は、必ずうまく行くとは限りません。まぁ普通はあとでホスト名を変えるなんてことはしないと思いますけど……

ちなみに、ホスト名を xe コマンドで変更することはできないの?と疑問に思うことでしょう。しかし

# xe host-list uuid=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx params=name-label,hostname
name-label ( RW) : xenserver1_changed
      hostname ( RO): xenserver1


にある通り、hostname は、RO(Read Only)で、変更はできません。ssh でログインして、vi などで /etc/sysconfig/network とかを書き換えるしかないようです。



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

カテゴリ