携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第8天,点击查看活动详情
Kvm安装
- 安装环境:
-
查看cpu是否支持虚拟化:
cat /proc/cpuinfo | grep vmx #有结果就行
-
查看KVM模块是否安装:
[root@localhost ~]# lsmod | grep kvm kvm_intel 170086 3 kvm 566340 1 kvm_intel irqbypass 13503 1 kvm
-
安装有两种方式,组包安装,分别安装
(1)推荐组包安装,这样不会遗漏安装包,直接用本地镜像文件就行
##########################这是CentOS6的安装方法,现在也可以用######################### yum -y upgrade yum -y group install virtualization-hypervisor yum -y group install virtualization-platform yum -y group install virtualization-tools #并且新增加如下包: yum -y group install virtualization-client #虚拟化客户端,有了它会有VMM yum -y group install gnome-desktop #它的作用是显示图形化,(包有点大) #安装完毕后,输入: startx #启动图形化 ####################CentOS7安装#################### yum install -y *qemu* *virt* librbd1-devel 如果安装出错: yum -y upgrade
(2)分个安装:
yum -y install qemu-kvm ####KVM 模块 yum -y install qemu-kvm-tools ####KVM 调试工具,可不安装 yum -y install virt-install ####构建虚拟机的命令行工具 yum -y install qemu-img ####qemu 组件,创建磁盘、 启动虚拟机等 yum -y install bridge-utils ####网络支持工具 yum -y install libvirt ####虚拟机管理工具 yum -y install virt-manager ####图形界面管理虚拟机然后输入:
-
安装完毕后,开启libvart服务:
systemctl restart libvirtd ####开启libvirtd服务 systemctl enable libvirtd
小总结:使用virt去创建虚拟机需要.xml文件,使用virt-install创建虚拟机需要参数,virt大部分是用来管理 虚拟机的,qemu-img 用来创建磁盘,启动虚拟机
飞机驾驶舱的安装
[root@node1 ~]# yum install -y cockpit
#开启服务
[root@node1 ~]# systemctl restart cockpit
#查看9090端口
tcp LISTEN 0 128 :::9090 :::* users:(("cockpit-ws",pid=68265,fd=3),("systemd",pid=1,fd=24))
#浏览器访问IP+端口
用户名:root
密码:root
#关闭服务
[root@node1 ~]# systemctl stop cockpit.socket
虚拟机的组成部分
-
虚拟机的配置文件:
[root@compute images]# cd /etc/libvirt/qemu [root@compute qemu]# ll total 212 -rw-r--r--. 1 root root 196616 Nov 28 11:35 bo.qcow2 -rw-------. 1 root root 4143 Nov 28 10:14 bo.xml -rw-------. 1 root root 4152 Nov 28 15:35 instance-00000014.xml #.xml文件时虚拟机的配置文件 drwx------. 3 root root 23 Nov 25 09:48 networks
-
虚拟磁盘文件:
ll /var/lib/libvirt/images/
虚拟机上由这两部分组成的(.xml文件,磁盘文件)
Kvm基本管理
-
查看vm2的配置文件
virsh dumpxml vm2
-
导出配置文件
virsh dumpxml vm2 > /etc/libvitr/image/node6.xml
-
修改node6.xml文件
[root@kvm qemu]# virsh edit vm2 #vm2是虚拟机的名称
也可以用vi去编辑,需要注意:vi编辑的需要重启libvirtd,edit不用
-
暂停和恢复虚拟机
virsh suspend vm2 #暂停 virsh resume vm2 #恢复 virsh shutdown vm2 #关机 virsh reboot vm2 #重启 virsh reset vm2 #重置,它是断电重启,速度要比reboot快 virsh undefine vm2 #删除虚拟机的配置文件,虚拟机本身没有删除,磁盘文件也没有删除 virsh destroy vm2 #删除虚拟机,都会删除完 virsh autostart vm2 #宿主机启动虚拟机自动启动 virsh autostart --disable vm2 #取消开机自启
命令行创建虚拟机
虚拟机的组成部分:
-
虚拟机的配置文件:
[root@kvm ~]# ls /etc/libvirt/qemu/ centos7.0.xml networks
-
虚拟机的磁盘文件
[root@kvm ~]# cd /var/lib/libvirt/images/ [root@kvm images]# ll total 5243908 -rw-------. 1 root root 5369757696 Nov 28 17:22 centos7.0.qcow2
可见虚拟机由.xml文件和虚拟磁盘文件两部分组成
根据配置文件和虚拟磁盘文件创建虚拟机
-
我已经用图形化创建一个虚拟机了,就用这个虚拟机的.xml文件和虚拟vi盘文件当模板,完全copy一份,用俩创建第二个虚拟机
-
copy .xml文件
[root@kvm ~]# cd /etc/libvirt/qemu/ [root@kvm qemu]# cp centos7.0.xml vm2.xml [root@kvm qemu]# ll total 16 -rw-------. 1 root root 4761 Nov 28 17:14 centos7.0.xml drwx------. 3 root root 42 Nov 28 17:11 networks -rw-------. 1 root root 4761 Nov 28 17:29 vm2.xml
-
copy .qcow2文件:
[root@kvm qemu]# cd /var/lib/libvirt/images/ [root@kvm images]# ll total 5243908 -rw-------. 1 root root 5369757696 Nov 28 17:22 centos7.0.qcow2 [root@kvm images]# cp centos7.0.qcow2 vm2.qcow2 [root@kvm images]# ll total 10487812 -rw-------. 1 root root 5369757696 Nov 28 17:22 centos7.0.qcow2 -rw-------. 1 root root 5369757696 Nov 28 17:30 vm2.qcow2
-
修改vm2.xml文件
- 修改name
- 修改UUID,(随便换个数字)
- (可选)修改mem,修改CPU
- 修改虚拟磁盘文件的路径
- 修改mac地址,注意:只能修改后三段
文件如下:
[root@kvm qemu]# cat vm2.xml <!-- WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE OVERWRITTEN AND LOST. Changes to this xml configuration should be made using: virsh edit vm2 or other application using the libvirt API. --> <domain type='kvm'> <name>vm2</name> #将name修改 <uuid>14cbd456-ac02-4837-96a4-0eab4e7ff93c</uuid> #修改UUID唯一标识,(随便换个数字) <memory unit='KiB'>1024000</memory> #修改 <currentMemory unit='KiB'>1024000</currentMemory> #修改 <vcpu placement='static'>2</vcpu> #修改 <os> <type arch='x86_64' machine='pc-i440fx-rhel7.0.0'>hvm</type> <boot dev='hd'/> </os> <features> <acpi/> <apic/> </features> <cpu mode='custom' match='exact' check='partial'> <model fallback='allow'>Broadwell-noTSX-IBRS</model> <feature policy='require' name='md-clear'/> <feature policy='require' name='spec-ctrl'/> <feature policy='require' name='ssbd'/> </cpu> <clock offset='utc'> <timer name='rtc' tickpolicy='catchup'/> <timer name='pit' tickpolicy='delay'/> <timer name='hpet' present='no'/> </clock> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>destroy</on_crash> <pm> <suspend-to-mem enabled='no'/> <suspend-to-disk enabled='no'/> </pm> <devices> <emulator>/usr/libexec/qemu-kvm</emulator> <disk type='file' device='disk'> <driver name='qemu' type='qcow2'/> <source file='/var/lib/libvirt/images/vm2.qcow2'/> #修改为刚才复制的虚拟磁盘文件,后缀也可以是.img <target dev='vda' bus='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/> </disk> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <target dev='hda' bus='ide'/> <readonly/> <address type='drive' controller='0' bus='0' target='0' unit='0'/> </disk> <controller type='usb' index='0' model='ich9-ehci1'> <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x7'/> </controller> <controller type='usb' index='0' model='ich9-uhci1'> <master startport='0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0' multifunction='on'/> </controller> <controller type='usb' index='0' model='ich9-uhci2'> <master startport='2'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x1'/> </controller> <controller type='usb' index='0' model='ich9-uhci3'> <master startport='4'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x2'/> </controller> <controller type='pci' index='0' model='pci-root'/> <controller type='ide' index='0'> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> </controller> <controller type='virtio-serial' index='0'> <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> </controller> <interface type='network'> <mac address='52:54:00:9d:76:53'/> #修改mac地址,注意:只能修改后三段的,(后六位) <source network='default'/> <model type='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface> <serial type='pty'> <target type='isa-serial' port='0'> <model name='isa-serial'/> </target> </serial> <console type='pty'> <target type='serial' port='0'/> </console> <channel type='unix'> <target type='virtio' name='org.qemu.guest_agent.0'/> <address type='virtio-serial' controller='0' bus='0' port='1'/> </channel> <channel type='spicevmc'> <target type='virtio' name='com.redhat.spice.0'/> <address type='virtio-serial' controller='0' bus='0' port='2'/> </channel> <input type='tablet' bus='usb'> <address type='usb' bus='0' port='1'/> </input> <input type='mouse' bus='ps2'/> <input type='keyboard' bus='ps2'/> <graphics type='spice' autoport='yes'> <listen type='address'/> <image compression='off'/> </graphics> <sound model='ich6'> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </sound> <video> <model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1' primary='yes'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> </video> <redirdev bus='usb' type='spicevmc'> <address type='usb' bus='0' port='2'/> </redirdev> <redirdev bus='usb' type='spicevmc'> <address type='usb' bus='0' port='3'/> </redirdev> <memballoon model='virtio'> <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/> </memballoon> <rng model='virtio'> <backend model='random'>/dev/urandom</backend> <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/> </rng> </devices> </domain>
-
重定义vm.xml文件使其生效
[root@kvm qemu]# virsh define vm2.xml Domain vm2 defined from vm2.xml
-
重启libvirt
systemctl restart libvirtd
-
开启路由转发:
[root@kvm qemu]# vi /etc/sysctl.conf net.ipv4.ip_forward = 1 #添加这一行 [root@kvm qemu]# sysctl -p net.ipv4.ip_forward = 1
-
在图形化,可以看到有个vm2的虚拟机,
-
测试:
使其ping www.paidu.com,正常的可以通的
在宿主机上ssh 虚拟机的ip,也可以连
虚拟机升级配置
-
修改配置文件,添加磁盘,当然图形化点击也可以
在.xml文件中找到标签
复制一段,进行修改
<disk type='file' device='disk'> <driver name='qemu' type='qcow2'/> <source file='/var/lib/libvirt/images/vm2-1.qcow2'/> #这个需要自己创建, <target dev='vdb' bus='virtio'/> #dev=,需要修改 <address type='pci' domain='0x0000' bus='0x00' slot='0x17' function='0x0'/> #slot代表卡槽的位置,需要应该修改 </disk>
-
创建个空白卷:
[root@kvm qemu]# qemu-img create -f qcow2 /var/lib/libvirt/images/vm2-1.qcow2 1G Formatting '/var/lib/libvirt/images/vm2-1.qcow2', fmt=qcow2 size=1073741824 encryption=off cluster_size=65536 lazy_refcounts=off
-
重定义vm2.xml文件
[root@kvm qemu]# virsh define /etc/libvirt/qemu/vm2.xml Domain vm2 defined from /etc/libvirt/qemu/vm2.xml
然后Run虚拟机,查看磁盘
今天的文章Kvm–安装和基本管理以及命令行创建虚拟机分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/21416.html