2020年3月23日月曜日

Oracle VM Server for SPARC .... (5)

次回までで制御ドメインが完成したので、今回はゲストドメインの作成を行います。

ゲストドメイン作成の手順は、以下になります。

1. ドメインという器を作る
2. ドメインに各種リソースをアサインする
3. ドメインにOSをインストールする.

そして、3 については、OS を DVD image から初期インストールする方法と、既存サーバにインストールされているOSを p2v ツールで引っ越してくる方法の2つがあります。
今回は、初期インストールでの設定を行います。

まず、作成するドメインの名称やリソースを以下の様に決定します。

Domain名: guest01
仮想 cpu: 8 個
メモリ: 4GB
Crypto: 0
Network: vnet0
Disk:  vdisk0(20GB)
DVD:  iso_disk0
OS: Solaris10  8/11
OBP Parameter: 
 - auto-boot\?=false
 - boot-device=disk1

まず、guest01 という名称のゲストドメインの器を作ります。

primary# ldm add-domain guest01

ゲストドメインに仮想cpuを8個アサインします。

primary# ldm add-vcpu 8 guest01

ゲストドメインに仮想メモリを 4GB アサインします。

primary# ldm add-memory 4g guest01

ゲストドメインに仮想 network インターフェースをアサインします。 このとき、ゲストドメインは、制御ドメインで作成した仮想 switch に接続します。

primary# ldm add-vnet vnet0 primary-vsw0 guest01

ゲストドメインに仮想 disk をアサインします。 先回作成した ZFS pool の ldompool 上に 20GB のデバイスを作り、それを仮想 disk にします。
 
primary# zfs create -p –V 20g  ldompool/guest01/disk1
primary# zfs list
NAME                     USED  AVAIL  REFER  MOUNTPOINT
ldompool                20.6G   113G    32K  /ldompool
ldompool/guest01        20.6G   113G    31K  /ldompool/guest01
ldompool/guest01/disk1  20.6G   134G    16K  -
primary#
primary# ldm add-vdsdev /dev/zvol/dsk/ldompool/guest01/disk1  guest01_vdisk@primary-vds0
primary# ldm add-vdisk vdisk0 guest01_vdisk@primary-vds0  guest01

上記の結果、各種リソースは、下記の様に設定されました。

primary# ldm list-bindings guest01
NAME             STATE      FLAGS   CONS    VCPU  MEMORY   UTIL  UPTIME
guest01          inactive   ------          8     4G
UUID
    ce8d5093-6992-ca9b-dd62-eadf70ebc06e
CONTROL
    failure-policy=ignore
    extended-mapin-space=off
DEPENDENCY
    master=
NETWORK
    NAME             SERVICE                     ID   DEVICE     MAC               MODE   PVID VID                  MTU   LINKPROP
    vnet0            primary-vsw0                0               00:14:4f:f8:3f:57        1
DISK
    NAME             VOLUME                      TOUT ID   DEVICE  SERVER         MPGROUP
    vdisk0           guest01_vdisk@primary-vds0       0                         
primary#

続いて boot のパラメタを設定します。 これは、SPARC サーバでは、OBP に設定する項目です。 ここでは、auto-boot と boot-device だけを設定します。

primary# ldm set-variable  auto-boot\?=false  guest01
primary# ldm set-variable  boot-device=vdisk0  guest01

今回 OS image から OS の install を行うため、制御ドメイン上に copy してきた DVD の OS image(ISOファイル)を read-only の仮想 disk として作成し、ゲストドメインからアクセスできるようにします。


primary# ldm add-vdsdev  options=ro  /export/media/s10u10-dvd.iso  iso_sol10_dvd@primary-vds0
primary# ldm add-vdisk iso_disk0 iso_sol10_dvd@primary-vds0  guest01

以下の様に iso_disk0 という名前で DVD にアクセスできます。

primary# ldm list-services
VCC
    NAME             LDOM             PORT-RANGE
    primary-vcc0     primary          5000-5100
VSW
    NAME             LDOM             MAC               NET-DEV   ID   DEVICE     LINKPROP   DEFAULT-VLAN-ID PVID VID                  MTU   MODE   INTER-VNET-LINK
    primary-vsw0     primary          00:14:4f:f8:fc:bb nxge1     0    switch@0              1               1                         1500         on
VDS
    NAME             LDOM             VOLUME         OPTIONS          MPGROUP        DEVICE
    primary-vds0     primary          guest01_vdisk                                  /dev/zvol/dsk/ldompool/guest01/disk1
                                      iso_s10_dvd    ro                              /export/media/s10u10-dvd.iso
primary#
primary# ldm list -o disk guest01
NAME
guest01

DISK
    NAME             VOLUME                      TOUT ID   DEVICE  SERVER         MPGROUP
    vdisk0           guest01_vdisk@primary-vds0       0    disk@0  primary
    iso_disk0        iso_s10_dvd@primary-vds0         1    disk@1  primary

