热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

KVM虚拟机的安装

1、首先用命令egrep-c(vmx|svm)/proc/cpuinfo检查看是否支持虚拟如果返回0则表示CPU不支持虚拟,这样安装会不成功,如果返回结果为1或者大于1到数字则表示CPU支持虚拟。也可以用命令kvm-ok查看CPU支持虚拟不。2、在bios里面到高级选项里面开启虚拟,即将
1、首先用命令egrep -c '(vmx|svm)' /proc/cpuinfo检查看是否支持虚拟如果返回0则表示CPU不支持虚拟,这样安装会不成功,如果返回结果为1或者大于1到数字则表示CPU支持虚拟。也可以用命令kvm-ok查看CPU支持虚拟不。

2、在bios里面到高级选项里面开启虚拟,即将Virtualization technology(或者是Vanderpool technology)该为enable

3、确保内核版本支持kvm,用命令uname -r查看内核版本,如果在2.6.20以下的linux版本,需升级内核,用命令uname -m查看运行到系统到内核时多少位到,如果返回为x86_64表示你到系统运行到内核时64位。用命令egrep -c ' lm ' /proc/cpuinfo查看你到CPU是否时64位的,如果返回0表示你到CPU不时64位到,否则返回1或者更高数字表示你到CPU时64位。

4、安装kvm
sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils 安装成功后会有/dev/kvm,再来查看下KVM是否安装成功,执行:virsh -c qemu:///system list
  如果输入结果像下面这样的,那么成功了:
  Connecting to uri: qemu:///system
  Id Name State
  ----------------------------------
可以用以下命令来检查是否装入kvm模块:
  /sbin/lsmod | grep kvm
  如果输出关于kvm版本的信息则已装入kvm模块
如果是在图形界面管理kvm则可以安装管理工具sudo apt-get install virt-manager

5、在kvm下安装虚拟机
先要用kvm-img命令创建一个虚拟磁盘,mkdir /home/xiaoyu/kvm, cd kvm, kvm-img create -f qcow2 ubuntu.img 10G //-f qcow2 的意思是创造一个文件 ,最大大小是10G
create意思是创建一个新的磁盘,-f指定该磁盘的类型这里选择qcow2,qemu的磁盘大小是随着需要可以自动的增大的,所以初始可以选择小点。(此处也可以用旧的命令qemu-img来创建,如果qemu-img create -f qcow2 ubuntu.img 10G)

虚拟磁盘创建好了,我们就可以安装系统了,无论386还是64位的机器都用kvm命令
kvm -m 1024 -drive file=/home/cbpos/kvm/ubuntu.img,cache=writeback -net nic,vlan=0,model=virtio,macaddr=52-54-00-12-34-01 -net tap,vlan=0,ifname=tap0,script=no -boot d (-vnc IP:1) -cdrom /home/cbpos/ubuntu-10.04.2-server-amd64.iso -no-acpi
-drive file cache=writeback指定了虚拟磁盘文件,这里用我们刚刚创建的ubuntu.img,并启用writeback缓存
model=virtio  通过virtio(高速网络)来使用网络,速度可以接近真实网卡的速度,以后在启动虚拟机命令后面加上-net nic,model=virtio就可以了。
-cdrom指定cdrom是那一个,可以用iso文件,也可以用机器的光驱,我们选择用iso文件,如果用光驱尝试-cdrom /dev/cdrom
-boot指定XP启动的时候从磁盘,硬盘,光驱还是网路上启动,我们安装的时候选择从光盘启动,所以用d
-m虚拟机使用的内存大小,单位是MB,默认是128mb,我用的是1024,因为我内存大,呵呵。
-no-acpi由于qemu支持不太好会导致系统很慢,所以我们暂时禁止掉。
注意:按照以往的方法是用-hda /home/cbpos/kvm/ubuntu.img的方法来使用虚拟磁盘,现在版本更新以后用 -drive file=/home/cbpos/kvm/ubuntu.img,cache=writeback来使用虚拟磁盘,因为-hda/hdb参数主要是用户使用物理硬盘上的一个分区,这样磁盘性能不好。
-vnc IP:3389 IP是主机的IP地址,3389是端口号,这样用户可以远程桌面或者用ubuntu自带到终端服务客户断连接到虚拟机安装系统。(此选项一般不要)

如果有需要用图形界面管理虚拟机则可以安装图形界面工具sudo apt-get install virt-manager
注意:
如果时在服务器里安装虚拟系统可能会出现Could not initialize SDL - exiting到问题,则需要在终端中用命令ssh -X user@server登录到服务器,然后在安装虚拟系统。

