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 |
思ったより安い……時もある、Amazon |