Convirt2のインストール2

これの続き

7.convirt-toolのダウンロードとインストール
  ※実機側で実施する。
  ※この手順を実施
  ※rootユーザで作業する。
  # wget http://www.convirture.com/downloads/convirture-tools/2.0.1/convirture-tools-2.0.1.tar.gz
  # tar xvfz convirture-tools-2.0.1.tar.gz
  # cd ./convirture-tools/install/managed_server/scripts
  # ./convirt-tool install_dependencies
  # ./convirt-tool setup

8.VNC用の公開鍵設定
  ※Convirt2のVM側で実施する。
  ※.sshディレクトリが無い場合は作成する。
  ※この手順を実施
  $ eval `ssh-agent -s`
  $ ssh-add ~/.ssh/cms_id_rsa
  $ scp ~/.ssh/cms_id_rsa.pub root@managed-server:/root/.ssh/vnc_proxy_id_rsa.pub
  $ ssh root@vm-server
   # cat ~/.ssh/vnc_proxy_id_rsa.pub >> ~/.ssh/authorized_keys
  
  VNC用ポート「6900-6999」の開放
  # iptables -I INPUT -m state --state NEW -p tcp --dport 6900:6999 -j ACCEPT


9.Webブラウザから接続
  「http://IPアドレス:8081」へ接続
  Username:admin Password:admin
  サーバを追加する。

以上で完了

Convirt2のインストール

Convirt2を入れてみる。
手順は「ConVirt Wiki」の「Using Appliance with KVM」を参考にした。

1.CentOS5.6をインストール
  ※KVMのインストール忘れに注意
  ※インストール後のアップデートも忘れずに

2.インストール前の準備
  ・VNCクライアントがインストールされたPC準備
  ・ブリッジ(br0)の作成と仮想ネットワークの停止
   ※これを参考
  ・tcpの5900番ポートの開放
  ・libvirtVNC設定変更
   デフォルトでは「localhost(127.0.0.1)」しかListenしていないので変更する。
   ※「0.0.0.0」を指定すると、どのIPアドレスからも接続可能となるので注意
   ※可能なら「vnc_password」も有効にしパスワードを設定する。というか、しろ!
   # vi /etc/libvirt/qemu.conf

# vnc_listen = "0.0.0.0"
 ↓
vnc_listen = "0.0.0.0"

# vnc_password = "XYZ12345"
 ↓
vnc_password = "hogehoge" #デフォルトとままとかないよね?

3.Convirt2.0.1のVMイメージのダウンロードと展開
  # wget http://convirture.com/downloads/appliances/convirt-appliance-2.0.1.tbz2
  # tar xvfj convirt-appliance-2.0.1.tbz2

4.Convirt2.0.1のVMを登録と起動
  ・VMイメージの移動
   # mv c2_appliance.disk.xm /var/lib/libvirt/images/
  ・UUIDの生成
   # uuidgen -t

f632ffb8-84fd-11e0-829d-001d09f09baf

  ・VM設定ファイルの作成
   # vi /etc/libvirt/qemu/cms.xml

<domain type='kvm'>
  <name>cms</name>
  <uuid>f632ffb8-84fd-11e0-829d-001d09f09baf</uuid>
  <memory>524288</memory>
  <currentMemory>524288</currentMemory>
  <vcpu>1</vcpu>
  <os>
    <type arch='x86_64' machine='rhel5.4.0'>hvm</type>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
  <clock offset='utc'>
    <timer name='pit' tickpolicy='delay'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/libexec/qemu-kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='none'/>
      <source file='/var/lib/libvirt/images/c2_appliance.disk.xm'/>
      <target dev='vda' bus='virtio'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <target dev='hdc' bus='ide'/>
      <readonly/>
      <address type='drive' controller='0' bus='1' unit='0'/>
    </disk>
    <controller type='ide' index='0'/>
    <interface type='bridge'>
      <mac address='54:52:00:07:6b:1f'/>
      <source bridge='br0'/>
      <model type='virtio'/>
    </interface>
    <serial type='pty'>
      <target port='0'/>
    </serial>
    <console type='pty'>
      <target port='0'/>
    </console>
    <input type='mouse' bus='ps2'/>
    <graphics type='vnc' port='5900' autoport='no' keymap='en-us'/>
  </devices>
