zoukankan      html  css  js  c++  java
  • Mount qcow2 image

    1.Mount a qcow2 image

    qemu-nbd - QEMU Disk Network Block Device Server: Export QEMU disk image using NBD protocol

    qemu-nbd -c /dev/nbd0 imageName

    执行后,会出现/dev/nbd0p1、/dev/nbd0p2、/dev/nbd0p3,分别对应vm中的不同分区

    vm_156e3:/dsx01/instances/instance-00000064 # l /dev/nbd*
    brw-rw---- 1 root disk 43,   0 Oct 15 15:57 /dev/nbd0
    brw-rw---- 1 root disk 43,   1 Oct 15 15:57 /dev/nbd0p1
    brw-rw---- 1 root disk 43,   2 Oct 15 15:57 /dev/nbd0p2
    brw-rw---- 1 root disk 43,   3 Oct 15 15:57 /dev/nbd0p3


    可以直接mount虚拟机的某个分区: mount /dev/nbd0p1 /mnt,可以自行修改。
    修改结束后,先umount /mnt,然后执行qemu-nbd -d /dev/nbd0

    此时/dev/nbd0p1、/dev/nbd0p2、/dev/nbd0p3会消失。

    注意: 如果image中带有LVM,在qemu-nbd之后必须执行vgscan和vgchange -ay命令,

    让LVM的分区暴露成可以mount的设备,umount之后,先vgchange -an,然后再qemu-nbd -d

    2.Mount a raw image

    kpartx命令的作用:读device中的分区表,将扫描出的分区映射到device上。

    losetup -f 找一个空闲的设备
    losetup /dev/loop2 cirros-0.3.4-x86_64-disk.raw    --关联image

    查看一下/dev/loop0中是否有分区

     vm_156e3:~/xiexianbin_cn # kpartx -av /dev/loop0
     add map loop0p1 (253:7): 0 64260 linear /dev/loop0 16065


    如果其中有分区的话,那么会有新设备: /dev/mapper/loop0p1
    可以mount该分区:
    mount /dev/mapper/loop0p1 /mnt
    mount后就可以进行操作

    如果image中使用了LVM,则需要执行vgscan和vgchange -ay
    结束先umount /mnt,然后kpartx -d /dev/loop0,然后losetup -d /dev/loop0

    本文作者:fcing
    本文出处:https://www.cnblogs.com/fcing
    版权声明:本博客所有文章除特别声明外,均采用CC BY-NC-SA 4.0 许可协议。转载请注明出处!
  • 相关阅读:
    React在componentDidMount里面发送请求
    React 术语词汇表
    React里受控与非受控组件
    React和Vue等框架什么时候操作DOM
    【LeetCode】79. Word Search
    【LeetCode】91. Decode Ways
    【LeetCode】80. Remove Duplicates from Sorted Array II (2 solutions)
    【LeetCode】1. Two Sum
    【LeetCode】141. Linked List Cycle (2 solutions)
    【LeetCode】120. Triangle (3 solutions)
  • 原文地址:https://www.cnblogs.com/fcing/p/9363045.html
Copyright © 2011-2022 走看看