首页 > 系统相关 >Linux:论如何在虚拟机上挂载多个镜像?

Linux:论如何在虚拟机上挂载多个镜像?

时间:2022-10-20 09:44:22浏览次数:70  
标签:红帽 openstack 虚拟机 Linux dev 挂载 cdrom 镜像

欢迎来到千汐

 
博客名称:千汐染琼
博客网址:https://www.cnblogs.com/zhangxiaomin/
寄语:无数次从睡梦中醒来,忘记了我是谁

world cookie

 我可能是第一个提出这个疑问的人了。。。。。

本人无事,就一个字:任性!我也就“思考分析”这一个爱好了........

问题来源:

以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

 

(4)清空缓存,检索

终端输入:yum clean all

终端输入:yum repolist

 

总结:挂载两个镜像是可以实现的,解决了上传费时的问题。

 

其他问题:(1)连接的openstack镜像,系统识别不出来,问题在于第一张图片中 openstack的镜像名为什么是20220301_215215?

     (2)此次分析是基于红帽系统做的,真正用到两个镜像的是基于Cent-OS系统,在Cent-OS上不知道会不会出错,有待实验。

 

 

寄语:掌握“发现问题,分析问题,解决问题”才是一名合格的运维人员,谢谢程姐的教导,为了研究问题,虚拟机已经被我玩坏好几个了.....

标签:红帽,openstack,虚拟机,Linux,dev,挂载,cdrom,镜像
From: https://www.cnblogs.com/zhangxiaomin/p/16788467.html

相关文章

  • Linux系统下追加记录到文件中的实例代码解读
    今日阅读Linux程序设计第四版,找到一个使用mmap函数的实例问题描述该程序主要定义一个结构体,随后利用mmap,msync以及munmap函数对其进行内容追加,定位以及修改内容的操......
  • Linux源码编译——添加新模块
    C源码文件(如new_module.c)添加到适当目录在menuconfig中增加新条目:修改C源码文件所在目录下的Kconfig文件,参考该文件中已有的编译选项照猫画虎,添加新的项configNEW_MOD......
  • Linux实战笔记_CentOS 7中格式化磁盘
    fdisk-l#检查是否添加成功(添加一块磁盘并重启计算机后)fdisk/dev/sdb#格式化磁盘mount/dev/sdb1/opt#挂载到/opt目录df-h......
  • Linux实战笔记_ 如何远程访问Kali?
    注:基于2018年安装的kali版本。启动ssh服务/etc/init.d/sshstart或servicesshstart#启动ssh服务/etc/init.d/sshstatus或者servicesshstatus#查看ssh服......
  • 使用linux上传代码到gitee
    (文章目录)一、git的安装sudoyum-yinstallgit检查是否安装成功git--version(这个是输入)gitversion1.8.3.1(若安装成功会自动弹出) 二、过程1.仓库链接......
  • FLTK基于cmake编译以及使用(Windows、macOS以及Linux)
    最近因为一些学习的原因,需要使用一款跨平台的轻量级的GUI+图像绘制C/C++库。经过一番调研以后,最终从GTK+、FLTK中选出了FLTK,跨平台、够轻量。本文将在Windows、macOS两套......
  • Linux 中的硬链接和符号链接
    https://linux265.com/news/7471.html类似Windows系统中的快捷方式,在Linux系统中它们叫链接,存在两种形式,一种是硬链接,一种是符号链接。通常,符号链接也被称为软链接,下......
  • (Linux)不挂断启动进程
    环境:腾讯云Ubuntux86_64问题:在配置应用时,需要让他后台启动,关闭ssh连接也要可以保持后台运行解决办法:1、使用nohup参考链接:https://zhuanlan.zhihu.com/p/344554760no......
  • 宋宝华: 关于Linux进程优先级数字混乱的彻底澄清
    找了好久终于找到你了,这是网上关于优先级描述最清晰的一个帖子。没有之一。必须转发。                所以从上面的描述来说,先是区分调......
  • Linux 中的文件权限
    https://linux265.com/news/7467.html在Linux系统中,一切皆文件,目录也是一种文件形式叫目录文件,它们的属性主要包含:索引节点(inode),类型、权限属性、链接数、所归属的用......