Linux:论如何在虚拟机上挂载多个镜像?
欢迎来到千汐
我可能是第一个提出这个疑问的人了。。。。。
本人无事,就一个字:任性!我也就“思考分析”这一个爱好了........
问题来源:
以Cent-OS系统为例,我们都知道在搭建openstack平台时需要用到openStack-trian.iso镜像,而对于这个镜像文件,一般我们的做法是通过远程连接控制软件进行文件的上传,将镜像传输到虚拟机里,但是,这个镜像文件有16G之多,传输耗时,那么有没有一种方法可以不用上传,直接实现挂载呢?
问题分析:要做到这一点,最大的问题就是挂载镜像的方式
以rhel-7为例:
挂载镜像的命令一般为:mount /dev/cdrom /media ,但一般我们虚拟机只会连接一个镜像,如果要连接多个镜像,就要在设置里多添加一张光驱:

但是,问题来了,我们无法查到镜像文件在哪个地方!已知的只有桌面上出现的两个镜像,我通过Xftp连接查看目录,也没有在其他目录下找到镜像:

挂载的唯一信息就是/dev/cdrom,经过我查询大量资料,发现/dev/cdrom代表光驱
也就是说,我们将镜像放在了/dev/cdrom里,从某种意义上来讲,/dev/cdrom就代表 了一个镜像,但是当系统有两个镜像时,挂载出现了问题:

第一行没问题,第二行及以下大致的意思是,已经挂载了镜像,但是无法区分该镜像是红帽镜像还是openstack镜像,不过看样子应该是红帽镜像。
查看挂载点信息:

(上图为成功的案例供参考)
讲解一下:首先出现了“16G”,说明该行为openstack镜像挂载点信息,最后一行“3.6G”明显是红帽的镜像,两者都是iso9660,没问题,其中有问题的地方在于/dev/sr1和/dev/sr0,通过查询得知,/dev/sr0是光驱的设备名,cdrom实际上是sr0的软链接,也就是说/dev/sr0==/dev/cdrom,可以通过ll命令查看/dev/cdrom的显示,cdrom指向sr0。
而/dev/sr1就是光驱设备2,也就是连接openstack的那张CD/DVD光驱,/dev/sr0是默认的,因为我们安装红帽系统时连接的第一个镜像就是红帽的镜像,所以/dev/sr0就对应rhel,以此类推,再加一张光驱,就会有/dev/sr2设备名,我没有找到镜像在哪儿,但是我找到了镜像对应的光驱设备,问题解决。
挂载红帽镜像,命令:mount /dev/sr0 /media

挂载openstack镜像,命令:mount /dev/sr1 /mnt

最后rhel+openstack的总包数量:

用Xftp查看/media,和/mnt目录,可以看到一个里面为红帽的文件,另一个里面为Openstack的文件:


测试,基于红帽系统,在拥有openstack镜像的情况下,安装keystone组件:



