`

挂载虚拟机镜像文件里的 LVM 逻辑分区

阅读更多

如果按照 “在 CentOS 上安装和配置 KVM ” 这篇文章介绍的方法安装 guest 操作系统到一个 raw 文件里(virt-install … –disk path=/home/vpsee/centos.img …),那么在以后的维护过程中就可能会遇到麻烦。比如,前段时间 VPSee 碰到一位用户忘了 root 密码需要挂载这个虚拟机的文件系统并恢复 shadow,这时候就需要能够挂载虚拟机的文件系统。虚拟机的文件系统在一个 raw 文件上,这个镜像文件完全模拟了一个硬盘,包含硬盘分区表和 LVM 逻辑卷,所以不能通过 mout 简单挂载,需要一些额外的工作,那么如何才能挂载这个镜像文件里的 LVM 逻辑分区呢?

首先用 losetup 工具把 centos.img 文件和 loop 设备映射起来,-f 参数用来找出下一个可用的 loop 设备:

# losetup -f
/dev/loop0

# losetup /dev/loop0 /home/vpsee/centos.img

然后通过 fdisk /dev/loop0 来查看 centos.img 里的分区表,-u 参数指明使用 sector 为单位记录偏移量(offset)而不是 cylinder 为单位:

# fdisk -u -l /dev/loop0

Disk /dev/loop0: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders, total 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes

      Device Boot      Start         End      Blocks   Id  System
/dev/loop0p1   *          63      208844      104391   83  Linux
/dev/loop0p2          208845    20964824    10377990   8e  Linux LVM

因为每个 sector 是 512 字节(bytes),所以 offset 等于 208845 X 512 = 106928640,这个 offset 很重要,在下面的操作中会用到。

先解除掉 /dev/loop0 和 centos.img 的映射,然后重新用 offset = 106928640 映射起来:

# losetup -d /dev/loop0
# losetup /dev/loop0 /home/vpsee/centos.img -o 106928640

现在可以看到系统上有2个 PV(物理卷组),一个是系统本身,一个是 centos.img 里面的 PV,这两个 PV 的名字都是一样的,是因为当初安装系统的时候都使用了默认的名字,这带来了麻烦,后面的操作会改变一个 PV 的名字以方便后续操作:

# lvm pvscan
  PV /dev/sda2    VG VolGroup00   lvm2 [465.66 GB / 0    free]
  PV /dev/loop0   VG VolGroup00   lvm2 [9.88 GB / 0    free]
  Total: 2 [475.53 GB] / in use: 2 [475.53 GB] / in no VG: 0 [0   ]

# lvm vgchange -ay
  2 logical volume(s) in volume group "VolGroup00" now active
  2 logical volume(s) in volume group "VolGroup00" now active

因为要给两个相同名字的 VolGroup00 改名,所以要先找到他们不同的 UUID:

# vgs -v
    Finding all volume groups
    Finding volume group "VolGroup00"
    Finding volume group "VolGroup00"
  VG         Attr   Ext    #PV #LV #SN VSize   VFree VG UUID
  VolGroup00 wz--n- 32.00M   1   2   0 465.66G    0  dqfs1x-QBY1-kNRr-l0X0-RnoW-GgIR-ZfjkCS
  VolGroup00 wz--n- 32.00M   1   2   0   9.88G    0  XrQNej-Aikn-qjxy-q7Lf-mBDk-gSfs-bLEgT6

上面第2个是 centos.img 里面的 VolGroup00(9.88GB 那个),改名为 vps01:

# vgrename XrQNej-Aikn-qjxy-q7Lf-mBDk-gSfs-bLEgT6 vps01
  Volume group "VolGroup00" successfully renamed to "vps01"

根据卷组名字和空间大小我们可以判断我们需要挂载 LogVol00 vps01(LogVol01 vps01 是 swap):

# lvm lvs
  LV       VG         Attr   LSize   Origin Snap%  Move Log Copy%  Convert
  LogVol00 VolGroup00 -wi-ao 460.03G
  LogVol01 VolGroup00 -wi-ao   5.62G
  LogVol00 vps01      -wi---   8.88G
  LogVol01 vps01      -wi---   1.00G

现在终于可以挂载 centos.img 里的 LVM 逻辑分区了:

# mount /dev/mapper/vps01-LogVol00 /mnt

# ls /mnt
bin   dev  home  lib64       media  opt   root  selinux  sys  usr
boot  etc  lib   lost+found  mnt    proc  sbin  srv      tmp  var

使用完后,需要按顺序干净卸载:

# umount /mnt
# vgchange -an vps01
  0 logical volume(s) in volume group "vps01" now active
# losetup -d /dev/loop0
分享到:
评论
1 楼 shamofengbaoeqi 2011-07-10  
太复杂啦....

相关推荐

    堆叠LVM卷.doc

    堆叠的LVM配置可能影响系统的启动、关闭和挂载顺序。在集群环境中,设备的激活和锁定策略尤其重要,以确保所有资源只在一个节点上操作。 **5. 激活/停用操作:** 确保在正确的顺序下激活和停用卷,特别是在包含根...

    Hyper_V给虚拟机换磁盘_centos_1.11

    3. 接着,向虚拟机添加虚拟光驱,并装载CentOS 7的ISO镜像文件,用于在救援模式下进行系统迁移。 4. 修改虚拟机的启动顺序,使虚拟机从光驱启动,进入CentOS 7的救援模式。 5. 在救援模式中,对新添加的10GB磁盘...

    大数据平台实践 一.虚拟机安装及配置

    安装Linux时,将ISO镜像文件挂载到虚拟机光驱,然后启动虚拟机,进入安装界面,按照向导进行操作,包括语言选择、分区设置、用户账户创建等。对于大数据平台,一般建议采用LVM(逻辑卷管理)进行磁盘分区,以实现更...

    嵌入式系统/ARM技术中的迁移Xen虚拟机到KVM的六大步骤

    `parted`用于处理分区,而`kpartx`则用于挂载虚拟机内的分区。 2. **安装GRUB引导加载程序**:由于Xen虚拟机通常不包含独立的引导加载程序,所以在迁移前需要在虚拟机内部安装GRUB,以便在KVM中启动时能够正确引导...

    虚拟机中安装RatHatLinuxServer-6.2-x86_64

    记得将ISO镜像文件挂载到虚拟机的CD/DVD驱动器,这样在启动时虚拟机就能读取到安装介质。 启动虚拟机后,你会看到安装引导界面。在这里,你可以选择安装方式。如果你是初次接触Linux或者希望快速完成安装,可以选择...

    在虚拟机中安装linux操作系统过程

    13. **ISO镜像加载**:将CentOS的ISO镜像文件挂载到虚拟机的CD/DVD驱动器上。 14. **启动虚拟机**:启动虚拟机后,按回车键开始安装过程。 15. **安装界面**:跳过媒体检测,继续安装流程。 16. **语言设置**:...

    VMWare+Ubuntu安装.pdf

    在Ubuntu安装过程中,用户可能需要选择分区方案,建议使用逻辑卷管理(LVM)分区,这样可以更容易地管理磁盘空间。之后就是安装过程的标准步骤,如配置语言、位置、键盘布局等。最后一步是安装启动引导器(grub),...

    上海市高职高专学生2008年计算机网络技术竞赛教师培训(Linux)

    5. **ISO镜像安装**:使用RHEL Server 5的ISO镜像文件进行安装,通过虚拟机的CD-ROM设备挂载ISO,启动虚拟机进行图形化安装。 6. **安装过程**:包括语言选择、键盘布局选择、安装编号输入、磁盘分区、GRUB引导程序...

    49-准备 LVM Volume Provider1

    后续章节可能会详细探讨如何使用LVM volume provider进行卷的创建、挂载、扩容、删除等操作,以及如何通过Cinder API进行自动化管理。了解并熟练掌握这些操作对于管理和维护OpenStack环境中的存储资源至关重要。此外...

    KVM安装与IMAGE制作过程及注意事项

    5. **其他配置**:如调整分区、创建LVM卷组,以及确保虚拟机磁盘文件系统的正确挂载。 6. **重启机器**:安装完成后,重启宿主机以使改动生效,并验证内核版本是否正确。 **KVM虚拟机镜像制作** 1. **Glance及...

    云计算基础架构-硬盘逻辑卷管理.pptx

    物理卷是实际的硬盘分区或整个硬盘,卷组是包含一个或多个物理卷的集合,而逻辑卷是在卷组上创建的虚拟磁盘,可以在其上创建文件系统。 案例目标包括了对LVM的安装、配置和使用。在安装阶段,需要确保系统中已包含...

    vmvare里安装RHEL5文件

    接着,指定RHEL5的ISO镜像文件或者使用安装光盘启动虚拟机。 **安装系统**时,你将进入图形化的安装界面。在分区阶段,选择自动分区,并启用“手工修改”选项。这使你可以自定义分区布局。删除除/boot外的所有分区...

    计算机操作系统实验二.pdf

    4. **挂载ISO**:将下载的Red Hat ISO镜像文件挂载到虚拟机的CD/DVD驱动器,这样虚拟机在启动时会从ISO中读取安装信息。 5. **启动安装过程**:启动虚拟机,进入安装界面。可以选择图形化安装或命令行安装,一般...

    Install and Config Xen

    这一步骤通常涉及下载Red Hat 9的ISO镜像文件,并将其挂载到虚拟机的光驱中进行安装。安装过程中可能需要设置时间、时区、分区方案等选项。 ##### 1.3 克隆Red Hat虚拟机 安装完成后,可以通过克隆功能创建多个...

    centos7.iso.zip

    在这种情况下,CentOS 7的ISO文件通常用于在服务器或个人电脑上进行全新安装,或者作为虚拟机的镜像文件。 标签中的"centos"指代操作系统,"linux"表示它是基于Linux内核的操作系统,而"vmware"则意味着这个ISO文件...

    WMware安装Centos的详细步骤

    在“安装客户机操作系统”界面,选择“安装程序光盘映像文件(ISO)”,然后浏览找到你的CentOS ISO镜像文件。 3. **配置虚拟机**:在“客户机操作系统”中选择“Linux”,然后选择对应CentOS的版本(例如:CentOS ...

    Linux知识点总结.docx

    3. 挂载ISO镜像文件`rhel-server-6.4-x86_64-dvd.iso`到虚拟光驱,启动虚拟机,开始安装过程。 4. 按照安装向导设置语言、键盘布局、时区、主机名,以及分区方案(如LVM、标准分区等)。 5. 完成安装后,首次启动...

    为freeiris安装centos5[1].2的图文教程

    - FreeIris的安装媒介,通常是ISO镜像文件。 - CentOS 5.2的安装ISO或网络安装源。 - 一台支持虚拟化技术的计算机,或者足够的硬件资源来安装双系统。 **2. 创建虚拟机** 如果你打算在虚拟环境中安装CentOS,可以...

    RHEL 7.4 操作系统安装.pdf

    3. **安装启动**:将RHEL 7.4的操作系统镜像ISO文件挂载到虚拟机的CD/DVD驱动器,然后启动虚拟机。成功引导后,将出现安装引导界面。 4. **选择语言**:在安装向导中,选择英文作为操作系统的界面语言。这将影响...

Global site tag (gtag.js) - Google Analytics