0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

OpenNebulaでテスト仮想マシンを作成してみた

Last updated at Posted at 2025-12-04

はじめに

前回の記事「ProxmoxVE上でOpenNebulaをOneDeploy(Ansible)で構築してみた」で構築した環境を使って、実際に仮想マシンを作成してみます。

前提条件

  • OpenNebula 7.0 が正常にインストールされていること
  • ネットワークブリッジ (br0) が正しく設定されていること
  • 仮想ネットワーク admin_net が利用可能であること
  • データストアの TM_MADssh に設定されていること
  • SSH 鍵認証が oneadmin ユーザーで設定されていること

【画像掲載位置】記事のサムネイル画像


1. OpenNebula サービスの確認

まず、OpenNebula の各サービスが正常に動作しているか確認します。

1.1 oneadmin ユーザーへの切り替え

Frontend (nebula-f1) で、flathill ユーザーから oneadmin ユーザーに切り替えます:

sudo -i -u oneadmin

ユーザー切り替えコマンドの実行結果

flathill@nebula-f1:~$ sudo -i -u oneadmin

1.2 ホストの確認

onehost list

期待される出力:

  ID NAME            CLUSTER   RVM      ALLOCATED_CPU      ALLOCATED_MEM STAT
   0 192.168.11.111  default     0       0 / 400 (0%)     0K / 7.7G (0%) on
   1 192.168.11.112  default     0       0 / 400 (0%)     0K / 7.7G (0%) on

onehost list の実行結果

oneadmin@nebula-f1:~$ onehost list
  ID NAME                                                                                                                           CLUSTER    TVM      ALLOCATED_CPU      ALLOCATED_MEM STAT
   1 192.168.11.111                                                                                                                 default      0       0 / 400 (0%)     0K / 7.7G (0%) on
   0 192.168.11.112                                                                                                                 default      0       0 / 400 (0%)     0K / 7.7G (0%) on

すべてのホストの STATon であることを確認します。

1.3 データストアの確認

onedatastore list

期待される出力:

  ID NAME                SIZE AVAIL CLUSTER      IMAGES TYPE DS       TM      
   2 files               -    -     -                 0 fil  fs       ssh     
   1 default            98.3G 77%   -                 0 img  fs       ssh     
   0 system             98.3G 77%   -                 0 sys  -        ssh

onedatastore list の実行結果

oneadmin@nebula-f1:~$ onedatastore list
  ID NAME                                                                                                                                  SIZE AVA CLUSTERS IMAGES TYPE DS      TM      STAT
   2 files                                                                                                                                96.4G 86% 0             0 fil  fs      ssh     on
   1 default                                                                                                                              96.4G 86% 0             0 img  fs      ssh     on
   0 system                                                                                                                                   - -   0             0 sys  -       ssh     on

重要: すべてのデータストアの TMssh になっていることを確認します。もし local になっている場合は、前回の記事「8. データストア設定の検証と修正」を参照して修正してください。

# 詳細確認
onedatastore show 0 | grep TM_MAD
onedatastore show 1 | grep TM_MAD

両方とも TM_MAD : ssh となっていることを確認します。

TM_MAD の確認結果

oneadmin@nebula-f1:~$ onedatastore show 0 | grep TM_MAD
TM_MAD         : ssh
TM_MAD="ssh"
oneadmin@nebula-f1:~$ onedatastore show 1 | grep TM_MAD
TM_MAD         : ssh
TM_MAD="ssh"

1.4 仮想ネットワークの確認

onevnet list

期待される出力:

  ID USER            GROUP        NAME                      CLUSTERS   BRIDGE   STATE    LEASES
   0 oneadmin        oneadmin     admin_net                 0          br0      rdy           0

onevnet list の実行結果

oneadmin@nebula-f1:~$ onevnet list
  ID USER     GROUP    NAME                                                                   CLUSTERS   BRIDGE                                 STATE                        LEASES OUTD ERRO
   0 oneadmin oneadmin admin_net                                                              0          br0                                    rdy                               0    0    0

STATErdy (ready) であることを確認します。

詳細情報を確認:

onevnet show admin_net

onevnet show admin_net の実行結果

oneadmin@nebula-f1:~$ onevnet show admin_net
VIRTUAL NETWORK 0 INFORMATION
ID                       : 0
NAME                     : admin_net
USER                     : oneadmin
GROUP                    : oneadmin
LOCK                     : None
CLUSTERS                 : 0
BRIDGE                   : br0
STATE                    : READY
VN_MAD                   : bridge
PHYSICAL DEVICE          : enp6s18
AUTOMATIC VLAN ID        : NO
AUTOMATIC OUTER VLAN ID  : NO
USED LEASES              : 0

