CentOS7虚拟化之---安装配置KVM

本文详细介绍了如何在Linux环境下搭建KVM虚拟机,包括网络配置、虚拟磁盘创建及虚拟机安装过程。并分享了解决网络不通问题的经验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

h1. 查看本机服务器网络配置

[root@localhost ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp0s29f0u2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast stat
    link/ether 5e:f3:fc:0e:53:37 brd ff:ff:ff:ff:ff:ff
3: enp11s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen
    link/ether 5c:f3:fc:0c:53:34 brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.11/24 brd 192.168.2.255 scope global enp11s0f0
       valid_lft forever preferred_lft forever
    inet6 fe80::5ef3:fcff:fe0c:5334/64 scope link
       valid_lft forever preferred_lft forever
4: enp11s0f1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN q
    link/ether 5c:f3:fc:0c:53:36 brd ff:ff:ff:ff:ff:ff

h2. 更新服务器安装包

[root@localhost ~]# yum update

h3. 检查服务器CPU对KVM的支持

[root@localhost ~]# egrep '(vmx | svm)' --color=always /proc/cpuinfo
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid dca sse4_1 sse4_2 popcnt aes lahf_lm arat epb dtherm tpr_shadow vnmi flexpriority ept vpid
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid dca sse4_1 sse4_2 popcnt aes lahf_lm arat epb dtherm tpr_shadow vnmi flexpriority ept vpid
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid dca sse4_1 sse4_2 popcnt aes lahf_lm arat epb dtherm tpr_shadow vnmi flexpriority ept vpid
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid dca sse4_1 sse4_2 popcnt aes lahf_lm arat epb dtherm tpr_shadow vnmi flexpriority ept vpid
......

h4. 检查模块加载

[root@localhost ~]# lsmod | grep kvm
kvm_intel             138567  0
kvm                   441119  1 kvm_intel

h5. 安装软件包

[root@localhost ~]# yum -y install kvm python-virtinst libvirt tunctl bridge-utils virt-manager qemu-kvm-tools virt-viewer virt-v2v libgesttfs-tools

h6. 启动服务

[root@localhost ~]# service libvirtd start
Redirecting to /bin/systemctl start  libvirtd.service

h7. 查看服务状态

[root@localhost ~]# service libvirtd status
Redirecting to /bin/systemctl status  libvirtd.service
● libvirtd.service - Virtualization daemon
   Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; disabled; vendor preset: enabled)
   Active: active (running) since 二 2016-04-26 20:09:16 CST; 4min 17s ago
     Docs: man:libvirtd(8)
           http://libvirt.org
 Main PID: 3224 (libvirtd)
   CGroup: /system.slice/libvirtd.service
           ├─3224 /usr/sbin/libvirtd
           ├─3311 /sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dh...
           └─3312 /sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dh...

4月 26 20:09:16 localhost.localdomain systemd[1]: Starting Virtualization daemon...
4月 26 20:09:16 localhost.localdomain systemd[1]: Started Virtualization daemon.
4月 26 20:09:17 localhost.localdomain dnsmasq[3311]: started, version 2.66 cachesize 150
4月 26 20:09:17 localhost.localdomain dnsmasq[3311]: compile time options: IPv6 GNU-getopt DBus no...th
4月 26 20:09:17 localhost.localdomain dnsmasq-dhcp[3311]: DHCP, IP range 192.168.122.2 -- 192.168....1h
4月 26 20:09:17 localhost.localdomain dnsmasq[3311]: reading /etc/resolv.conf
4月 26 20:09:17 localhost.localdomain dnsmasq[3311]: using nameserver 8.8.8.8#53
4月 26 20:09:17 localhost.localdomain dnsmasq[3311]: read /etc/hosts - 2 addresses
4月 26 20:09:17 localhost.localdomain dnsmasq[3311]: read /var/lib/libvirt/dnsmasq/default.addnhos...es
4月 26 20:09:17 localhost.localdomain dnsmasq-dhcp[3311]: read /var/lib/libvirt/dnsmasq/default.ho...le
Hint: Some lines were ellipsized, use -l to show in full.

