位置: 编程技术 - 正文

在Ubuntu的命令行终端里管理KVM虚拟机的教程(ubuntu的命令行快捷键)

编辑:rootadmin

推荐整理分享在Ubuntu的命令行终端里管理KVM虚拟机的教程(ubuntu的命令行快捷键),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:ubuntu怎样调出命令行,ubuntu如何用命令运行程序,ubuntu怎样调出命令行,ubuntu的命令行在哪里,ubuntu如何用命令运行程序,ubuntu的命令行界面输入无效,ubuntu的命令行快捷键,ubuntu的命令行怎么开,内容如对您有帮助,希望把文章链接给更多的朋友!

有很多不同的方式去管理运行在 KVM 管理程序上的虚拟机。例如,virt-manager 就是一个流行的基于图形界面的前端虚拟机管理工具。然而,如果你想要在没有图形窗口的服务器环境下使用 KVM ,那么基于图形界面的解决方案显然是行不通的。事实上,你可以单纯使用包装了 kvm 命令行脚本的命令行来管理 KVM 虚拟机。作为替代方案,你可以使用 virsh 这个容易使用的命令行程序来管理客户虚拟机。在 virsh 中,它通过和 libvirtd 服务通信来达到控制虚拟机的目的,而 libvirtd 可以控制多个不同的虚拟机管理器,包括 KVM,Xen,QEMU,LXC 和 OpenVZ。当你想要对虚拟机的前期准备和后期管理实现自动化操作时,像 virsh 这样的命令行管理工具是非常有用的。同样,virsh 支持多个管理器也就意味着你可以通过相同的 virsh 接口去管理不同的虚拟机管理器。

在这篇文章中,我会示范怎样在 ubuntu 和 debian 上通过使用 virsh 命令行去运行 KVM。

第一步:确认你的硬件平台支持虚拟化

第一步,首先要确认你的 CPU 支持硬件虚拟化扩展(e.g.,Intel VT 或者 AMD-V),这是 KVM 对硬件的要求。下面的命令可以检查硬件是否支持虚拟化。复制代码代码如下:$ egrep '(vmx|svm)' --color /proc/cpuinfo

如果在输出中不包含 vmx 或者 svm 标识,那么就意味着你的 cpu 不支持硬件虚拟化。因此你不能在你的机器上使用 KVM 。确认了 cpu 支持 vmx 或者 svm 之后,接下来开始安装 KVM。

对于 KVM 来说,它不要求运行在拥有 位内核系统的主机上,但是通常我们会推荐在 位系统的主机上面运行 KVM。

第二步:安装KVM

使用 apt-get 安装 KVM 和相关的用户空间工具。复制代码代码如下:$ sudo apt-get install qemu-kvm libvirt-bin安装期间,libvirtd 用户组(在 debian 上是 libvirtd-qemu 用户组)将会被创建,并且你的用户 id 将会被自动添加到该组中。这样做的目的是让你可以以一个普通用户而不是 root 用户的身份去管理虚拟机。你可以使用 id 命令来确认这一点,下面将会告诉你怎么去显示你的组 id:复制代码代码如下:$ id <your-userID>

如果因为某些原因,libvirt(在 debian 中是 libvirt-qemu)没有在你的组 id 中被找到,你也可以手动将你自己添加到对应的组中,如下所示:

在 ubuntu 上:复制代码代码如下:$ sudo adduser [youruserID] libvirtd在 debian 上:复制代码代码如下:$ sudo adduser [youruserID] libvirt-qemu按照如下命令重新载入更新后的组成员关系。如果要求输入密码,那么输入你的登陆密码即可。复制代码代码如下:$ exec su -l $USER这时,你应该可以以普通用户的身份去执行 virsh 了。做一个如下所示的测试,这个命令将会以列表的形式列出可用的虚拟机(当前的列表是空的)。如果你没有遇到权限问题,那意味着到目前为止一切都是正常的。复制代码代码如下:$ virsh list Id Name State第三步:配置桥接网络

为了使 KVM 虚拟机能够访问外部网络,一种方法是通过在 KVM 宿主机上创建 Linux 桥来实现。创建之后的桥能够将虚拟机的虚拟网卡和宿主机的物理网卡连接起来,因此,虚拟机能够发送和接收由物理网卡传输的数据包。这种方式叫做网络桥接。

