kvm学习笔记(一,基础概念) kvm 原理

   2023-02-10 学习力0
核心提示:前言   阿里云的云主机,采用的kvm,今天就花了点时间研究了下。一、安装官方文档参考:http://www.linux-kvm.org/page/HOWTO二、快速建立一个基于vnc的虚拟机安装 桥接网卡命令创建虚拟机 virt-install \#--network bridge:br0如果主机网卡不是桥接模式

前言

   阿里云的云主机,采用的kvm,今天就花了点时间研究了下。

一、安装

官方文档参考:http://www.linux-kvm.org/page/HOWTO

二、快速建立一个基于vnc的虚拟机安装

 

桥接网卡

命令创建虚拟机

 

virt-install \
#--network bridge:br0  如果主机网卡不是桥接模式注释掉,默认走NAT模式
--name vm12 \
--ram=1024 \
--vcpus=1 \
--disk path=./vm12.img,size=10 \
--graphics vnc,password=123456,port=5930,listen=0.0.0.0 \
--cdrom ./CentOS-6.8-i386-minimal.iso

TightVNC客户端,输入端口5930和密码进入安装画面

三、配置和命令的查看方法

1.virsh list 显示运行的虚拟机

2.virsh list --all 显示所有

3.virsh start  vm12 启动vm12虚拟机主机

3.virsh destroy vm12 强制关闭vm12

4.virsh undefine vm12 删除vm12

5.virsh shutdown vm12 友好关闭,一般还是强制吧

6.rpm -ql libvirt  列出包的相关文件

7.通过6

8.更多参数...
virsh define instance-00000015.xml #通过配置文件定义一个虚拟机(这个虚拟机还不是活动的)
virsh edit instance-00000015 # 编辑配置文件(一般是在刚定义完虚拟机之后)
virsh start instance-00000015 #启动名字为ubuntu的非活动虚拟机
virsh reboot instance-00000015 #重启虚拟机
virsh create instance-00000015.xml #创建虚拟机(创建后,虚拟机立即执行,成为活动主机)
virsh suspend instance-00000015 #暂停虚拟机
virsh resume instance-00000015 #启动暂停的虚拟机
virsh shutdown instance-00000015 #正常关闭虚拟机
virsh destroy instance-00000015 #强制关闭虚拟机
virsh dominfo instance-00000015 #显示虚拟机的基本信息
virsh domname 2 #显示id号为2的虚拟机名
virsh domid instance-00000015 #显示虚拟机id号
virsh domuuid instance-00000015 #显示虚拟机的uuid
virsh domstate instance-00000015 #显示虚拟机的当前状态
virsh dumpxml instance-00000015 #显示虚拟机的当前配置文件(可能和定义虚拟机时的配置不同,因为当虚拟机启动时,需要给虚拟机分配id号、uuid、vnc端口号等等)
virsh setmem instance-00000015 512000 #给不活动虚拟机设置内存大小   查看当前内存  virsh dominfo instance-00000015  只能提升 currentMemory,天花板是 memory 值;参考http://jpuyy.com/category/virtualization
virsh setvcpus instance-00000015 4 # 给不活动虚拟机设置cpu个数
virsh save instance-00000015 a #将该instance-00000015虚拟机的运行状态存储到文件a中
virsh restore a #恢复被存储状态的虚拟机的状态,即便虚拟机被删除也可以恢复(如果虚拟机已经被undefine移除,那么恢复的虚拟机也只是一个临时的状态,关闭后自动消失)

9.添加磁盘

   qemu-img create -f  raw  /data/vm/huge.img 500G

   virsh attach-disk newphp_104_vnc51044 /data/kvms/php_fuwuhuas/add2.img vdb --cache none  #动态添加磁盘,需虚拟机启动状态 才能执行。

四、iptable映射nat模式主机的端口

先看下kvm网络架构

 

#把目标地址192.168.1.100 端口是8000 的映射到192.168.132.3:80,假设192.168.1.100为外网IP

iptables -t nat -A PREROUTING -d 192.168.1.100 -p tcp  --dport 8000 -j DNAT --to-destination 192.168.132.3:80 

 #源地址转换,-s 192.168.132.0/255.255.255.0 -d 192.168.132.3 -p tcp  --dport 80 这串是规则,就是说192.168.132.3 的80端口要投递回去,

把源地址修改成 192.168.1.100

