centos安装xen虚拟机并且配置bridge
主要参考的几个官方文档:
http://wiki.centos.org/HowTos/Xen/Xen4QuickStart 在centos上安装xen组件并建立dom0
http://wiki.centos.org/zh/HowTos/Xen/Xen4QuickStart/Xen4Libvirt 安装libvirt相关组件
http://wiki.xen.org/wiki/DomU_Install_with_Virt-Manager 使用virt-manager创建domU
http://wiki.xenproject.org/wiki/Host_Configuration/Networking#Red_Hat-style_bridge_configuration_.28e.g._RHEL.2C_Fedora.2C_CentOS.29 在centos上建立bridge
http://wiki.xenproject.org/wiki/Xen_Networking#Paravirtualised_Network_Devices 将虚拟机的虚拟网卡挂到网桥上
环境:
Centos6.4社区版
Xen4.2
机器配置:8G RAM,500G硬盘,4核cpu
预备工作:配置好yum源,官方的最好,但国内访问速度一般很慢,这里使用163的yum源
1 使用yum安装xen组件并建立dom0
1启用xen在yum源里的软件库
- yum install centos-release-xen
2成功后,安装xen
- yum install xen
3 Xen 监督器是在 linux 内核之上运行,所以我们必须告诉 grub 先引导监督器,然后链式引导 dom0 的 linux 内核。要达至这个目的,centos-release-xen 的组件内已包含一个脚本,让我们执行它:
- /usr/bin/grub-bootxen.sh
4 查看/boot/grub/grub.conf,包含如下类似内容
title CentOS (3.10.23-11.el6.centos.alt.x86_64)
root (hd0,4)
kernel /boot/xen.gz dom0_mem=4096M,max:4096M loglvl=all guest_loglvl=all
module /boot/vmlinuz-3.10.23-11.el6.centos.alt.x86_64 ro root=UUID=2a7805e6-c24c-448c-a807-7def4ae408b3 rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD crashkernel=128M LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM rhgb quiet
module /boot/initramfs-3.10.23-11.el6.centos.alt.x86_64.img
title CentOS (2.6.32-358.el6.x86_64)
root (hd0,4)
则表示xen已经装好,dom0成功建立,修改dom0_mem=4096M,max:4096M,可以更改dom0的内存
5 重新开机,检查运作的内核版本是否是上述文件中包含xen的版本
- uname -r
(上面的配置文件的相应正确输出是:3.10.23-11.el6.centos.alt.x86_64
- xm info
检查xen是否在运作中。
2 安装libvirt组件
1 Libvirt 及 Xen 的基础:Xen 的主机操作系统称为 Dom0。通过 Xen 来执行的虚拟操作系统(VM)称为 DomU。
在缺省情况下,libvirt 会在缺省网络卡(一般是 eth0)背后创建一个 192.168.122.0/24 的 NAT 网络。
在这个 NAT 网络上运行的 DomU VM 可以互相连接及通过 Dom0 的网络向外连接,但你只能在 Dom0 上通过 libvirt(或 xen)连接到它们。你可以把缺省的 NAT 网络改为一个桥接式网络,这样你便能连接到 DomU VM,仿如它们与 Dom0 在同一个实体网络上。
2 安装几个可能用到的组件
- yum install rsync wget vim-enhanced openssh-clients
3 安装libvirt(在dom0机器上)
- yum install libvirt python-virtinst libvirt-daemon-xen
3 使用virt-manager创建domU
1 安装virt-manager
- yum install virt-manager
2 准备磁盘(这里使用lvm来进行管理,由于第一次接触linux分区,在这里卡了好久)需要分出一个逻辑分区来给新建的domU使用。
- 3 [root@f13 ~]# vgdisplay
- --- Volume group ---
- VG Name vg_f13
- System ID
- Format lvm2
- Metadata Areas 1
- Metadata Sequence No 4
- VG Access read/write
- VG Status resizable
- MAX LV 0
- Cur LV 3
- Open LV 2
- Max PV 0
- Cur PV 1
- Act PV 1
- VG Size 463.75 GiB
- PE Size 32.00 MiB
- Total PE 14840
- Alloc PE / Size 2944 / 92.00 GiB
- Free PE / Size 11896 / 371.75 GiB
- VG UUID 5dsak7-VN89-zMFT-9ZiU-XGhY-s5is-u1vCUw
Free PE那是可供分配的lv,如果是0,表示lv已全部被分配,这时候你需要重新配置下lv,从别的逻辑分区挪过来一些磁盘,我就是属于这种情况
执行 df查看分区情况:
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/sda5 10189112 3929464 5719028 41% /
tmpfs 1954124 72 1954052 1% /dev/shm
/dev/sda2 20511356 46208 19400188 1% /home
/dev/mapper/vg_node004-LogVol02
206293688 5603432 190188112 3% /opt
/dev/mapper/vg_node004-LogVol00
20511356 138992 19307404 1% /tmp
/dev/mapper/vg_node004-LogVol01
103081248 323700 97498284 1% /var
xenstore 1954124 72 1954052 1% /var/lib/xenstored
/dev/mapper/*的属于lvm分区,这里可以看到vg_node004-LogVol02被/opt挂载,占用很大磁盘空间,考虑从那儿分出100G。执行步骤如下(按步骤来,否则会导致文件系统出错)
l 先执行lvscan,查看lvm的大小
ACTIVE '/dev/vg_node004/LogVol01' [100.00 GiB] inherit
ACTIVE '/dev/vg_node004/LogVol00' [20.00 GiB] inherit
ACTIVE '/dev/vg_node004/LogVol02' [200.00 GiB] inherit
ACTIVE '/dev/vg_node004/LogVol03' [50.00 GiB] inherit
- 卸载/opt目录:umount /opt
- 检查文件系统:fsck –f /dev/vg_node004/LogVol02
- 调整LV大小并重建文件系统: resize2fs /dev/vg_node004/LogVol02 100G(这里的数值100必须为整数,否则会报无效数值的错)
- 减小lv容量:lvreduce -L -100G /dev/vg_node004/LogVol02(这里的100可以为小数,注意要计算的,也就是原来的lv大小减掉这里的100要等于resize2fs设置的大小)
- 重新挂载opt目录:mount /opt
- 新建一个LV:lvcreate -L 50G -n LogVol04 vg_node004(LogVol04是lv名,vg_node004是lv组)
- 重启,完成分区创建
3 启动virt-manager开始安装,ssh连接dom0,输入
- #virt-manager
4 点击新建,输入虚拟机名,选择安装源类型
5 选择虚拟机内容和使用cpu个数
6 选择虚拟机存储,手动输入存储位置
7 其他暂时不设置,完成,进入到系统安装
8 进入到系统安装界面就是普通的linux安装了,这里不再赘述。
9 装好系统后回到dom0的ssh界面,输入xm list可以看到所有运行的虚拟机
4 配置network bridge(适用于redhat系列的)
xen虚拟机bridge模式的结构图
1 现在host上手动建立bridge device
Disable Netfilter on Bridges:编辑/etc/sysctl.conf 加入下面几行
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
然后用root权限运行:
# sysctl -p /etc/sysctl.conf
官方文档说NetworkManager不支持bridge(版本为fedora12时),所以先禁用NetworkManager,也可以在网卡的配置文件后面加上NM_CONTROLLED=no
禁用NetworkManager:
# chkconfig NetworkManager off
# chkconfig network on
# service NetworkManager stop
# service network start
新建一个/etc/sysconfig/network-scripts/ifcfg-xenbr0
的配置文件,根据不同的需求有好几种建法:
通过dhcp获得ip的网桥
DEVICE=xenbr0
TYPE=Bridge
BOOTPROTO=dhcp
ONBOOT=yes
DELAY=0
NM_CONTROLLED=no
固定ip的网桥
DEVICE=xenbr0
TYPE=Bridge
BOOTPROTO=static
BROADCAST=192.168.1.255
IPADDR=192.168.1.2
NETMASK=255.255.255.0
ONBOOT=yes
DELAY=0
NM_CONTROLLED=no
没有分配ip的网桥
DEVICE=xenbr0
TYPE=Bridge
BOOTPROTO=none
ONBOOT=yes
DELAY=0
NM_CONTROLLED=no
建好网桥后将物理网卡eth0绑定到网桥,修改/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=00:16:76:D6:C9:45
ONBOOT=yes
BRIDGE=xenbr0
NM_CONTROLLED=no
最后执行
# service network restart
Host的bridge device配置完成,查看bridge device
# brctl show
可以看到两个设备,virbr0是libvirt创建的,不用管,同时可以看到eth0已经绑定到xenbr了。
修改xen的部分配置文件,将domU的虚拟网卡绑定到新建的xenbr0,修改/etc/xen/xend-config.sxp,修改下面图片的未注释那几句,指定bridge为我们在host上新建的bridge
新建/etc/xen/xl.cfg文件
写入vif=[ 'bridge=xenbr0','bridge=xenbr0' ] 为domU虚拟网卡指定bridge
重启dom0,再打开各个domU,此时domU的eth0网卡已经是相当于独立设备。
输入brctl show可以看到domU的虚拟机网卡(vif3.0,vif4.0)已经挂到xenbr下面:
在启动的domU系统里自行更改eth0的配置,配置文件/etc/sysconfig/network-scripts/ifcfg-eth0,如下是我配置固定ip的格式
Network bridge配置完成。
centos安装xen虚拟机并且配置bridge的更多相关文章
- KVM | centos 安装 window 虚拟机
KVM | centos 安装 window 虚拟机 环境: CENTOS 7.3 1. 准备 1.1 检查是否支持虚拟化 cat /proc/cpuinfo | egrep 'vmx|svm' 要求 ...
- Linux 学习笔记 2 Centos 安装与网络的配置以及VI编辑器的使用
前言 当然,还是觉得Centos 在众多的Linux 发行版中,还是很有地位的,好多的服务器大多沿用的都是一代的Centos 因为它开源(这是废话)而且稳定,这才是服务器沿用的最重要的一项指标. 镜像 ...
- CentOS安装Xen
1.服务器环境及Xen版本: CentOS 5.4 64bit Xen-3.4.3,已经自带安装包 2.自制本地yum源: 安装httpd,指向本地xen yum源 3.修改yum.repo使其指向本 ...
- centos安装及Xshell连接配置
一.百度下载并安装VMware 二.下载centos 打开https://www.centos.org,点击“get centos now”,点击“DVD ISO”下载(也可以下滑点击“more do ...
- centos 安装amp 运行环境+配置虚拟地址
一.安装 MySQL 首先来进行 MySQL 的安装.打开超级终端,输入: [root@localhost ~]# yum install mysql mysql-server 安装完毕,让 MySQ ...
- CentOS 安装后的常用配置
镜像配置 CentOS系统的镜像配置文件路径在 /etc/yum.repos.d/CentOS-Base.repo, 将镜像内容copy到 CentOS-Base.repo中 然后运行 yum mak ...
- CentOS安装Nginx,并配置nodejs反向代理
安装介绍 安装位置:/usr/local/nginx nginx安装包下载地址:http://nginx.org/download/nginx-1.7.11.tar.gz 安装依赖软件 安装nginx ...
- Centos安装php php-fpm 以及 配置nginx
下载php源码包 http://www.php.net/downloads.php 安装php .tar.bz2 cd php- ./configure --prefix=/usr/local/php ...
- centos 安装git服务器,配置使用证书登录并你用hook实现代码自动部署
安装git服务器先安装依赖软件:yum -y install gcc zlib-devel openssl-devel perl cpio expat-devel gettext-devel open ...
随机推荐
- js 中 Map/Set 集合
Map Map是一组键值对的结构,具有极快的查找速度. 举个例子,假设要根据同学的名字查找对应的成绩,如果用Array实现,需要两个Array: 1 var names = ['Michael', ...
- OSX: diskutil命令-转换成自由空间并再对其分区
声明:本文涉及的操作非常可能会破坏你的系统文件,造成数据丢失.请谨慎模仿,一切后果作者均不承担不论什么责任. 目的: 尽管说比較熟悉diskutil命令和它的GUI前端程序磁盘工具(Disk Util ...
- sshd登录攻击
先说简单的防范措施: 1.密码足够复杂 密码的长度大于8位.有数字.大小写字母.特殊字符组合. 2.nmap 扫描 为了避免被扫描到, #看到端口是81 ssh root@192.168.1.63 玩 ...
- three.js 源代码凝视(九)Math/Matrix4.js
商域无疆 (http://blog.csdn.net/omni360/) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:商域无疆 - 本博客专注于 敏捷开发 ...
- SolidEdge如何绘制阵列之后取消掉某一些
在最后一步点击"抑制事件",然后可以在被阵列的圆形上单击,被抑制的圆形变成灰色
- webrtc初探
0.闲来无事,想研究webrtc,看了一些网上的文章之后,觉得谬误较多,以讹传讹的比较多,自己试验了一把,记录一下. 官网的写的教程在实践中也觉得不用那么复杂,有种落伍与繁冗的感觉. 1.我想看的是w ...
- 浏览器g.xxx333xxx.com 跳转2345问题解决方法
近期升级windows10系统我,我顺手在浏览器输入"windows10"激活keyword,下载了小马激活工具进行了激活.例如以下图. 下载安装后.浏览器每次打开强制跳转到234 ...
- XMLHttpRequest是什么、如何完整地运行一次GET请求、如何检測错误。
var xmlhttp; function LoadXmlDoc(url){ xmlhttp = null; if(window.XMLHttpRequest){ //code for all new ...
- HTML5面试题-b
感谢分享 面试有几点需要注意: 面试题目: 根据你的等级和职位变化,入门级到专家级:范围↑.深度↑.方向↑. 题目类型: 技术视野.项目细节.理论知识型题,算法题,开放性题,案例题. 进行追问: 可以 ...
- 1 npoi 网上 不用模板 设置密码 workbook.WriteProtectWorkbook("password", "admin"); 、、 2 locked.IsLocked = true; sheet1.ProtectSheet("password");NPOI操作EXCEL--设置密码才可以修改单元格内容 3 模板设置密码 确定原密码 设置新密码
1 workbook.WriteProtectWorkbook("password", "admin"); 还是可以进去 只读进去 可以编辑 编辑就另存为 ...