《Xen虚拟机磁盘镜像模板制作(三)—CentOS 7》一文中,我们已经成功制作出了 CentOS7 磁盘镜像。下面我们说明下如何通过它来生成目标虚拟机,同时测试下之前制作好的虚拟机磁盘镜像模版是否有问题。

1、创建目标虚拟机的系统盘:

[root@localhost ~]# lvcreate -L 15G -n centos7_vm vg0
Logical volume "centos7_vm" created

2、查看成功创建的虚拟机系统盘:

[root@localhost ~]# lvs
LV VG Attr LSize Origin Snap% Move Log Copy% Convert
centos7_vm vg0 -wi-a- .00G

3、将之前导出的磁盘MBR主引导扇区centos7_mbr 重新dd到目标虚拟机系统盘里:

[root@localhost ~]# dd if=/root/centos7_mbr of=/dev/vg0/centos7_vm
+ records in
+ records out
bytes (1.0 MB) copied, 0.101847 seconds, 10.3 MB/s
[root@localhost ~]#

4、修改系统盘分区大小(以扇区数为单位):

[root@localhost ~]# echo "000001CA:00F8DF01" | xxd -r - /dev/vg0/centos7_vm
[root@localhost ~]#

因为前面我们创建的目标虚拟机系统盘大小是15G,因此这里我们需要将磁盘分区1所占用的扇区数大小设置为00F8DF01(具体计算方式后续再整理),而000001CA则表示保存磁盘分区1占用扇区数的开始字节位置,具体说明请参考《磁盘MBR主引导扇区》

5、建立系统盘的磁盘分区映射,将系统盘的所有分区映射到/dev/mapper下:

[root@localhost ~]# kpartx -av /dev/vg0/centos7_vm
add map centos7_vm1 : linear /dev/vg0/centos7_vm
[root@localhost ~]# ll /dev/mapper/
total
brw-rw---- root disk , Jun : centos7_vm1
crw------- root root , May : control
brw-rw---- root disk , Jun : vg0-centos7_vm
[root@localhost ~]#

红色的部分即为虚拟机磁盘的根分区。

6、格式化目标虚拟机根分区文件系统为ext3(或者ext4等等):

[root@localhost ~]# mkfs.ext3 /dev/mapper/centos7_vm1
mke2fs 1.39 (-May-)
Filesystem label=
OS type: Linux
Block size= (log=)
Fragment size= (log=)
inodes, blocks
blocks (5.00%) reserved for the super user
First data block=
Maximum filesystem blocks=
block groups
blocks per group, fragments per group
inodes per group
Superblock backups stored on blocks:
, , , , , , , , Writing inode tables: done
Creating journal ( blocks): done
Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every mounts or
days, whichever comes first. Use tune2fs -c or -i to override.
[root@localhost ~]#

7、将目标虚拟机根分区mount到 /mnt(或者其他目录)下:

[root@localhost ~]# mount /dev/mapper/centos7_vm1 /mnt/
[root@localhost ~]# ll /mnt/
total
drwx------ root root Jun : lost+found
[root@localhost ~]#

8、解压磁盘镜像模板系统文件 centos7_img 到 /mnt下,并 umout :

[root@localhost ~]# tar zxf /root/centos7_img -C /mnt
[root@localhost ~]# ll /mnt/
total
lrwxrwxrwx root root Jun : bin -> usr/bin
dr-xr-xr-x root root Jun : boot
drwxr-xr-x root root Jun : dev
drwxr-xr-x root root Jun : etc
drwxr-xr-x root root Jun home
lrwxrwxrwx root root Jun : lib -> usr/lib
lrwxrwxrwx root root Jun : lib64 -> usr/lib64
drwx------ root root Jun : lost+found
drwxr-xr-x root root Jun media
drwxr-xr-x root root Jun mnt
drwxr-xr-x root root Jun opt
drwxr-xr-x root root Jun : proc
dr-xr-x--- root root Jun : root
drwxr-xr-x root root Jun : run
lrwxrwxrwx root root Jun : sbin -> usr/sbin
drwxr-xr-x root root Jun srv
drwxr-xr-x root root Jun : sys
drwxrwxrwt root root Jun : tmp
drwxr-xr-x root root Jun : usr
drwxr-xr-x root root Jun : var
[root@localhost ~]# umount /mnt/

9、删除磁盘分区映射:

[root@localhost ~]# kpartx -d /dev/vg0/centos7_vm
[root@localhost ~]# ll /dev/mapper/
total
crw------- root root , May : control
brw-rw---- root disk , Jun : vg0-centos7_vm
[root@localhost ~]#

10、至此,虚拟机系统盘已经准备好,下面就是需要准备虚拟机配置文件:

kernel = "/usr/lib/xen/boot/hvmloader"
builder='hvm'
memory =
name = "centos7_vm"
vif = [ 'bridge=eth0' ]
disk = [ 'phy:/dev/vg0/centos7_vm,hda,w' ]
vcpus =
on_reboot = 'restart'
on_crash = 'restart'
boot = 'c'
sdl =
vnc =
vnclisten = '0.0.0.0'
vncdisplay =
stdvga =
serial = 'pty'
usbdevice = 'tablet'
xen_platform_pci=

