添加镜像源

[root@xen xen]# cat /etc/yum.repos.d/xen.repo
[xen]
name=xenserver
baseurl=http://mirrors.163.com/centos/6.7/xen4/x86_64/
gpgcheck=0

安装

yum -y install xen

修改引导文件

title CentOS (3.18.21-16.el6.x86_64)
root (hd0,0)
kernel /xen.gz dom0_men=1024M cpufreq=xen dom0_max_vcpus=2 d0m0_vcpus_pin
module /vmlinuz-3.18.21-16.el6.x86_64 ro root=/dev/mapper/vg_xen-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=vg_xen/lv_swap rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=vg_xen/lv_root KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
module /initramfs-3.18.21-16.el6.x86_64.img

1.重启后查看内核

[root@xen xen]# uname -r
3.18.21-16.el6.x86_64

设置桥接模式

1.eth0设置

[root@xen network-scripts]# cat ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
UUID=ff8ebf1a-a744-458c-b0db-9f8d4b0542a2
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
BRIDGE=xenbr0

2.xenbr0设置

[root@xen network-scripts]# cat ifcfg-xenbr0
DEVICE=xenbr0
TYPE=Bridge
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=10.1.100.19
PREFIX=24
GATEWAY=10.1.100.2
DNS1=114.114.114.114

3.重启网络并查看

#/etc/init.d/network restart
[root@xen network-scripts]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:C0:35:B0
inet6 addr: fe80::20c:29ff:fec0:35b0/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3579 errors:0 dropped:0 overruns:0 frame:0
TX packets:1549 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:438611 (428.3 KiB) TX bytes:190668 (186.1 KiB) lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) xenbr0 Link encap:Ethernet HWaddr 00:0C:29:C0:35:B0
inet addr:10.1.100.19 Bcast:10.1.100.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fec0:35b0/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1864 errors:0 dropped:0 overruns:0 frame:0
TX packets:637 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:269867 (263.5 KiB) TX bytes:73018 (71.3 KiB)

创建虚拟机

1.创建磁盘

[root@xen /]# qemu-img create -f raw -o size=2G /images/xen/busybox.img
  1. 查看磁盘大小

    [root@xen xen]# ll -h total 0 -rw-r--r--. 1 root root 2.0G Dec 14 22:30 busybox.img [root@xen xen]# du -sh busybox.img 0 busybox.img

3.格式化

[root@xen xen]# mke2fs -t ext4 busybox.img

4.挂载

[root@xen xen]# mount -o loop /images/xen/busybox.img /mnt/

创建一个最小化的虚拟机

1.下载busybox

wget -c https://busybox.net/downloads/busybox-1.22.1.tar.bz2
[root@xen ~]# tar xf busybox-1.21.1.tar.bz2
[root@xen ~]# cd busybox-1.21.1

2.安装编译环境

# yum -y groupinstall "Development Tools" "Server Platform Development"

3.安装glibc-static 将busybox编译成静态文件

# yum -y install glibc-static
  1. 编译

    # make menuconfig

    1)选择busybox settings

2)选择build options

3)勾选第一项,保存退出

然后执行编译

    # make -j
#make install

5.复制install到mnt目录,并创建linux必须的一些目录

[root@xen busybox-1.21.1]# cp -a _install/* /mnt/
[root@xen busybox-1.21.1]# cd /mnt/
[root@xen mnt]# mkdir proc sys dev etc var boot home
[root@xen mnt]# ll
total 56
drwxr-xr-x. 2 root root 4096 Dec 14 23:20 bin
drwxr-xr-x. 2 root root 4096 Dec 14 23:22 boot
drwxr-xr-x. 2 root root 4096 Dec 14 23:22 dev
drwxr-xr-x. 2 root root 4096 Dec 14 23:22 etc
drwxr-xr-x. 2 root root 4096 Dec 14 23:22 home
lrwxrwxrwx. 1 root root 11 Dec 14 23:20 linuxrc -> bin/busybox
drwx------. 2 root root 16384 Dec 14 22:30 lost+found
drwxr-xr-x. 2 root root 4096 Dec 14 23:22 proc
drwxr-xr-x. 2 root root 4096 Dec 14 23:20 sbin
drwxr-xr-x. 2 root root 4096 Dec 14 23:22 sys
drwxr-xr-x. 4 root root 4096 Dec 14 23:20 usr
drwxr-xr-x. 2 root root 4096 Dec 14 23:22 var

测试是否可以访问

