虚机安装成功后,,学习虚机的管理

虚机的管理主要使用以下命令

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学习(二)的更多相关文章

  1. OpenStack学习参考

    预备知识 Python 调试手段.日志:pdb 开源框架 Django 面向对象:类.继承.多态 编码规范 搭建环境 安装docker,下载openstack镜像,关于docker参考 使用fuel来 ...

  2. emberjs学习二(ember-data和localstorage_adapter)

    emberjs学习二(ember-data和localstorage_adapter) 准备工作 首先我们加入ember-data和ember-localstorage-adapter两个依赖项,使用 ...

  3. ReactJS入门学习二

    ReactJS入门学习二 阅读目录 React的背景和基本原理 理解React.render() 什么是JSX? 为什么要使用JSX? JSX的语法 如何在JSX中如何使用事件 如何在JSX中如何使用 ...

  4. TweenMax动画库学习(二)

    目录            TweenMax动画库学习(一)            TweenMax动画库学习(二)            TweenMax动画库学习(三)            Tw ...

  5. Hbase深入学习(二) 安装hbase

    Hbase深入学习(二) 安装hbase This guidedescribes setup of a standalone hbase instance that uses the local fi ...

  6. openstack学习笔记一 虚拟机启动过程代码跟踪

    openstack学习笔记一 虚拟机启动过程代码跟踪 本文主要通过对虚拟机创建过程的代码跟踪.观察虚拟机启动任务状态的变化,来透彻理解openstack各组件之间的作用过程. 当从horizon界面发 ...

  7. Struts2框架学习(二) Action

    Struts2框架学习(二) Action Struts2框架中的Action类是一个单独的javabean对象.不像Struts1中还要去继承HttpServlet,耦合度减小了. 1,流程 拦截器 ...

  8. Python学习二:词典基础详解

    作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/7862377.html 邮箱:moyi@moyib ...

  9. Quartz学习--二 Hello Quartz! 和源码分析

    Quartz学习--二  Hello Quartz! 和源码分析 三.  Hello Quartz! 我会跟着 第一章 6.2 的图来 进行同步代码编写 简单入门示例: 创建一个新的java普通工程 ...

  10. SpringCloud学习(二):微服务入门实战项目搭建

    一.开始使用Spring Cloud实战微服务 1.SpringCloud是什么? 云计算的解决方案?不是 SpringCloud是一个在SpringBoot的基础上构建的一个快速构建分布式系统的工具 ...

随机推荐

  1. python+selenium之自定义封装一个简单的Log类

    python+selenium之自定义封装一个简单的Log类 一. 问题分析: 我们需要封装一个简单的日志类,主要有以下内容: 1. 生成的日志文件格式是 年月日时分秒.log 2. 生成的xxx.l ...

  2. __del__()

    __del__() 是类的内置函数,用于定义在脚本退出之前要执行的代码,因为有这个特性,通常被用来在脚本退出前关闭文件.关闭数据库连接.关闭网络连接等操作 [root@localhost ~]$ ca ...

  3. cxGrid 锁定列

    cxGrid锁定列 第1步: 双击cxGrid -> 点击页签“Bands”->点击“Add”加入2个tcxGridBrand, 将1个锁定在左边,最后一个锁定在右边. 如下图 第2步: ...

  4. jquery对象转dom对象

    jq取兄弟级的上移个元素 jquery对象: var a = $(this).prev("a"); console.log(a); 输出: 转dom对象: var a = $(th ...

  5. webpack配置(二)

    在配置webpack json loader的时候报错,如下: 解决方案: 首先,json文件中不能有注释 其次: 这里webpack.consig.js里面,modul下的loaders的loade ...

  6. 基于 Golang 的 xls 读取类库:xls

    Golang 编写的 xls 读取类库,能够实现 xls 表格的读取功能 func (w *WorkBook) ReadAllCells() (res [][]string) { for _, she ...

  7. 3698: XWW的难题[有源汇上下界最大流]

    3698: XWW的难题 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 354  Solved: 178[Submit][Status][Discus ...

  8. [Jenkins] 解决 Gradle 编译包含 SVG Drawable 出现异常

    异常信息 java.awt.AWTError: Can't connect to X11 window server using 'localhost:10.0' as the value of th ...

  9. Excel单元格格式设置

    工作中遇到一些小问题: 例如办公自动化里的如何设置单元格格式 此格式分为两种:一种是样式上的格式 比如边框 行距字体等 第二种为数据格式: 比如每次我输入1000的话自动变红或者加粗字体 office ...

  10. 知问前端——html+jq+jq_ui+mySql+ajax

    **************************************************************************************************** ...