下面将告诉你如何创建并且配置网桥,我们创建一个网桥称它为 br0。

首先,安装一个必需的包,然后用命令行创建一个网桥。复制代码代码如下:$ sudo apt-get install bridge-utils$ sudo brctl addbr br0下一步就是配置已经创建好的网桥,即修改位于 /etc/network/interfaces 的配置文件。我们需要将该桥接网卡设置成开机启动。为了修改该配置文件,你需要关闭你的操作系统上的网络管理器(如果你在使用它的话)。跟随操作指南的说明去关闭网络管理器。

关闭网络管理器之后,接下来就是通过修改配置文件来配置网桥了。复制代码代码如下:#auto eth0 #iface eth0 inet dhcp auto br0 iface br0 inet dhcp bridge_ports eth0 bridge_stp off bridge_fd 0 bridge_maxwait 0在上面的配置中,我假设 eth0 是主要网卡,它也是连接到外网的网卡,同样,我假设 eth0 将会通过 DHCP 协议自动获取 ip 地址。注意,之前在 /etc/network/interfaces 中还没有对 eth0 进行任何配置。桥接网卡 br0 引用了 eth0 的配置,而 eth0 也会受到 br0 的制约。

重启网络服务,并确认网桥已经被成功的配置好。如果成功的话,br0 的 ip 地址将会是 eth0 自动分配的 ip 地址,而且 eth0 不会被分配任何 ip 地址。复制代码代码如下:$ sudo /etc/init.d/networking restart$ ifconfig如果因为某些原因,eth0 仍然保留了之前分配给了 br0 的 ip 地址,那么你可能必须手动删除 eth0 的 ip 地址。

第四步:用命令行创建一个虚拟机

对于虚拟机来说,它的配置信息被存储在它对应的xml文件中。因此,创建一个虚拟机的第一步就是准备一个与虚拟机对应的 xml 文件。

下面是一个示例 xml 文件,你可以根据需要手动修改它。

XML/HTML Code复制内容到剪贴板 <domain type='kvm'> <name>alice</name> <uuid>f5b8cb-9c7a--b9-2bdf7e2aa</uuid> <memory></memory> <currentMemory></currentMemory> <vcpu>1</vcpu> <os> <type>hvm</type> <boot dev='cdrom'/> </os> <features> <acpi/> </features> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>destroy</on_crash> <devices> <emulator>/usr/bin/kvm</emulator> <disk type="file" device="disk"> <driver name="qemu" type="raw"/> <source file="/home/dev/images/alice.img"/> <target dev="vda" bus="virtio"/> <address type="pci" domain="0x" bus="0x" slot="0x" function="0x0"/> </disk> <disk type="file" device="cdrom"> <driver name="qemu" type="raw"/> <source file="/home/dev/iso/CentOS-6.5-x_-minimal.iso"/> <target dev="hdc" bus="ide"/> <readonly/> <address type="drive" controller="0" bus="1" target="0" unit="0"/> </disk> <interface type='bridge'> <source bridge='br0'/> <mac address="::A3:B0::"/> </interface> <controller type="ide" index="0"> <address type="pci" domain="0x" bus="0x" slot="0x" function="0x1"/> </controller> <input type='mouse' bus='ps2'/> <graphics type='vnc' port='-1' autoport="yes" listen='0.0.0.0'/> <console type='pty'> <target port='0'/> </console> </devices> </domain>

上面的主机xml配置文件定义了如下的虚拟机内容。

1GB内存,一个虚拟cpu和一个硬件驱动

在Ubuntu的命令行终端里管理KVM虚拟机的教程(ubuntu的命令行快捷键)

磁盘镜像:/home/dev/images/alice.img

从 CD-ROM 引导(/home/dev/iso/CentOS-6.5-x_-minomal.iso)

网络:一个桥接到 br0 的虚拟网卡

通过 VNC 远程访问

<uuid></uuid> 中的 UUID 字符串可以随机生成。为了得到一个随机的 uuid 字符串,你可能需要使用 uuid 命令行工具。复制代码代码如下:$ sudo apt-get install uuid$ uuid生成一个主机 xml 配置文件的方式就是通过一个已经存在的虚拟机来导出它的 xml 配置文件。如下所示。复制代码代码如下:$ virsh dumpxml alice > bob.xml