PERMISSIONS
OWNER                    : um-
GROUP                    : ---
OTHER                    : ---

VIRTUAL NETWORK TEMPLATE
BRIDGE="br0"
BRIDGE_TYPE="linux"
DNS="1.1.1.1"
GATEWAY="192.168.11.1"
NETWORK_ADDRESS="192.168.11.0"
NETWORK_MASK="255.255.255.0"
OUTER_VLAN_ID=""
PHYDEV="enp6s18"
SECURITY_GROUPS="0"
VLAN_ID=""
VN_MAD="bridge"

ADDRESS RANGE POOL
AR 0
SIZE           : 48
LEASES         : 0

RANGE                                   FIRST                               LAST
MAC                         02:00:c0:a8:0b:80                  02:00:c0:a8:0b:af
IP                             192.168.11.128                     192.168.11.175


LEASES
AR  OWNER        MAC    IP PORT_FORWARD   IP6

VIRTUAL ROUTERS

VIRTUAL MACHINES
UPDATED        :
OUTDATED       :
ERROR          :

以下の情報が正しく設定されていることを確認:

  • BRIDGE: br0
  • NETWORK ADDRESS: 192.168.11.0
  • NETWORK MASK: 255.255.255.0
  • GATEWAY: 192.168.11.1
  • LEASES: IP アドレス範囲 (例: 192.168.11.128 ~ 192.168.11.175)

2. テンプレートの準備

OpenNebula Marketplace から Alpine Linux イメージをダウンロードします。これは軽量でテストに最適です。

2.1 Marketplace の確認

onemarket list

期待される出力:

  ID NAME                                                           SIZE AVAIL   MARKET   STATE
   0 OpenNebula Public                                                 - yes     0        on

onemarket list の実行結果

oneadmin@nebula-f1:~$ onemarket list
  ID NAME                                                                                                                                            SIZE AVAIL        APPS MAD     ZONE STAT
   1 Linux Containers                                                                                                                                  0M -               0 linuxco    0 off
   0 OpenNebula Public                                                                                                                                 0M -             127 one        0 on

2.2 イメージのダウンロード

OpenNebula MarketplaceからAlpine Linuxをダウンロードします。

onemarketapp export -d default 'Alpine Linux 3.17' alpine.

onemarketapp export の実行結果

oneadmin@nebula-f1:~$ onemarketapp export -d default 'Alpine Linux 3.17' alpine
IMAGE
    ID: 0
VMTEMPLATE
    ID: 0

2.3 イメージの確認

oneimage list

期待される出力:

  ID USER       GROUP      NAME            DATASTORE     SIZE TYPE PER STAT RVMS
   0 oneadmin   oneadmin   Alpine Linux... default        528M OS    No rdy     0

oneimage list の実行結果

oneadmin@nebula-f1:~$ oneimage list
  ID USER     GROUP    NAME                                                                                                                             DATASTORE     SIZE TYPE PER STAT RVMS
   0 oneadmin oneadmin alpine.                                                                                                                          default       256M OS    No rdy     0

STATrdy になるまで待ちます。lockused の場合はまだダウンロード中です。


3. テスト VM の作成

VM をインスタンス化します。

3.1 VM の作成

onetemplate instantiate --nic admin_net alpine

期待される出力:

VM ID: 0

onetemplate instantiate の実行結果

oneadmin@nebula-f1:~$ onetemplate instantiate --nic admin_net alpine
VM ID: 0

3.2 VM ステータスの確認

onevm list

期待される出力:

  ID USER       GROUP      NAME            STAT UCPU    UMEM HOST             TIME
   0 oneadmin   oneadmin   alpine-test-1   runn    0    512M 192.168.11.111  0d 00h01

onevm list の実行結果

oneadmin@nebula-f1:~$ onevm list
  ID USER     GROUP    NAME                                                                               STAT  CPU     MEM HOST                                                         TIME
   0 oneadmin oneadmin alpine-0                                                                           runn    1    128M 192.168.11.111                                           0d 00h00

STATrunn (running) になれば VM は起動しています。

ステータスの遷移:

  • pend (pending): VM 作成待ち
  • hold (hold): ユーザーによる保留
  • prol (prolog): ディスクイメージの転送中
  • boot (boot): ブート処理中
  • runn (running): 実行中
  • fail (failed): エラー

もし fail になった場合は、トラブルシューティングセクションを参照してください。

