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上不知道会不会出错,有待实验。

 

 

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

posted @ 2022-10-20 09:40  SkyRainmom  阅读(809)  评论(0编辑  收藏  举报