</domain>

  ・VMの登録
   # virsh define /etc/libvirt/qemu/cms.xml

ドメイン cms が /etc/libvirt/qemu/cms.xml から定義されました

  ・VMの起動
   # virsh start cms

ドメイン cms が起動されました

5.Convirt2.0.1のVM接続と設定
  ※VNCクライアントから接続する。
  ※Convirt2のVM上で実施
  ※接続できない場合、tcp5900ポートが開放されているか確認。
  ・cmsへログイン
   ID:cms Password:convirt
  ・ネットワーク設定変更
   ※デフォルト「DHCP」なので問題なければそのまま
   $ sudo vi /etc/network/interfaces

# The primary network interface
auto eth0
iface eth0 inet dhcp
 ↓
# The primary network interface
auto eth0
#iface eth0 inet dhcp
iface eth0 inet static
        address 192.168.0.2
        netmask 255.255.0.0
        network 192.168.0.0
        broadcast 192.168.0.255
        gateway 192.168.0.254

  ネットワーク再起動
  $ sudo /etc/init.d/networking restart

6.Convirt2.0.1の起動
  ※Convirt2のVM上で実施
  $ cd ~/convirt
  $ ./convirt-ctl start

Trying to source ./tg2env/bin/activate
virtualenv set to /home/cms/convirt/tg2env

Using  /home/cms/.ssh/cms_id_rsa
Agent pid 864
Identity added: /home/cms/.ssh/cms_id_rsa (/home/cms/.ssh/cms_id_rsa)
ssh key added to agent.
Starting ConVirt using virtualenv : /home/cms/convirt/tg2env
Default character encoding is utf-8
Entering daemon mode
Server running in PID 874
ConVirt Started.

長くなったので続きは、後で。

CentOS5.6にDell OpenManage Server Administratorをインストール

■対象
サーバ:DELL PowerEdge860
OS:CentOS5.6

■サーバ用の最新のDell OpenManage Server Administrator(以降、OMSA)の入手
 Dellサポートホームページの「ドライバおよびダウンロード」から最新のOMSAを取得する。
 ※URLは2011/05/19時点のもの 変更されている可能性があるので注意
 ※ダウンロードにはサービスタグが必要となるのでメモしておく
 ※CD-ROM/DVDのISOイメージとアプリケーションのtarファイルでバージョンが違う場合があるので注意
  DVDのISOイメージのバージョンが6.3でtarファイルのバージョンが6.1だったのでDVDのISOイメージを入手した。

■インストールに向けての小細工
 「/etc/redhat-release」にコード名を追加
 # vi /etc/redhat-release

CentOS release 5.6 (Final) 
 ↓
CentOS release 5.6 (Final) Tikanga

■依存関係のあるパッケージのインストール
 # yum install compat-libstdc++-33-3.2.3-61
 ※他にあるかもしれない

■インストール
 # /mnt/dvd/SYSMGMT/srvadmin/linux/supportscripts/srvadmin-install.sh
 インストーラの指示に従いインストール

TCPポートの開放
 TCPの1311番ポートを開放
 
■再起動
 とりあえず、再起動

KaresansuiでDBを「sqlite」から「mysql」に変更する

Karesansuiのインストール時に「SQLite」を選択したが、今後を考えて「MySQL」に変更する。

■前提
 karesansuiのインストールSQLiteを設定している。

MySQLドライバの入手とインストール
 自分の環境に合ったパッケージをダウンロード
 ※ベーシック認証がかかっているのでID/PASSWORDをここで確認する。
 # wget --http-user=ID --http-passwd=PASSWORD http://updates.karesansui-project.info/karesansui/2.0/RPMS.extras/x86_64/hde-python-MySQLdb-1.2.3-1.x86_64.rpm
 パッケージのインストール
 # rpm -ivh hde-python-MySQLdb-1.2.3-1.x86_64.rpm