3.3 VM 詳細情報の確認

onevm show 0

onevm show の実行結果

oneadmin@nebula-f1:~$ onevm show 0
VIRTUAL MACHINE 0 INFORMATION
ID                  : 0
NAME                : alpine-0
USER                : oneadmin
GROUP               : oneadmin
STATE               : ACTIVE
LCM_STATE           : RUNNING
LOCK                : None
RESCHED             : No
HOST                : 192.168.11.111
CLUSTER ID          : 0
CLUSTER             : default
START TIME          : 12/04 02:51:20
END TIME            : -
DEPLOY ID           : 590a6f57-0671-4bf1-ae13-6bec6e0f546a

VIRTUAL MACHINE MONITORING [Thu Dec  4 02:52:23 2025]
METRIC               VALUE           FORECAST        FORECAST_FAR
CPU                  1.0             0.5             -
MEMORY               174.3M          174.3M          -
NETTX                0K              -               -
NETTX_BW             0K              0K              -
NETRX                138K            -               -
NETRX_BW             2K              2K              -
DISKRDBYTES          38.8G           -               -
DISKRDBYTES_BW       1024K           1024K           -
DISKRDIOPS           1499            -               -
DISKRDIOPS_BW        0.16            0.16            -
DISKWRBYTES          352M            -               -
DISKWRBYTES_BW       1.5M            1.5M            -
DISKWRIOPS_BW        0.35            0.35            -
DISKWRIOPS           64              -               -
GPU_COUNT            -               -               -
GPU_UTILIZATION      -               -               -
GPU_MEMORY_UTILIZATI -               -               -
GPU_MEMORY_FREE      -               -               -
GPU_POWER_USAGE      -               -               -

VM_QEMU_PING        : QEMU Guest Agent monitoring disabled

PERMISSIONS
OWNER               : um-
GROUP               : ---
OTHER               : ---

VM DISKS
 ID DATASTORE  TARGET IMAGE                               SIZE      TYPE SAVE
  0 default    vda    alpine                              66M/256M  file   NO
  1 -          hda    CONTEXT                             1M/-      -       -

VM NICS
 ID NETWORK              BRIDGE       IP              MAC               PCI_ID
  0 admin_net            br0          192.168.11.128  02:00:c0:a8:0b:80

SECURITY

NIC_ID NETWORK                   SECURITY_GROUPS
     0 admin_net                 0

SECURITY GROUP   TYPE     PROTOCOL NETWORK                       RANGE
  ID NAME                          VNET START             SIZE
   0 default     OUTBOUND ALL
   0 default     INBOUND  ALL

VIRTUAL MACHINE HISTORY
SEQ UID  REQ   HOST         ACTION       DS           START        TIME     PROLOG
  0 -    -     192.168.11.1 none          0  12/04 02:51:25   0d 00h01m   0h00m02s

USER TEMPLATE
HYPERVISOR="kvm"
LOGO="images/logos/linux.png"
LXD_SECURITY_PRIVILEGED="true"
SCHED_REQUIREMENTS="HYPERVISOR=kvm"

VIRTUAL MACHINE TEMPLATE
AUTOMATIC_DS_REQUIREMENTS="(\"CLUSTERS/ID\" @> 0)"
AUTOMATIC_NIC_REQUIREMENTS="(\"CLUSTERS/ID\" @> 0)"
AUTOMATIC_REQUIREMENTS="(CLUSTER_ID = 0) & !(PIN_POLICY = PINNED)"
CONTEXT=[
  DISK_ID="1",
  ETH0_DNS="1.1.1.1",
  ETH0_EXTERNAL="",
  ETH0_GATEWAY="192.168.11.1",
  ETH0_IP="192.168.11.128",
  ETH0_IP6="",
  ETH0_IP6_GATEWAY="",
  ETH0_IP6_METHOD="",
  ETH0_IP6_METRIC="",
  ETH0_IP6_PREFIX_LENGTH="",
  ETH0_IP6_ULA="",
  ETH0_MAC="02:00:c0:a8:0b:80",
  ETH0_MASK="255.255.255.0",
  ETH0_METHOD="",
  ETH0_METRIC="",
  ETH0_MTU="",
  ETH0_NETWORK="192.168.11.0",
  ETH0_SEARCH_DOMAIN="",
  ETH0_VLAN_ID="",
  ETH0_VROUTER_IP="",
  ETH0_VROUTER_IP6="",
  ETH0_VROUTER_MANAGEMENT="",
  NETWORK="YES",
  SSH_PUBLIC_KEY="ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCOuT3on4z/2lDzDQ6NjoMxwy2awKSAdCni35Lfpy+Ucnzot8JQLDtiQhkpRC3Bz5jeG7aLZZgn920WrMnyqyzigOQMvgsgZQJ+k3klY3tb5uEIqiyOmd1ea1TRzq9nvoJUrkBxvNIabRXrw5tUQSccBDw3RCNaGB3rl+Z5iVBEV2R7gyRSj2OXJKilmnC6pDEH0Q62N28uHjH6fvygjPNDVY9RPg78FnCDfuYV6zMZhmZZSrQeI6tLG5I5XlnNp8xo9IAjrVfJ43yLmSFsD3ytLjTfJJMQ+vGcaCmPsbBvze1PWqbjQpiMPfZjsqIaJm7DQutIknvkbYmU+LUqlEzqEIW++FwaubACDVfk5Z/I7VP+90rKaZQdWCBmUUDiA1z3sgYRfzYfj8TDGoUv4LpafzU908TAYjpGKnNypsSR3u2KCMkUGLkx1DiopjK4DXyK5BMkgjQ17NPfafCBADw5nuqf0VsxGKDbpypeJ5ud41Vxz1nvuqCn1l681Awv2Hk= oneadmin@nebula-f1",
  TARGET="hda" ]