6、kvm安装好虚拟系统后就可以启动系统(使用qemu-system-x86_64启动虚拟系统,效率及其低下,换用kvm启动虚拟系统就OK)。
使用root帐号启动虚拟机,命令如下:
kvm -m 1024 -drive file=/home/cbpos/kvm/ubuntu.img,cache=writeback -net nic,vlan=0,model=virtio,macaddr=52-54-00-12-34-01 -net tap,vlan=0,ifname=tap0,script=no -boot c -nographic -daemonize 来boot启动系统。(-boot c表示从硬盘启动)
注意:-nographic -daemonize是当主机时服务器,没有图形界面时,让虚拟机在后台运行,然后通过ssh连接虚拟机,操作使用虚拟机。
启动虚拟机到时候如果出现一下警告:
warning: could not configure /dev/net/tun: no virtual network emulation
可能是没有用root帐号启动虚拟机,也可能需要更改/dev/net/tun到权限
sudo chmod 666 /dev/net/tun

用kvm启动虚拟机时如果出现以下错误
pci_add_option_rom:failed to find romfile "pxe-rtl8139.bin" 这是因为我们还需要安装kvm-pxe,sudo apt-get install kvm-pxe
但是往往会出错误,Q: qemu: could not load PC BIOS 'bios.bin'A: 请先安装qemu 0.12.3 和qemu-common ,就可以解决,最核心的问题在于 qemu-common 提供系统启动所需
要的 bios.bin,video.bin等。

7、当关闭虚拟机以后会将主机到虚拟机所对应到tap端口关闭,如果重新启动该虚拟机后ping不通该虚拟机则需要在主机用命令sudo ifconfig tap0 up启动tap端口,再用命令sudo /etc/init.d/networking restart重新启动网络服务就好了(这里假设该虚拟机对应的是tap0)。

8、要注意,系统重启后要重新加载kvm内核模块:
sudo modprobe kvm
sudo modprobe kvm-amd   //如果使用AMD处理器
sudo modprobe kvm-intel   //如果是用INTEL处理器
当然,你也可以修改系统相关设置在启动时自动加载该模块,方法时在/etc/modules中添加下面两行,使系统启动的时候自动读入kvm,kvm-intel模块
引用(intel):
kvm
kvm-intel

或者(AMD)
引用:
kvm
kvm-amd 。

9、设置自动开机启动虚拟机
只需编辑/etc/init.d/rc.local文件,在最后加上你的脚本即可。
比如:我已经编写了一个脚本posftp.sh,存放在/home/posserver/Desktop/ 下面
在终端输入 gedit /etc/init.d/rc.local编辑文件,在结尾出加入:
/home/posserver/Desktop/posftp.sh 即可开机自动加载脚本


推荐阅读
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
  • 掌握远程执行Linux脚本和命令的技巧
    本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ... [详细]
  • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
  • 本文介绍如何通过SSH协议使用Xshell远程连接到Ubuntu系统。为了实现这一目标,需要确保Ubuntu系统已安装并配置好SSH服务器,并保证网络连通性。 ... [详细]
  • 在Ubuntu 8.04中安装美观的Cairo-Dock桌面增强工具
    本文介绍如何在Ubuntu 8.04系统中安装和配置Cairo-Dock,这款桌面增强工具以其精美的界面和高效的功能备受用户青睐。文章将指导您通过简单的步骤完成安装,并提供一些实用的配置建议。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 在Ubuntu 16.04 LTS上配置Qt Creator开发环境
    本文详细介绍了如何在Ubuntu 16.04 LTS系统中安装和配置Qt Creator,涵盖了从下载到安装的全过程,并提供了常见问题的解决方案。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 本文详细介绍了如何在 Linux 平台上安装和配置 PostgreSQL 数据库。通过访问官方资源并遵循特定的操作步骤,用户可以在不同发行版(如 Ubuntu 和 Red Hat)上顺利完成 PostgreSQL 的安装。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 解决微信电脑版无法刷朋友圈问题:使用安卓远程投屏方案
    在工作期间想要浏览微信和朋友圈却不太方便?虽然微信电脑版目前不支持直接刷朋友圈,但通过远程投屏技术,可以轻松实现在电脑上操作安卓设备的功能。 ... [详细]
  • ThinkPad USB 硬盘启动 Ubuntu 系统的详细步骤
    本文介绍如何通过USB硬盘在联想ThinkPad上启动Ubuntu系统,包括BIOS设置和启动优先级调整。 ... [详细]
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
author-avatar
蜜小嘟_546
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有