iptables -t nat -A POSTROUTING -s 192.168.132.0/255.255.255.0 -d 192.168.132.3 -p tcp  --dport 80 -j SNAT --to-source 192.168.1.100

 再干掉这两条规则就可以了

 

 

 

 

 

 总结:

 有了这点基本概念,我们就可以搭建自己的云环境了。

 

 
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • 云计算中的OpenStack和KVM到底是什么
    云计算中的OpenStack和KVM到底是什么
    OpenStack是一个开放源代码云计算平台 openstack是云管理平台,其本身并不提供虚拟化功能,真正的虚拟化能力是由底层的hypervisor(如KVM、Qemu、Xen等)提供。 以下内容真的的背了一遍又一遍的内容,openstart组件介绍Nova:Nova是OpenStack的主要计算引擎,
    03-08
  • KVM 虚拟机联网方式:NAT 和 Bridge
    KVM 客户机网络连接有两种方式:用户网络(User Networking):让虚拟机访问主机、互联网或本地网络上的资源的简单方法,但是不能从网络或其他的客户机访问客户机,性能上也需要大的调整。NAT方式。虚拟网桥(Virtual Bridge):这种方式要比用户网络复杂一些
    03-08
  • 如何在 CentOS 7 / RHEL 7 终端服务器上安装 KVM
    如何在 CentOS 7 / RHEL 7 终端服务器上安装 KV
    如何在 CnetOS 7 或 RHEL 7(Red Hat 企业版 Linux)服务器上安装和配置 KVM(基于内核的虚拟机)?如何在 CentOS 7 上设置 KVM 并使用云镜像 / cloud-init 来安装客户虚拟机?基于内核的虚拟机(KVM)是 CentOS 或 RHEL 7 的虚拟化软件。KVM 可以将你的服务
    03-08
  • kvm虚拟机扩容系统盘 虚拟机扩容c盘
    kvm虚拟机扩容系统盘 虚拟机扩容c盘
     一,宿主机扩容虚拟机系统盘环境文件系统CentOS 7XFS1.1查看虚拟机(以下操作在宿主机上)[root@office-prd-kvm-01 ~]# virsh list 4 office-com-ldap-01 running1.2查看虚拟机系统盘[root@office-prd-kvm-01 ~]# virsh domblklist office-com-ldap-01 目标 源
    03-08
  • kvm虚拟化介绍 kvm开源虚拟化系统
  • Linux中KVM桥接的配置
    Linux中KVM桥接的配置
    1. 原理1.1 说明在安装一个拥有虚拟化功能的Linux操作系统(此处以CentOS为例),一般我们有两种方法:1.在光盘安装的时候安装好虚拟化包或者PXE服务器上配置好虚拟化包2.手动在没有安装虚拟化组件的系统中安装虚拟化组件1.2 目的 如果我们搭建的环境是必须使
    02-10
  • KVM 内存虚拟化
    KVM 内存虚拟化
    内存虚拟化的概念    除了 CPU 虚拟化,另一个关键是内存虚拟化,通过内存虚拟化共享物理系统内存,动态分配给虚拟机。虚拟机的内存虚拟化很象现在的操作系统支持的虚拟内存方式,应用程序看到邻近的内存地址空间,这个地址空间无需和下面的物理机器内存直
    02-10
  • 在Ubuntu1804中通过KVM创建bridge型的网络虚拟机
    在Ubuntu1804中通过KVM创建bridge型的网络虚拟
    桥接网络可以运行在宿主机上的虚拟机使用和宿主机同网段的IP,并且可以从外部直接访问到虚拟机。目前企业中大部分场景都是使用桥接网络第一步:首先在宿主机上创建桥接网卡,如下:Ubuntu1804创建桥接网卡 1 # cat/etc/netplan/01-netcfg.yaml 23 # This file
    02-10
  • 通过python-libvirt管理KVM虚拟机 代码实现
    初步代码 [python] view plain copy span style="font-size:18px;"''''' Work with virtual machines managed by libvirt     :depends: libvirt Python module '''  # Special Thanks to Michael Dehann, many of the conce
    02-10
  • kvm初体验之八:调整vm的vcpu, memory, disk大
    TD P { margin-bottom: 0 }P { margin-bottom: 0.08in }假设host上创建的vm的名字为vm1。1. 查看vm1的domain information[root@tang*** thm]# virsh dominfo vm1 Id: 10Name: vm1UUID: e2597379-5cc5-4ffa-0531-a073a81c5811OS Type: hvmState: runningCPU(s)
    02-10
点击排行