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 ...
随机推荐
- jdk8-collect
toMap 常用方式 public Map<Long, String> getIdNameMap(List<Account> accounts) { return accoun ...
- BZOJ 1855 股票交易 - 单调队列优化dp
传送门 题目分析: \(f[i][j]\)表示第i天,手中拥有j份股票的最优利润. 如果不买也不卖,那么\[f[i][j] = f[i-1][j]\] 如果买入,那么\[f[i][j] = max\{ ...
- html中DIV+CSS与TABLE布局方式的区别及HTML5新加入的结构标签(转)
DIV与TABLE布局的区别 div 和 table 的加载方式不同,div 的加载方式是即读即加载,遇到 <div> 没有遇到 </div> 的时候一样加载 div 中的内容 ...
- 【烽火传递】dp + 单调队列优化
题目描述 烽火台又称烽燧,是重要的防御设施,一般建在险要处或交通要道上.一旦有敌情发生,白天燃烧柴草,通过浓烟表达信息:夜晚燃烧干柴,以火光传递军情.在某两座城市之间有 n 个烽火台,每个烽火台发出信 ...
- 排序 —— 希尔排序(Shell sort)
希尔排序(Shell sort)的名称源于它的发明者 Donald Shell,该算法是冲破二次时间屏障(冒泡和插入排序,基于相邻元素的交换)的第一批算法.希尔排序改进了冒泡和插入排序的相邻元素才进行 ...
- Smart internet of things services
A method and apparatus enable Internet of Things (IoT) services based on a SMART IoT architecture by ...
- 【非常高%】【codeforces 733B】Parade
time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...
- 【44.19%】【codeforces 727C】Guess the Array
time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...
- 黑科技 —— Type-C 接口与 USB3.1
Type-C 接口解决了 USB 永远插不准的世界性难题. 小开科普一分钟:究竟USB Type-C是何方神圣? 1. Type-C USB Type-C,简称是 USB-C.Type-C 只是 US ...
- 开发Android项目中使用androidannotations
前言 最近接手了一个工程,使用了androidannotations,因为以前使用过butterknife所以有似曾相识的感觉,但是有些用法还是不一样,所以就花时间学习了下androidannotat ...