Mysqlの設定
 MySQLに接続
 # mysql -u root -p
 
 データベース/ユーザ作成
 mysql > create database karesansui DEFAULT CHARACTER SET utf8;
 mysql > create database pysilhouette DEFAULT CHARACTER SET utf8;
 mysql > grant all on karesansui.* to karesansui@localhost IDENTIFIED BY 'hogehoge';
 mysql > grant all on pysilhouette.* to karesansui@localhost;
 mysql > grant all on karesansui.* to karesansui@'%' IDENTIFIED BY 'hogehoge';
 mysql > grant all on pysilhouette.* to karesansui@'%';

SQLiteから既存データの書き出し
 ※DBの場所などを忘れたら設定ファイルを確認する。
  Karesansui:/etc/opt/karesansui/application.conf
  pysilhouette:/etc/opt/pysilhouette/silhouette.conf

 KaresansuiDBのダンプ
 # sqlite3 /var/opt/karesansui/karesansui.db
 sqlite> .output karesansui.dump
 sqlite> .dump

 pysilhouetteDBのダンプ
 # sqlite3 /var/opt/pysilhouette/pysilhouette.db
 sqlite> .output pysilhouette.dump
 sqlite> .dump
 
■ダンプデータの修正
 ダンプしたデータの修正(共通)
  ・ダンプしたファイルの
   1行目「BEGIN TRANSACTION;」 ⇒ 「START TRANSACTION;」
  ・テーブル作成の記載を削除する。
   ※SQLiteMysqlではautoincrement項目の作成方法が違うので

■テーブルの作成
 ここにテーブル作成用のSQL文があるのでコピペして作成する。

■データの復元
 # mysql -u karesansui -p karesansui < karesansui.dump
 # mysql -u karesansui -p pysilhouette < pysilhouette.dump

■Karesansui設定ファイルの修正
 karesansui設定ファイルの修正
 # vi /etc/opt/karesansui/application.conf

database.bind=sqlite:////var/opt/karesansui/karesansui.db
 ↓
database.bind=mysql://karesansui:hogehoge@localhost/karesansui?charset=utf8 

 pysilhouette設定ファイルの修正
 # vi /etc/opt/pysilhouette/silhouette.conf

database.url=sqlite:////var/opt/pysilhouette/pysilhouette.db
 ↓
database.url=mysql://karesansui:hogehoge@localhost/pysilhouette ?charset=utf8 

■再起動と後始末
 lighthttpdサービスの再起動 
 # /etc/init.d/hde-lighttpd restart

 不要なファイルの削除
  ・mysqlドライバのrpmファイル
  ・ダンプファイル
   などなど

karesansuiでホスト停止時に自動的に停止/サスペンドさせる

Karesansui Documents」で記載が見つからなかったのでメモ

方法は2つ

■「/etc/init.d/libvirt-guests」を使う。
  デフォルトで入っている。
  実行すると、「/var/run/libvirt/libvirt-sock」が無いと怒られる。

Running guests on default URI: error: unable to connect to '/var/run/libvirt/libvirt-sock', libvirtd may need to be started: No such file or directory
error: failed to connect to the hypervisor

  1.「Karesansui」が作る「libvirt-sock」の場所が違うらしいので、リンクを張る。
  # ln -s /var/run/hde-libvirt/libvirt-sock /var/run/libvirt/libvirt-sock

■「/etc/init.d/hde-libvirt-guests」を使う。
  「Karesansui2.0.1」をインストールすると作成される。
  1.デフォルトで入っている「libvirt-guests」を止める。
   # chkconfig libvirt-guests off
  2.「hde-libvirt-guests」を有効にする。
   # chkconfig hde-libvirt-guests on

libvirt-sock」と「hde-libvirt-guests」の中身は、多少の差異はあるが、やってることは同じだった。

karesansuiのインストール

Karesansuiを入れてみる。
手順は「Karesansui Wiki」を参考にした。

