linux kvm img目录更换,KVM中虚拟系统的img文件挂载

[root@kvm ~]# cd

/var/lib/libvirt/images/

[root@kvm images]# ls

kvm01.img kvm02.img kvm03-clone.img kvm03.img lost+found

[root@kvm images]# fdisk -lu

kvm03-clone.img

You must set cylinders.

You can do this from the extra functions

menu.

Disk kvm03-clone.img: 0 MB, 0 bytes

255 heads, 63 sectors/track, 0 cylinders, total 0

sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512

bytes

I/O size (minimum/optimal): 512 bytes / 512

bytes

Disk identifier: 0x0007c171

Device

Boot Start End Blocks Id System

kvm03-clone.img1 * 2048 1026047 512000 83 Linux

Partition 1 does not end

on cylinder boundary.

kvm03-clone.img2 1026048 16777215 7875584 8e Linux LVM

Partition 2 has different

physical/logical endings:

phys=(1023, 254, 63) logical=(1044, 85, 1)

[root@kvm images]# mount -o loop,offset=$[2048*512] kvm03-clone.img

/mnt/disk/

[root@kvm images]# ls /mnt/disk/

config-2.6.32-71.el6.x86_64 initramfs-2.6.32-71.el6.x86_64.img System.map-2.6.32-71.el6.x86_64

efi lost+found vmlinuz-2.6.32-71.el6.x86_64

grub symvers-2.6.32-71.el6.x86_64.gz

#这是虚拟机/boot的内容

[root@kvm images]# umount /mnt/disk/

[root@kvm images]# mount -o

loop,offset=$[1026048*512] kvm03-clone.img

/mnt/disk/

mount: unknown filesystem type

'LVM2_member'

[root@kvm images]# losetup -f -o $[1026048*512]

kvm03-clone.img

[root@kvm images]# losetup -a

/dev/loop0: [fd02]:15

(/var/lib/libvirt/images/kvm03-clone.img), offset

525336576

[root@kvm images]# lvm pvscan

PV

/dev/cciss/c0d1p5 VG

vg_kvm1 lvm2

[68.33 GiB / 2.52 GiB free]

PV

/dev/cciss/c0d0p2 VG

vg_kvm lvm2 [67.84 GiB /

0 free]

PV

/dev/loop0 VG VolGroup lvm2 [7.51 GiB /

0 free]

Total: 3 [143.68 GiB] / in use: 3 [143.68 GiB] /

in no VG: 0 [0 ]

[root@kvm images]# ls /dev/mapper/

control vg_kvm1-lv_date vg_kvm1-lv_test vg_kvm-lv_home vg_kvm-lv_root vg_kvm-lv_swap

[root@kvm images]# lvm vgchange -ay

2 logical volume(s) in volume group "vg_kvm1" now

active

3 logical volume(s) in volume group "vg_kvm" now

active

2 logical volume(s) in volume group "VolGroup"

now active

[root@kvm images]# ls /dev/mapper/

control vg_kvm1-lv_test vg_kvm-lv_root VolGroup-lv_root

vg_kvm1-lv_date vg_kvm-lv_home vg_kvm-lv_swap VolGroup-lv_swap

[root@kvm images]# mount

/dev/mapper/VolGroup-lv_root /mnt/disk/

[root@kvm images]# ls /mnt/disk/

bin cgroup dev home lib64 media opt root selinux sys usr

boot date etc lib lost+found mnt proc sbin srv tmp var

然后就是卸载工作:

[root@kvm images]# umount /mnt/disk/

[root@kvm images]# lvm vgchange -an

Can't deactivate volume group "vg_kvm1" with 2

open logical volume(s)

Can't deactivate volume group "vg_kvm" with 3

open logical volume(s)

0 logical volume(s) in volume group "VolGroup"

now active

[root@kvm images]# losetup -a

/dev/loop0: [fd02]:15

(/var/lib/libvirt/images/kvm03-clone.img), offset

525336576

[root@kvm images]# losetup -d

/dev/loop0

NAME

fdisk - Linux分区表操作工具软件

总览

fdisk [-u]设备名

fdisk -l [-u] [设备名 ...]

fdisk -s分区 ...

fdisk

-v

描述

硬盘可以被分成一个或多个逻辑磁盘,称为分区。这些分区信息都存放在硬盘0扇区的分区表中。

在 BSD 风格中,分区被称为“磁盘片”和“磁盘标签”

Linux 至少需要一个分区,即用做它的 root 文件系统。 Linux

可以使用交换文件和/或交换分区,交换分区更有效。因此,通常用户会创建第二个 Linux 分区供交换分区使用。在 Intel

兼容的硬件上,启动系统的 BIOS 往往只能访问 1024

柱面之前的硬盘。因此,使用大硬盘的用户通常创建第三个只有几兆大小的小分区,通常用来装配在/boot,用来存放内核映象和一些其它启动时需要的附属文件,所以应确保此分区必须是在BIOS可访问的部分。出于安全方面的考虑、管理方面的原因、备份的需要或为了某些测试,也可以将一个硬盘分成更多的分区使用。

fdisk(以第一种形式调用)是一个以菜单问答形式出现的用来创建和修改分区的程序。它可以辩认

DOS 类型的分区表和 BSD 或 SUN 类型的磁盘标签。

设备通常是下列之一:

/dev/hda /dev/hdb /dev/sda /dev/sdb

(/dev/hd[a-h] 指 IDE 硬盘,/dev/sd[a-p] 指 SCSI 硬盘, /dev/ed[a-d] 指 ESDI

硬盘,/dev/xd[ab] 指 XT 硬盘)。设备名指整个硬盘设备。

