KVM安装

一、网卡桥接

1、在原网卡上注释掉IP配置,添加一下内容

  1. BRIDGE=br0

2、配置桥接网卡地址

vim ifcfg-br0

  1. DEVICE="br0"
  2. NM_CONTROLLED="yes"
  3. ONBOOT="yes"
  4. TYPE="Bridge"
  5. BOOTPROTO=none
  6. IPADDR="10.0.0.121"
  7. NETMASK="255.255.255.0"
  8. GATEWAY="10.0.0.2"
  9. DNS1="223.5.5.5"

二、安装KVM

1、查看CPU是否支持虚拟化

  1. cat /proc/cpuinfo | grep --color vmx

2、安装KVM,设置开机自启

  1. yum install qemu-kvm libvirt libguestfs-tools virt-install virt-manager libvirt-python -y
  2. systemctl start libvirtd
  3. systemctl enable libvirtd
  4. # 查看
  5. systemctl is-enabled libvirtd
  6. lsmod | grep kvm

3、安装VNCserver,便于远程控制

(1)、安装
  1. yum -y install tigervnc tigervnc-server tigervnc-server-module
(2)、配置VNC服务
  1. cp /lib/systemd/system/vncserver@.service /lib/systemd/system/vncserver@:1.service> /lib/systemd/system/vncserver@:1.service
  2. vim /lib/systemd/system/vncserver@:1.service
  3. [Unit]
  4. Description=Remote desktop service (VNC)
  5. After=syslog.target network.target
  6. [Service]
  7. Type=forking
  8. ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
  9. ExecStart=/usr/sbin/runuser -l root -c "/usr/bin/vncserver %i"
  10. PIDFile=/root/.vnc/%H%i.pid
  11. ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
  12. [Install]
  13. WantedBy=multi-user.target
(3)、设置VNC密码
  1. vncpasswd P@ssW0rd
(4)、重载配置,启动服务
  1. systemctl daemon-reload
  2. systemctl start vncserver@:1.service && systemctl enable vncserver@:1.service
  3. # 查看
  4. systemctl is-enabled vncserver@:1.service
  5. # 如果启动报错 rm -rf /tmp/.X11-unix/* 然后再启动

三、在KVM上安装系统

1、安装windows

  1. virt-install --name=win2008 --ram 512 --vcpus=1 --disk path=/var/lib/libvirt/images/win2008.img,size=30 --accelerate --cdrom /var/lib/libvirt/images/zh-\ Hans_windows_server_2008_datacenter_enterprise_standard_x86_dvd_x14-26742.iso --vnc --vncport=5917 --vnclisten=0.0.0.0 --network bridge=br0,model=virtio --noautoconsole
  2. # 说明:
  3. name:虚拟机名
  4. ram:内存大小
  5. vcpuscpu核心数
  6. disk path:虚拟机安装路径
  7. cdrom:光盘镜像
  8. vnc:指定vnc
  9. vncport:指定vnc端口
  10. vnclisten:监听地址
  11. bridge:桥接模式

windows下用tightVNC viewer  远程连接10.0.0.121:5917  进行图形化安装

2、安装Linux

  1. virt-install --name=centos7-1 --ram 1024 --vcpus=1 --disk path=/data/centos7-1.img,size=15 --accelerate --cdrom /data/CentOS-7-x86_64-DVD-1708\(1\).iso --vnc --vncport=5917 --vnclisten=0.0.0.0 --network bridge=br0,model=virtio --noautoconsole

四、虚拟机扩容

(1)、直接扩容

  1. virsh shutdown test01.qcow2 //先关机
  2. qemu-img info test01.qcow2
  3. qemu-img resize test01.qcow2 +200G

(2)、在线扩容

  1. # 查看现有磁盘
  2. virsh domblklist centos7-1
  3. # 创建一块qcow2虚拟磁盘
  4. qemu-img create -f qcow2 /data/centos7-1.img 1G
  5. # 在线添加这台qcow2虚拟磁盘
  6. virsh attach-disk centos7-1 /data/centos7-1.img vdb --cache=none --subdriver=qcow2

五、配置更改

(1)、更改内存

  1. # 1. 查看虚拟机当前内存
  2. [root@sh-kvm-1 ~]# virsh dominfo kvm-1 | grep memory
  3. Max memory: 4194304 KiB
  4. Used memory: 4194304 KiB
  5. # 2、动态设置内存为512MB,内存减少
  6. virsh setmem kvm-1 524288
  7. # 注意单位必须是KB
  8. # 3、查看内存变化
  9. # virsh dominfo kvm-1 | grep memory
  10. Max memory: 14194304 KiB
  11. Used memory: 524288 kiB
  12. # 4、内存增加
  13. virsh shutdown kvm-1
  14. virsh edit kvm-1 # 直接更改memory
  15. virsh create /etc/libvirt/demu/kvm-1/xml
  16. # 之后操作1,2,3步骤增加内存

(2)、更改CPU

  1. virsh shutdown kvm-1
  2. virsh edit kvm-1
  3. # <vcpu>2</vcpu> # 4 > 2
  4. virsh create /etc/libvirt/demu/kvm-1/xml

六、KVM基本操作

(1)、查看虚拟机

  1. # 查看运行的虚拟机
  2. virsh list
  3. # 查看所有虚拟机
  4. virsh list --all

(2)、启动虚拟机

  1. # 启动虚拟机
  2. virsh start kvm-1
  3. # 设置开机自启动
  4. virsh autostart kvm-1
  5. # 取消开机自启动
  6. virsh autostart --disable kvm-1

(3)、连接虚拟机

  1. # 连接
  2. virsh console kvm-1
  3. # 推出
  4. ctrl+]

