OpenStack学习(二)
虚机安装成功后,,学习虚机的管理
虚机的管理主要使用以下命令
1. 虚机的管理
a. 创建
virt-install --name=wintest01 --ram 512
--vcpus=2 --disk path=/data/wintest01.img,size=8
--accelerate
--cdrom /data/iso/Windows2003.iso
--vnc --vncport=5911 --vnclisten=0.0.0.0
--network bridge=br0 --force --autostart
----------------------------------------------------------------------
- -n --name= 客户端虚拟机名称
- -r --ram= 客户端虚拟机分配的内存
- -u --uuid= 客户端UUID 默认不写时,系统会自动生成
- --vcpus= 客户端的vcpu个数
- -v --hvm 全虚拟化
- -p --paravirt 半虚拟化
- -l --location=localdir 安装源,有本地、nfs、http、ftp几种,多用于ks网络安装
- --vnc 使用vnc ,另有--vnclient=监听的IP --vncport =VNC监听的端口
- -c --cdrom= 光驱 安装途径
- --disk= 使用不同选项作为磁盘使用安装介质
- -w NETWORK, --network=NETWORK 连接客户机到主机网络
- -s --file-size= 使用磁盘映像的大小 单位为GB
- -f --file= 作为磁盘映像使用的文件
b. 克隆虚机
virt-clone -o oeltest01 -n oeltest02 -f /data/test02.img
Options(一些基本的选项): --version:查看版本 -h,--help:查看帮助信息 --connect=URI:连接到虚拟机管理程序 libvirt 的URI General Option(一般选项): -o ORIGINAL_GUEST, --original=ORIGINAL_GUEST:原来的虚拟机名称 -n NEW_NAME, --name=NEW_NAME:新的虚拟机名称 --auto-clone:从原来的虚拟机配置自动生成克隆名称和存储路径。 -u NEW_UUID, --uuid=NEW_UUID:克隆虚拟机的新的UUID,默认值是一个随机生成的UUID Storage Configuration(存储配置): -f NEW_DISKFILE, --file=NEW_DISKFILE:指定新的虚拟机磁盘文件 --force-copy=TARGET:强制复制设备 --nonsparse:不使用稀疏文件复制磁盘映像 Networking Configuration:(网络配置) -m NEW_MAC, --mac=NEW_MAC:设置一个新的mac地址,默认是一个随机的mac
c. 虚机的管理
(1) KVM虚拟机默认配置文件位置: /etc/libvirt/qemu/
(2) virsh命令帮助# virsh -help
(3) 查看kvm虚拟机状态# virsh list --all
(4) KVM虚拟机开机# virsh start oeltest01
(5) KVM虚拟机关机或断电
默认情况下virsh工具不能对linux虚拟机进行关机操作,linux操作系统需要开启与启动acpid服务。在安装KVM linux虚拟机必须配置此服务。
# chkconfig acpid on
# service acpid restart
virsh关机
# virsh shutdown oeltest01
强制关闭电源
# virsh destroy wintest01
(6) 通过配置文件启动虚拟机# virsh create /etc/libvirt/qemu/wintest01.xml
(7)配置开机自启动虚拟机# virsh autostart oeltest01
(8) 导出KVM虚拟机配置文件# virsh dumpxml wintest01 > /etc/libvirt/qemu/wintest02.xml
(9) 添加与删除KVM虚拟机
a. 删除kvm虚拟机# virsh undefine wintest01
b. 重新定义虚拟机配置文件通过导出备份的配置文件恢复原KVM虚拟机的定义,并重新定义虚拟机。
# mv /etc/libvirt/qemu/wintest02.xml /etc/libvirt/qemu/wintest01.xml
# virsh define /etc/libvirt/qemu/wintest01.xml
(10) 编辑KVM虚拟机配置文件# virsh edit wintest01
(11) 挂起服务器# virsh suspend oeltest01
(12) 恢复服务器# virsh resume oeltest01
2. 虚机的调整
CPU添加
cpu添加有两种方式:
1 创建虚拟机的时候可以添加
# virt-install --help | grep cpu --vcpus=VCPUS Number of vcpus to configure for your guest. Ex: --vcpus 5 --vcpus 5,maxcpus=10 --vcpus sockets=2,cores=4,threads=2
安装的时候手动可以添加
--vcpus 5:添加5个虚拟vcpu 当前
--vcpus 5,maxcpus=10:当前CPU为5 最大CPU设置为10
2 创建好的 可以编辑文件更改
更改前内容

