喜欢IT的一个“武痴”! 喜欢追求新技术、探索技术!
分类: 系统运维
2012-12-25 14:55:56
ORACLE VM(LDOM)技术主要基于T系列主机,集成于SP(service process)中的Hypervisor管理中硬件的分配,包括CPU、memory以及总线IO等。
如果想使用ORACLE的VM技术,首先必须选择ORACLE发布的T系列主机,只要该系列主机才支持Hypervisor的VM技术,只要选择T 系列主机,在硬件上就能满足了。
而在软件上比较简单,只要选择Solaris 10 06年10月及以后的版本的操作系统,并使用ldom软件来创建control domain(控制域,用户创建和管理各个虚拟机),LDom软件可以从EIS盘获取,也可以从ORACLE公司网站下载。
此外,软件和硬件准备好,最为关键是需要一个完整的、可行、有效的虚拟计划,必须对所使用的SPARC T系列主机的CPU、memory等等资源有清晰规划。
VM配置实施
确认Hypervisor的版本,建议使用最新的Hypervisor版本,这就需要检查T系列主机的firmware,具体的update firmwar方法可以参考ORACLE主机提供的相关资料。
VM(LDOM)软件安装
主机系统必须安装Solaris 10操作系统后,才能具体实施VM计划,不能像M系列主机那样的domain(分区)技术可以在xscf中就可以直接进行。主机安装好操作系统后,再安装VM(LDOM)软件:
root@testdemo # pwd
/opt/sun/vm/OVM_Server_SPARC-2_1/Install
root@testdemo # ./install-ldm
Welcome to the Oracle VM Server for SPARC installer.
You are about to install the LDoms Manager package, SUNWldm, that will enable
you to create, destroy and control other domains on your system. You will
also be given the option of running the Oracle VM Server for SPARC Configuration
Assistant (ldmconfig) to setup the control domain and create guest domains.
If the Solaris Security Toolkit (SST) is installed, you will be prompted to
optionally harden your control domain.
Installing LDoms packages.
pkgadd -n -d "/opt/sun/vm/OVM_Server_SPARC-2_1/Product" -a pkg_admin SUNWldm.v
Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
Feb 23 19:17:37 testdemo sendmail[1217]: My unqualified host name (testdemo) unknown; sleeping for retry
Feb 23 19:18:37 testdemo sendmail[1217]: unable to qualify my own domain name (testdemo) -- using short name
Feb 23 19:18:37 testdemo sendmail[1217]: [ID 702911 mail.alert] unable to qualify my own domain name (testdemo) -- using short name
Installation of
pkgadd -n -d "/opt/sun/vm/OVM_Server_SPARC-2_1/Product" -a pkg_admin SUNWldmp2v
Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
Feb 23 19:18:38 testdemo sendmail[1244]: My unqualified host name (testdemo) unknown; sleeping for retry
Feb 23 19:19:38 testdemo sendmail[1244]: unable to qualify my own domain name (testdemo) -- using short name
Feb 23 19:19:38 testdemo sendmail[1244]: [ID 702911 mail.alert] unable to qualify my own domain name (testdemo) -- using short name
Installation of
Oracle VM Server for SPARC Configuration
Once installed, you may configure your system for a basic LDoms
deployment. If you select "y" for the following question, the Oracle
VM Server for SPARC Configuration Assistant (tty) will be launched
following a successful installation of the packages.
(You may launch the Configuration Assistant at a later time with the
command: /usr/sbin/ldmconfig, or use the GUI Configuration Assistant
which is bundled in the Oracle VM Server for SPARC zip file - see
README.GUI for more details)
Select an option for configuration:
y) Yes, launch the Configuration Assistant after install
n) No thanks, I will configure the system manually later
Enter y or n [y]: n
安装完软件,脚本将自动创建primary域,如果没有使用EIS设置过系统的话,需要将以下的路径加入用户的profile中:
PATH=$PATH:/opt/SUNWldm/bin; export PATH (for Bourne or K shell)
MANPATH=$MANPATH:/opt/SUNWldm/man; export MANPATH
set path=($path /opt/SUNWldm/bin) (for C shell)
set MANPATH=($MANPATH /opt/SUNWldm/man)
root@testdemo # ldm list
NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME
primary active -n-c-- SP 64 5920M 0.0% 3h 56m
以上安装采用了安装脚本进行安装,也可以直接安装这几个程序包,安装脚本比较简单,大多数情况下回车即可,只有最后回答n,安装完无需马上配置,可以根据计划进行手工配置。
确认主机未划分过虚拟机
安装完软件后,确认该主机没有做过任何的虚拟机的划分,其方法比较简单,就是直接恢复厂值设置,方法如下:
# ldm set-spconfig factory-default 将factory-default设置为当前启动参数
回到SP, -> stop /SYS
-> start /SYS此时主机将恢复不做任何虚机的状态。
如果系统没有安装ldm软件,可以采用如下方法:
在SP, -> cd /HOST/bootmode
-> set config="factory-default"
-> start /SYS
以上两种方法都可以将主机系统恢复到最初的原始状态,没有任何虚机的划分,释放所有的资源给未来的控制域control domain。
创建缺省的服务
ORACLE VM技术需通过一个叫做控制域的虚机来创建和管理应有的其他虚机,比如服务域、IO域以及客户机域等,一般将服务域、IO域合并在控制域中。控制域最为重要的三个缺省虚拟服务分别为:磁盘虚拟服务、网络虚拟服务以及console控制台虚拟服务。
a. 虚拟磁盘服务
通过控制域的虚拟磁盘服务,可以将存储设备灵活地分配给其他虚拟主机,当然,虚拟主机可以拥有独立的存储空间,比如,虚拟主机可以独占PCIE槽位,这样该总线上的存储设备亦可以被虚拟主机所独占。
b. 网络虚拟服务
通过控制域设置的网络虚拟交换机服务,虚拟主机可以以共享或者独占的网卡的方式来获取网络服务。
c. Console控制台虚拟服务
这些虚拟服务提供了虚拟主机的OBP的console台访问,通过这样服务,可以安装和管理虚拟主机。
# /opt/SUNWldm/bin/ldm add-vds primary-vds0 primary
创建虚拟磁盘服务
# /opt/SUNWldm/bin/ldm add-vcc port-range=5000-5100 primary-vcc0 primary
创建虚拟console台服务
# /opt/SUNWldm/bin/ldm add-vsw net-dev=e1000g0 primary
创建虚拟网络交换机服务
创建三个缺省的虚拟服务后,可以用以下命令查看和验证:
# /opt/SUNWldm/bin/ldm list-services primary
初始化控制域control domain
控制域需要占用一定的CPU、memory资源,以及T系列特有的加密单元资源,控制域所占用的资源比较少,可以尽量以较小的资源满足控制域的运行。
root@testdemo # ldm set-vcpu 4 primary 设置控制域CPU资源
root@testdemo # ldm set-memory 1g primary设置控制域memory资源
root@testdemo # ldm set-mau 0 primary 设置控制域加密单元(不使用该资源)
root@testdemo # ldm add-config initial 保存配置设置
root@testdemo # ldm list-config
factory-default
initial [current]
root@testdemo # shutdown -y -g0 -i6
重启主机是为了释放资源,如果虚拟机需要独占PCIE总线,在设置好控制域后,将需要独占的PCIE总线槽位用命令脱离控制域控制,但只有reboot系统后才能真正释放资源(EIS光盘里的checklist里面也说明了direct IO的相关内容),这个在后面创建客户虚拟机时候将说明如何操作。
至此,primary控制域创建和初始化已经完成,系统reboot起来后,就可以按照原有的虚拟计划进行虚拟机的划分了。
虚拟主机的console台是需要通过虚拟console服务获取访问的,缺省情况下,虚拟console服务程序不启动,使用svcadm enable vntsd将该进程online提供服务。
创建客户虚拟主机
1. 确定boot设备
操作系统安装盘可以使用主机内置硬盘,也可以使用SAN存储上的LUN作为引导硬盘,这取决于用户的设备和计划。用虚拟磁盘服务将对应的硬盘设备分配给虚拟主机,如果需要从独占的PCIE总线获取引导LUN的话,就使用direc IO方式将设备分配给虚拟主机。
2. Console台
每个虚拟主机都是需要一个console的,console上可以管理和查看虚拟主机的真实情况,console服务可以从控制域的虚拟console台服务中获取,创建虚拟机后,控制域会自动分配一个端口号(控制域中创建虚拟console台指定的端口号),从而获取虚拟机的console的方法就是telnet localhost 端口即可。
3. 创建客户虚拟机
首先创建一个虚拟主机的框架,然后将所需要的资源一一分配给虚拟主机:
root@testdemo # ldm add-domain LdomDemo创建一叫LdomDemo的虚拟主机
root@testdemo # ldm add-vcpu 12 LdomDemo分配12个虚拟CPU资源
root@testdemo # ldm add-memory 2G LdomDemo分配2G内存
root@testdemo # ldm add-vnet vnet1 primary-vsw0 LdomDemo增加一个网卡
接着选择boot硬盘,可以选择direct IO的硬盘,也可以选择一个虚拟硬盘:
root@testdemo # format
Searching for disks...done AVAILABLE DISK SELECTIONS:
0. c1t0d0
/pci@400/pci@0/pci@8/scsi@0/sd@0,0
1. c1t1d0
/pci@400/pci@0/pci@8/scsi@0/sd@1,0
Specify disk (enter its number): ^D
此处选择c1t1d0硬盘作为虚拟主机的引导硬盘,该内置硬盘可以通过虚拟磁盘服务创建一个虚拟磁盘提供给客户虚拟主机:
root@testdemo # ldm add-vdsdev /dev/dsk/c1t1d0s2 vol1@primary-vds0
将物理磁盘c1t1d0作为虚拟磁盘设备加入虚拟磁盘服务中
root@testdemo # ldm add-vdisk bootdisk vol1@primary-vds0 LdomDemo
使用虚拟磁盘设备给客户虚拟主机设置一个名叫bootdisk的虚拟磁盘
root@testdemo # ldm set-var auto-boot\?=true LdomDemo
设置auto-boot?参数为false,这使得客户虚拟主机能够引导后停在ok状态
root@testdemo # ldm set-var boot-device=bootdisk
设置引导设备为bootdisk
root@testdemo # ldm bind-domain LdomDemo
在start客户虚拟主机之前,将所有资源和虚拟主机进行绑定,该步骤必须有,否则start客户虚拟主机时候将会报错。
ldm add-spconfig final-config
照此创建其他的客户虚拟主机后,用以上的命令将所有配置进行保存。
最后的步骤就是start客户虚拟主机,然后进行操作系统的安装:
root@testdemo # ldm start LdomDemo
root@testdemo # telnet localhost 5000
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Connecting to console "LdomDemo" in group "LdomDemo" ....
Press ~? for control options ..
?
{0} ok
ok下可以使用devalias命令查看设置的bootdisk(可以直接boot bootdisk,因前面所设置的引导盘的别名就是bootdisk),如果该物理硬盘上有操作系统的话,客户虚拟主机即可马上启动操作系统。
控制域可以使用ISO文件作为引导光盘,以下举例为使用操作系统的ISO映像文件来作为引导光盘:(以下操作需要stop客户虚拟主机后才能操作)
ldm add-vdsdev /opt/sun/sol-10-u10-ga-sparc-dvd.iso cdrom-iso@primary-vds0
ldm add-vdisk cdrom cdrom-iso@primary-vds0 LdomDemo
至此就可以直接在ok下boot cdrom来安装操作系统了。