1.测试是否可以访问目标系统

[root@xen /]# chroot /mnt/ /bin/sh
/ # ls
bin dev home lost+found sbin usr
boot etc linuxrc proc sys var
/ #

2.创建内核链接到目标系统

[root@xen boot]# ln -s vmlinuz-2.6.32-573.el6.x86_64 vmlinuz
[root@xen boot]# ln -sv initramfs-2.6.32-573.el6.x86_64.img initramfs.img
`initramfs.img' -> `initramfs-2.6.32-573.el6.x86_64.img'

3.设置xen启动配置文件

[root@xen xen]# cp xlexample.pvlinux busybox
[root@xen xen]# vim busybox

1)配置文件

# =====================================================================
# Example PV Linux guest configuration
# =====================================================================
#
# This is a fairly minimal example of what is required for a
# Paravirtualised Linux guest. For a more complete guide see xl.cfg(5) # Guest name
name = "busybox-001" # 128-bit UUID for the domain as a hexadecimal number.
# Use "uuidgen" to generate one if required.
# The default behavior is to generate a new UUID each time the guest is started.
#uuid = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" # Kernel image to boot
kernel = "/boot/vmlinuz" # Ramdisk (optional)
ramdisk = "/boot/initramfs.img" # Kernel command line options
extra = "selinux=0 init=/bin/sh" # Initial memory allocation (MB)
memory = 512 # Maximum memory (MB)
# If this is greater than `memory' then the slack will start ballooned
# (this assumes guest kernel support for ballooning)
#maxmem = 512 # Number of VCPUS
vcpus = 2 # Network devices
# A list of 'vifspec' entries as described in
# docs/misc/xl-network-configuration.markdown
#vif = [ '' ] # Disk Devices
# A list of `diskspec' entries as described in
# docs/misc/xl-disk-configuration.txt
disk = [ '/images/xen/busybox.img,raw,xvda,rw' ]
root = "/dev/xvda ro"
~

3.启动虚拟机直接进入console

[root@xen xen]# xl create busybox -c
*******
/ # ls
bin dev home lost+found sbin usr
boot etc linuxrc proc sys var
/ # ifconfig -a
lo Link encap:Local Loopback
LOOPBACK MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
/ #

4.退出

   exit  拆除虚拟机
ctrl + ] 退出控制台

5.查看虚拟机

# [root@xen xen]# xl list
Name ID Mem VCPUs State Time(s)
Domain-0 0 4234 2 r----- 787.3
busybox-001 2 512 2 -b---- 2.2

6.进取虚拟机

[root@xen xen]# xl console busybox-001

7.关闭虚拟机

/bin # [root@xen xen]# xl destroy busybox-001
DEBUG libxl__device_destroy_tapdisk 105 type=aio:/images/xen/busybox.img disk=:/images/xen/busybox.img
[root@xen xen]# xl list
Name ID Mem VCPUs State Time(s)
Domain-0 0 4234 2 r----- 793.9

8.添加网卡

常用的key mac = 00:16:3e开头,默认会自己指定 bridge = 指定此网络接口在dom0中被关联在哪个桥设备中 model=模拟成哪一种设备,例如e1000 virname=接口名称,在dom0中显示 script=创建接口时需要执行的脚本 ip地址

1)编辑配置文件

vif = [ 'bridge=xenbr0,mac=00:16:3e:56' ]

2.)查看网卡驱动

[root@xen xen]# cd /lib/modules/2.6.32-573.el6.x86_64/kernel/drivers/net/
[root@xen net]# cp xen-netfront.ko 8139too.ko mii.ko /mnt/lib/modules/

3)启动虚拟机加载模块

    / # insmod /lib/modules/xen-netfront.ko
Initialising Xen virtual ethernet driver.
/ # ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:16:3E:56:DA:00
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:18 lo Link encap:Local Loopback
LOOPBACK MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