CPU="1"
GRAPHICS=[
  LISTEN="0.0.0.0",
  PORT="5900",
  TYPE="vnc" ]
MEMORY="128"
NIC_DEFAULT=[
  MODEL="virtio" ]
OS=[
  ARCH="x86_64",
  UUID="590a6f57-0671-4bf1-ae13-6bec6e0f546a" ]
TEMPLATE_ID="3"
TM_MAD_SYSTEM="ssh"
VMID="0"

以下の情報を確認:

  • 状態 (STATE): ACTIVE / RUNNING
  • IP アドレス: 192.168.11.xxx (admin_net の範囲内)
  • ホスト (HOST): 192.168.11.111 または 192.168.11.112
  • VNC ポート: VNC 接続用のポート番号

IP アドレスをメモしておきます (後で使用します)。


4. ネットワーク接続の確認

4.1 VM への ping テスト

Frontend (nebula-f1) から VM に ping します:

# onevm show で確認した VM の IP アドレスを使用
ping -c 1 192.168.11.128

期待される出力:

PING 192.168.11.xxx (192.168.11.xxx) 56(84) bytes of data.
64 bytes from 192.168.11.xxx: icmp_seq=1 ttl=64 time=0.5 ms
64 bytes from 192.168.11.xxx: icmp_seq=2 ttl=64 time=0.4 ms
64 bytes from 192.168.11.xxx: icmp_seq=3 ttl=64 time=0.3 ms

ping テストの成功結果

oneadmin@nebula-f1:~$ ping -c 1 192.168.11.128
PING 192.168.11.128 (192.168.11.128) 56(84) bytes of data.
64 bytes from 192.168.11.128: icmp_seq=1 ttl=64 time=0.225 ms

--- 192.168.11.128 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.225/0.225/0.225/0.000 ms

ping が通れば、VM のネットワーク設定は正常です。

4.2 VM への SSH 接続

Alpine Linux のデフォルトユーザーは root です:

ssh root@192.168.11.128

初回接続時はホスト鍵の確認があるので yes と入力します。

SSH 接続の成功画面

oneadmin@nebula-f1:~$ ssh root@192.168.11.128
Warning: Permanently added '192.168.11.128' (ED25519) to the list of known hosts.

VM 内で以下のコマンドを実行して動作確認:

# ホスト名確認
hostname

# IP アドレス確認
ip a

# インターネット接続確認
ping -c 1 8.8.8.8

VM 内でのコマンド実行結果

localhost:~# hostname
localhost
localhost:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    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 02:00:c0:a8:0b:80 brd ff:ff:ff:ff:ff:ff
    inet 192.168.11.128/24 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::c0ff:fea8:b80/64 scope link
       valid_lft forever preferred_lft forever
localhost:~# ping -c 1 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: seq=0 ttl=118 time=22.637 ms

--- 8.8.8.8 ping statistics ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 22.637/22.637/22.637 ms

確認が終わったら VM から抜けます:

exit

5. Sunstone WebUI での確認

5.1 Sunstone へのアクセス

ブラウザで以下にアクセス:

http://192.168.11.110:2616
  • ユーザー名: oneadmin
  • パスワード: opennebulapass

5.2 VM ダッシュボード