分区是在设备名后跟一个分区号。例如:/dev/hda1是指系统在第一个

IDE 硬盘上的第一个分区。 IDE 硬盘可以最多创建 63 个分区,SCSI 可以创建 15

个。又见/usr/src/linux/Documnetation/devices.txt。

一个 BSD/SUN 风格的磁盘标签可以描述 8

个分区,其中第三个应该是“整个磁盘”分区。不要在零柱面使用那些的确使用其第一扇区的分区,(比如交换分区)因为这将损坏磁盘标签。

一 个 IRIX/SGI 风格的磁盘标签可以描述 16

个分区,其中第十一个应该是完整“卷标”分区,而第九个应该被标成“卷标头”。卷标头将覆盖分区表,即,它从零块开始并缺省时延伸 5

个柱面。卷标头中余下的空间可以用来存放头部目录记录信息。不要有任何分区与此卷标头重叠。同样,也不要改变它的类形和在其中创建任何文件系统,因为这样

做将丢失分区表信息。只有当将 Linux 安装在 IRIX/SGI 机器上或在 Linux 中使用 IRIX/SGI

磁盘时才会使用这种类形的标签。

一 个 DOS 风格的分区表可以描述无限的分区。零扇区用来存放 4

个分区(称为主分区)的描述信息。其中可以有一个分区是扩展分区;此扩展分区也就是存储各逻辑分区地方,是一个在组成链表的扇区里存放的描述符,每个描述

符都是一个对应分区的开头.四个主分区,不管是否存在,都用数字 1-4 编号,而逻辑分区以 5 开始。

在 DOS 风格的分区表中,开始地址偏移量和每个分区的大小是以两种不同的方式来存放的:以扇区数的绝对值来描述(占 32

位)和以柱面、磁头、扇区三个一组的形式(占 10+8+6 个位)来描述。前一种描述很好 - 如果每扇区 512

个字节的情况,这种方式可描述到 2TB 的大小。后一种方式有两个不同的问题。第一个是这种 C/H/S

方式必须是在磁头数和每磁道扇区数都已知的情况下才能使用。第二个是就算我们已经知道了这些数字,而只用 24 位来描述这些信息也是不够的。

DOS 只使用这种 C/H/S 的方式,Windows 则两个都用,Linux 则不使用 C/H/S 的方式。

如果可能,fdisk会自动获得磁盘的几何结构。这不一定是磁盘的物理结构(当然,现在的磁盘没有真正的物理结构,同样也不能以简单的柱面/磁头/扇区的形式来描述),而是

MS-DOS 用来供分区表使用的几何结构。

通 常,缺省时这些都将工作得很好,而且,如果磁盘上只有一个 Linux

操作系统时也不会有任何问题。然而,如果磁盘上还有其它操作系统,那么,用其它操作系统的 fdisk

来生成其自身使用的至少一个分区是比较好的选择。当Linux启动的时侯,它会扫描分区表,并由此推出和其它共存操作系统友好合作所需的(伪)几何结构。

当打印一个分区表时,系统会对分区表进行一次一至性检查。这些检查会验证磁盘几何结构和物理地址的开始、结束、指向和标识,同时在柱面的边界检查分区的开始和结束。(除了第一个分区)

一些版本的 MS-DOS 在创建第一个分区时并不是从柱面边界的开始处,而是从第一柱面的第 2 扇区处开始。从柱面 1

开始的分区不能直接从柱面边界开始,但这未必会造成困难,除非你在你的机器上安装了 OS/2 操作系统。

当 执行了对分区表的更新后退出时,程序会运行一次 sync() 和 BLKRRPART ioct1()

(从磁盘上重读分区表信息)。以前,在使用完 fdisk 后需要重启系统。我认为现在不需要这样了 --

太快的重起可能导致未写入磁盘的数据丢失。注意,内核和磁盘硬件都可能缓存数据。

DOS6.x WARNING

DOS6.x 的 FORMAT 命令会在分区的第一扇区的数据区查找一些信息,并认为这些信息比分区表中的信息更可靠。 DOS 的

FORMAT 命令认为 DOS 的 FDISK 命令会在分区变化时自动清除分区数据区的前 512 字节区域。 DOS 的 FORMAT

将查看这些额外的信息,甚至在给出了 /U 这个参数后也是如此。我们认为这是 DOS FORMAT 和 DOS FDISK

的臭虫。

如果你使用 cfdisk 或 fdisk 更改了 DOS

分区表的条目,你必须同时使用dd命

令将该分区的前512个字节清零,之后,你才能使用 DOS 的 FORMAT 命令对这个分区进行格式化。例如:如果你使用 cfdisk

去创建一个 DOS 分区表项目,即分区 /dev/hda1,然后(在退出 fdisk 或 cfdisk 后重启 Linux

使分区表合法化)你就有必要使用如下命令 “dd if=/dev/ero of=/dev/hda1 bs=512 count=1”

来将分区的前 512 个字节清零。

当你使用dd命令时请务必万分小心

,由于任何小的打印错误都将造成磁盘数据的失效。

最好你还是使用由操作系统指定的分区工具软件。例如,当你创建 DOS 分区时应使用 DOS FDISK,而创建 Linux 分区时则使用

Linux 的 fdisk 或 cfdisk。

选项 -v

打印fdisk的版本信息并退出.

-l

列出指定设备的分区表信息并退出。如果没有给出设备,那么使用那些在/proc/partitions(如果存在)提到的.

-u 以扇区数而不是以柱面数的形式显示分区表中各分区的信息.-s分区将分区的大小(单位为块)信息输出到标准输出

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值