openstack学习(二)虚拟机XML文件
1 , XML文件
<domain type='kvm'> //如果是Xen,则type=‘xen’
<name>ubuntu</name> //虚拟机名称,同一物理机唯一
<uuid>fd3535db-2558-43e9-b067-314f48211343</uuid> //同一物理机唯一,可用uuidgen生成
<memory>524288</memory>
<currentMemory>524288</currentMemory> //memory这两个值最好设成一样
<vcpu>2</vcpu> //虚拟机可使用的cpu个数,查看物理机可用CPU个数:cat /proc/cpuinfo |grep processor | wc -l
<os>
<type arch='x86_64' machine='pc-i440fx-vivid'>hvm</type> //arch指出系统架构类型,machine 则是机器类型,查看机器类型:qemu-system-x86_64 -M ?
<boot dev='hd'/> //启动介质
<bootmenu enable='yes'/> //表示启动按F12进入启动菜单
</os>
<features>
<acpi/> //Advanced Configuration and Power Interface,高级配置与电源接口
<apic/> //Advanced Programmable Interrupt Controller,高级可编程中断控制器
<pae/> //Physical Address Extension,物理地址扩展
</features>
<clock offset='localtime'/> //虚拟机时钟设置,这里表示本地本机时间
<on_poweroff>destroy</on_poweroff> //突发事件动作
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
<devices> //设备配置
<emulator>/usr/bin/kvm</emulator> //如果是Xen则是/usr/lib/xen/binqemu-dm
<disk type='file' device='disk'>
<driver name='qemu' type='raw'/>
<source file='/opt/vm/vmdev/ubuntu-15.10.raw' />
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> //slot值同一虚拟机上唯一
</disk>
<disk type='file' device='disk'>
<driver name='qemu' type='raw'/>
<source file='/opt/vm/vmdev/ubuntu-15.10_2.raw' />
<target dev='vdb' bus='virtio'/>
</disk>
<disk type='file' device='cdrom'>
<driver name='qemu' type='raw'/>
<source file='/opt/vm/vmiso/ubuntu-15.10-server-amd64.iso'/>
<target dev='hdc' bus='ide'/>
<readonly/>
</disk>
<interface type='bridge'> //利用网桥连接网络
<mac address='fa:92:01:33:d4:fa'/> //可用命令生成:见下面的补充
<source bridge='br100'/> //配置的网桥网卡名称
<target dev='vnet0'/> //同一网桥下相同
<alias name='net0'/> //同一网桥下相同
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> //注意slot值唯一
</interface>
<interface type='network'> //基于虚拟局域网的网络
<mac address='52:54:4a:e1:1c:84'/> //可用命令生成,见下面的补充
<source network='default'/> //默认
<target dev='vnet1'/> //同一虚拟局域网的值相同
<alias name='net1'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> //注意slot值
</interface>
<graphics type='vnc' port='5900' autoport='yes' listen='0.0.0.0' keymap='en-us' //vnc配置,基本不用改
/>
<listen type='address' address='0.0.0.0'/>
</graphics>
</devices>
</domain>
基于网桥的MAC地址创建方法:
root@cy-ubuntu# MACADDR="fa:92:$(dd if=/dev/urandom count=1 2>/dev/null |md5sum |sed 's/^\(..\)\(..\)\(..\)\(..\).*$/\1:\2:\3:\4/')";
root@cy-ubuntu# echo $MACADDR
fa::::d4:fa
基于虚拟局域网MAC地址创建方法:
root@cy-ubuntu# MACADDR="52:54:$(dd if=/dev/urandom count=1 2>/dev/null |md5sum |sed 's/^\(..\)\(..\)\(..\)\(..\).*$/\1:\2:\3:\4/')";
root@cy-ubuntu# echo $MACADDR
::4a:e1:1c:
创建虚拟磁盘:
raw格式:
root@cy-computer:~# qemu-img create -f raw /opt/vmdev/ubuntu-15.10.raw 20G
qcow2格式:
root@cy-computer:~# qemu-img create -f qcow2 -o cluster_size=2M,backing_file=/opt/vmdev/ubuntu-15.10.raw /opt/vmdev/ubuntu-nova.qcow2 40G
//backing_file的使用可以节省磁盘空间和批量创建虚拟机的时间。此时以raw中的系统为基础,qcow2只记录改变的数据
2 , 虚拟网路
创建网桥br100
修改网络配置文件:/etc/network/interfaces
基于DHCP方式:
# interfaces() file used by ifup() and ifdown()
auto lo
iface lo inet loopback #新增
auto enp7s0
iface enp7s0 inet dhcp auto br100
iface br100 inet dhcp
bridge_port enp7s0
bridge_stp off
bridge_maxwait
bridge_fd
注;我的机器配置后发现无法访问网页,删除了两条网关配置才可以,原因是给网卡分配了IP。
root@cy-ubuntu:~# route del -net 0.0.0.0 netmask 0.0.0.0 gw 192.168.1.1
基于静态地址:
# interfaces() file used by ifup() and ifdown()
auto lo
iface lo inet loopback #xin zeng
auto enp7s0
#iface enp7s0 inet dhcp
iface enp7s0 inet static
address 192.168.1.110
netmask 255.255.255.0
broadcast 192.168.1.255
gateway 192.168.1.1 auto br100
#iface br100 inet dhcp
iface br100 inet static
bridge_ports enp7s0
bridge_stp off
bridge_maxwait
bridge_fd
address 192.168.1.110
netmask 255.255.255.0
broadcast 192.168.1.255
gateway 192.168.1.1
重启生效:/etc/init.d/networking restart
openstack学习(二)虚拟机XML文件的更多相关文章
- C#操作XML学习之创建XML文件的同时新建根节点和子节点(多级子节点)
最近工作中遇到一个问题,要求创建一个XML文件,在创建的时候要初始化该XML文档,同时该文档打开后是XML形式,但是后缀名不是.在网上找了好些资料没找到,只能自己试着弄了一下,没想到成功了,把它记下来 ...
- Maven学习 六 pom.xml文件
java jar包的搜索网址:http://mvnrepository.com/ pom作为项目对象模型.通过xml表示maven项目,使用pom.xml来实现.主要描述了项目:包括配置文件:开发者需 ...
- JavaWeb学习 (二十八)————文件上传和下载
在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用 ...
- (转)MyBatis框架的学习(四)——Mapper.xml文件中的输入和输出映射以及动态sql
http://blog.csdn.net/yerenyuan_pku/article/details/71893689 前面对MyBatis框架的学习中,我们对Mapper.xml映射文件多少有些了解 ...
- 【maven学习】settings.xml文件详解
环境 apache-maven-3.6.1 jdk 1.8 eclipse 4.7 Settings.xml是设置maven参数的配置文件,包含类似本地仓储位置.修改远程仓储服务器.认证信息等配置.p ...
- XML学习——java解析xml文件
递归获取每个标签 package test; import java.io.File; import java.util.List; import org.dom4j.Document; import ...
- 学习笔记-解析xml文件
1. Dom4J <students> <student> <name>吴飞</name> <c ...
- 自定义MVC框架(二) -基于XML文件
1.oracle的脚本 create table STUDENT ( sid NUMBER primary key, sname ), age NUMBER, pwd ) ) create seque ...
- Struts2 学习笔记——struts.xml文件之Bean的配置
Struts2的大部分核心组件不是以硬编码的形式写在代码中,而是通过自身的IoC容器来管理的. Struts2以可配置的形式来管理核心组件,所以开发者可以很容易的扩展框架的核心组件.当开发者需要扩展或 ...
随机推荐
- 如何在windows下的Python开发工具IDLE里安装其他模块?
以安装Httplib2模块为例 1 下载模块 到 “https://code.google.com/p/httplib2/” 下载一款适合你的压缩包“httplib2-0.4.0.zip” 2 解压下 ...
- python 替换 文件夹下的 文件名称 及 文件内容
示例效果: 1.替换某文件夹下的 文件夹及子文件夹 的名称 由OldStrDir 变为 NewStrDir: 2.替换某文件夹下的 文件夹及子文件夹 下 所有的文件的名称 由OldStrFile 变为 ...
- C标准头文件<stdlib.h>
是个大杂烩,里面声明了从动态内存分配到常用算法等各种函数和宏 #数据类型 **size_t** **wchar_t** **div_t**是一个结构体类型,也是div()返回的类型 **ldiv_t* ...
- First,FirstOrDefault,Single,SingleOrDefault的区别
操作符 如果源序列是空的 源序列只包含一个元素 源序列包含多个元素 First 抛异常 返回该元素 返回第一个元素 FirstOrDefault 返回default(TSource) 返回该元素 返回 ...
- SharePoint 2013 Designer系列之数据视图
在SharePoint使用中,数据展示是一块很重要的部分,很多时候我们会采用webpart的形式,但是有一些情况,我们不必使用开发,仅需使用Designer即可,下面让我简单介绍下数据视图的使用. 1 ...
- 『SharePoint』Content Editor Webpart不能添加引用_layouts下面的文件
好久没写了,最近没怎么学到新东西,倒是犯了一个很常见的错误,那就是试图在content editor webpart中添加位于_layouts下面的一个txt文件,虽然这个txt中只是几行简单的htm ...
- 隐藏tabbar的属性hidesBottomBarWhenPushed
项目中有需求是A视图控制器push之后B视图控制器需要隐藏底部的tabbar,在pop之后A视图控制器仍然显示tabbar. 其实不需要在push操作时敲 self.hidesBottomBarWhe ...
- iOS - 详细理解KVC与KVO
详细理解KVC与KVO 在面试的时候,KVC与KVO有些时候还是会问到的,并且他们都是Objective C的关键概念,在这里我们先做一个简单地介绍: (一)KVC: KVC即指:NSKeyValue ...
- 谈谈Fragment中的onActivityResult
大家或许有遇到这个神坑,在Fragment中使用startActivityForResult能够成功,可是在Fragment中的onActivityResult却无法被调用.一不注意就让人一夜愁白了头 ...
- Linux简介及常用命令使用5--linux shell编程入门
生成 测试数据的shell脚本 Vim data_create.sh rm -rf ./data.txttouch data.txtfor((i=0;i<2000;i++))dostr=',na ...