<domain type='kvm'> <name>CentOS-6.5-x86_64</name> <uuid>e9258e70-6372-9820-2f2f-cb713c74e2fc</uuid> <memory unit='KiB'>1048576</memory> <currentMemory unit='KiB'>1048576</currentMemory> <vcpu placement='static'>1</vcpu>

更改后的内容

# virsh list --all Id Name State ---------------------------------------------------- 2 CentOS-6.5-x86_64 running # virsh edit CentOS-6.5-x86_64 Domain CentOS-6.5-x86_64 XML configuration edited.


<domain type='kvm'> <name>CentOS-6.5-x86_64</name> <uuid>e9258e70-6372-9820-2f2f-cb713c74e2fc</uuid> <memory unit='KiB'>1048576</memory> <currentMemory unit='KiB'>1048576</currentMemory> <vcpu placement='auto' current="1">4</vcpu>更改为当前1vcpu 最大可获得4vcpu

更改完之后需要重启虚拟机
CentOS7 支持热添加
#virsh setvcpus name 3 --live
热添加总数不能超过最大CPU
内存添加
# virsh edit CentOS-6.5-x86_64
更改前

<domain type='kvm'> <name>CentOS-6.5-x86_64</name> <uuid>e9258e70-6372-9820-2f2f-cb713c74e2fc</uuid> <memory unit='KiB'>1048576</memory> <currentMemory unit='KiB'>1048576</currentMemory> <vcpu placement='auto' current='1'>4</vcpu>

更改后

<domain type='kvm'> <name>CentOS-6.5-x86_64</name> <uuid>e9258e70-6372-9820-2f2f-cb713c74e2fc</uuid> <memory unit='KiB'>4048576</memory> <currentMemory unit='KiB'>1048576</currentMemory> <vcpu placement='auto' current='1'>4</vcpu>

