ENV:
[root@Fedora ~]# uname -r
5.2.9-200.fc30.x86_64
[root@Fedora ~]# cat /etc/redhat-release
Fedora release 30 (Thirty)
想安装kvm虚拟机,在网上找了好多的文章,但是安装的文件很多,而且很多文章安装的还不相同,这使自己对网络的信息正确性产生怀疑。
最后还是找到了相对可信的安装指南(只是全英文的)
https://computingforgeeks.com/how-to-install-kvm-on-fedora/
看内容是国外的网站,看来有些东西还是要到国外网站找才能找到好的方案,国内的文章都是水军式,没法看啊。
下面就按上面网址中内容来操作吧。算是翻译了!
Step1:查看你的CPU是否支持虚拟扩展
[root@Fedora ~]# cat /proc/cpuinfo |egrep "vmx|svm"
其中vmx表示intel的cpu,svm是amd的cpu
如果信息中含有vmx(intel)或svm(amd)信息,则表示支持虚拟扩展,下面是我的intel的CPU,中间位置可看到vmx字符,表示支持:
[root@Fedora ~]# cat /proc/cpuinfo |egrep "vmx|svm"
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 rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm cpuid_fault epb pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms xsaveopt dtherm ida arat pln pts md_clear flush_l1d
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 rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm cpuid_fault epb pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms xsaveopt dtherm ida arat pln pts md_clear flush_l1d
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 rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm cpuid_fault epb pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms xsaveopt dtherm ida arat pln pts md_clear flush_l1d
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 rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm cpuid_fault epb pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms xsaveopt dtherm ida arat pln pts md_clear flush_l1d
Step2:在Fedora28/29/30上安装KVM/QEMU
[root@Fedora ~]# dnf -y install bridge-utils libvirt virt-install qemu-kvm
看到的安装包少吧,并不需要太多的东西,在后面也就是再安装两三个包就可以了。
不要问为什么不用dnf -y install ,这只是我个人习惯,想看下安装的都有什么,这样可以了解系统里添加了什么文件。要是熟悉了直接安装也可以。
[root@Fedora ~]# dnf install bridge-utils libvirt virt-install qemu-kvm
Last metadata expiration check: 0:35:41 ago on Wed 28 Aug 2019 01:13:51 PM CST.
Package bridge-utils-1.6-3.fc30.x86_64 is already installed.
Package qemu-kvm-2:3.1.1-2.fc30.x86_64 is already installed.
Dependencies resolved.
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
libvirt x86_64 5.1.0-9.fc30 updates 12 k
virt-install noarch 2.1.0-2.fc30 fedora 64 k
Installing dependencies:
gnutls-dane x86_64 3.6.8-1.fc30 updates 25 k
gnutls-utils x86_64 3.6.8-1.fc30 updates 299 k
libvirt-bash-completion x86_64 5.1.0-9.fc30 updates 12 k
libvirt-client x86_64 5.1.0-9.fc30 updates 310 k
libvirt-daemon-config-nwfilter x86_64 5.1.0-9.fc30 updates 17 k
libvirt-daemon-driver-libxl x86_64 5.1.0-9.fc30 updates 189 k
libvirt-daemon-driver-lxc x86_64 5.1.0-9.fc30 updates 183 k
libvirt-daemon-driver-vbox x86_64 5.1.0-9.fc30 updates 167 k
python3-libvirt x86_64 5.1.0-2.fc30 updates 288 k
autogen-libopts x86_64 5.18.16-1.fc30 fedora 69 k
virt-manager-common noarch 2.1.0-2.fc30 fedora 1.1 M
Transaction Summary
================================================================================
Install 13 Packages
Total download size: 2.6 M
Installed size: 13 M
Is this ok [y/N]: y
Downloading Packages:
(1/13): libvirt-5.1.0-9.fc30.x86_64.rpm 2.1 kB/s | 12 kB 00:05
(2/13): gnutls-dane-3.6.8-1.fc30.x86_64.rpm 4.4 kB/s | 25 kB 00:05
(3/13): libvirt-bash-completion-5.1.0-9.fc30.x8 61 kB/s | 12 kB 00:00
(4/13): gnutls-utils-3.6.8-1.fc30.x86_64.rpm 45 kB/s | 299 kB 00:06
(5/13): libvirt-daemon-config-nwfilter-5.1.0-9. 14 kB/s | 17 kB 00:01
(6/13): libvirt-client-5.1.0-9.fc30.x86_64.rpm 190 kB/s | 310 kB 00:01
(7/13): libvirt-daemon-driver-libxl-5.1.0-9.fc3 155 kB/s | 189 kB 00:01
(8/13): libvirt-daemon-driver-lxc-5.1.0-9.fc30. 118 kB/s | 183 kB 00:01
(9/13): libvirt-daemon-driver-vbox-5.1.0-9.fc30 89 kB/s | 167 kB 00:01
(10/13): autogen-libopts-5.18.16-1.fc30.x86_64. 53 kB/s | 69 kB 00:01
(11/13): virt-install-2.1.0-2.fc30.noarch.rpm 65 kB/s | 64 kB 00:00
(12/13): python3-libvirt-5.1.0-2.fc30.x86_64.rp 101 kB/s | 288 kB 00:02
(13/13): virt-manager-common-2.1.0-2.fc30.noarc 54 kB/s | 1.1 MB 00:19
--------------------------------------------------------------------------------
Total 74 kB/s | 2.6 MB 00:36
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : autogen-libopts-5.18.16-1.fc30.x86_64 1/13
Installing : python3-libvirt-5.1.0-2.fc30.x86_64 2/13
Installing : virt-manager-common-2.1.0-2.fc30.noarch 3/13
Installing : libvirt-daemon-driver-vbox-5.1.0-9.fc30.x86_64 4/13
Installing : libvirt-daemon-driver-lxc-5.1.0-9.fc30.x86_64 5/13
Installing : libvirt-daemon-driver-libxl-5.1.0-9.fc30.x86_64 6/13
Installing : libvirt-daemon-config-nwfilter-5.1.0-9.fc30.x86_64 7/13
Running scriptlet: libvirt-daemon-config-nwfilter-5.1.0-9.fc30.x86_64 7/13
Installing : libvirt-bash-completion-5.1.0-9.fc30.x86_64 8/13
Installing : gnutls-dane-3.6.8-1.fc30.x86_64 9/13
Installing : gnutls-utils-3.6.8-1.fc30.x86_64 10/13
Installing : libvirt-client-5.1.0-9.fc30.x86_64 11/13
Running scriptlet: libvirt-client-5.1.0-9.fc30.x86_64 11/13
Installing : libvirt-5.1.0-9.fc30.x86_64 12/13
Installing : virt-install-2.1.0-2.fc30.noarch 13/13
Running scriptlet: libvirt-daemon-config-nwfilter-5.1.0-9.fc30.x86_64 13/13
Running scriptlet: virt-install-2.1.0-2.fc30.noarch 13/13
Verifying : gnutls-dane-3.6.8-1.fc30.x86_64 1/13
Verifying : gnutls-utils-3.6.8-1.fc30.x86_64 2/13
Verifying : libvirt-5.1.0-9.fc30.x86_64 3/13
Verifying : libvirt-bash-completion-5.1.0-9.fc30.x86_64 4/13
Verifying : libvirt-client-5.1.0-9.fc30.x86_64 5/13
Verifying : libvirt-daemon-config-nwfilter-5.1.0-9.fc30.x86_64 6/13
Verifying : libvirt-daemon-driver-libxl-5.1.0-9.fc30.x86_64 7/13
Verifying : libvirt-daemon-driver-lxc-5.1.0-9.fc30.x86_64 8/13
Verifying : libvirt-daemon-driver-vbox-5.1.0-9.fc30.x86_64 9/13
Verifying : python3-libvirt-5.1.0-2.fc30.x86_64 10/13
Verifying : autogen-libopts-5.18.16-1.fc30.x86_64 11/13
Verifying : virt-install-2.1.0-2.fc30.noarch 12/13
Verifying : virt-manager-common-2.1.0-2.fc30.noarch 13/13
Installed:
libvirt-5.1.0-9.fc30.x86_64
virt-install-2.1.0-2.fc30.noarch
gnutls-dane-3.6.8-1.fc30.x86_64
gnutls-utils-3.6.8-1.fc30.x86_64
libvirt-bash-completion-5.1.0-9.fc30.x86_64
libvirt-client-5.1.0-9.fc30.x86_64
libvirt-daemon-config-nwfilter-5.1.0-9.fc30.x86_64
libvirt-daemon-driver-libxl-5.1.0-9.fc30.x86_64
libvirt-daemon-driver-lxc-5.1.0-9.fc30.x86_64
libvirt-daemon-driver-vbox-5.1.0-9.fc30.x86_64
python3-libvirt-5.1.0-2.fc30.x86_64
autogen-libopts-5.18.16-1.fc30.x86_64
virt-manager-common-2.1.0-2.fc30.noarch
Complete!
安装完,GO ON!
查看安装的进程
[root@Fedora ~]# lsmod |grep kvm
kvm_intel 299008 0
kvm 753664 1 kvm_intel
irqbypass 16384 1 kvm
安装kvm的工具包
[root@Fedora ~]# dnf -y install virt-top libguestfs-tools
安装过程:
[root@Fedora ~]# dnf install virt-top libguestfs-tools
Last metadata expiration check: 0:46:36 ago on Wed 28 Aug 2019 01:13:51 PM CST.
Dependencies resolved.
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
libguestfs-tools noarch 1:1.40.2-4.fc30 fedora 33 k
virt-top x86_64 1.0.8-34.fc30 fedora 717 k
Installing dependencies:
hexedit x86_64 1.2.13-15.fc30 fedora 39 k
hivex x86_64 1.3.18-4.fc30 fedora 98 k
libguestfs x86_64 1:1.40.2-4.fc30 fedora 2.7 M
libguestfs-tools-c x86_64 1:1.40.2-4.fc30 fedora 5.5 M
libldm x86_64 0.2.4-4.fc30 fedora 53 k
lsscsi x86_64 0.30-2.fc30 fedora 63 k
perl-Class-Inspector noarch 1.32-5.fc30 fedora 31 k
perl-Exporter-Tiny noarch 1.002001-2.fc30 fedora 51 k
perl-List-MoreUtils-XS x86_64 0.428-5.fc30 fedora 59 k
perl-Sys-Guestfs x86_64 1:1.40.2-4.fc30 fedora 316 k
perl-Sys-Virt x86_64 5.1.0-1.fc30 fedora 289 k
perl-hivex x86_64 1.3.18-4.fc30 fedora 50 k
perl-libintl-perl x86_64 1.31-2.fc30 fedora 810 k
scrub x86_64 2.5.2-14.fc30 fedora 42 k
supermin x86_64 5.1.20-3.fc30 fedora 446 k
zerofree x86_64 1.1.1-3.fc30 fedora 27 k
Installing weak dependencies:
libguestfs-xfs x86_64 1:1.40.2-4.fc30 fedora 15 k
perl-File-ShareDir noarch 1.116-4.fc30 fedora 30 k
perl-List-MoreUtils noarch 0.428-5.fc30 fedora 65 k
perl-Params-Util x86_64 1.07-26.fc30 fedora 37 k
Transaction Summary
================================================================================
Install 22 Packages
Total download size: 11 M
Installed size: 44 M
Is this ok [y/N]: y
Downloading Packages:
(1/22): hexedit-1.2.13-15.fc30.x86_64.rpm 7.0 kB/s | 39 kB 00:05
(2/22): hivex-1.3.18-4.fc30.x86_64.rpm 17 kB/s | 98 kB 00:05
(3/22): libguestfs-tools-1.40.2-4.fc30.noarch.r 68 kB/s | 33 kB 00:00
(4/22): libguestfs-xfs-1.40.2-4.fc30.x86_64.rpm 66 kB/s | 15 kB 00:00
(5/22): libldm-0.2.4-4.fc30.x86_64.rpm 40 kB/s | 53 kB 00:01
(6/22): lsscsi-0.30-2.fc30.x86_64.rpm 25 kB/s | 63 kB 00:02
(7/22): perl-Class-Inspector-1.32-5.fc30.noarch 62 kB/s | 31 kB 00:00
(8/22): perl-Exporter-Tiny-1.002001-2.fc30.noar 47 kB/s | 51 kB 00:01
(9/22): perl-File-ShareDir-1.116-4.fc30.noarch. 48 kB/s | 30 kB 00:00
(10/22): perl-List-MoreUtils-0.428-5.fc30.noarc 45 kB/s | 65 kB 00:01
(11/22): perl-List-MoreUtils-XS-0.428-5.fc30.x8 58 kB/s | 59 kB 00:01
(12/22): perl-Params-Util-1.07-26.fc30.x86_64.r 60 kB/s | 37 kB 00:00
(13/22): perl-Sys-Guestfs-1.40.2-4.fc30.x86_64. 84 kB/s | 316 kB 00:03
(14/22): perl-Sys-Virt-5.1.0-1.fc30.x86_64.rpm 25 kB/s | 289 kB 00:11
(15/22): perl-hivex-1.3.18-4.fc30.x86_64.rpm 17 kB/s | 50 kB 00:02
(16/22): perl-libintl-perl-1.31-2.fc30.x86_64.r 53 kB/s | 810 kB 00:15
(17/22): scrub-2.5.2-14.fc30.x86_64.rpm 10 kB/s | 42 kB 00:04
(18/22): libguestfs-tools-c-1.40.2-4.fc30.x86_6 109 kB/s | 5.5 MB 00:51
(19/22): virt-top-1.0.8-34.fc30.x86_64.rpm 256 kB/s | 717 kB 00:02
(20/22): zerofree-1.1.1-3.fc30.x86_64.rpm 130 kB/s | 27 kB 00:00
(21/22): supermin-5.1.20-3.fc30.x86_64.rpm 54 kB/s | 446 kB 00:08
(22/22): libguestfs-1.40.2-4.fc30.x86_64.rpm 37 kB/s | 2.7 MB 01:15
--------------------------------------------------------------------------------
Total 139 kB/s | 11 MB 01:23
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : hivex-1.3.18-4.fc30.x86_64 1/22
Installing : perl-hivex-1.3.18-4.fc30.x86_64 2/22
Installing : zerofree-1.1.1-3.fc30.x86_64 3/22
Installing : supermin-5.1.20-3.fc30.x86_64 4/22
Installing : scrub-2.5.2-14.fc30.x86_64 5/22
Installing : perl-Sys-Virt-5.1.0-1.fc30.x86_64 6/22
Installing : perl-Params-Util-1.07-26.fc30.x86_64 7/22
Installing : perl-List-MoreUtils-XS-0.428-5.fc30.x86_64 8/22
Installing : perl-Exporter-Tiny-1.002001-2.fc30.noarch 9/22
Installing : perl-List-MoreUtils-0.428-5.fc30.noarch 10/22
Installing : perl-Class-Inspector-1.32-5.fc30.noarch 11/22
Installing : perl-File-ShareDir-1.116-4.fc30.noarch 12/22
Installing : perl-libintl-perl-1.31-2.fc30.x86_64 13/22
Installing : lsscsi-0.30-2.fc30.x86_64 14/22
Installing : libldm-0.2.4-4.fc30.x86_64 15/22
Installing : libguestfs-1:1.40.2-4.fc30.x86_64 16/22
Installing : libguestfs-xfs-1:1.40.2-4.fc30.x86_64 17/22
Installing : perl-Sys-Guestfs-1:1.40.2-4.fc30.x86_64 18/22
Installing : hexedit-1.2.13-15.fc30.x86_64 19/22
Installing : libguestfs-tools-c-1:1.40.2-4.fc30.x86_64 20/22
Installing : libguestfs-tools-1:1.40.2-4.fc30.noarch 21/22
Installing : virt-top-1.0.8-34.fc30.x86_64 22/22
Running scriptlet: virt-top-1.0.8-34.fc30.x86_64 22/22
Verifying : hexedit-1.2.13-15.fc30.x86_64 1/22
Verifying : hivex-1.3.18-4.fc30.x86_64 2/22
Verifying : libguestfs-1:1.40.2-4.fc30.x86_64 3/22
Verifying : libguestfs-tools-1:1.40.2-4.fc30.noarch 4/22
Verifying : libguestfs-tools-c-1:1.40.2-4.fc30.x86_64 5/22
Verifying : libguestfs-xfs-1:1.40.2-4.fc30.x86_64 6/22
Verifying : libldm-0.2.4-4.fc30.x86_64 7/22
Verifying : lsscsi-0.30-2.fc30.x86_64 8/22
Verifying : perl-Class-Inspector-1.32-5.fc30.noarch 9/22
Verifying : perl-Exporter-Tiny-1.002001-2.fc30.noarch 10/22
Verifying : perl-File-ShareDir-1.116-4.fc30.noarch 11/22
Verifying : perl-List-MoreUtils-0.428-5.fc30.noarch 12/22
Verifying : perl-List-MoreUtils-XS-0.428-5.fc30.x86_64 13/22
Verifying : perl-Params-Util-1.07-26.fc30.x86_64 14/22
Verifying : perl-Sys-Guestfs-1:1.40.2-4.fc30.x86_64 15/22
Verifying : perl-Sys-Virt-5.1.0-1.fc30.x86_64 16/22
Verifying : perl-hivex-1.3.18-4.fc30.x86_64 17/22
Verifying : perl-libintl-perl-1.31-2.fc30.x86_64 18/22
Verifying : scrub-2.5.2-14.fc30.x86_64 19/22
Verifying : supermin-5.1.20-3.fc30.x86_64 20/22
Verifying : virt-top-1.0.8-34.fc30.x86_64 21/22
Verifying : zerofree-1.1.1-3.fc30.x86_64 22/22
Installed:
libguestfs-tools-1:1.40.2-4.fc30.noarch
virt-top-1.0.8-34.fc30.x86_64
libguestfs-xfs-1:1.40.2-4.fc30.x86_64
perl-File-ShareDir-1.116-4.fc30.noarch
perl-List-MoreUtils-0.428-5.fc30.noarch
perl-Params-Util-1.07-26.fc30.x86_64
hexedit-1.2.13-15.fc30.x86_64
hivex-1.3.18-4.fc30.x86_64
libguestfs-1:1.40.2-4.fc30.x86_64
libguestfs-tools-c-1:1.40.2-4.fc30.x86_64
libldm-0.2.4-4.fc30.x86_64
lsscsi-0.30-2.fc30.x86_64
perl-Class-Inspector-1.32-5.fc30.noarch
perl-Exporter-Tiny-1.002001-2.fc30.noarch
perl-List-MoreUtils-XS-0.428-5.fc30.x86_64
perl-Sys-Guestfs-1:1.40.2-4.fc30.x86_64
perl-Sys-Virt-5.1.0-1.fc30.x86_64
perl-hivex-1.3.18-4.fc30.x86_64
perl-libintl-perl-1.31-2.fc30.x86_64
scrub-2.5.2-14.fc30.x86_64
supermin-5.1.20-3.fc30.x86_64
zerofree-1.1.1-3.fc30.x86_64
Complete!
如何使用libguestfs-tools向导,相了解的可以进入看下,地址:
How to mount VM virtual disk on KVM hypervisor
Step3:启动KVM deamon并加入开机启动
默认下,KVM deamon并没有启动,用下面命令启动:
[root@Fedora ~]# systemctl start libvirtd
添加开机启动:
[root@Fedora ~]# systemctl enable libvirtd
Step4:安装虚拟机的可视化管理工具(可视界面)
如果你安装的是desk桌面版的Fedora,可以安装virt-manager使用可视界面管理你的虚拟机。
[root@Fedora ~]# dnf -y install virt-manager
我的操作过程:
[root@Fedora ~]# dnf install virt-manager
Last metadata expiration check: 0:14:58 ago on Wed 28 Aug 2019 02:02:57 PM CST.
Dependencies resolved.
================================================================================
Package Architecture Version Repository Size
================================================================================
Installing:
virt-manager noarch 2.1.0-2.fc30 fedora 582 k
Transaction Summary
================================================================================
Install 1 Package
Total download size: 582 k
Installed size: 3.1 M
Is this ok [y/N]: y
Downloading Packages:
virt-manager-2.1.0-2.fc30.noarch.rpm 82 kB/s | 582 kB 00:07
--------------------------------------------------------------------------------
Total 40 kB/s | 582 kB 00:14
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : virt-manager-2.1.0-2.fc30.noarch 1/1
Running scriptlet: virt-manager-2.1.0-2.fc30.noarch 1/1
Verifying : virt-manager-2.1.0-2.fc30.noarch 1/1
Installed:
virt-manager-2.1.0-2.fc30.noarch
Complete!
Step5:创建一个测试实例
创建实例前设置好网络,网络应用实例的地址
How to Create and Configure Bridge Networking For KVM in Linux
How to Create and use Network Bridge on Arch Linux and Manjaro
网络设置的翻译请看
命令创建
$ virt-install \
--name fed29 \
--ram 1024 \
--vcpus 1 \
--disk path=/var/lib/libvirt/images/fed29.img,size=20 \
--os-variant fedora29 \
--os-type linux \
--network bridge=br0 \
--graphics none \
--console pty,target_type=serial \
--location 'http://fedora.inode.at/releases/29/Server/x86_64/os/' \
--extra-args 'console=ttyS0,115200n8 serial'
这里的设置是在网络连接镜像,我们可以根据我们自己的实际需要自行设置,如命令行不好设置,可以使用GUI桌面模式
最后这步没有测试,但是如果自己有iso镜像应该是没问题的了。