左メニューから InstancesVMs をクリックします。

Sunstone VM 一覧画面
image.png

作成した VM (alpine-test-1) が表示され、状態が RUNNING になっていることを確認します。

5.3 VM 詳細画面

VM 名をクリックして詳細画面を開きます。

Sunstone VM 詳細画面
image.png

以下の情報を確認:

  • Info: VM の基本情報 (CPU, メモリ, 状態など)
  • Storage: ディスク使用状況
  • Network: IP アドレス, MAC アドレス
  • Monitoring: CPU/メモリ使用率のグラフ
  • Log: VM 作成/起動時のログ

5.4 VNC コンソール

VM一覧画面右の VNC アイコンをクリックすると、VNC 経由で VM のコンソールにアクセスできます。

Sunstone VNC コンソール画面
image.png

ログインプロンプトが表示されれば、VM は正常に動作しています。


6. 複数 VM の作成

負荷分散やホスト配置を確認するため、複数の VM を作成します。

6.1 2つ目の VM を作成

onetemplate instantiate alpine --name alpine-test-2
oneadmin@nebula-f1:~$ onetemplate instantiate alpine --name alpine-test-2
VM ID: 1

6.2 3つ目の VM を作成

onetemplate instantiate alpine --name alpine-test-3
oneadmin@nebula-f1:~$ onetemplate instantiate alpine --name alpine-test-3
VM ID: 2

6.3 VM 一覧の確認

onevm list

期待される出力:

  ID USER       GROUP      NAME            STAT UCPU    UMEM HOST             TIME
   2 oneadmin   oneadmin   alpine-test-3   runn    0    512M 192.168.11.112  0d 00h01
   1 oneadmin   oneadmin   alpine-test-2   runn    0    512M 192.168.11.111  0d 00h01
   0 oneadmin   oneadmin   alpine-test-1   runn    0    512M 192.168.11.112  0d 00h05

複数 VM の一覧

oneadmin@nebula-f1:~$ onevm list
  ID USER     GROUP    NAME                                                                               STAT  CPU     MEM HOST                                                         TIME
   2 oneadmin oneadmin alpine-test-3                                                                      prol    1    128M 192.168.11.111                                           0d 00h00
   1 oneadmin oneadmin alpine-test-2                                                                      runn    1    128M 192.168.11.112                                           0d 00h00
   0 oneadmin oneadmin alpine-0                                                                           runn    1    128M 192.168.11.111                                           0d 00h12

OpenNebula のスケジューラーが自動的に VM を複数のホストに分散配置していることが確認できます。

6.4 ホストリソースの確認

onehost list

期待される出力:

  ID NAME            CLUSTER   RVM      ALLOCATED_CPU      ALLOCATED_MEM STAT
   0 192.168.11.111  default     2    200 / 400 (50%)   1.0G / 7.7G (13%) on
   1 192.168.11.112  default     1    100 / 400 (25%)   512M / 7.7G (6%)  on

ホストリソースの使用状況

oneadmin@nebula-f1:~$ onehost list
  ID NAME                                                                                                                           CLUSTER    TVM      ALLOCATED_CPU      ALLOCATED_MEM STAT
   1 192.168.11.111                                                                                                                 default      2    200 / 400 (50%)   256M / 7.7G (3%) on
   0 192.168.11.112                                                                                                                 default      1    100 / 400 (25%)   128M / 7.7G (1%) on

RVM (Running VMs) 列で各ホストで稼働している VM 数が確認できます。


7. VM の基本操作

7.1 VM の停止

onevm poweroff alpine-test-2

onevm poweroff の実行結果

oneadmin@nebula-f1:~$ onevm poweroff alpine-test-2

確認:

onevm list

alpine-test-2STATpoff (powered off) になります。

停止後の VM 一覧

oneadmin@nebula-f1:~$ onevm list
  ID USER     GROUP    NAME                                                                               STAT  CPU     MEM HOST                                                         TIME
   2 oneadmin oneadmin alpine-test-3                                                                      runn    1    128M 192.168.11.111                                           0d 00h02
   1 oneadmin oneadmin alpine-test-2                                                                      poff    1    128M 192.168.11.112                                           0d 00h02
   0 oneadmin oneadmin alpine-0                                                                           runn    1    128M 192.168.11.111                                           0d 00h14

7.2 VM の再開

onevm resume alpine-test-2

onevm resume の実行結果

oneadmin@nebula-f1:~$ onevm resume alpine-test-2

確認:

onevm list

alpine-test-2STAT が再び runn になります。

再開後の VM 一覧

