热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Debian7系统中安装KVM虚拟机

KVM是kernel-basedVirtualMachine的简称,是一个开源的系统虚拟化模块,自Linux2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其性能更加优秀。KVM的虚拟化需要硬件支持(如IntelVT技术或者AMDV技术)

KVM 是 kernel-based Virtual Machine 的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用 Linux 自身的调度器进行管理,所以相对于Xen,其性能更加优秀。KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术)。
libvirt 本身不是一种工具,它是一套免费开源的支持 Linux 下主流虚拟化工具的C函数库,libvirt 起初是专门为 Xen 设计的一种管理 API,后来被扩展为可支持多个虚拟机监控程序。当前主流Linux平台上默认的虚拟化管理工具virt-manager(图形化),virt-install(命令行模式)等均基于 libvirt 开发而成。
废话一大堆啦,以下就是我在 Debian7 系统下,利用 virt-install(命令行模式)安装KVM虚拟系统的全过程记录。

一、宿主机简介,与检查是否支持虚拟化技术

我的宿主机环境如下,并支持远程 SSH 访问。

CPU:AMD A8-5600K
MEM:8G
OS:Debian x64 7.1

查询是否至此虚拟化技术

 egrep 'vmx|svm' /proc/cpuinfo
......   #经查询,确认我的宿主机支持虚拟化技术
二、安装所需软件包
 apt-get install kvm qemu-kvm bridge-utils libvirt-bin virtinst

kvm:这个是KVM的核心,是一个内核模块。
qemu-kvm:KVM的设备模拟,由开源虚拟化软件QEMU中的管理工具演变而来。
bridge-utils:用于桥接网卡
libvirt-bin:虚拟机命令行管理工具
virtinst:虚拟机创建工具

PS:如果你的宿主机安装有图形界面,推荐你安装图形化管理工具 virt-manager,而且这个工具还支持SSH远程连接(qemu+SSH)。

三、配置桥接网卡

虚拟机通过桥接的方式,才更加接近物理环境。配置如下:

 cat /etc/network/interfaces
auto lo
iface lo inet loopback
auto br0
iface br0 inet static
   address 192.168.1.10
   netmask 255.255.255.0
   gateway 192.168.1.254
   bridge_ports eth0    # 桥接到eth0网卡
   bridge_stp off       # 关闭STP协议
   bridge_fd 0          # 转发延迟设置为0
四、配置虚拟机 spice 和 VNC 的监听地址

缺省情况下创建的 vHost,其虚拟桌面仅仅监听 127.0.0.1,不支持远程连接。需要修改配置文件 /etc/libvirt/qemu.conf :

vnc_listen = “0.0.0.0″
spice_listen = “0.0.0.0″

到这里都基本配置好了,重新启动下宿主机吧!然后我们再正式开始创建 vHost。

五、创建 vHost

创建磁盘,不要纠结选用 raw 还是 qcow2,qcow2 支持快照功能,胜过那么一点点性能需求。

 mkdir -p /home/vHost
 qemu-img create -f qcow2 /home/vHost/Debian.qcow2 8G

创建虚拟机

virt-install \
--name=test \           # guest主机名称
--virt-type=kvm \       # 虚拟机类型
--hvm --ram=256 \       # 分配给guest主机256M内存
--vcpus=1 \             # 虚拟CPU数量
--network bridge=br0,model=virtio \             # 桥接方式,和设置虚拟网卡型号
--graphics vnc,port=5900 \                      # 配置VNC显示及其端口
--disk path=/home/vhost/test.qcow2,bus=virtio \ # 分配磁盘文件和磁盘型号
--os-type=linux \                               # 安装的guest系统类型
--cdrom=/home/backups/software/debian-7.1.0-amd64-CD-1.iso \    # 装载光盘文件
--debug     # 开启调试信息

PS:阅读资料上说网卡型号设置 virtio 性能接近物理网卡。

六、安装虚拟机的系统

当你创建虚拟机后,虚拟机会立即启动,此时你可以使用 vnc 进行连接了,然后开始安装系统吧,安装系统的步骤和真实主机安装一样,此处就省略啦!

VNC连接参数:$宿主机IP:5900

什么 VNC 的工具呀? 对于这种问题我不想回答,自己 Google 吧!

七、虚拟机的管理

查看虚拟机:

virsh
virsh # list        # 查看已经运行的虚拟机
......
virsh # list --all  # 查看所有虚拟机
......
quit                # 退出virsh命令模式

更多virsh命令请输入help查看,以下是我列出一些常用的:

list [--all] # 查看虚拟机
start $id # 启动虚拟机
shutdown $id # 停止虚拟机
destroy $id # 强制停止虚拟机
dominfo $id # 查看虚拟机信息
undefine $id # 删除与虚拟机的所有文件,慎用
quit # 退出virsh命令模式

八、磁盘的管理

