How to create a Virtual Machine in SmartOS
在SmartOS中,使用vmadm创建工具创建虚拟机。 此工具需要一个JSON有效负载,并使用输入JSON中指定的属性创建“kvm”或“joyent” brand zone。 正常输出是一系列单行JSON对象,其类型设置为以下之一:
成功
失败
更新
注意
每个对象至少具有“类型”和“消息”字段。 “成功”或“失败”类型的消息将跟随退出状态0表示成功的进程,所有其他退出指示失败。
vmadm create -f <filename.json>
Getting Started
你会需要
SmartOS的最新版本,可从http://download.joyent.com(此处的发布详情)
您的操作系统的ISO选择
VNC客户端
The Machine JSON Description
将下面的代码片段保存到一个名为“vmspec.json”的文件中。 您可以根据需要更改网络和其他变量。 这并不是所有选项的详尽列表。 对于所有选项,请参阅vmadm(1m)。 (size列在MiB中)
{ "brand": "kvm", "vcpus": 1, "autoboot": false, "ram": 1024, "resolvers": ["208.67.222.222", "208.67.220.220"], "disks": [ { "boot": true, "model": "virtio", "size": 40960 } ], "nics": [ { "nic_tag": "admin", "model": "virtio", "ip": "10.88.88.51", "netmask": "255.255.255.0", "gateway": "10.88.88.1", "primary": 1 } ]}"default_gateway": "10.88.88.1",Create the Empty Virtual Machine
使用创建机器工具创建空虚拟机。 请注意,虚拟机将不会运行。
$ vmadm create
注意UUID在最后一步。 该UUID是虚拟机的ID,将用于在其生命周期的其余部分引用它。
$ vmadm create < vmspec.json{"percent":1,"type":"update","message":"checking and applying defaults to payload"}{"percent":2,"type":"update","message":"checking required datasets"}{"percent":28,"type":"update","message":"we have all necessary datasets"}{"percent":29,"type":"update","message":"creating volumes"}{"percent":51,"type":"update","message":"creating zone container"}{"percent":94,"type":"update","message":"storing zone metadata"}{"uuid":"b8ab5fc1-8576-45ef-bb51-9826b52a4651","type":"success","message":"created VM"}Copy your OS ISO to the zone
$ cd /zones/b8ab5fc1-8576-45ef-bb51-9826b52a4651/root/$ wget http://mirrors.debian.com/path_to_an_iso/debian.isoEnsure permissions are correct on the ISO
$ chown root debian.iso$ chmod u+r debian.isoBoot the VM from the ISO Image(从ISO映像启动虚拟机)
vmadm是虚拟机管理工具。 它用于在虚拟机已存在之后管理虚拟机的生命周期。 我们将引导我们刚刚创建的虚拟机,但是在第一次出现之时,请告诉它启动ISO映像。
vmadm boot b8ab5fc1-8576-45ef-bb51-9826b52a4651 order=cd,once=d cdrom=/debian.iso,ideUse VNC to Connect to the VM
vmadm工具可以打印出VM上的信息。 您还可以附加一个部分进行特定打印。
$ vmadm info b8ab5fc1-8576-45ef-bb51-9826b52a4651 vnc{ "vnc": { "display": 39565, "port": 45465, "host": "10.99.99.7" }}Troubleshooting(故障排除)
Zone Networking Issues
如果您将SmartOS作为guest虚拟机运行,则可能会与您的zone有联网问题。 为了解决这个问题,我们需要创建一个桥梁。
如果您查看https://github.com/joyent/smartos-overlay/blob/master/lib/svc/method/net-physical#L179您可以看到该脚本将为vmare产品创建桥梁,但如果您是 使用VirtualBox或Parallells,那么您需要手动执行。
$ ifconfig -ae1000g0: flags=1100943<UP,BROADCAST,RUNNING,PROMISC,MULTICAST,ROUTER,IPv4> mtu 1500 index 2 inet 10.216.214.7 netmask ffffff00 broadcast 10.216.214.255 ether 8:0:27:e1:35:cb$ dladm create-bridge -l e1000g0 vboxbr有一种方法可以在启动时将其添加到/ opt / custom / smf中的smf脚本。 这是一个很好的写作,告诉你它是如何做的。 http://www.psychicfriends.net/blog/archives/2012/03/21/smartosorg_run_things_at_boot.html#003979
Further Reading
Those versed in JavaScript can learn a lot more by reading the vmadm.js source.
How to create a Virtual Machine in SmartOS的更多相关文章
- fail to create java virtual machine..
今天打开zend stdio 的时候 出现的错误 fail to create java virtual machine... 然后找度娘了,,都说改xxxxx, 我打开360 ,把内存清理了一遍 ...
- zend studio failed to create java virtual machine无法启动的解法
zend studio failed to create java virtual machine 解决方案:在安装目录下修改ZendStudio.ini中第十四行处改成 -Xmx512M. -sta ...
- Kettle启动时报错Cannot create java virtual machine & A java exception has occurred
开源免费--最喜欢的四个字没有之一 1.官网下载 https://sourceforge.net/projects/pentaho/files/Data%20Integration/ 下载完后,解压即 ...
- Eclipse "Could not create java virtual machine"的问题解决
今天到了新的环境,需要重新搭建Android的开发环境,下载eclipse并安装了JDK1.6后,启动eclipse,发现出现了错误“Could not create Javavirtual mach ...
- 在eclipse中启动tomcat时报错:could not create java virtual machine... a fatal error...
控制台报错:unrecoginzed option: --launcher XXMaxPermSize 解决方法:-〉 perference -> tomcat ->JVM setting ...
- How to run a (Tomcat)Java application server on a Azure virtual machine
http://www.windowsazure.com/en-us/documentation/articles/virtual-machines-java-run-tomcat-applicatio ...
- [SQL in Azure] Provisioning a SQL Server Virtual Machine on Azure
http://azure.microsoft.com/en-us/documentation/articles/virtual-machines-provision-sql-server/ Provi ...
- [Windows Azure] Create a Virtual Network for Site-to-Site Cross-Premises Connectivity
Create a Virtual Network for Site-to-Site Cross-Premises Connectivity This tutorial walks you throug ...
- [Windows Azure] Create a Virtual Network in Windows Azure
Create a Virtual Network in Windows Azure This tutorial walks you through the steps to create a basi ...
随机推荐
- mssql存储过程 事务
USE [EtownDB]GOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOcreate PROCEDURE InsWxqunfaChildtb @logi ...
- Sql Server Report Service 的部署问题
近期在研究SSRS部署问题,因为以前也用到过SSRS报表,但当时开发的报表是有专门的集成系统的,不需要我自己去部署,所以对这一块的部署也不熟悉,我记得当时我是直接开发出一个SSRS 报表,然后会通过自 ...
- 在doc下面执行zpl语言 Copy 文件名 lpt1
在doc下面执行zpl语言 Copy 文件名 lpt1 测试斑马条码打印机并口是否能正常通讯: 1.Zebra打印机安装好标签和碳带,且打印机进入Ready状态.2.电脑端用Notepad编写输入如下 ...
- 捕获长时间不提交的SQL语句
/* Formatted on 2014/5/19 17:16:16 (QP5 v5.240.12305.39476) */ SELECT s.sid, s.serial#, ss.sql_text ...
- each与list的用法(PHP学习)
1.each的用法 先看API array each ( array &$array ) api里是这么描述的:each — 返回数组中当前的键/值对并将数组指针向前移动一步 我们先来看看返回 ...
- MVC 自定义 以表达式树为参数的htmlhelper
public static MvcHtmlString Try<TModel, TProperty>( this HtmlHelper<TModel> htmlHelper, ...
- 操作系统-容器-Docker:如何将应用打包成为 Docker 镜像?
ylbtech-操作系统-容器-Docker:如何将应用打包成为 Docker 镜像? 1.返回顶部 1. 虽然 DockerHub 提供了大量的镜像,但是由于企业环境的多样性,并不是每个应用都能在 ...
- 廖雪峰Java1-1Java入门-2eclipse安装配置
安装eclipse IDE继承开发环境:Integrated Development Environment 编写代码/组织项目/编译/运行/调试 提升开发效率 1.eclipse下载 eclipse ...
- 从Tomcat无法正常关闭讲讲Java线程关闭问题【转载】
正常情况下,会优先采用catalina.sh stop来停止Tomcat实例,这样可以让服务有机会处理完请求,并做好善后工作. 但如果通过catalina.sh stop命令无法关闭Tomcat实例, ...
- Scrapy-下载中间件
下载中间件 下载器中间件是介于Scrapy的request/response处理的钩子框架. 是用于全局修改Scrapy request和response的一个轻量.底层的系统 编写您自己的下载器中间 ...