oneadmin@nebula-f1:~$ onevm list
  ID USER     GROUP    NAME                                                                               STAT  CPU     MEM HOST                                                         TIME
   2 oneadmin oneadmin alpine-test-3                                                                      runn    1    128M 192.168.11.111                                           0d 00h02
   1 oneadmin oneadmin alpine-test-2                                                                      runn    1    128M 192.168.11.112                                           0d 00h03
   0 oneadmin oneadmin alpine-0                                                                           runn    1    128M 192.168.11.111                                           0d 00h15

7.3 VM の再起動

onevm reboot alpine-0

onevm reboot の実行結果

oneadmin@nebula-f1:~$ onevm reboot alpine-0

7.4 VM の削除

onevm terminate alpine-test-3

onevm terminate の実行結果

oneadmin@nebula-f1:~$ onevm terminate alpine-test-3

確認:

onevm list

alpine-test-3 が一覧から削除されます。

削除後の VM 一覧

oneadmin@nebula-f1:~$ onevm list
  ID USER     GROUP    NAME                                                                               STAT  CPU     MEM HOST                                                         TIME
   2 oneadmin oneadmin alpine-test-3                                                                      shut    1    128M 192.168.11.111                                           0d 00h05
   1 oneadmin oneadmin alpine-test-2                                                                      runn    1    128M 192.168.11.112                                           0d 00h05
   0 oneadmin oneadmin alpine-0                                                                           runn    1    128M 192.168.11.111                                           0d 00h17
oneadmin@nebula-f1:~$ onevm list
  ID USER     GROUP    NAME                                                                               STAT  CPU     MEM HOST                                                         TIME
   2 oneadmin oneadmin alpine-test-3                                                                      epil    1    128M 192.168.11.111                                           0d 00h05
   1 oneadmin oneadmin alpine-test-2                                                                      runn    1    128M 192.168.11.112                                           0d 00h05
   0 oneadmin oneadmin alpine-0                                                                           runn    1    128M 192.168.11.111                                           0d 00h17
oneadmin@nebula-f1:~$ onevm list
  ID USER     GROUP    NAME                                                                               STAT  CPU     MEM HOST                                                         TIME
   1 oneadmin oneadmin alpine-test-2                                                                      runn    1    128M 192.168.11.112                                           0d 00h05
   0 oneadmin oneadmin alpine-0                                                                           runn    1    128M 192.168.11.111                                           0d 00h17

8. VM の監視とログ

8.1 VM モニタリング情報

onevm show 0 --json

VM モニタリング情報の JSON 出力