PS:虚拟机如果失去了快照这个优势,其光芒会大大的失色。
创建一个新磁盘,大小10G,格式为qcow2:

qemu-img create -f qcow2 test.img 10G

查看磁盘文件信息,包括文件格式、大小和存在的快照:

Debian:/home/vhost# qemu-img info mantis.img
image: mantis.img
file format: qcow2
virtual size: 10G (10737418240 bytes)
disk size: 2.1G
cluster_size: 65536
Snapshot list:
ID        TAG                 VM SIZE                DATE       VM CLOCK
1         new                       0 2013-07-24 12:35:29   00:00:00.000
2         20170724                  0 2013-07-24 17:10:07   00:00:00.000

其它快照命令:

创建快照:qemu-img snapshot -c test.qcow2
恢复快照:qemu-img snapshot -a test.qcow2
删除快照:qemu-img snapshot -d test.qcow2


推荐阅读
  • RancherOS 是由 Rancher Labs 开发的一款专为 Docker 设计的轻量级 Linux 发行版,提供了一个全面的 Docker 运行环境。其引导镜像仅 20MB,非常适合在资源受限的环境中部署。本文将详细介绍如何在 ESXi 虚拟化平台上安装和配置 RancherOS,帮助用户快速搭建高效、稳定的容器化应用环境。 ... [详细]
  • 本文详细介绍了如何正确设置Shadowsocks公共代理,包括调整超时设置、检查系统限制、防止滥用及遵守DMCA法规等关键步骤。 ... [详细]
  • 本文详细介绍了如何搭建一个高可用的MongoDB集群,包括环境准备、用户配置、目录创建、MongoDB安装、配置文件设置、集群组件部署等步骤。特别关注分片、读写分离及负载均衡的实现。 ... [详细]
  • 本文介绍了Linux操作系统的核心组成部分——内核及其版本分类,以及市面上常见的几种Linux发行版,旨在为初学者提供一个清晰的学习路径。 ... [详细]
  • 数字图书馆近期展出了一批精选的Linux经典著作,这些书籍虽然部分较为陈旧,但依然具有重要的参考价值。如需转载相关内容,请务必注明来源:小文论坛(http://www.xiaowenbbs.com)。 ... [详细]
  • 技术日志:Ansible的安装及模块管理详解 ... [详细]
  • 汇编语言:编程世界的始祖,连C语言都敬畏三分!
    当C语言还在萌芽阶段时,它首次接触到了汇编语言,并对其简洁性感到震惊。尽管汇编语言的指令极其简单,但它却是所有现代编程语言的基础,其重要性不言而喻。 ... [详细]
  • 本文详细介绍了如何使用Layui框架实现动态和静态数据表的分页功能,具有较高的实用性和参考价值。适合需要开发管理后台的开发人员参考。 ... [详细]
  • 本文节选自《NLTK基础教程——用NLTK和Python库构建机器学习应用》一书的第1章第1.2节,作者Nitin Hardeniya。本文将带领读者快速了解Python的基础知识,为后续的机器学习应用打下坚实的基础。 ... [详细]
  • 在 Ubuntu 中遇到 Samba 服务器故障时,尝试卸载并重新安装 Samba 发现配置文件未重新生成。本文介绍了解决该问题的方法。 ... [详细]
  • 当我们忘记了Debian系统的登录密码而无法进入系统时,可以通过以下方法进行密码重置。在GRUB2引导界面中选择Debian启动项,按下“e”键进入编辑模式。接着找到以“linux”或“linux16”开头的行,在该行末尾添加“init=/bin/bash”参数。保存并继续启动,系统将进入单用户模式,此时可以使用`passwd`命令来重置root用户的密码。完成后重启系统即可正常登录。 ... [详细]
  • Parallels Desktop for Mac 是一款功能强大的虚拟化软件,能够在不重启的情况下实现在同一台电脑上无缝切换和使用 Windows 和 macOS 系统中的各种应用程序。该软件不仅提供了高效稳定的性能,还支持多种高级功能,如拖放文件、共享剪贴板等,极大地提升了用户的生产力和使用体验。 ... [详细]
  • Dense Matrix Inversion Results in Segmentation Fault: Causes and Solutions ... [详细]
  • 如何将PHP文件上传至服务器及正确配置服务器地址 ... [详细]
  • 如何在Ubuntu系统中直接使用Snap安装软件
    Canonical与Opera Software近日宣布,基于Chromium的Opera浏览器现已作为Snap包提供给Ubuntu用户,显著提升了在Linux操作系统上的安装便捷性和兼容性。通过Snap,用户可以在Ubuntu系统中轻松安装和更新Opera浏览器,享受更流畅的浏览体验。此外,Snap的容器化特性还确保了应用的安全性和稳定性,为用户提供更加可靠的软件环境。 ... [详细]
author-avatar
sotoloraboin_678
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有