xen学习(一)的更多相关文章

  1. Xen学习——原理要点归纳总结

    Xen是半虚拟化,需要修改操作系统内核.Vmware是完全虚拟化. XEN的系统架构: Xen Hypervisor: 直接运行在硬件上,介于操作系统和硬件之间的一层软件,负责管理CPU.内存.中断. ...

  2. 学习Xen

    先找到两个大佬博客 进行学习 http://www.cnblogs.com/BloodAndBone/archive/2010/11/02/1866907.html https://www.cnblo ...

  3. xen 基础命令学习

    # 查看创建的虚拟机的uuid xe vm-list # 开启虚拟机启动顺序功能 xe vm-param-set HVM-boot-policy="BIOS order" uuid ...

  4. 虚拟机体验之 Xen 篇 —— 令人脑洞大开的奇异架构

    这一篇我要体验的虚拟机系统是 Xen.在虚拟机领域,Xen 具有非常高的知名度,其名字经常在各类文章中出现.同时 Xen 也具有非常高的难度,别说玩转,就算仅仅只是理解它,都不是那么容易.之所以如此, ...

  5. 关于OpenStack的学习路线及相关资源汇总

    首先我们想学习openstack,那么openstack是什么?能干什么?涉及的初衷是什么?由什么来组成?刚接触openstack,说openstack不是一个软件,而是由多个组件进行组合,这是一个更 ...

  6. JavaWeb学习总结(三)——Tomcat服务器学习和使用(二) 包含https 非对称秘钥 NB

    JavaWeb学习总结(三)--Tomcat服务器学习和使用(二) 一.打包JavaWeb应用 在Java中,使用"jar"命令来对将JavaWeb应用打包成一个War包,jar命 ...

  7. 用Gen8服务器来学习虚拟化ESXI

    虚拟化和云计算是这几年的热门技术,VMware公司是虚拟化的领头羊,小坦克我有幸在VMware从事这方面的测试工作. 本系列将会讲述我学习虚拟化的一些经历. 将会覆盖一些虚拟化产品: 比如:VMwar ...

  8. linux内核数据结构学习总结

    目录 . 进程相关数据结构 ) struct task_struct ) struct cred ) struct pid_link ) struct pid ) struct signal_stru ...

  9. Xen入门系列一【使用Xen4CentOS 在 Centos 6 上安装 Xen】

    最近在学习Hadoop,在Win7下用VMware搭了三台虚拟机好不容易装好了Hadoop结果跑个两个单词的wordcount就跑了十分钟,郁闷啊,于是开始寻找效能更好的虚拟化解决方案,然后选定了Xe ...

随机推荐

  1. 【b504】等价表达式(NOIP2005第4题)

    Time Limit: 1 second Memory Limit: 50 MB [问题描述] 明明进了中学之后,学到了代数表达式.有一天,他碰到一个很麻烦的选择题.这个题目的题干中首先给出了一个代数 ...

  2. CocoaPods详解之(二)----进阶篇

    CocoaPods详解之----进阶篇 作者:wangzz 原文地址:http://blog.csdn.net/wzzvictory/article/details/19178709 转载请注明出处 ...

  3. TensorFlow 学习(七) — 常用函数 api、tf.nn 库

    0. 四则运算 平方:tf.square(),开方:tf.sqrt() tf.add().tf.sub().tf.mul().tf.div().tf.mod().tf.abs().tf.neg() 1 ...

  4. Cocos2d-x 3.1.1 Lua演示样例 ActionManagerTest(动作管理)

    Cocos2d-x 3.1.1 Lua演示样例 ActionManagerTest(动作管理) 本篇博客介绍Cocos2d-x的动作管理样例,这个样例展示了Cocos2d-x的几个动作: MoveTo ...

  5. dotnet core 使用 sqlite 部署到 Centos 服务器

    原文:dotnet core 使用 sqlite 部署到 Centos 服务器 本文告诉大家如何创建一个 asp dotnet core 程序,这个程序使用 sqlite 保存,部署程序到 Cento ...

  6. myeclipse 8.6 software and workspace center is currently not available

    Myeclipse安装EGit插件的时候偏偏遇到software and workspace center is currently not available 不用打开myeclipse  conf ...

  7. javascript中间AJAX

    兼容访问XMLHttpRequest物: var xhr = null; if(window.XMLHttpRequest){ //非IE浏览器 xhr = window.XMLHttpRequest ...

  8. 计算广告(computational advertising)

    计算广告学是一门由信息科学.统计学.计算机科学以及微观经济学等学科交叉融合的新兴分支学科. 1. 课程与资源 Andrei Broder:美国工程院院士,计算广告概念的提出者: MS&E 23 ...

  9. Blend_Effect

    原文:Blend_Effect 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u010265681/article/details/76651796 ...

  10. Linux性能测试 mpstat命令

    mpstat是MultiProcessor Statistics的缩写,是实时系统监控工具.其报告与CPU的一些统计信息,这些信息存放在/proc/stat文件中.在多CPUs系统里,其不但能查看所有 ...