2014年3月29日土曜日

Oracle VM Server 3.3.1 は OL6 ベース。

ちょっと乗り遅れ感がありますが、
Oracle VM Server 3.3 のベータ版をインストールしてみました。
Oracle VM Early Access Downloads
http://www.oracle.com/technetwork/server-storage/vm/downloads/ovm-early-access-1743261.html

OVS のインストールメディア(ISOファイル)は
OVS-3.3.1-trunk-776.1.iso です。

Dom-0 のカーネルは UEK R3(3.8.13-~)になっています。
[root@ovs331-1 ~]# cat /etc/ovs-release
Oracle VM server release 3.3.1
[root@ovs331-1 ~]# uname -r
3.8.13-16.3.1.el6uek.x86_64
[root@ovs331-1 ~]# rpm -q xen
xen-4.3.0-22.el6.x86_64

ちなみに、メモリ2GB、ディスク8GB のマシン(VM ですが)にインストールしたところ、
デフォルトだと、パーティション構成は下記のようになりました。
[root@ovs331-1 ~]# sfdisk -uM -l

ディスク /dev/sda: シリンダ数 1044、ヘッド数 255、63 セクタ/トラック
Units = 1048576 バイトをメガバイト、1024 バイトのブロック、0 から数えます

デバイス ブート 始点   終点   MiB  #ブロック   Id  システム
/dev/sda1   *     1    500    500     512000   83  Linux
/dev/sda2       501   3863   3363    3443712   83  Linux
/dev/sda3      3864   7863   4000    4096000   82  Linux スワップ / Solaris
/dev/sda4      7864   8191    328     335872   83  Linux
[root@ovs331-1 ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2       3.2G  1.1G  2.0G  36% /
tmpfs           243M     0  243M   0% /dev/shm
/dev/sda1       477M   45M  407M  10% /boot
none            243M   40K  243M   1% /var/lib/xenstored
[root@ovs331-1 ~]# swapon -s
Filename                                Type            Size    Used    Priority
/dev/sda3                               partition       4095996 0       -1

OVS 3.3 ~ は、
Oracle Linux 6 をベースにしています。
起動画面も OL6 っぽくなりました。
右下には「Oracle VM server 3.3.1」と表示されています。



起動完了すると、これまでと同じ感じになります。
まだ Oracle VM Manager には登録していません・・・




以上、OVS 3.3 ベータ版をインストールしてみた話でした。

2014年3月26日水曜日

USB の Oracle VM Server がこわれた話。


安いUSBメモリにOSをインストールしていると
(ソフトウェア的に)結構こわれやすい気がしますが、
Oracle VM Server も安価な USBメモリに インストールしていると
結構こわれることがあります。

こんなことがありました。

ある日突然、Oracle VM Manager から
VM が起動できなくなりました・・・
しかし既に起動されている VM は何ともなそうです。



ためしに、Oracle VM ServerにSSHでログインして
状態確認してみると、xm コマンドが実行できない・・・
/etc/xen/xend-config.sxp (Xenの設定ファイル)が怪しそうです。
[root@ovs2 xen]# cat /etc/ovs-release
Oracle VM server release 3.2.1
[root@ovs2 ~]# xm li
xend [ERROR] Reading config file /etc/xen/xend-config.sxp: invalid character: code 3
Traceback (most recent call last):
  File "/usr/sbin/xm", line 5, in ?
    from xen.xm import main
  File "/usr/lib64/python2.4/site-packages/xen/xm/main.py", line 51, in ?
    from xen.xend.server.DevConstants import xenbusState
  File "/usr/lib64/python2.4/site-packages/xen/xend/server/DevConstants.py", line 21, in ?
    xoptions = XendOptions.instance()
  File "/usr/lib64/python2.4/site-packages/xen/xend/XendOptions.py", line 571, in instance
    inst = XendOptionsFile()
  File "/usr/lib64/python2.4/site-packages/xen/xend/XendOptions.py", line 158, in __init__
    self.configure()
  File "/usr/lib64/python2.4/site-packages/xen/xend/XendOptions.py", line 172, in configure
    self.set_config()
  File "/usr/lib64/python2.4/site-packages/xen/xend/XendOptions.py", line 463, in set_config
    config = sxp.parse(fin)
  File "/usr/lib64/python2.4/site-packages/xen/xend/sxp.py", line 742, in parse
    pin.input(buf)
  File "/usr/lib64/python2.4/site-packages/xen/xend/sxp.py", line 174, in input
    self.input_char(c)
  File "/usr/lib64/python2.4/site-packages/xen/xend/sxp.py", line 187, in input_char
    self.state.fn(c)
  File "/usr/lib64/python2.4/site-packages/xen/xend/sxp.py", line 226, in state_start
    raise ParseError(self, "invalid character: code %d" % ord(c))
xen.xend.sxp.ParseError: invalid character: code 3

「もしや何か自動編集でもされたのか?」などと思い、
内容を見ようとしてみると・・・
テキストファイルのはずが、バイナリファイルと認識されました。
[root@ovs2 ~]# grep -v ^# /etc/xen/xend-config.sxp
Binary file /etc/xen/xend-config.sxp matches
[root@ovs2 ~]# file /etc/xen/xend-config.sxp
/etc/xen/xend-config.sxp: data

ファイルは一部が文字化けしているように見えます。


ためしに、文字化けしているところを
手作業で修正・・・
[root@ovs2 xen]# cp -p xend-config.sxp xend-config.sxp_orig
[root@ovs2 xen]# vi xend-config.sxp

xend-config.sxp ファイルは
テキストファイルとして認識されるようになりました。
[root@ovs2 xen]# file xend-config.sxp
xend-config.sxp: ASCII English text

この問題が起きてから一度 Oracle VM Server を再起動していて、
その時からこのファイルの問題で xend が起動できていませんでした。
そのため、xend を起動します。
[root@ovs2 xen]# xm li
Error: Unable to connect to xend: No such file or directory. Is xend running?
[root@ovs2 xen]# service xend status
xend daemon is stopped
[root@ovs2 xen]# service xend start
Starting xend...
xend daemon (pid 25641) is running...
[root@ovs2 xen]# service xend status
xend daemon (pid 25641) is running...

xm コマンドが実行できるようになりました。
そして VM も起動できるようになりました・・・
[root@ovs2 xen]# xm li
Name                 ID   Mem VCPUs      State   Time(s)
Domain-0              0   816     2     r-----    562.3

本当に USB インストールのせいか?といわれると微妙ですが、
あまりに安い USB メモリ(秋葉原で数百円くらいの)に
OS をインストールしていると、結構こういうことがあります。
ちゃんとした環境で USB インストールするときは、
USB メモリも「それ用」のもの(数千円するような)がよいのでしょう。

以上、USB の OVS がこわれた話でした。

2014年3月17日月曜日

ifconfig より ip コマンドがナウいのかもしれない。

Oracle Linux 6 のマニュアルを見ていて知ったのですが、
ifconfig コマンドは、廃止が検討されているらしいです。

参考にしたマニュアルは下記のあたりです。
タイトルの日本語訳は不思議な感じですが・・・

Oracle Linux 管理者ガイドfor リリース6
第11章 ネットワーク構成
11.3. コマンドラインのネットワーク構成インタフェース
http://docs.oracle.com/cd/E39368_01/e48214/ch11s03.html
これらの操作の実行にifconfigコマンドを使用する場合があります。しかし、ifconfigは廃止が検討されており、将来的にipコマンドによって完全に置換されます。

ifconfig は ほぼ毎日使っているコマンドなので、なくなると困る気がします。

ちなみに、ip コマンドの表示はこんな感じになります。
[root@ovmm3-n2 ~]# cat /etc/oracle-release
Oracle Linux Server release 6.2
[root@ovmm3-n2 ~]# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UNKNOWN qlen 1000
    link/ether 00:0c:29:fb:06:42 brd ff:ff:ff:ff:ff:ff
    inet 192.168.4.232/24 brd 192.168.4.255 scope global eth0
    inet6 fe80::20c:29ff:fefb:642/64 scope link
       valid_lft forever preferred_lft forever

[root@ovmm3-n2 ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:FB:06:42
          inet addr:192.168.4.232  Bcast:192.168.4.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fefb:642/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:44523274 errors:0 dropped:0 overruns:0 frame:0
          TX packets:34537090 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:20051011406 (18.6 GiB)  TX bytes:4795734085 (4.4 GiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:875743865 errors:0 dropped:0 overruns:0 frame:0
          TX packets:875743865 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:185927772279 (173.1 GiB)  TX bytes:185927772279 (173.1 GiB)

ip コマンドでインターフェースに IP アドレスを追加した時は、
ifconfig だと表示されなかったりするようです。
[root@vm01 ~]# cat /etc/oracle-release
Oracle Linux Server release 6.5
[root@vm01 ~]# ip addr add 192.168.5.190/24 dev eth0
[root@vm01 ~]# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:50:56:B0:6C:62
          inet addr:192.168.5.191  Bcast:192.168.5.255  Mask:255.255.255.0
          inet6 addr: fe80::250:56ff:feb0:6c62/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1728098 errors:0 dropped:1134 overruns:0 frame:0
          TX packets:2194406 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:4175562730 (3.8 GiB)  TX bytes:13326583545 (12.4 GiB)

[root@vm01 ~]# ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:50:56:b0:6c:62 brd ff:ff:ff:ff:ff:ff
    inet 192.168.5.191/24 brd 192.168.5.255 scope global eth0
    inet 192.168.5.190/24 scope global secondary eth0
    inet6 fe80::250:56ff:feb0:6c62/64 scope link
       valid_lft forever preferred_lft forever
[root@vm01 ~]# ip addr  ★これだけでもIPアドレスなどは表示されます。
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:50:56:b0:6c:62 brd ff:ff:ff:ff:ff:ff
    inet 192.168.5.191/24 brd 192.168.5.255 scope global eth0
    inet 192.168.5.190/24 scope global secondary eth0
    inet6 fe80::250:56ff:feb0:6c62/64 scope link
       valid_lft forever preferred_lft forever

表示結果にある「~ qdisc pfifo_fast state UP qlen 1000」あたりから
何となく tc コマンドを思い出させられます。

ちなみに、Oracle VM Server でも ip コマンドは使えます。
ip コマンドだと、サーバプールに設定した IP アドレスの見え方が
ちょっと変わるようです。

たとえば、下記の例だと
ブリッジ「c0a80400」に直接IPアドレスがついているように見えたり、
「c0a80400:0」についているように見えたり・・・
ちなみに、このOVSの環境だと 「c0a80400」 は bond0 に構成されているブリッジ(仮想スイッチ)で
2つのIPアドレス(このOVSの管理IPと、OracleVMサーバプールの管理IP)が
割り当てられています。
[root@ovs326-1 ~]# cat /etc/ovs-release
Oracle VM server release 3.2.6
[root@ovs326-1 ~]# brctl show
bridge name     bridge id               STP enabled     interfaces
101931c3cd              8000.0021f6000021       no              bond1.5
10d7422275              8000.0021f6000021       no              bond1.4
c0a80400                8000.0021f6000015       no              bond0
                                                        vif10.0
                                                        vif13.0
[root@ovs326-1 ~]# ifconfig c0a80400
c0a80400  Link encap:Ethernet  HWaddr 00:21:F6:00:00:15
          inet addr:192.168.4.21  Bcast:192.168.4.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:34674562 errors:0 dropped:7935 overruns:0 frame:0
          TX packets:19853439 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:9549384619 (8.8 GiB)  TX bytes:17459667792 (16.2 GiB)
[root@ovs326-1 ~]# ifconfig -a | nl | grep 192.168.4.2 -B1
   145  c0a80400  Link encap:Ethernet  HWaddr 00:21:F6:00:00:15
   146            inet addr:192.168.4.21  Bcast:192.168.4.255  Mask:255.255.255.0
--
   152  c0a80400:0 Link encap:Ethernet  HWaddr 00:21:F6:00:00:15
   153            inet addr:192.168.4.29  Bcast:192.168.4.255  Mask:255.255.255.0
[root@ovs326-1 ~]# ip addr show dev c0a80400
7: c0a80400: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
    link/ether 00:21:f6:00:00:15 brd ff:ff:ff:ff:ff:ff
    inet 192.168.4.21/24 brd 192.168.4.255 scope global c0a80400
    inet 192.168.4.29/24 brd 192.168.4.255 scope global secondary c0a80400:0

ip コマンドはけっこう省略ができるようで、慣れれば使い勝手がいいかもしれません。

以上、ifconfig がなくなるのかもしれない話でした。

2014年3月5日水曜日

Oracle VM 3.3 の Early Access 始まってました。

Oracle VM 3.3 の Early Access Download が開始されました。

Oracle VM Early Access Downloads
http://www.oracle.com/technetwork/server-storage/vm/downloads/ovm-early-access-1743261.html




が、なんとこれから(Oracle VM 3.3.1 ~)は
Oracle VM Manager のリポジトリDBで、Oracle Database が使われなくなるみたいです。
そして、同梱の MySQL Enterprise database に一本化されます。
サポート品質向上やトラブルシュートしやすくすることが目的とのことです。

Oracle VM Release Notes for 3.3
http://www.oracle.com/technetwork/server-storage/vm/downloads/ovm-early-access-1743261.html

超衝撃的! ですがよく考えたら
うちのOracle VM Manager はすべて MySQL でした・・・

以上、Oracle VM Manager が Oracle 使わなくなる話でした。