oneadmin@nebula-f1:~$ onevm show 0 --json
{
  "VM": {
    "ID": "0",
    "UID": "0",
    "GID": "0",
    "UNAME": "oneadmin",
    "GNAME": "oneadmin",
    "NAME": "alpine-0",
    "PERMISSIONS": {
      "OWNER_U": "1",
      "OWNER_M": "1",
      "OWNER_A": "0",
      "GROUP_U": "0",
      "GROUP_M": "0",
      "GROUP_A": "0",
      "OTHER_U": "0",
      "OTHER_M": "0",
      "OTHER_A": "0"
    },
    "LAST_POLL": "1764817933",
    "STATE": "3",
    "LCM_STATE": "3",
    "PREV_STATE": "3",
    "PREV_LCM_STATE": "3",
    "RESCHED": "0",
    "STIME": "1764816680",
    "ETIME": "0",
    "DEPLOY_ID": "590a6f57-0671-4bf1-ae13-6bec6e0f546a",
    "MONITORING": {
      "CPU": "2.0",
      "CPU_FORECAST": "2.45",
      "DISKRDBYTES": "81220204",
      "DISKRDBYTES_BW": "0.0",
      "DISKRDBYTES_BW_FORECAST": "32742.24",
      "DISKRDIOPS": "3047",
      "DISKRDIOPS_BW": "0.0",
      "DISKRDIOPS_BW_FORECAST": "1.25",
      "DISKWRBYTES": "949248",
      "DISKWRBYTES_BW": "99.1",
      "DISKWRBYTES_BW_FORECAST": "514.48",
      "DISKWRIOPS": "352",
      "DISKWRIOPS_BW": "0.06",
      "DISKWRIOPS_BW_FORECAST": "0.24",
      "DISK_SIZE": [
        {
          "ID": "0",
          "SIZE": "66"
        },
        {
          "ID": "1",
          "SIZE": "1"
        }
      ],
      "ID": "0",
      "MEMORY": "184916",
      "MEMORY_FORECAST": "181512.39",
      "NETRX": "3181421",
      "NETRX_BW": "2543.29",
      "NETRX_BW_FORECAST": "4654.77",
      "NETTX": "53321",
      "NETTX_BW": "37.94",
      "NETTX_BW_FORECAST": "39.5",
      "TIMESTAMP": "1764817933",
      "VM_QEMU_PING": "QEMU Guest Agent monitoring disabled"
    },
    "SCHED_ACTIONS": {},
    "TEMPLATE": {
      "AUTOMATIC_DS_REQUIREMENTS": "(\"CLUSTERS/ID\" @> 0)",
      "AUTOMATIC_NIC_REQUIREMENTS": "(\"CLUSTERS/ID\" @> 0)",
      "AUTOMATIC_REQUIREMENTS": "(CLUSTER_ID = 0) & !(PIN_POLICY = PINNED)",
      "CONTEXT": {
        "DISK_ID": "1",
        "ETH0_DNS": "1.1.1.1",
        "ETH0_EXTERNAL": "",
        "ETH0_GATEWAY": "192.168.11.1",
        "ETH0_IP": "192.168.11.128",
        "ETH0_IP6": "",
        "ETH0_IP6_GATEWAY": "",
        "ETH0_IP6_METHOD": "",
        "ETH0_IP6_METRIC": "",
        "ETH0_IP6_PREFIX_LENGTH": "",
        "ETH0_IP6_ULA": "",
        "ETH0_MAC": "02:00:c0:a8:0b:80",
        "ETH0_MASK": "255.255.255.0",
        "ETH0_METHOD": "",
        "ETH0_METRIC": "",
        "ETH0_MTU": "",
        "ETH0_NETWORK": "192.168.11.0",
        "ETH0_SEARCH_DOMAIN": "",
        "ETH0_VLAN_ID": "",
        "ETH0_VROUTER_IP": "",
        "ETH0_VROUTER_IP6": "",
        "ETH0_VROUTER_MANAGEMENT": "",
        "NETWORK": "YES",
        "SSH_PUBLIC_KEY": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCOuT3on4z/2lDzDQ6NjoMxwy2awKSAdCni35Lfpy+Ucnzot8JQLDtiQhkpRC3Bz5jeG7aLZZgn920WrMnyqyzigOQMvgsgZQJ+k3klY3tb5uEIqiyOmd1ea1TRzq9nvoJUrkBxvNIabRXrw5tUQSccBDw3RCNaGB3rl+Z5iVBEV2R7gyRSj2OXJKilmnC6pDEH0Q62N28uHjH6fvygjPNDVY9RPg78FnCDfuYV6zMZhmZZSrQeI6tLG5I5XlnNp8xo9IAjrVfJ43yLmSFsD3ytLjTfJJMQ+vGcaCmPsbBvze1PWqbjQpiMPfZjsqIaJm7DQutIknvkbYmU+LUqlEzqEIW++FwaubACDVfk5Z/I7VP+90rKaZQdWCBmUUDiA1z3sgYRfzYfj8TDGoUv4LpafzU908TAYjpGKnNypsSR3u2KCMkUGLkx1DiopjK4DXyK5BMkgjQ17NPfafCBADw5nuqf0VsxGKDbpypeJ5ud41Vxz1nvuqCn1l681Awv2Hk= oneadmin@nebula-f1",
        "TARGET": "hda"
      },
      "CPU": "1",
      "DISK": [
        {
          "ALLOW_ORPHANS": "YES",
          "CLONE": "YES",
          "CLONE_TARGET": "SYSTEM",
          "CLUSTER_ID": "0",
          "DATASTORE": "default",
          "DATASTORE_ID": "1",
          "DEV_PREFIX": "vd",
          "DISK_ID": "0",
          "DISK_SNAPSHOT_TOTAL_SIZE": "0",
          "DISK_TYPE": "FILE",
          "DRIVER": "qcow2",
          "FORMAT": "qcow2",
          "IMAGE": "alpine",
          "IMAGE_ID": "3",
          "IMAGE_STATE": "2",
          "LN_TARGET": "SYSTEM",
          "ORIGINAL_SIZE": "256",
          "PERSISTENT_SNAPSHOTS": "YES",
          "READONLY": "NO",
          "SAVE": "NO",
          "SIZE": "256",
          "SOURCE": "/var/lib/one//datastores/1/27db6357c422d1a2d4ff506adda5ca52",
          "TARGET": "vda",
          "TM_MAD": "ssh",
          "TYPE": "FILE"
        }
      ],
      "GRAPHICS": {
        "LISTEN": "0.0.0.0",
        "PORT": "5900",
        "TYPE": "vnc"
      },
      "MEMORY": "128",
      "NIC": [
        {
          "AR_ID": "0",
          "BRIDGE": "br0",
          "BRIDGE_TYPE": "linux",
          "CLUSTER_ID": "0",
          "DNS": "1.1.1.1",
          "GATEWAY": "192.168.11.1",
          "IP": "192.168.11.128",
          "MAC": "02:00:c0:a8:0b:80",
          "MODEL": "virtio",
          "NAME": "NIC0",
          "NETWORK": "admin_net",
          "NETWORK_ID": "0",
          "NIC_ID": "0",
          "PHYDEV": "enp6s18",
          "SECURITY_GROUPS": "0",
          "TARGET": "one-0-0",
          "VN_MAD": "bridge"
        }
      ],
      "NIC_DEFAULT": {
        "MODEL": "virtio"
      },
      "OS": {
        "ARCH": "x86_64",
        "UUID": "590a6f57-0671-4bf1-ae13-6bec6e0f546a"
      },
      "SECURITY_GROUP_RULE": [
        {
          "PROTOCOL": "ALL",
          "RULE_TYPE": "OUTBOUND",
          "SECURITY_GROUP_ID": "0",
          "SECURITY_GROUP_NAME": "default"
        },
        {
          "PROTOCOL": "ALL",
          "RULE_TYPE": "INBOUND",
          "SECURITY_GROUP_ID": "0",
          "SECURITY_GROUP_NAME": "default"
        }
      ],
      "TEMPLATE_ID": "3",
      "TM_MAD_SYSTEM": "ssh",
      "VMID": "0"
    },
    "USER_TEMPLATE": {
      "HYPERVISOR": "kvm",
      "LOGO": "images/logos/linux.png",
      "LXD_SECURITY_PRIVILEGED": "true",
      "SCHED_REQUIREMENTS": "HYPERVISOR=kvm"
    },
    "HISTORY_RECORDS": {
      "HISTORY": {
        "OID": "0",
        "SEQ": "0",
        "HOSTNAME": "192.168.11.111",
        "HID": "1",
        "CID": "0",
        "STIME": "1764816685",
        "ETIME": "0",
        "VM_MAD": "kvm",
        "TM_MAD": "ssh",
        "DS_ID": "0",
        "PLAN_ID": "-1",
        "ACTION_ID": "0",
        "PSTIME": "1764816685",
        "PETIME": "1764816687",
        "RSTIME": "1764816687",
        "RETIME": "0",
        "ESTIME": "0",
        "EETIME": "0",
        "ACTION": "0",
        "UID": "-1",
        "GID": "-1",
        "REQUEST_ID": "-1"
      }
    },
    "BACKUPS": {
      "BACKUP_CONFIG": {},
      "BACKUP_IDS": {}
    }
  }
}

