《KVM实战:原理、进阶与性能调优》 —3.3.4 安装KVM

举报
华章计算机 发表于 2019/11/24 21:14:37 2019/11/24
【摘要】 本节书摘来自华章计算机《KVM实战:原理、进阶与性能调优》一书中第3章,第3.3.3节,作者是任永杰 程舟。

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


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。