zoukankan      html  css  js  c++  java
  • 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配置完成。

  • 相关阅读:
    Caused by: java.lang.ClassNotFoundException: org.apache.commons.fileupload.RequestContext
    Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang3.StringUtils
    Caused by: java.lang.ClassNotFoundException: org.apache.commons.io.FileUtils
    Caused by: java.lang.ClassNotFoundException: javassist.ClassPool
    Caused by: java.lang.ClassNotFoundException: ognl.PropertyAccessor
    利用DBLINK同步表数据库--老刘
    100万并发连接服务器笔记之1M并发连接目标达成
    模拟row cache lock
    redis读写性能测试
    Adobe RIA 开发工程师认证考试大纲
  • 原文地址:https://www.cnblogs.com/ValiancyHe/p/3502009.html
Copyright © 2011-2022 走看看