设为首页 收藏本站
查看: 1822|回复: 0

[经验分享] 初探KVM——使用libvirt的virsh管理kvm

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-1-26 08:45:59 | 显示全部楼层 |阅读模式
一、KVM虚拟机的管理工具

准确来说,KVM 仅仅是 Linux 内核的一个模块。管理和创建完整的 KVM 虚拟机,需要更多的辅助工具。

QEMU-KVM:在 Linux 系统中,首先我们可以用 modprobe 系统工具去加载 KVM 模块,如果用 RPM 安装 KVM 软件包,系统会在启动时自动加载模块。加载了模块后,才能进一步通过其他工具创建虚拟机。但仅有 KVM 模块是远远不够的,因为用户无法直接控制内核模块去做事情,还必须有一个用户空间的工具。关于用户空间的工具,KVM 的开发者选择了已经成型的开源虚拟化软件 QEMU。QEMU 是一个强大的虚拟化软件,它可以虚拟不同的 CPU 构架。比如说在 x86 的 CPU 上虚拟一个 Power 的 CPU,并利用它编译出可运行在 Power 上的程序。KVM 使用了 QEMU 的基于 x86 的部分,并稍加改造,形成可控制 KVM 内核模块的用户空间工具 QEMU-KVM。所以 Linux 发行版中分为 kernel 部分的 KVM 内核模块和 QEMU-KVM 工具。这就是 KVM 和 QEMU 的关系。

Libvirt、virsh、virt-manager:尽管 QEMU-KVM 工具可以创建和管理 KVM 虚拟机,RedHat 为 KVM 开发了更多的辅助工具,比如 libvirt、libguestfs 等。原因是 QEMU 工具效率不高,不易于使用。Libvirt 是一套提供了多种语言接口的 API,为各种虚拟化工具提供一套方便、可靠的编程接口,不仅支持 KVM,而且支持 Xen 等其他虚拟机。使用 libvirt,你只需要通过 libvirt 提供的函数连接到 KVM 或 Xen 宿主机,便可以用同样的命令控制不同的虚拟机了。Libvirt 不仅提供了 API,还自带一套基于文本的管理虚拟机的命令—— virsh,你可以通过使用 virsh 命令来使用 libvirt 的全部功能。但最终用户更渴望的是图形用户界面,这就是 virt-manager。他是一套用 python 编写的虚拟机管理图形界面,用户可以通过它直观地操作不同的虚拟机。Virt-manager 就是利用 libvirt 的 API 实现的。

二、libvirt简介

    libvirt是Linux上的虚拟化库,是长期稳定的C语言API,支持KVM/QEMU、Xen、LXC等主流虚拟化方案。链接:http://libvirt.org/
virsh是libvirt对应的shell命令。


三、virsh基础常用操作

1.查看虚拟机磁盘列表(包括光驱):
#virsh domblklist
rhel6
#rhel6代表虚拟机名称
Target     Source
------------------------------------------------
vda        /var/lib/libvirt/images/Clinet
hdc        /FTP/gnome-uplookinng/rhel6u4.iso
Target    设备名(磁盘名):
命名规范例如:   vda      vd代表:虚拟磁盘     a   第一块   hdc(通常固定为cdrom的设备名)

2.添加/删除硬盘(可以在线添加/删除):
#qemu-img create -f qcow2 -o preallocation=metadata /var/lib/libvirt/images/rhel.qcow2 15G
#virsh attach-disk rhel6 /var/lib/libvirt/images/rhel6.vdb vdb --persistent
#virsh detach-disk node002 /var/lib/libvirt/images/rhel.qcow2 --persistent
命令语法:
attach-disk 添加磁盘的参数
rhel6          虚拟机的名称
/var/lib/libvirt/images/rhel6.vdb   磁盘文件的路径和名称   
vdb             磁盘文件的设备名称
--persistent   永久添加磁盘,不加该参数代表非永久添加,虚拟机重启后磁盘消失.

3.添加/删除网卡(离线添加):
#virsh attach-interface node --type bridge --source br0 --persistent
#virsh detach-interface node --type bridge  --mac 52:54:00:e5:82:c1 --persistent
#删除网卡必须带mac地址

4.镜像操作
  
添加镜像:
#virsh attach-disk rhel6 /FTP/rhel6u4.iso  hdc --type cdrom --persistent
更换镜像:
#virsh change-media rhel6 hdc /FTP/rhel-server-6.5-x86_64-dvd.iso

四、virsh命令分类
QQ截图20160126084424.png
    可以创建、删除、运行、停止和管理你的虚拟机从命令行,使用一个叫做virsh工具。Virsh高级Linux管理员,尤其有用脚本或自动化管理他们的虚拟机。

五、virsh 命令选项

1.virsh常用命令



QQ截图20160126084439.png

2. virsh 命令选项 - 存储器


QQ截图20160126084450.png

3. virsh 命令选项 - 资源



QQ截图20160126084502.png

4. virsh 命令选项 - 网络



QQ截图20160126084513.png

5. virsh 命令选项:用户管理


wKioL1amPl3SefMpAABDW_1o4ek480.jpg
系统会使用为用户和组设置的缺省值创建用户和组。当创建用户或组标识时,所创建帐户将处于锁定状态。必须分配密码以解锁该标识。例如,创建名为 NeildeGrasseTyson 的用户。useradd NeildeGrasseTyson要查看使用该用户创建的缺省值,请添加 -D 选项:useradd NeildeGrasseTyson -D要解锁用户帐户,请添加密码:passwd NeildeGrasseTyson有关这些命令的选项的更多信息,请参阅这些命令的联机帮助页。密码管理良好的密码管理包含必须要求用户定期更改密码这一需求。要配置密码到期,请使用图形用户管理界面中提供的密码选项或 chage 命令。chage 命令允许您指定密码寿命值(例如在密码更改之间的天数)。例如,对于用户标识 NeildeGrasseTyson,要将密码更改之间的天数指定为 90 天,请发出以下命令:chage -M 90 NeildeGrasseTyson当最初对用户标识进行使用时,还可强制立即更改密码。请使用以下命令:chage -d 0 NeildeGrasseTyson有关这些命令的选项的更多信息,请参阅这些命令的联机帮助页。

6. virsh 命令选项:迁移



QQ截图20160126084527.png

结束语

  基于 Linux 的开源虚拟化技术在不停地发展。KVM 的易用性和持续发展已帮助它取代了可能更强大的 Xen 虚拟化技术,成为开源 Linux 虚拟化的标准。无论选择哪种虚拟化技术,这种演变都突出了使用标准的、独立于技术的管理命令(比如 libvirt 虚拟化 API 所提供的命令)的价值。   
  KVM 虚拟机在不断的增强和完善中,开源社区和 Linux 的系统集成商也在开发各种各样的基于 KVM 的管理工具,将来的 KVM 迁移工具会在性能,功能,可操作性和自动化程度上大大增强。
  本文通过示例展示了如何使用基于 libvirt 的命令来简化虚拟机的存储分配以及在存储中安装它的过程,但仅触及了 libvirt API 和基于它的免费命令所提供的许多强大管理功能的冰山一角。  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-169567-1-1.html 上篇帖子: KVM之初体验——QEMU安装虚拟机 下篇帖子: KVM应用:在线扩容,在线增大CPU核数,在线增大内存,KVM虚拟机创建还原快照
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表