第五步:使用命令行启动虚拟机

在启动虚拟机之前,我们需要创建它的初始磁盘镜像。为此,你需要使用 qemu-img 命令来生成一个 qemu-kvm 镜像。下面的命令将会创建 GB 大小的空磁盘,并且它是 qcow2 格式的。复制代码代码如下:$ qemu-img create -f qcow2 /home/dev/images/alice.img G使用 qcow2 格式的磁盘镜像的好处就是它在创建之初并不会给它分配全部大小磁盘容量(这里是 GB),而是随着虚拟机中文件的增加而逐渐增大。因此,它对空间的使用更加有效。

现在,你可以通过使用之前创建的 xml 配置文件启动你的虚拟机了。下面的命令将会创建一个虚拟机,然后自动启动它。复制代码代码如下:$ virsh create alice.xmlDomain alice created from alice.xml注意: 如果你对一个已经存在的虚拟机执行了了上面的命令,那么这个操作将会在没有任何警告的情况下抹去那个已经存在的虚拟机的全部信息。如果你已经创建了一个虚拟机,你可能会使用下面的命令来启动虚拟机。复制代码代码如下:$ virsh start alice.xml使用如下命令确认一个新的虚拟机已经被创建并成功的被启动。复制代码代码如下:$ virsh list Id Name State---------------------------------------------------- 3 alice running同样,使用如下命令确认你的虚拟机的虚拟网卡已经被成功的添加到了你先前创建的 br0 网桥中。复制代码代码如下:$ sudo brctl show

远程连接虚拟机

为了远程访问一个正在运行的虚拟机的控制台,你可以使用VNC客户端。

首先,你需要使用如下命令找出用于虚拟机的VNC端口号。复制代码代码如下:$ sudo netstat -nap | egrep '(kvm|qemu)'

在这个例子中,用于 alice 虚拟机的 VNC 端口号是 。 然后启动一个VNC客户端,连接到一个端口号为的VNC服务器。在我们的例子中,虚拟机支持由CentOS光盘文件启动。

使用 virsh 管理虚拟机

下面列出了 virsh 命令的常规用法:

创建客户机并且启动虚拟机:复制代码代码如下:$ virsh create alice.xml停止虚拟机并且删除客户机:复制代码代码如下:$ virsh destroy alice关闭虚拟机(不用删除它):复制代码代码如下:$ virsh shutdown alice暂停虚拟机:复制代码代码如下:$ virsh suspend alice恢复虚拟机:复制代码代码如下:$ virsh resume alice访问正在运行的虚拟机的控制台:复制代码代码如下:$ virsh console alice设置虚拟机开机启动:复制代码代码如下:$ virsh autostart alice查看虚拟机的详细信息:复制代码代码如下:$ virsh dominfo alice编辑虚拟机的配置文件:复制代码代码如下:$ virsh edit alice上面的这个命令将会使用一个默认的编辑器来调用主机配置文件。该配置文件中的任何改变都将自动被libvirt验证其正确性。

你也可以在一个virsh会话中管理虚拟机。下面的命令会创建并进入到一个virsh会话中:复制代码代码如下:$ virsh在 virsh 提示中,你可以使用任何 virsh 命令。

问题处理

我在创建虚拟机的时候遇到了一个错误:

error: internal error: no supported architecture for os type 'hvm'

如果你的硬件不支持虚拟化的话你可能就会遇到这个错误。(例如,Intel VT或者AMD-V),这是运行KVM所必需的。如果你遇到了这个错误,而你的cpu支持虚拟化,那么这里可以给你一些可用的解决方案:

首先,检查你的内核模块是否丢失。复制代码代码如下:$ lsmod | grep kvm如果内核模块没有加载,你必须按照如下方式加载它。复制代码代码如下:$ sudo modprobe kvm_intel (for Intel processor)$ sudo modprobe kvm_amd (for AMD processor)第二个解决方案就是添加 --connect 参数到 virsh 命令中,如下所示。当你正在你的硬件平台上使用超过一个虚拟机管理器的时候就需要添加这个参数(例如,VirtualBox,VMware)。

$ virsh --connect create alice.xml当我试着访问我的虚拟机的登陆控制台的时候遇到了错误:复制代码代码如下: $ virsh console alice error: internal error: cannot find character device <null>这个错误发生的原因是你没有在你的虚拟机配置文件中定义控制台设备。在 xml 文件中加上下面的内部设备部分即可。

