详解Linux物理主机Host访问虚拟机

运维 系统运维
微软的Windows也许已不再是主流,在当今社会Linux越来越成为主流,你是Linux系统的应用者么?本文为你详细介绍Linux物理主机Host访问虚拟机(KVM)的硬盘镜像,为你在学习Linux物理主机Host访问虚拟机(KVM)的硬盘镜像时起一定的作用。

微软的Windows也许已不再是主流,在当今社会Linux越来越成为主流,你是Linux系统的应用者么?本文为你详细介绍Linux物理主机Host访问虚拟机(KVM)的硬盘镜像,为你在学习Linux物理主机Host访问虚拟机(KVM)的硬盘镜像时起一定的作用。

当使用虚拟机的时候,经常会遇到需要在不开虚拟机的情况下访问某个硬盘镜像的内容。对于KVM来说,基本上,最简单的方法是用mount -o loop命令装载镜像内容。但这个方法有其限制,如果镜像文件带有分区,就不行了。

当然,可以用mount -o loop,offset=的方式,指定一个偏移量,来解决这个问题。但是你必须事先知道分区开始的位置。

经过探索,终于发现使用losetup和kpartx可以解决这个难题。

下面先讲解一下losetup命令。如果你执行如下命令
代码:ls /dev/loop?
可 以看到/dev目录下有许多loop0、loop1等等的东西。这些是Linux的"loop设备"。当设定好之后,loop设备可以模仿磁盘设备,比如 sda, hda那些,但实际上对该设备的访问被重定向到一个文件。要设定一个loop设备,要使用losetup命令。该命令需要用root权限运行

代码:#关联loop文件到设备
losetup [loop设备] 文件名
#去除loop设备和文件的关联
losetup [loop设备] -d
#找下一个没有关联上文件的loop设备
losetup -f

当写脚本的时候,losetup -f特别有用,因为它会返回一个没有使用的loop设备,然后你就可以把该设备名保存在一个变量里面,供后续命令使用。

到现在为止,情况和mount -o loop并没有什么不同,尽管你立马可以mount上那个刚刚关联上文件的loop设备,但这等价于mount -o loop。但是,我们有kpartx。

如果你的系统还没有安装kpartx(默认是不装),先装上。

代码:sudo apt-get install kpartx

kpartx命令的作用,是让Linux内核读取一个设备上的分区表,然后生成代表相应分区的设备。当然,它也需要root权限来运行。具体用法:

代码:#列出设备上的分区和刷新后的设备名
kpartx [设备]
#刷新分区表和生成设备
kpartx [设备] -a
#删除指定设备上的所有分区设备
kpartx [设备] -d

对于loop设备,kpartx命令可以生成/dev/mapper/loop0p1这样格式的分区设备。

这样,有了kpartx命令,就可以用mount命令加载映像文件里面的各个分区了。

这样就完成了Linux物理主机Host访问虚拟机(KVM)的硬盘镜像。

【编辑推荐】

  1. 轻松配置Linux双网卡虚拟路由
  2. 如何在Windows中编译Linux/Unix代码
  3. 未来是属于Linux虚拟技术
  4. 任你选择Linux免费虚拟机
  5. 教会你在Linux下硬盘读写速度
责任编辑:小霞 来源: ddvip.com
相关推荐

2010-10-13 10:21:37

物理机虚拟机迁移

2011-04-25 13:28:50

Windows虚拟机主机

2023-09-02 21:35:39

Linux虚拟机

2014-02-21 11:20:34

KVMXen虚拟机

2019-10-12 00:15:45

Linux服务器物理机

2009-03-19 19:07:12

2010-03-10 08:59:25

Linux添加硬盘

2009-10-13 15:00:36

物理机虚拟机网络安全

2009-12-16 13:44:12

2009-08-10 10:49:27

Linux下安装VMw

2013-01-25 11:21:59

2009-12-11 14:00:09

VMware虚拟机

2020-05-08 16:55:48

Java虚拟机JVM

2023-09-25 08:19:37

LinuxVirtualBox虚拟机

2023-02-06 15:28:51

2010-02-01 08:39:50

Linux虚拟机

2009-09-07 22:01:52

虚拟机安装Linux系

2014-12-18 09:41:44

虚拟化迁移

2009-10-28 10:07:22

linux虚拟机添加硬盘

2009-11-30 17:20:32

LINUX虚拟机磁盘
点赞
收藏

51CTO技术栈公众号