(4)、关闭虚拟机

  1. virsh shutdown kvm-1

(5)、删除虚拟机

  1. # 第一步,停掉虚拟机
  2. virsh shutdown kvm-1
  3. # 第二步
  4. virsh destroy kvm-1
  5. # 第三步
  6. virsh undefine kvm-1
  7. # 第四步
  8. rm /dev/vg_shkvm1/kvm-1 # 不建议删除硬盘

(6)、快照管理

  1. virsh snapshot-create 虚拟机 //创建快照
  2. virsh snapshot-list --domain 虚拟机 //快照信息
  3. virsh snapshot-revert 虚拟机 快照名 //恢复快照
  4. virsh snapshot-delete --domain newframe --snapshotname 1520411749 删除快照

KVM的常用操作的更多相关文章

  1. 记录KVM虚拟机常用操作管理命令

    环境说明 centos7中的KVM NAT方式是kvm安装后的默认方式.它支持主机与虚拟机的互访,同时也支持虚拟机访问互联网,但不支持外界访问虚拟机. 检查当前的网络设置 # virsh net-li ...

  2. KVM虚拟化管理 virt manager常用操作

    部分涉及到Linux.Nginx.tomcat.MySQL等的点滴操作记录,时间长了,就忘掉了,偶尔整理一下操作的history,就此简要备份一下: [原][BG]-一次虚拟化环境实践简要记录: ht ...

  3. 【三】用Markdown写blog的常用操作

    本系列有五篇:分别是 [一]Ubuntu14.04+Jekyll+Github Pages搭建静态博客:主要是安装方面 [二]jekyll 的使用 :主要是jekyll的配置 [三]Markdown+ ...

  4. php模拟数据库常用操作效果

    test.php <?php header("Content-type:text/html;charset='utf8'"); error_reporting(E_ALL); ...

  5. Mac OS X常用操作入门指南

    前两天入手一个Macbook air,在装软件过程中摸索了一些基本操作,现就常用操作进行总结, 1关于触控板: 按下(不区分左右)            =鼠标左键 control+按下        ...

  6. mysql常用操作语句

    mysql常用操作语句 1.mysql -u root -p   2.mysql -h localhost -u root -p database_name 2.列出数据库: 1.show datab ...

  7. nodejs配置及cmd常用操作

    一.cmd常用操作 1.返回根目录cd\ 2.返回上层目录cd .. 3.查找当前目录下的所有文件dir 4.查找下层目录cd window 二.nodejs配置 Node.js安装包及源码下载地址为 ...

  8. Oracle常用操作——创建表空间、临时表空间、创建表分区、创建索引、锁表处理

    摘要:Oracle数据库的库表常用操作:创建与添加表空间.临时表空间.创建表分区.创建索引.锁表处理 1.表空间 ■  详细查看表空间使用状况,包括总大小,使用空间,使用率,剩余空间 --详细查看表空 ...

  9. python 异常处理、文件常用操作

    异常处理 http://www.jb51.net/article/95033.htm 文件常用操作 http://www.jb51.net/article/92946.htm

随机推荐

  1. SQL Server 字段和对应的说明操作(SQL Server 2005 +)

    为什么80%的码农都做不了架构师?>>>   添加说明 EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value ...

  2. 震惊,某博主为吸引眼球拿出压箱底SQL总结,如果你没看那就吃亏了!(超级详细的SQL基础,你还不会的话就别学数据库了)

    这里还有数据库相关的优质文章:快戳我,快戳我

  3. POJ 1176 Party Lamps&& USACO 2.2 派对灯(搜索)

    题目地址 http://poj.org/problem?id=1176 题目描述 在IOI98的节日宴会上,我们有N(10<=N<=100)盏彩色灯,他们分别从1到N被标上号码. 这些灯都 ...

  4. 图论--网络流--费用流POJ 2195 Going Home

    Description On a grid map there are n little men and n houses. In each unit time, every little man c ...

  5. 基于UDP的客户端和服务器端的代码设计

    实验平台 linux 实验内容 编写UDP服务器和客户端程序,客户端发送消息,服务器接收消息,并打印客户端的IP地址和端口号. 实验原理 UDP是无需连接的通信,其主要实现过程如下: 同样,我们可以按 ...

  6. Java 经典面试题:聊一聊 JUC 下的 CopyOnWriteArrayList

    ArrayList 是我们常用的工具类之一,但是在多线程的情况下,ArrayList 作为共享变量时,并不是线程安全的.主要有以下两个原因: 1. ArrayList 自身的 elementData. ...

  7. P3467(矩形覆盖问题)

    描述:https://www.luogu.com.cn/problem/P3467 1.考虑如果整个建筑物链是等高的,一张高为链高,宽为整个建筑物宽的海报即可完全覆盖: 2.若有两个不等高的元素组成建 ...

  8. Java 面向对象和封装

    目录 面向对象思想的概述 类和对象的关系 什么是类 什么是对象 类和对象的关系 局部变量和成员变量的区别 this关键字 构造方法 一个标准的类 面向对象思想的概述 面向过程:当需要实现一个功能的时候 ...

  9. 【MySQL基础总结】运算符的使用

    运算符的使用 算数运算符 比较运算符 结果只能为TRUE(1)或FALSE(0) 逻辑运算符 运算符的优先级 可以通过括号改变优先级 示例 算数运算符 比较运算符 逻辑运算符

  10. Power BI:社保、公积金增减

    本月和上月比较,社保.公积金有增减,拓展开来,每两个相邻月份比较,社保.公积金有增减. 数据放在SQL Server Express,有公司.姓名.分类.个人缴费金额.单位缴费金额.年月等字段,uni ...