XML/HTML Code复制内容到剪贴板 <console type='pty'> <target port='0'/> </console>

Ubuntu系统图形化界面操作时的常用快捷键整理 键盘类1.先同时按住Alt+Ctrl键,再按键盘上的左右光标键可以切换工作区2.web时按/键等于查找功能,桌面或者目录时按/等于打开..3.当前目录下快速文件(夹

Linux服务器上使用Gmail的免费SMTP服务发送监控通知 假定你想配置一个Linux应用,用于从你的服务器或桌面客户端发送邮件信息。邮件信息可能是邮件简报、状态更新(如Cachet)、监控警报(如Monit)、磁

Ubuntu系统中图片编辑程序ImageMagick的安装教程 1.下载

标签: ubuntu的命令行快捷键

本文链接地址:https://www.jiuchutong.com/biancheng/352818.html 转载请保留说明!

上一篇:Ubuntu系统中软件安装的命令小结(ubuntu20.04常用软件)

下一篇:Ubuntu系统图形化界面操作时的常用快捷键整理(ubuntu开启图形化界面)

  • 出口免税收入会退税吗
  • 税务师税法一税法二区别
  • 公司购买汽车的折旧年限
  • 邮政开票税点是什么意思
  • 个体生产经营所得税税率表
  • 预收房租增值税税率
  • 不能确认收入的应收账款怎么做账
  • 包装报废会计处理
  • 企业进行股票买入的条件
  • 计提结转本月城建税怎么做账?
  • 预付材料款会计分录
  • 购进原材料没有发票怎么做分录
  • 个税手续费返还计入哪个科目
  • 个体户开票超了30万
  • 逃避缴纳税款是税收法多少条
  • 关于现代服务业的书籍
  • 超市购物卡开票可以做账吗
  • 建筑业简易计税分包差额申报
  • 成品油发票长什么样
  • 收到支票怎么处理
  • 发生坏账损失账务处理
  • win10为什么每次开机都要输入微软密码
  • 利息如何做会计分录
  • 栗耳簇舌巨嘴鸟,巴西潘塔纳尔保护区里 (© Ana Gram/Shutterstock)
  • mac 10.11系统
  • dvd.rom
  • 无偿转让股权如何做账
  • 短期投资取得的收益
  • 盛开的樱花和姬子的故事
  • 库存现金总分类账怎么登记
  • 管家婆实物仓库怎么用
  • 来料加工 增值税
  • php计算给定日期的时间
  • 如何使用openAI总结小说内容
  • 跟踪数据包命令
  • 中标费用入什么科目
  • 一台设备可以分开开票吗
  • 一张专票可以开几项
  • 企业计提增值税的会计科目
  • 拖欠工程款利息的司法解释
  • 公司减持股份是利好还是利空
  • 织梦可以放两套模板吗
  • 生育津贴如何做帐
  • 劳动报酬收入包含什么
  • 文化建设费税率
  • 企业收到退回的银行汇票多余款项
  • 预收款收入确认
  • 车间检测费会计分录
  • 低于注册资本转股怎么办
  • 分配现金股利如何做会计分录长投
  • 企业产品研发
  • 无形资产摊销方法应反映其经济利益的预期实现方式
  • 公司员工的电话费可以做费用吗
  • 一般户可以发工资有什么后果
  • 本月应负担的修理费
  • 红字信息表状态b900077
  • 保险公司理赔时会查多久的病史
  • 房租的发票没有收到,账务处理
  • 企业因固定资产破产
  • 固定资产公司
  • sql导入和导出数据
  • sqlserver执行计划走偏
  • win7系统开机后黑屏只有鼠标指针可以移动
  • mac怎样解压rar
  • Windows7更改用户名
  • 自动锁定系统
  • u盘安装win7视频教程
  • centos7取消挂载硬盘
  • windows10不能装windows7
  • android 自定义
  • win10如何使用命令
  • 安卓中的HTTP编程
  • 多线程python爬虫
  • js文本框只能输入字母
  • 苗木增值税发票税率
  • 个体户税务注销
  • 12366纳税服务热线坐席人员
  • ukey证书初始密码
  • 对税务工作者的赞美
  • 江苏电子税务局官网登录入口
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设