xen学习(一)
添加镜像源
[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
查看磁盘大小
[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
编译
# 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学习(一)的更多相关文章
- Xen学习——原理要点归纳总结
Xen是半虚拟化,需要修改操作系统内核.Vmware是完全虚拟化. XEN的系统架构: Xen Hypervisor: 直接运行在硬件上,介于操作系统和硬件之间的一层软件,负责管理CPU.内存.中断. ...
- 学习Xen
先找到两个大佬博客 进行学习 http://www.cnblogs.com/BloodAndBone/archive/2010/11/02/1866907.html https://www.cnblo ...
- xen 基础命令学习
# 查看创建的虚拟机的uuid xe vm-list # 开启虚拟机启动顺序功能 xe vm-param-set HVM-boot-policy="BIOS order" uuid ...
- 虚拟机体验之 Xen 篇 —— 令人脑洞大开的奇异架构
这一篇我要体验的虚拟机系统是 Xen.在虚拟机领域,Xen 具有非常高的知名度,其名字经常在各类文章中出现.同时 Xen 也具有非常高的难度,别说玩转,就算仅仅只是理解它,都不是那么容易.之所以如此, ...
- 关于OpenStack的学习路线及相关资源汇总
首先我们想学习openstack,那么openstack是什么?能干什么?涉及的初衷是什么?由什么来组成?刚接触openstack,说openstack不是一个软件,而是由多个组件进行组合,这是一个更 ...
- JavaWeb学习总结(三)——Tomcat服务器学习和使用(二) 包含https 非对称秘钥 NB
JavaWeb学习总结(三)--Tomcat服务器学习和使用(二) 一.打包JavaWeb应用 在Java中,使用"jar"命令来对将JavaWeb应用打包成一个War包,jar命 ...
- 用Gen8服务器来学习虚拟化ESXI
虚拟化和云计算是这几年的热门技术,VMware公司是虚拟化的领头羊,小坦克我有幸在VMware从事这方面的测试工作. 本系列将会讲述我学习虚拟化的一些经历. 将会覆盖一些虚拟化产品: 比如:VMwar ...
- linux内核数据结构学习总结
目录 . 进程相关数据结构 ) struct task_struct ) struct cred ) struct pid_link ) struct pid ) struct signal_stru ...
- Xen入门系列一【使用Xen4CentOS 在 Centos 6 上安装 Xen】
最近在学习Hadoop,在Win7下用VMware搭了三台虚拟机好不容易装好了Hadoop结果跑个两个单词的wordcount就跑了十分钟,郁闷啊,于是开始寻找效能更好的虚拟化解决方案,然后选定了Xe ...
随机推荐
- vijos1070 新年趣事之游戏 - 次小生成树
传送门 题目大意: 求原图的最小生成树,和次小生成树. 题目分析: kruskals求mst(\(O(mlogm)\)) 考虑次小生成树暴力的做法,因为次小生成树总是由最小生成树删掉一条边并添加一条边 ...
- 通过引入SiteMesh的JSP标签库,解决Freemarker与SiteMesh整合时,自定义SiteMesh标签的问题
不少web项目,都用到了SiteMesh.SiteMesh可以和JSP.Freemarker等模版进行整合,有一定的好处,当然也有其不好的地方.我个人觉得,如果没有必要,不要在项目中引入太多的工具和技 ...
- 【BZOJ 1025】[SCOI2009]游戏
[题目链接]:http://www.lydsy.com/JudgeOnline/problem.php?id=1025 [题意] [题解] 每一个对应关系,里面其实都会生成大小不一的几个环. 每一个环 ...
- Oracle主键(Primary Key)使用详细的说明
Oracle/PLSQL: 主键(Primary Key)说明 1 目标 通过演示样例解说怎样创建.删除.禁用和开启主键. 2 前言之-什么是主键 在Oracle中,主键指能唯一标识一条记录的单个数据 ...
- 深度学习实践指南(六)—— ReLU(前向和后向过程)
def relu_forward(x): out = x * (x > 0) # * 对于 np.ndarray 而言表示 handmard 积,x > 0 得到的 0和1 构成的矩阵 r ...
- leveldb原理和使用
LevelDB是一个基于本地文件的存储引擎,非分布式存储引擎,原理基于BigTable(LSM文件树),无索引机制,存储条目为Key-value.适用于保存数据缓存.日志存储.高速缓存等应用,主要是避 ...
- node lesson3
var express = require('express'); var superagent = require('superagent'); var cheerio = require('che ...
- Objective-C block实现代码分析
block内部结构 让我们写一个block void exampleBlock() { // NSConcreteStackBlock int a = 1; __block int b = 2; in ...
- WPF中利用RadialGradient模拟放大镜效果
原文:WPF中利用RadialGradient模拟放大镜效果 --------------------------------------------------------------------- ...
- HTML精确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth完全详细的说明
HTML:scrollLeft,scrollWidth,clientWidth,offsetWidth具体指完全解释究竟哪里的距离scrollHeight: 获取对象的高度滚动. scrollLe ...