11、启动虚拟机,并通过vnc登陆该虚拟机:

至此,通过前面制作的 CentOS7 磁盘镜像模板成功生成了一个全新的虚拟机。

Xen虚拟机磁盘镜像模板制作(四)—CentOS 7的更多相关文章

  1. Xen虚拟机磁盘镜像模板制作(三)—CentOS 7

    这里整理下制作Xen CentOS 7磁盘镜像模版的流程: 1.创建一个将要用来安装CentOS 7系统的LV,命令如下: [root@localhost ~]# lvcreate -L 5G -n ...

  2. Xen虚拟机磁盘镜像模板制作(二)—Windows Server 2008(2012)

    在<Xen虚拟机磁盘镜像模板制作(一)—Windows Server 2008(2012)>一文中,我们已经成功制作出了Windows Server磁盘镜像.下面我们说明下如何通过它来生成 ...

  3. Xen虚拟机磁盘镜像模板制作(一)—Windows Server 2008(2012)

    这段时间一直在研究如何制作一个适合Xen虚拟化的Windows Server 2008(2012)磁盘镜像,中间虽然遇到了一些阻挠,不过最终还是顺利解决,成功制作出了Xen Windows Serve ...

  4. Visual Studio 项目模板制作(四)

    上一篇,介绍了VSIX安装模板的方法,那么,你是不是要问,为何有些项目模板却可以有向导,那是怎么做到的 今天这篇文章就是介绍如何为自己的模板添加向导,向导可以引导你完成项目中各种参数的设置,比如项目创 ...

  5. 虚拟机centos7 基础模板制作

    用于新模板制作,主要针对一些基本组件的安装 分区.安装不在此赘述 最小化安装centos7-minimal-1810 1.安装wget yum install wget -y 2.更换aliyun源 ...

  6. centos安装xen虚拟机并且配置bridge

    主要参考的几个官方文档: http://wiki.centos.org/HowTos/Xen/Xen4QuickStart 在centos上安装xen组件并建立dom0 http://wiki.cen ...

  7. xen虚拟机操作整理

    1,登陆物理机器 2,查看物理机建立虚拟机的列表 root:~ # xm li Name ID Mem VCPUs State Time(s) Domain-0 0 49450 8 r----- 52 ...

  8. Linux 桌面玩家指南:07. Linux 中的 Qemu、KVM、VirtualBox、Xen 虚拟机体验

    特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...

  9. phpwind9.0模板制作教程——制作论坛风格

    由于论坛模板机制和门户等模板机制不同,所以今天我就先重点讲讲论坛模板制作的大概过程. 一.先来熟悉下phpwind9.0的论坛模板机制. 其实phpwind9.0的模板机制和discuzx2.5差不多 ...

随机推荐

  1. 创建link server链接服务器碰到的问题及解决办法

    问题描述 今天在做数据库迁移,然后新建link server(链接服务器)的时候,碰到以下问题. 我的sql 脚本是这样的. 然后,执行的时候就收到以下错误信息. Msg 468, Level 16, ...

  2. Htmlhelper—CheckBox自动生成两个input

    前言 在之前的一篇文章中小猪分享了Htmlhelper的用法.其中有意思的一个就是Checkbox,有必要单独拿出来讲一讲. Htmlhelper—CheckBox 细心的读者一定发现了当使用类似语法 ...

  3. BroadcastReceiver接收系统广播消息

    Android常用的广播Action常量: ACTION_TIME_CHANGED:系统时间被改变. ACTION_DATE_CHANGED:系统日期被改变. ACTION_TIMEZONE_CHAN ...

  4. bzoj 2132: 圈地计划

    #include<cstdio> #include<iostream> #include<cstring> #define M 100009 #define inf ...

  5. HDU 1394 树状数组求逆序对

    Minimum Inversion Number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java ...

  6. Power string(poj 2406)

    题目大意,给出一个字符串s,求最大的k,使得s能表示成a^k的形式,如 abab 可以表示成(ab)^2: 方法:首先 先求kmp算法求出next数组:如果 len mod (len-next[len ...

  7. MBProgressHUD.h file not found

    MBProgressHUD框架,怎么我导入MBProgressHUD+MJ.h会报错.(即MBProgressHUD+MJ根本不存在),我看其他人的视屏又可以导入 MBProgressHUD.h fi ...

  8. 分布式一致性原理—BASE

    定义 BASE是BasicallyAvailable(基本可用).Soft state(软状态)和Eventually consistent(最终一致性)三个短语的简写,是由来自eBay的架构师Dan ...

  9. Java容器类接口:Iterator,Collection,Map

    Iterator Iterator被称为迭代器,是一个对象,它的工作是遍历并选择序列中的对象,可以实现以下一些操作: 使用方法iterator()要求容器返回一个Iterator,Iterator将返 ...

  10. Python 第三方模块安装出现的问题和解决方案.

    出现此类问题 A) ImportError: cannot import name '_win32stdio'B) ImportError: No module named 'win32api' 需要 ...