具体操作:
(1)在虚拟机设置添加一张CD/DVD连接镜像,重启虚拟机
(2)先输入挂载命令,再输入df -hT查看挂载点信息,看镜像属于哪个光驱设备,依照光驱设备名,挂载该镜像:mount /dev/sr1 /mnt
(3)配置yum仓库,以openstack为例
终端输入:vim /etc/yum.repos.d/openstack.repo
写入:
[base]
name=base
naseurl=file:///mnt/base/
enable=1
gpgcheck=0
[extras]
name=extras
baseurl=file:///mnt/extras/
enable=1
gpgcheck=0
[updates]
name=updates
baseurl=file:///mnt/updates/
enable=1
gpgcheck=0
[train]
name=train
baseurl=file:///mnt/train/
enable=1
gpgcheck=0
[virt]
name=virt
baseurl=file:///mnt/virt/
enable=1
gpgcheck=0
(4)清空缓存,检索
终端输入:yum clean all
终端输入:yum repolist
总结:挂载两个镜像是可以实现的,解决了上传费时的问题。
其他问题:(1)连接的openstack镜像,系统识别不出来,问题在于第一张图片中 openstack的镜像名为什么是20220301_215215?
(2)此次分析是基于红帽系统做的,真正用到两个镜像的是基于Cent-OS系统,在Cent-OS上不知道会不会出错,有待实验。
寄语:掌握“发现问题,分析问题,解决问题”才是一名合格的运维人员,谢谢程姐的教导,为了研究问题,虚拟机已经被我玩坏好几个了.....
Linux:论如何在虚拟机上挂载多个镜像?的更多相关文章
- 0-0 Linux安装在VMvare虚拟机上
一.安装VMware虚拟机: 双击, 上面一步会提示你输入密钥,你只要双击这个,复制里面的一串码粘贴进去就可以. 点击完成,至此VM虚拟机安装完成. 二.在VMvare虚拟机上安装centos. 1. ...
- 在Linux虚拟机上挂载文件卷
一 通过跳板机 将卷挂载在ec2 实例上的方法. 1 查询 机器上挂载了那些卷? // lsblk 是否已经是挂载卷 查看后面的目录 如果没有就是未挂载. 2 操作未挂载卷? /* sudo file ...
- linux虚拟机上挂载U盘
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMTQwMjU5Ng==/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...
- 在centos7虚拟机上挂载镜像,并设置yum源(包括遇到的问题)
挂载镜像方法很简单: mkdir /etc/a mount /dev/cdrom /etc/a 查看挂载情况 : df -h 修改yum源文件 : 先把 CentOS-Base.repo 文件名改一 ...
- openStack cinder 在往虚拟机上挂载云磁盘时总是提示挂在错误 最后找到原因原来是指定挂载云磁盘的虚拟机被锁定
openStack 虚拟机的锁定功能是一个为了保护虚拟机 被误删除的一项创新共! 在VMs锁定状态下,一大部分针对此锁定的虚拟机都是无法执行的!! 需要进行相应的操作前,请注意解锁指定虚拟机,操作完成 ...
- 如何将使用托管磁盘虚拟机的 OS 盘挂载到其他虚拟机上
适用场景 当出现虚拟机无法启动等情况时,需要将虚拟机的 OS 磁盘挂载到其他虚拟机上进行问题诊断或者数据恢复.使用托管磁盘的虚拟机无法通过存储浏览器等工具进行管理,只能通过 PowerShell 来操 ...
- 【转载】Linux小白福利:《超容易的Linux系统管理入门书》(三)在虚拟机上安装Linux
本篇是Linux小白最佳实践第3篇,目的就是让白菜们自己动手安装个Linux玩玩.如果你是Linux小白,请务必亲自动手来安装.不想安装多个操作系统的,虚拟机是最佳选择,一台电脑上可以用虚拟机安装7. ...
- 虚拟机上安装Linux操作系统
很久之前就知道虚拟机这个东西,也都在虚拟机上安装过Windows的操作系统和Linux的操作系统,但是一直都没有去做笔记. 最近还是比较有时间,就移除了前两天刚刚安装的Linux系统,重新安装一次,做 ...
- 解决虚拟机 正在决定eht0 的ip信息失败 无链接-- 虚拟机上linux redhat 上网问题
对于虚拟机上,linux redhat上网的配置方式有三种 一.用setup命令进行配置(具体技巧可查setup命令的使用) 二.直接用 ifconfig eth0 ip地址进行配置 三.进入系统文 ...
- 在虚拟机上安装红帽Linux.5.5.for.x86.服务器版系统(按针对安装oracle 10g作的配置)
在虚拟机上安装红帽Linux.5.5.for.x86.服务器版系统(按针对安装oracle 10g作的配置) 软件版本: 虚拟机版本:vmwareworkstation 7.11 build-28 ...
随机推荐
- Linux高并发服务器之Linux多线程开发
本文源自C++高薪面试项目的学习笔记,主要记录Liunx多线程的学习,主要知识点是线程概述等基础概念以外,还有线程相关Liunx系统函数以及对应练手代码,除此之外还有线程同步问题的讲解以及实战多线程买 ...
- Java-14流Stream【创建一个简易for循环工具】
Java-14流Stream 构造简易的循环取代for IntStream类提供了一个range()方法,可以生成一个流----由int值组成的序列 import static java.util.s ...
- Android笔记--对话框
提醒对话框AlertDialog 具体实现: 相关用法: 日期对话框DatePickerDialog DatePicker 具体实现: 使用Dialog选择日期: 时间对话框TimePickerDia ...
- 前端转向PHP进阶之路
一.PHP简介 Hypertext Preprocessor,又称为超文本预处理器(HTML为超文本标签语言),就是我们所说的PHP.它是一种糅杂百家的后台语言,在PHP中,可以见到C.Java等语言 ...
- AlphaFold2中的残基刚体表示
技术背景 在前面的这一篇博客中,比较全面的介绍了组成蛋白质的各种氨基酸的三维结构.由于每个氨基酸大小不一,在传统的蛋白质折叠预测的方案中,一般会考虑全原子方案或者是粗粒化方案.对于全原子方案而言,即时 ...
- 获取JSON数据_获取二进制数据
#百度jk图片 import requests # 请求头 header={"user-agent": "Mozilla/5.0 (Windows NT 10.0; WO ...
- 关于Docker compose值IP与域名的映射 之 extra_host
公司的所有项目都是采用Docker容器化部署,最近有一个项目需要使用定时任务调用第三方Api,正式web环境服务器的网络与第三方网络是通畅的,但是当将代码发布到正式环境,调用接口却显示 System. ...
- LeetCode 双周赛 101,DP/中心位贪心/裴蜀定理/Dijkstra/最小环
本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问. 大家好,我是小彭. 这周比较忙,上周末的双周赛题解现在才更新,虽迟但到哈.上周末这场是 LeetCode 第 ...
- 6.Get和Post
1.概述 URL是一个资源描述符,一个URL用于描述一个网上资源 Get用于获取/查询资源信息,Post用于更新资源信息 2.联系和区别 2.1.Get后退刷新无害,Post需要重新提交: 2.2.G ...
- 全网最详细中英文ChatGPT-GPT-4示例文档-智能聊天机器人从0到1快速入门——官网推荐的48种最佳应用场景(附python/node.js/curl命令源代码,小白也能学)
目录 Introduce 简介 setting 设置 Prompt 提示 Sample response 回复样本 API request 接口请求 python接口请求示例 node.js接口请求示 ...