searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

kvm虚拟机挂载文件

2023-06-27 03:44:30
141
0

    在测试过程中,有时候需要给虚拟机上传一些文件,但是虚机又没有公网ip,本地无法直接访问虚拟机,这就造成了给虚机上传一些文件比较困难,以下的方法就是为了解决该问题

1、将需要使用的文件放到一个本地目录

mkdir /root/test

文件修改完成之后在操作目录进行打包,

cd /root/test

mkisofs -l -J -L -R -r -v -hide-rr-moved -o test.iso .

打包完成之后在当前目录会生成一个test.iso文件

2、制作一块本地盘

【在计算节点执行】

[root@test ~]# dd if=/root/test/test.iso of=/dev/test_iso
1712+0 records in
1712+0 records out
876544 bytes (877 kB) copied, 0.00196822 s, 445 MB/s

3、挂载本地盘到对应虚机实例:

[root@test~]# virsh list   #查询虚机实例name

[root@test ~]# virsh attach-disk instance-000000ab /dev/test_iso vdc   #这个得按照实际虚机实例得盘符定义,顺延即可

Disk attached successfully

4,挂载磁盘到本地文件夹

【在虚机内部执行】

[root@rally-ins-instance-idmt ~]# mkdir -p /mnt/test_iso
[root@rally-ins-instance-idmt ~]# mount /dev/vdc /mnt/test_iso
mount: /dev/vdb is write-protected, mounting read-only
[root@rally-ins-instance-idmt ~]# cd /mnt/test_iso/
[root@rally-ins-instance-idmt ~]# ls #就可以看到镜像里的文件了,然后cp到虚机本地即可;

 

附:

  • 如果虚机连接不了yum源,可以下载比较完备得linux iso镜像当作本地yum源使用(参照以上4个步骤,将iso文件挂载到虚机):
[root@host yum.repos.d]# ls
ns7-adv.repo
[root@host yum.repos.d]# rename .repo .repo.bak *
[root@host yum.repos.d]# vi CentOS-Local.repo

CentOS-Local.repo值配置如下:
[root@host ~]# cat CentOS-Local.repo
[base]
name=CentOS-Local
baseurl=file:///mnt/test_iso
gpgcheck=0
enabled=1
gpgkey=file:///mnt/test_iso/RPM-GPG-KEY-CentOS-7-aarch64     ------------- #根据实际文件填写
[root@host-172-16-10-25 yum.repos.d]#

 

  • 清除yum缓存,列出可用的yum
[root@localhost yum.repos.d]# yum clean all
Loaded plugins: langpacks
Cleaning repos: base
[root@localhost yum.repos.d]# yum repolist

同时也可以通过下载rpm到一个文件夹,然后制作本地yum源之后,通过上述方法挂载到虚拟机,直接yum install安装

在一个可以连接yum源的服务器上直接

yumdownloader . --resolve 【package-name】(此操作一般会下载本次安装的所有依赖,但是发现他是根据你的本机服务缺失的依赖来下载的,所以有时候也会由于下载服务器和虚拟机的安装包不一致,导致下载的依赖还是不能完全解决的问题,所以最好还是直接解决虚拟机与yum 源的网络联通问题最简单直接,待补充~)
 
createrepo . 
0条评论
作者已关闭评论
李****贤
2文章数
0粉丝数
李****贤
2 文章 | 0 粉丝
李****贤
2文章数
0粉丝数
李****贤
2 文章 | 0 粉丝
原创

kvm虚拟机挂载文件

2023-06-27 03:44:30
141
0

    在测试过程中,有时候需要给虚拟机上传一些文件,但是虚机又没有公网ip,本地无法直接访问虚拟机,这就造成了给虚机上传一些文件比较困难,以下的方法就是为了解决该问题

1、将需要使用的文件放到一个本地目录

mkdir /root/test

文件修改完成之后在操作目录进行打包,

cd /root/test

mkisofs -l -J -L -R -r -v -hide-rr-moved -o test.iso .

打包完成之后在当前目录会生成一个test.iso文件

2、制作一块本地盘

【在计算节点执行】

[root@test ~]# dd if=/root/test/test.iso of=/dev/test_iso
1712+0 records in
1712+0 records out
876544 bytes (877 kB) copied, 0.00196822 s, 445 MB/s

3、挂载本地盘到对应虚机实例:

[root@test~]# virsh list   #查询虚机实例name

[root@test ~]# virsh attach-disk instance-000000ab /dev/test_iso vdc   #这个得按照实际虚机实例得盘符定义,顺延即可

Disk attached successfully

4,挂载磁盘到本地文件夹

【在虚机内部执行】

[root@rally-ins-instance-idmt ~]# mkdir -p /mnt/test_iso
[root@rally-ins-instance-idmt ~]# mount /dev/vdc /mnt/test_iso
mount: /dev/vdb is write-protected, mounting read-only
[root@rally-ins-instance-idmt ~]# cd /mnt/test_iso/
[root@rally-ins-instance-idmt ~]# ls #就可以看到镜像里的文件了,然后cp到虚机本地即可;

 

附:

  • 如果虚机连接不了yum源,可以下载比较完备得linux iso镜像当作本地yum源使用(参照以上4个步骤,将iso文件挂载到虚机):
[root@host yum.repos.d]# ls
ns7-adv.repo
[root@host yum.repos.d]# rename .repo .repo.bak *
[root@host yum.repos.d]# vi CentOS-Local.repo

CentOS-Local.repo值配置如下:
[root@host ~]# cat CentOS-Local.repo
[base]
name=CentOS-Local
baseurl=file:///mnt/test_iso
gpgcheck=0
enabled=1
gpgkey=file:///mnt/test_iso/RPM-GPG-KEY-CentOS-7-aarch64     ------------- #根据实际文件填写
[root@host-172-16-10-25 yum.repos.d]#

 

  • 清除yum缓存,列出可用的yum
[root@localhost yum.repos.d]# yum clean all
Loaded plugins: langpacks
Cleaning repos: base
[root@localhost yum.repos.d]# yum repolist

同时也可以通过下载rpm到一个文件夹,然后制作本地yum源之后,通过上述方法挂载到虚拟机,直接yum install安装

在一个可以连接yum源的服务器上直接

yumdownloader . --resolve 【package-name】(此操作一般会下载本次安装的所有依赖,但是发现他是根据你的本机服务缺失的依赖来下载的,所以有时候也会由于下载服务器和虚拟机的安装包不一致,导致下载的依赖还是不能完全解决的问题,所以最好还是直接解决虚拟机与yum 源的网络联通问题最简单直接,待补充~)
 
createrepo . 
文章来自个人专栏
文章 | 订阅
0条评论
作者已关闭评论
作者已关闭评论
0
0