《KVM实战:原理、进阶与性能调优》 —3.3.4 安装KVM
3.3.4 安装KVM
编译完KVM之后,下面介绍如何安装KVM。
KVM的安装包括两个步骤:安装module,安装kernel与initramfs。
1.安装module
通过“make modules_install”命令可以将编译好的module安装到相应的目录中,默认情况下module被安装到/lib/modules/$kernel_version/kernel目录中。
[root@kvm-host kvm]# make modules_install
<!- 此处省略千余行安装时的输出信息 ->
INSTALL /lib/firmware/whiteheat.fw
INSTALL /lib/firmware/keyspan_pda/keyspan_pda.fw
INSTALL /lib/firmware/keyspan_pda/xircom_pgs.fw
DEPMOD 4.8.0+
安装好module之后,可以查看一下相应的安装路径,可看到kvm模块也已经安装。如下所示:
[root@kvm-host kvm]# ll /lib/modules/4.8.0+/kernel/
total 16
drwxr-xr-x 3 root root 16 Oct 15 15:05 arch
drwxr-xr-x 3 root root 4096 Oct 15 15:05 crypto
drwxr-xr-x 66 root root 4096 Oct 15 15:06 drivers
drwxr-xr-x 26 root root 4096 Oct 15 15:06 fs
drwxr-xr-x 3 root root 18 Oct 15 15:06 kernel
drwxr-xr-x 4 root root 152 Oct 15 15:06 lib
drwxr-xr-x 2 root root 31 Oct 15 15:06 mm
drwxr-xr-x 32 root root 4096 Oct 15 15:06 net
drwxr-xr-x 10 root root 135 Oct 15 15:06 sound
drwxr-xr-x 3 root root 16 Oct 15 15:06 virt
[root@kvm-host kvm]# ll /lib/modules/4.8.0+/kernel/arch/x86/kvm/
total 11256
-rw-r--r-- 1 root root 1940806 Oct 15 15:05 kvm-intel.ko
-rw-r--r-- 1 root root 9583878 Oct 15 15:05 kvm.ko
2.安装kernel和initramfs
通过“make install”命令可以安装kernel和initramfs,命令行输出如下:
[root@kvm-host kvm]# make install
sh ./arch/x86/boot/install.sh 4.8.0+ arch/x86/boot/bzImage \
System.map "/boot"
[root@kvm-host kvm]# ll /boot -t
......
drwx------. 6 root root 103 Oct 15 15:12 grub2
-rw-r--r-- 1 root root 58106303 Oct 15 15:11 initramfs-4.8.0+.img
lrwxrwxrwx 1 root root 23 Oct 15 15:10 System.map -> /boot/System.map-4.8.0+
lrwxrwxrwx 1 root root 20 Oct 15 15:10 vmlinuz -> /boot/vmlinuz-4.8.0+
-rw-r--r-- 1 root root 3430941 Oct 15 15:10 System.map-4.8.0+
-rw-r--r-- 1 root root 5815104 Oct 15 15:10 vmlinuz-4.8.0+
可见,在/boot目录下生成了内核(vmlinuz)和initramfs等内核启动所需的文件。
在运行make install之后,在grub配置文件(如:/boot/grub2/grub.cfg)中也自动添加了一个grub选项,如下所示:
menuentry 'Redhat Enterprise Linux Server (4.8.0+) 7.2 (Maipo)' ... {
load_video
insmod gzio
insmod part_msdos
insmod xfs
set root='hd1,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos1 --hint-efi=hd1, msdos1 --hint-baremetal=ahci1,msdos1 da2e2d53-4b33-4bfe-a649- 73fba55a7a9d
else
search --no-floppy --fs-uuid --set=root da2e2d53-4b33-4bfe-a649-73fba55a7a9d
fi
linux16 /vmlinuz-4.8.0+ root=/dev/mapper/rhel-root ro rd.lvm.lv=rhel/root crashkernel=auto rd.lvm.lv=rhel/swap vconsole.font=latarcyrheb-sun16 vconsole.keymap=us rhgb /dev/disk/by-uuid/19d79b0d-898f-4d34-a895-c842fa65e9b9.UTF-8 console=ttyS0,115200 console=tty0 intel_iommu=on
initrd16 /initramfs-4.8.0+.img
}
检查了grub之后,重新启动系统,选择刚才为了KVM而编译、安装的内核启动。
系统启动后,登录进入系统,通常情况下,系统启动时默认已经加载了kvm和kvm_intel这两个模块。如果没有加载,手动用modprobe命令依次加载kvm和kvm_intel模块。
[root@kvm-host kvm]# modprobe kvm
[root@kvm-host kvm]# modprobe kvm_intel
[root@kvm-host kvm]# lsmod | grep kvm
kvm_intel 192512 0
kvm 577536 1 kvm_intel
确认KVM相关的模块加载成功后,检查/dev/kvm这个文件,它是kvm内核模块提供给用户空间的QEMU程序使用的一个控制接口,它提供了客户机(Guest)操作系统运行所需要的模拟和实际的硬件设备环境。
[root@kvm-host kvm]# ls -l /dev/kvm
crw-rw-rw-+ 1 root kvm 10, 232 Oct 9 15:22 /dev/kvm
- 点赞
- 收藏
- 关注作者
评论(0)