リアルタイムの CPU, メモリ, ディスク, ネットワーク使用率が取得できます。

8.2 VM ログの確認

onevm show 0 --xml | grep -A 10 '<LOG>'

VM ログの出力

oneadmin@nebula-f1:~$ onevm show 0 --xml | grep -A 10 '<LOG>'

VM の作成・起動時のログが表示され、エラーが発生した場合はここに詳細が記録されます。

8.3 Sunstone でのモニタリング

Sunstone の VM 詳細画面の Info タブで、グラフィカルにリソース使用状況を確認できます。

Sunstone モニタリンググラフ
image.png


まとめ

OpenNebula 7.0 でテスト VM を作成し、以下を確認しました:

  1. サービスの正常動作確認: ホスト, データストア, 仮想ネットワーク
  2. イメージのダウンロード: OpenNebula Marketplace から Alpine Linux イメージを取得
  3. VM テンプレートの作成: カスタムテンプレートの作成方法
  4. VM の作成と起動: CLI と Sunstone WebUI での操作
  5. ネットワーク接続確認: ping と SSH でのアクセス
  6. 複数 VM の作成: ホストへの自動分散配置
  7. VM の基本操作: 停止, 再開, 再起動, 削除
  8. モニタリングとログ: リソース使用状況の確認

OpenNebula の基本的な使い方を理解できたので、次は以下のステップに進めます:

  • カスタム VM イメージの作成
  • より高度なネットワーク構成 (VLAN, 複数ネットワーク)
  • 自動スケーリングやロードバランシング
  • ストレージバックエンドの追加 (Ceph など)

参考資料

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?