kvm中支持SCSI硬盘接口

在KVM中安装ubuntu14(硬盘接口采用SCSI),可以正常安装,但是安装centos7却不行,原因是Centos7中没有SCSI驱动。

在ubuntu中用lsmod命令查看,可以发现ubuntu中加载了sym53c8xx驱动,就是因为缺少了这个驱动才导致不能识别SCSI硬盘。

下载sym53c8xx的rpm包

https://centos.pkgs.org/7/elrepo-x86_64/kmod-sym53c8xx-0.0-3.el7.elrepo.x86_64.rpm.html


将rpm包安装到centos7系统中

然后用dracut命令导出initramfs.img

首先在/etc/dracut.conf.d目录下创建dracut.cnf文件,内容如下

# PUT YOUR CONFIG HERE OR IN separate files named *.conf
# in /etc/dracut.conf.d
# SEE man dracut.conf(5)


# Sample dracut config file


#logfile=/var/log/dracut.log
#fileloglvl=6


# Exact list of dracut modules to use.  Modules not listed here are not going
# to be included.  If you only want to add some optional modules use
# add_dracutmodules option instead.
#dracutmodules+=""


# dracut modules to omit
#omit_dracutmodules+=""


# dracut modules to add to the default
add_dracutmodules+="lvm"


# additional kernel modules to the default
add_drivers+="acpi_power_meter ahci ata_generic ata_piix bridge cdrom sg scsi_mod sd_mod vmw_pvscsi "
add_drivers+="dm_log dm_mod dm_mirror dm_region_hash "
add_drivers+="e1000  vmxnet3 ebtables ebtable_broute ebtable_filter ebtable_nat ext4 fat "
add_drivers+="floppy i2c_algo_bit i2c_piix4 i2c_i801 "
add_drivers+="iosf_mbi iosf_mbi ipmi_devintf ipmi_msghandler ipmi_si ipmi_ssif "
add_drivers+="ip_tables libata libcrc32c llc irqbypass jbd2 kvm "
add_drivers+="mbcache megaraid_sas mei_me mei mgag200 "
add_drivers+="mptspi mptbase mptscsih mptscsih nf_conntrack nf_conntrack_broadcast nf_conntrack_ftp nf_conntrack_netbios_ns nf_nat_redirect nf_nat_redirect "
add_drivers+="ppdev jbd2 mbcache iscsi_boot_sysfs iscsi_ibft fcoe scsi_tgt scsi_transport_sas scsi_transport_fc scsi_transport_spi serio_raw sr_mod stp vmwgfx vmw_balloon vmw_balloon xfs vmw_vmci "
add_drivers+="pps_core ptp tg3 uas usb_storage vfat video wmi xt_addrtype xt_connmark "
add_drivers+="xt_dscp "
add_drivers+="xt_DSCP "
add_drivers+="xt_hashlimit "
add_drivers+="xt_iprange "
add_drivers+="xt_mark "
add_drivers+="xt_multiport "
add_drivers+="xt_NFQUEUE "
add_drivers+="xt_owner "
add_drivers+="xt_REDIRECT "
add_drivers+="xt_set "
add_drivers+="xt_state "
add_drivers+="xt_string "
add_drivers+="nf_nat_ipv6 "
add_drivers+="nf_reject_ipv4 "

add_drivers+="nf_reject_ipv6 "
add_drivers+="parport "
add_drivers+="parport_pc "
add_drivers+="ablk_helper "
add_drivers+="aesni_intel "
add_drivers+="ata_generic "
add_drivers+="ata_piix "
add_drivers+="bridge "
add_drivers+="coretemp "
add_drivers+="crc32c_intel "
add_drivers+="crc32_pclmul "
add_drivers+="crct10dif_common "
add_drivers+="crct10dif_generic "
add_drivers+="crct10dif_pclmul "
add_drivers+="crc_t10dif "
add_drivers+="pata_acpi "
add_drivers+="virtio_blk virtio_scsi virtio_pci virtio_ring virtio_balloon "
add_drivers+="sym53c8xx "
# list of kernel f:ilesystem modules to be included in  the generic initramfs
filesystems+="ext3 ext4"
# build initrd only to boot current hardware
#hostonly="yes"
#


# install local /etc/mdadm.conf
#mdadmconf="no"


# install local /etc/lvm/lvm.conf
#lvmconf="no"


# A list of fsck tools to install. If it's not specified, module's hardcoded
# default is used, currently: "umount mount /sbin/fsck* xfs_db xfs_check
# xfs_repair e2fsck jfs_fsck reiserfsck btrfsck". The installation is
# opportunistic, so non-existing tools are just ignored.
#fscks=""


# inhibit installation of any fsck tools
#nofscks="yes"


# mount / and /usr read-only by default
#ro_mnt="no"

# set the directory for temporary files
# default: /var/tmp

导出命令为:dracut zqteng1.img

这样就把所需要的驱动打进了img中。

接下来,将virtio,sym53c8xx相应驱动放到打包系统中

并且编辑文件lib/modules/3.10.0-514.el7.x86_64/modules.dep

在末尾添加extra/sym53c8xx/sym53c8xx.ko: kernel/drivers/scsi/scsi_transport_spi.ko


dracut的相关说明请参考 https://www.kernel.org/pub/linux/utils/boot/dracut/dracut.html#dracutmodules7


你可能感兴趣的:(kvm中支持SCSI硬盘接口)