• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >云计算 > Openstack中为虚拟机使用CDROM光驱设备,openstackcdrom

Openstack中为虚拟机使用CDROM光驱设备,openstackcdrom

作者:网友 字体:[增加 减小] 来源:互联网

本文主要包含openstack创建虚拟机,openstack安装虚拟机,openstack虚拟机,openstack虚拟化,openstack虚拟机迁移等服务器相关知识,网友希望可以进行参考

Openstack中为虚拟机使用CDROM光驱设备,openstackcdrom


    • 在Libvirt里抓鱼
    • 在nova里生炉子
    • 实际效果
    • 怎么卸载

在Libvirt里抓鱼

尝试了以下有几种方法,为虚拟机加载光盘文件:

1.使用ide方式挂载:

virsh attach-disk {instance_name} {iso_path} hda --sourcetype block --driver qemu --subdriver raw  --type cdrom

xml格式如下:

<disk type='block' device='cdrom'>
  <driver name='qemu' type='raw'/>
  <source dev='{iso_path}'/>
  <target dev='hda'/>
</disk>

2.使用scsi方式挂载:

virsh attach-disk {instance_name} {iso_path} sda --sourcetype block --driver qemu --subdriver raw  --type cdrom

xml格式如下:

<disk type='block' device='cdrom'>
  <driver name='qemu' type='raw'/>
  <source dev='/var/lib/nova/instances/virtio-win-0.1-100.iso'/>
  <target dev='sda'/>
</disk>

以上两种方法的区别就在于设备的驱动类型,使用hd×盘符挂载,挂载之后的设备会默认认为是ide设备,而使用sd×盘符挂载,会默认认为是scsi设备。

由于有些windows镜像缺少scsi驱动无法识别使用sd×盘符挂载的光驱设备,所以选择了hd×盘符来挂载光驱设备。

然后ide同样存在问题,ide设备是不支持热拔插的:

virsh attach-disk {instance_name} {iso_path} hda
error: Failed to attach disk
error: Operation not supported: disk bus 'ide' cannot be hotplugged.

研究了一番发现如果给这个光驱设备写一个空的source_path,挂载时只要替换这个source_path的值,它就不会认为这是一个拔插动作。

virsh domblklist {instance_name}
Target     Source
------------------------------------------------
vda        {volume_path}
vdb        {volume_path}
hdb        -

virsh attach-disk {instance_name} {iso_path} hdb --sourcetype block  --driver qemu --subdriver raw  --type cdrom
Disk attached successfully

virsh domblklist {instance_name}
Target     Source
------------------------------------------------
vda        {volume_path}
vdb        {volume_path}
hdb        {iso_path}

在nova里生炉子

在nova里要做的就是给虚拟机添加一个光驱设备,并给予这个光驱设备一个空的默认路径。虚拟机磁盘设备的xml加工是在nova.virt.libvirt.driver.py中完成的。

磁盘设备的xml类是nova.virt.libvirt.config.py中的LibvirtConfigGuestDisk类,可以根据它的属性来创建一个新的实例。

这里加入了一个判定条件用于更灵活地控制这个设备是否开启,判定的依据是flavor的extra_specs中的hw_set_cdrom属性。

在nova.virt.libvirt.driver.py的get_guest_storage_config函数中加入以下代码(注意,盘符必须为hda):

                for vol in block_device_mapping:
                    connection_info = vol['connection_info']
                    vol_dev = block_device.prepend_dev(vol['mount_device'])
                    info = disk_mapping[vol_dev]
                    cfg = self.volume_driver_method('connect_volume',
                                                    connection_info,
                                                    info)
                    devices.append(cfg)

                # new code begin

                if inst_type['extra_specs'].get('hw_set_cdrom', False):
                    LOG.info("** setting cdrom **")
                    cd_cfg = vconfig.LibvirtConfigGuestDisk()
                    cd_cfg.driver_name = 'qemu'
                    cd_cfg.source_device = 'cdrom'
                    cd_cfg.driver_format = 'raw'
                    


 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Openstack中为虚拟机使用CDROM光驱设备,openstackcdrom

相关文章

  • R.net简介(原创翻译),r.net简介原创翻译
  • spark资料下载,spark下载
  • vlan trunk and access,vlantrunk
  • 机器学习--决策树(ID3)算法案例,id3案例
  • 基于 ssh + Xpra 构建 Docker 桌面系统,xpradocker
  • 使用 ElasticSearch + LogStash + Kibana 来可视化网络流量,kibanaelasticsearch
  • 企业的云之旅程,企业云之旅程
  • CRM市场及Zoho模式,CRM市场Zoho模式
  • CDH安装官方教程,cdh官方教程
  • 云服务器 性能测试之web压力测试,web压力测试

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • hbase,hbase安装
    • HDP 2.2.4 Hue Oozie Editor生成workflow.xml的几点问题,oozieworkflow.xml
    • Linux配置时间服务器,linux配置服务器
    • pagerank算法的MapReduce实现,pagerankmapreduce
    • Docker网络详解及pipework源码解读与实践,dockerpipework
    • Hadoop2.6 Ha 安装,hadoop2.6ha安装
    • 初试 Coding.net 在线IDE——WebIDE,coding.netwebide
    • OpenStack Magnum 项目简介,openstackmagnum
    • Hadoop之——SQOOP笔记,hadoopsqoop
    • Hadoop Installation on Linux,hadoopinstallation

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有