1.CentOS5.6をインストール
  ※KVMのインストール忘れに注意
  ※インストール後のアップデートも忘れずに

2.関連パッケージのインストールと削除
  チュートリアルで必要と記載されているのが以下の6パッケージ
   •iscsi-initiator-utils
   •cyrus-sasl-md5
   •gnutls-utils
   •PyXML
   •SDL
   •curl
  上記以外で必要だったパッケージ
   ・perl-HTML-Parser

  パッケージのインストールチェック
  # rpm -q iscsi-initiator-utils cyrus-sasl-md5 gnutls-utils PyXML SDL curl perl-HTML-Parser

  インストールされていないパッケージをインストール
  # yum install iscsi-initiator-utils cyrus-sasl-md5 gnutls-utils PyXML SDL curl perl-HTML-Parser
  ※すでにインストールされているパッケージはそのまま

  競合するパッケージの削除
  # rpm -e --nodeps kvm-qemu-img

3.Karesansui2.0.1のダウンロードと展開
  # wget http://downloads.sourceforge.net/project/karesansui/Karesansui%20Package%20Releases/2.0.1/karesansui-2.0.1-install-pack.tar.gz
  # tar xvzf karesansui-2.0.1-install-pack.tar.gz

4.インストール
  # ./Karesansui/karesansui-install
  当然こうなる。

エラー: このディストリビューションはサポートしていません。 

5.小細工開始
  # vi ./Karesansui/installer/const.py

39行目の以下の行を修正

SUPPORTED_DISTROS = [
   ("centos",  "^5-[12345].*$"),
   ("redhat",  "^5Server-5.[12345].*$"),
   #("redhat",  "^(5Server-5.[12345]|6-6\.).*$"),
]
 ↓
SUPPORTED_DISTROS = [
   ("centos",  "^5-[123456].*$"), # 6を追加
   ("redhat",  "^5Server-5.[12345].*$"),
   #("redhat",  "^(5Server-5.[12345]|6-6\.).*$"),
]

6.再度インストール
  # ./Karesansui/karesansui-install
  インストール時の設定画面は「Karesansui Wiki」の「4.2.3. インストール」を参照
   
7.環境確認
  # ./Karesansui/karesansui-checkenv

@==========================================@
@   Karesansui Environment Check Program   @
@==========================================@
KaresansuiのRPMパッケージが正常にインストールされているかをチェック...  OK
Karesansuiの設定パラメータをチェック...  OK
Karesansuiのpythonモジュールをインポートできるかチェック...  OK
Karesansuiのグループが存在するかをチェック...  OK
Karesansuiの設定ファイルがロードできるかをチェック...  OK
sqlalchemyモジュールをインポートできるかチェック...  OK
pysilhouetteモジュールをインポートできるかチェック...  OK
pysilhouetteの設定パラメータをチェック...  OK
pysilhouetteの設定ファイルがロードできるかをチェック...  OK
KaresansuiのデータベースAPIモジュールをインポートできるかチェック...  sqlite
データベース Karesansui に接続できるかをチェック...  sqlite:////var/opt/karesansui/karesansui.db
KaresansuiのSQLiteデータベースのパーミッションをチェック...  OK
pysilhouetteのデータベースAPIモジュールをインポートできるかチェック...  sqlite
データベース pysilhouette に接続できるかをチェック...  sqlite:////var/opt/pysilhouette/pysilhouette.db
pysilhouetteのSQLiteデータベースのパーミッションをチェック...  OK
Karesansuiのファイル/ディレクトリのパーミッションをチェック...  OK
Karesansuiサービスが起動しているかどうかチェック... OK

全てのチェックをクリアしました。

下記サイトにアクセスしログインしてください。
 https://vm.test.jp/karesansui/v2/
 http://vm.test.jp/karesansui/v2/


8.ファイアウォール(iptables)でフィルタリングしないように修正
 # vi /etc/sysctl.conf

# 以下の設定を追加
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0

9.再起動
  # reboot