h8. 查看网卡配置

[root@localhost network-scripts]# ll ifcfg-*
-rw-r--r--. 1 root root 293 4月  10 20:11 ifcfg-enp0s29f0u2
-rw-r--r--. 1 root root 368 4月  12 23:45 ifcfg-enp11s0f0
-rw-r--r--. 1 root root 291 4月  10 20:11 ifcfg-enp11s0f1
-rw-r--r--. 1 root root 254 9月  16 2015 ifcfg-lo
[root@localhost network-scripts]# vi ifcfg-enp11s0f0
HWADDR=5C:F3:FC:0C:53:34
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
#IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=no
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=enp11s0f0
UUID=1d4cf62c-050c-4f21-86b6-a3a36a61d645
ONBOOT=yes
IPADDR=192.168.2.11
NETMASK=255.255.255.0
GATEWAY=192.168.2.1
DNS1=8.8.8.8
BRIDGE=br0

h9. 配置网桥

DEVICE=br0
TYPE=Bridge
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.2.11
NETMASK=255.255.255.0
GATEWAY=192.168.2.1

h10. 查看网络配置

[root@localhost ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp11s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br0 state UP qlen 1000
    link/ether 5c:f3:fc:0c:53:34 brd ff:ff:ff:ff:ff:ff
3: enp11s0f1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN qlen 1000
    link/ether 5c:f3:fc:0c:53:36 brd ff:ff:ff:ff:ff:ff
4: enp0s29f0u2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ether 5e:f3:fc:0e:53:37 brd ff:ff:ff:ff:ff:ff
5: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
    link/ether 5c:f3:fc:0c:53:34 brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.11/24 brd 192.168.2.255 scope global br0
       valid_lft forever preferred_lft forever
    inet6 fe80::54c5:35ff:fec0:156c/64 scope link
       valid_lft forever preferred_lft forever

h11. 创建磁盘

[janl@localhost dev-1.shanlitech.com]$ qemu-img create -f qcow2 ~/vms/dev-1.shanlitech.com/dev-1-centos-redmine.img 60G
Formatting '/home/janl/vms/dev-1.shanlitech.com/dev-1-centos-redmine.img', fmt=qcow2 size=64424509440 encryption=off cluster_size=65536 lazy_refcounts=off
[janl@localhost dev-1.shanlitech.com]$ ll
总用量 196
-rw-r--r--. 1 janl janl 197632 4月  26 22:11 dev-1-centos-redmine.img

h12. 安装virt-install

[root@localhost janl]# virt-install
-bash: virt-install: 未找到命令
[root@localhost janl]# yum -y install python-virtinst
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.btte.net
 * extras: mirrors.btte.net
 * updates: mirrors.pubyun.com
没有可用软件包 python-virtinst。
[root@localhost janl]# yum install git
[root@localhost download]# git clone https://github.com/palli/python-virtinst.git
正克隆到 'python-virtinst'...
remote: Counting objects: 10215, done.
remote: Compressing objects: 100% (2588/2588), done.
remote: Total 10215 (delta 7455), reused 10215 (delta 7455), pack-reused 0
接收对象中: 100% (10215/10215), 20.96 MiB | 164.00 KiB/s, done.
处理 delta 中: 100% (7455/7455), done.
[root@localhost python-virtinst]# python setup.py install
[root@localhost python-virtinst]# virt-install
ERROR
--name is required
--ram amount in MB is required
--disk storage must be specified (override with --nodisks)
An install method must be specified
(--location URL, --cdrom CD/ISO, --pxe, --import, --boot hd|cdrom|...)

h13. 创建虚拟机

[janl@localhost ~]$ virt-install --virt-type kvm --name dev1-centos7 --ram 4096 --cdrom=/home/janl/os/CentOS-7-x86_64-DVD-1503-01.iso --disk path=/home/janl/vms/dev-1.shanlitech.com/dev-1-centos-redmine.img,size=60,format=qcow2 -w bridge:virbr0 --graphics vnc,listen=0.0.0.0 --noautoconsole --os-type=linux --os-variant=rhel6           ERROR    Disk /home/janl/vms/dev-1.shanlitech.com/dev-1-centos-redmine.img is already in use by another guest(使用 --prompt 或者 --force 覆盖)
[janl@localhost ~]$ virt-install --virt-type kvm --name dev1-centos7 --ram 4096 --cdrom=/home/janl/os/CentOS-7-x86_64-DVD-1503-01.iso --disk path=/home/janl/vms/dev-1.shanlitech.com/dev-1-centos-redmine.img,size=60,format=qcow2 -w bridge:virbr0 --graphics vnc,listen=0.0.0.0 --noautoconsole --os-type=linux --os-variant=rhel6 --force

开始安装......
创建域......                                                                                                                                  |    0 B  00:00:00
域安装仍在进行。您可以重新连接
到控制台以便完成安装进程。

h14. 远程用vncviewer连接,安装系统。

h15. 验证

虚拟机的系统安装完成以后,配置网络IP地址后,发现无法访问局域网,局域网的主机也不能访问虚拟机。 纠结了两天的时间,经过各网站的配置说明,各种试验,各种修改终不能解决网络访问的问题。

后来可以能是宿主机上的网络配置的不正确,后重新修改后网桥的地址后依然不行。 后来还发现一个问题,因为创建虚拟机是用普通账户创建的,非root账户,结果发现virsh list --all看到到到创建的虚拟机了。

后来又用root重新创建。还是网络不正常。 后来太晚了回家,关机的时候不小心敲错了指令,在ssh里执行了shutdown -h 结果把宿主机给关了。因为没有机房钥匙,再说也准备回家了,还好宿主机上也没跑什么别的东西。

第二天,打开服务器,准备再研究一下,结果一试通了。真是一头雾水,到现在也没有想明白原因。 现在回想可能有几点需要注意的地方: 一是,当时备份网卡配置文件的时候,没有复制到别的目录,结果导至在重启网络服务的时候老是报错。 二是,配网桥的时候没有把原来网卡中配置的一些信息删掉,导至那个网桥一直工作不太正常,后来的尝试的时候把网桥的地址改成了别的,才发现连不上机器了,后来用网桥的地址来连接,对网桥的理解太肤浅了,后来专门在百度上又复习了一下。 三是,关机后,网络配置重新加载后,虚拟机网络就正确了,也就能访问了。 现在想想可能是吧,以后有机会再尝试验证一下。

h16. create winxp kvm

virt-install --virt-type kvm --name test1-winxp_sp3 --ram 2048 --cdrom=/home/vms/iso/YLMF_GHOSTXP_V2016.iso --disk path=/home/vms/test1.shanlitech.com/test-1-winxp_sp3.img,size=10,format=qcow2 -w bridge:br0 --graphics vnc,listen=0.0.0.0 --noautoconsole --os-type=windows --os-variant=winxp --force

h17. create win2k3 kvm 创建磁盘文件

[root@localhost vms]# qemu-img create -f qcow2 /home/vms/dev3.shanlitech.com/dev3-win2k3-web.img 100G
Formatting '/home/vms/dev3.shanlitech.com/dev3-win2k3-web.img', fmt=qcow2 size=107374182400 encryption=off cluster_size=65536 lazy_refcounts=off 

创建虚拟机

virt-install --virt-type kvm --name dev3-win2k3-web --ram 4096 --cdrom=/home/vms/iso/Windows.Server.2003.R2.With.Sp2.CD1.iso --disk path=/home/vms/dev3.shanlitech.com/dev3-win2k3-web.img,size=100,format=qcow2 -w bridge:br0 --graphics vnc,listen=0.0.0.0 --noautoconsole --os-type=windows --os-variant=wi2k3 --force

h17. 顺便说一下,虚拟机的配置文件存放的位置在/etc/libvirt/qemu/下,要想修改参数可以在配置文件中修改。

转载于:https://my.oschina.net/janl/blog/666637

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值