primary#

DVD イメージから OS install する為に、ゲストドメインを起動します。
ゲストドメインのコンソールは、telnet でアクセスします。

primary# ldm bind-domain guest01
primary# ldm start-domain guest01
primary# ldm list guest01
NAME             STATE      FLAGS   CONS    VCPU  MEMORY   UTIL  UPTIME
guest01          active     -t----  5000    8     4G        12%  12s
primary#
primary# telnet localhost 5000

なお、telnet から抜けて、primary の端末に戻る場合は、Ctrl+] をタイプします。

コンソールアクセスすると SPARC でおなじみの OBP の ok プロンプトが表示されます。
そこで、 devalias とタイプすると、先に設定した仮想 disk や、DVD image disk 、および network デバイスが設定されていることを確認できます。
ここからは、通常の DVD からの OS install 手順に従って、デバイス名の iso_disk0 から boot すると Solaris10 の install 画面が表示されます。

primary# telnet localhost 5000
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

Connecting to console "guest01" in group "guest01" ....
Press ~? for control options ..

{0} ok banner

T5440, No Keyboard
Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
OpenBoot 4.33.4, 4096 MB memory available, Serial #83367955.
Ethernet address 0:14:4f:f8:18:13, Host ID: 84f81813.
{0} ok
{0} ok devalias
iso_disk0                /virtual-devices@100/channel-devices@200/disk@1
vdisk0                   /virtual-devices@100/channel-devices@200/disk@0
vnet0                    /virtual-devices@100/channel-devices@200/network@0
net                      /virtual-devices@100/channel-devices@200/network@0
disk                     /virtual-devices@100/channel-devices@200/disk@0
virtual-console          /virtual-devices/console@1
name                     aliases
{0} ok
{0} ok boot iso_disk0
Boot device: /virtual-devices@100/channel-devices@200/disk@1  File and args:
SunOS Release 5.10 Version Generic_147440-01 64-bit
Copyright (c) 1983, 2011, Oracle and/or its affiliates. All rights reserved.
Configuring devices.
……

OS install 終了後は、OS disk である vdisk0 から boot します。
OS 起動後の設定情報を確認すると、cpu が 8 個、メモリが 4GB、network が vnet0 で正しく設定されていることが確認できます。

primary# telnet localhost 5000
…..
{0} ok
{0} ok boot vdisk0
Boot device: /virtual-devices@100/channel-devices@200/disk@0  File and args:
SunOS Release 5.10 Version Generic_147440-01 64-bit
Copyright (c) 1983, 2011, Oracle and/or its affiliates. All rights reserved.
Hostname: guest01
guest01 console login: root
Password:
Feb 24 14:00:25 guest01 login: ROOT LOGIN /dev/console
Last login: Fri Feb 24 13:42:50 on console
Oracle Corporation      SunOS 5.10      Generic Patch   January 2005
# csh
guest01#
guest01# /usr/platform/sun4v/sbin/prtdiag -v
System Configuration:  Oracle Corporation  sun4v T5440
Memory size: 4096 Megabytes
================================ Virtual CPUs ================
CPU ID Frequency Implementation         Status
------ --------- ---------------------- -------
0      1414 MHz  SUNW,UltraSPARC-T2+    on-line
1      1414 MHz  SUNW,UltraSPARC-T2+    on-line
2      1414 MHz  SUNW,UltraSPARC-T2+    on-line
3      1414 MHz  SUNW,UltraSPARC-T2+    on-line
4      1414 MHz  SUNW,UltraSPARC-T2+    on-line
5      1414 MHz  SUNW,UltraSPARC-T2+    on-line
6      1414 MHz  SUNW,UltraSPARC-T2+    on-line
7      1414 MHz  SUNW,UltraSPARC-T2+    on-line
================================ IO Devices ==================
Slot +            Bus   Name +                            Model
Status            Type  Path
----------------------------------------------------------------------------
guest01# cat /etc/release
                   Oracle Solaris 10 8/11 s10s_u10wos_17b SPARC
  Copyright (c) 1983, 2011, Oracle and/or its affiliates. All rights reserved.
                            Assembled 23 August 2011
guest01# dladm show-dev
vnet0           link: up        speed: 0     Mbps       duplex: unknown
guest01# ifconfig -a
lo0: flags=2001000849 mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
vnet0: flags=1000843 mtu 1500 index 2
        inet 10.188.189.154 netmask fffffc00 broadcast 10.188.191.255
        ether 0:14:4f:f8:3f:57
guest01# df -h -F ufs
Filesystem             size   used  avail capacity  Mounted on
/dev/dsk/c0d0s0         17G   4.6G    13G    28%    /
/dev/dsk/c0d0s7        337M   1.0M   302M     1%    /export
guest01#


これで、ゲストドメインの新規作成作業は、終了です。

次回は、作成済みのゲストドメインに対するリソースの割り当て方法について紹介していきたいと思います。

以上