更改为最大4G 重启虚拟机
查看内存
# virsh qemu-monitor-command CentOS-6.5-x86_64 --hmp --cmd info balloon balloon: actual=1024
内存热添加
# virsh qemu-monitor-command CentOS-6.5-x86_64 --hmp --cmd balloon 2048
通过命令修改KVM磁盘大小
建立KVM虚拟机的时候,硬盘大小只给了10G。后来使用过程中发现根目录很快就100%,增加磁盘大小迫在眉睫。kvm 虚拟机的磁盘大小可通过命令:qemu-img resize filename size 来改,要注意的是resize只支持raw格式的磁盘文件,修改之后需要重启。
1.查看虚拟机磁盘信息
[root@agent]# qemu-img info vm1.img
image: vm1.img
file format: raw
virtual size: 10G (10737418240 bytes)
disk size: 4.9G
2.修改磁盘大小
[root@agent]# qemu-img resize vm1.img +10G
Image resized.
3.查看结果
[root@agent]# qemu-img info vm1.img
image: vm1.img
file format: raw
virtual size: 20G (21474836480 bytes)
disk size: 4.9G
OpenStack学习(二)的更多相关文章
- OpenStack学习参考
预备知识 Python 调试手段.日志:pdb 开源框架 Django 面向对象:类.继承.多态 编码规范 搭建环境 安装docker,下载openstack镜像,关于docker参考 使用fuel来 ...
- emberjs学习二(ember-data和localstorage_adapter)
emberjs学习二(ember-data和localstorage_adapter) 准备工作 首先我们加入ember-data和ember-localstorage-adapter两个依赖项,使用 ...
- ReactJS入门学习二
ReactJS入门学习二 阅读目录 React的背景和基本原理 理解React.render() 什么是JSX? 为什么要使用JSX? JSX的语法 如何在JSX中如何使用事件 如何在JSX中如何使用 ...
- TweenMax动画库学习(二)
目录 TweenMax动画库学习(一) TweenMax动画库学习(二) TweenMax动画库学习(三) Tw ...
- Hbase深入学习(二) 安装hbase
Hbase深入学习(二) 安装hbase This guidedescribes setup of a standalone hbase instance that uses the local fi ...
- openstack学习笔记一 虚拟机启动过程代码跟踪
openstack学习笔记一 虚拟机启动过程代码跟踪 本文主要通过对虚拟机创建过程的代码跟踪.观察虚拟机启动任务状态的变化,来透彻理解openstack各组件之间的作用过程. 当从horizon界面发 ...
- Struts2框架学习(二) Action
Struts2框架学习(二) Action Struts2框架中的Action类是一个单独的javabean对象.不像Struts1中还要去继承HttpServlet,耦合度减小了. 1,流程 拦截器 ...
- Python学习二:词典基础详解
作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/7862377.html 邮箱:moyi@moyib ...
- Quartz学习--二 Hello Quartz! 和源码分析
Quartz学习--二 Hello Quartz! 和源码分析 三. Hello Quartz! 我会跟着 第一章 6.2 的图来 进行同步代码编写 简单入门示例: 创建一个新的java普通工程 ...
- SpringCloud学习(二):微服务入门实战项目搭建
一.开始使用Spring Cloud实战微服务 1.SpringCloud是什么? 云计算的解决方案?不是 SpringCloud是一个在SpringBoot的基础上构建的一个快速构建分布式系统的工具 ...
随机推荐
- numpy生成随机数
如果你想说,我不想知道里面的逻辑和实现方法,只想要python生成随机数的代码,请移步本文末尾,最简单的demo帮你快速获取实现方法. 先开始背景故事说明: 在数据分析中,数据的获取是第一步,nump ...
- Spring_day01--注入对象类型属性(重点)_P名称空间注入_注入复杂类型属性_IOC和DI区别_Spring整合web项目原理
注入对象类型属性(重点) Action要new一个service对象,Service中又要new一个Dao对象,现在把new的过程交给spring来操作 1 创建service类和dao类 (1)在s ...
- m2014_c->c语言容器类工具列
转自:http://www.cnblogs.com/sniperHW/category/374086.html cocos2dx内存管理 摘要: cocos2dx基于引用计数管理内存,所有继承自CCO ...
- 四、Android Studio使用——什么样的Project都能导入Studio
1 导入Github源码(别人的Studio工程) 导入之前先看下(导入的工程)gradle-wrapper.properties文件里的gradle-版本是多少. 然后如果这个文件中的版本和你AS工 ...
- 《从零开始学Swift》学习笔记(Day 64)——Cocoa Touch设计模式及应用之目标与动作
原创文章,欢迎转载.转载请注明:关东升的博客 目标(Target)与动作(Action)是iOS和OS X应用开发的中事件处理机制. 问题提出 如图所示是一个ButtonLabelSample案例 ...
- Angular2+学习第1篇 简介
历史: Angular是Google推出的Web前端开发框架,从12年发布起就受到了强烈的关注,他首次提出了双向绑定的概念,让人耳目一新. Angular 2特性 就在2016年9月中旬,时隔4年,G ...
- Windows MFC 打开文本
MFC的CFileDialog自动封装了文件相关的对话框,提供一种简单的文件打开和文件存盘对话框功能. 要使用CFileDialog类,首先要构造一个对象, 项目实例: CFileDialog fil ...
- 页面加载异常 清除浏览器静态文件 js css 缓存 js动态加载js css文件,可以配置文件后辍,防止浏览器缓存
js清除浏览器缓存的几种方法 - 兔老霸夏 - 博客园 https://www.cnblogs.com/Mr-Rocker/p/6031096.html js清除浏览器缓存的几种方法 一.CSS和 ...
- 【转载】为什么不常见include .c文件
备:对于#include <filename.h> ,编译器从标准库路径开始搜索 filename.h 对于#include “filename.h” ,编译器从用户的工作 ...
- Notice: Undefined index: wjs_cookie
w执行顺序. ok <!doctype html> <html> <head> <meta charset="UTF-8"> < ...