FREEDOM. FRIENDS. FEATURES. FIRST.
페도라 한국 사용자 모임

페도라코어6 및 페도라11에서 XEN 소스 설치 및 사용하기

게시판 자유게시판 페도라코어6 및 페도라11에서 XEN 소스 설치 및 사용하기

  • This topic has 2개 답변, 2명 참여, and was last updated 10 years, 11 months 전에 by 인베인. This post has been viewed 28 times
  • 만든이
    게시글
  • #18735
    인베인
    참가자
    • 게시글141
    • 댓글379
    • 총합520
    • ★★
    @leemgs

    1. 참고사이트
    *  fedora 11 에 xen  설치
    http://bderzhavets.wordpress.com/2009/06/10/setup-fedora-11-pv-domu-at-xen-3-4-1-dom0-kernel-2-6-30-rc6-tip-on-top-of-fedora-11/
    http://bderzhavets.wordpress.com/2009/08/20/setup-libvirt-0-7-0-6-xen-3-4-1-dom0-on-to-fedora-11-64-bit/

    2.  개발환경 사전 준비
    f11#> yum install -y transfig texi2html libaio-devel dev86 glibc-devel.i586
    f11#> yum install -y python-virtinst
    f11#> yum install -y gitk dev86 vnc-server bridge-utils
    f11#> yum install -y xz-devel PyXML qemu*

    3. Linux-xen  커널(git방식, tar소스) 최신버젼 설치

    3.1 Git서버로부터 다운바다 설치 방법
    # git clone git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git linux-2.6-xen
    # cd linux-2.6-xen
    # git checkout origin/xen-tip/master -b xen-tip/master
    (또는 git checkout origin/rebase/master -b rebase/master )
    # cat Makefile  | head -c 100
    VERSION = 2
    PATCHLEVEL = 6
    SUBLEVEL = 30
    EXTRAVERSION = -rc3
    NAME = Temporary Tasmanian Devil
    #
    # cp /boot/config-2.6.30.10-105.fc11.i686.PAE ./.config
    # make menuconfig
    -----------------------------
    1) Processor Type and features -> Paravirtualized guest support[*]->
    --- Paravirtualized guest support
    [*]   Xen guest support
    (8)     Maximum allowed size of a domain in gigabytes
    [*]     Enable Xen debug and tuning parameters in debugfs
    [*]   Enable Xen privileged domain support (NEW) <---- 반드시 체크해야 함.
    [*]   VMI Guest support
    [*]   KVM paravirtualized clock
    [*]   KVM Guest support
    -*-   Enable paravirtualization code

    2) Device Drivers -> Block Devices->
    <*> Xen virtual block device support  <---- 반드시 체크해야 함.
    <*> Virtio block driver (EXPERIMENTAL)

    3) Device Drivers ->
    [*] Xen memory balloon driver
    [*]   Scrub pages before returning them to system
    <*> Xen /dev/xen/evtchn device (NEW)
    [*] Backend driver support (NEW)
    <*>   Block-device backend driver
    <*>   Xen backend network device
    <*>   Xen filesystem
    [*] Create compatibility mount point /proc/xen
    [*] Create xen entries under /sys/hypervisor (NEW)
    [*] userspace grant access device driver (NEW)
    [*] Staging drivers  --->
    [*] X86 Platform Specific Device Drivers  --->

    4)  Device Drivers -> Network device support -->
    <*>   Xen network device frontend driver
    -----------------------------
    # cat .config | grep XEN
    CONFIG_XEN=y
    CONFIG_XEN_MAX_DOMAIN_MEMORY=8
    CONFIG_XEN_SAVE_RESTORE=y
    CONFIG_XEN_DEBUG_FS=y
    CONFIG_XEN_DOM0_PCI=y
    CONFIG_XEN_DOM0=y
    CONFIG_XEN_PRIVILEGED_GUEST=y
    CONFIG_MICROCODE_XEN=y
    CONFIG_PCI_XEN=y
    CONFIG_XEN_BLKDEV_FRONTEND=y
    CONFIG_XEN_NETDEV_FRONTEND=y
    CONFIG_XEN_KBDDEV_FRONTEND=y
    CONFIG_HVC_XEN=y
    CONFIG_XEN_FBDEV_FRONTEND=y
    CONFIG_XEN_BALLOON=y
    CONFIG_XEN_SCRUB_PAGES=y
    CONFIG_XEN_DEV_EVTCHN=y
    CONFIG_XEN_BACKEND=y
    CONFIG_XEN_BLKDEV_BACKEND=y
    CONFIG_XEN_NETDEV_BACKEND=y
    CONFIG_XENFS=y
    CONFIG_XEN_COMPAT_XENFS=y
    CONFIG_XEN_SYS_HYPERVISOR=y
    CONFIG_XEN_XENBUS_FRONTEND=y
    CONFIG_XEN_GNTDEV=y
    #
    #
    # make -j 4
    # make -j 4 modules_install install
    #
    # vi /etc/fstab
    none  /proc/xen     xenfs     defaults 0 0
    #
    #
    #
    3.2  tar커널소스로 다운받아 설치 방법
    #
    # cd /opt
    # w get http://gentoo-xen-kernel.googlecode.com/files/xen-patches-2.6.31-9.tar.bz2
    # w get http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.31.8.tar.bz2
    # tar xvjf xen-patches-2.6.31-9.tar.bz2
    # tar xvjf linux-2.6.31.8.tar.bz2
    # mv ./linux-2.6.31.8  ./linux-xen-2.6.31.8
    # cd ./linux-xen-2.6.31.8
    # bzcat ../xen-patches-2.6.31-9.tar.bz2 | tar xf -
    # vi ./uncompress.sh
    --------------
    #!/bin/bash
    for P in `ls ../xen-patches-2.6.31-9/6*.patch1 | sort `
    do
    patch -p1 -s -i $P
    if [ $? = 0 ]; then
    echo $P applied
    else
    echo "Error processing "$P
    exit 1
    fi
    done
    --------------
    # make
    # make modules_install install
    # reboot
    #

    4. XEN 최근 소스 설치하기
    # w get http://kojipkgs.fedoraproject.org/packages/xen/3.4.2/2.fc13/src/xen-3.4.2-2.fc13.src.rpm
    # rpm -iv xen-3.4.2-2.fc13.src.rpm
    # cd ~/rpmbuild/SPECS
    # rpmbuild -ba ./xen.spec
    # cd ../RPMS/i586/
    # rpm install  \
    xen-3.4.2-2.fc11.i586.rpm  \
    xen-debuginfo-3.4.2-2.fc11.i586.rpm  \
    xen-devel-3.4.2-2.fc11.i586.rpm  \
    xen-doc-3.4.2-2.fc11.i586.rpm  \
    xen-hypervisor-3.4.2-2.fc11.i586.rpm  \
    xen-libs-3.4.2-2.fc11.i586.rpm  \
    xen-runtime-3.4.2-2.fc11.i586.rpm

    5. libvirt 설치하기
    # cat > /etc/yum.repos.d/fedora-virt-preview.repo << EOF
    [virt-preview]
    name=Virtualization Rawhide for Fedora 11
    baseurl=http://markmc.fedorapeople.org/virt-preview/f11/\$basearch/
    enabled=1
    gpgcheck=0
    EOF

    # yum install libvirt libvirt-python python-virtinst virt-manager virt-viewer
    # rpm -qa | grep virt
    libvirt-client-0.7.1-15.fc11.i586
    python-virtinst-0.500.0-5.fc11.noarch
    libvirt-python-0.7.1-15.fc11.i586
    libvirt-0.7.1-15.fc11.i586
    virt-viewer-0.2.0-1.fc11.i586
    virt-manager-0.8.0-7.fc11.noarch

    6. Linux-XEN 커널로 시스템 부팅하기
    # setup
    [*] xenconsoled
    [*] xend
    [*] xedomains
    [*] libvirtd
    # reboot

    7. XEN정보 확인하기
    # xm info
    # virt-manager
    # virt-install --debug -n OSOLHVM --hvm -r 1024 --vcpus=1 -f /dev/sdb6 --vnc -c /home/boris/osol-0906-x86.iso

    # vi /etc/grub.conf
    title Fedora Core (2.6.18-1.2798.fc6xen)
    root (hd0,0)
    kernel /xen.gz-2.6.18-1.2798.fc6
    module /vmlinuz-2.6.18-1.2798.fc6xen ro root=/dev/VolGroup00/LogVol00 rhgb quiet
    module /initrd-2.6.18-1.2798.fc6xen.img

    # rpm -qf /boot/xen.gz-2.6.18-1.2798.fc6
    kernel-xen-2.6.18-1.2798.fc6
    # rpm -qf /boot/vmlinuz-2.6.18-1.2798.fc6xen
    kernel-xen-2.6.18-1.2798.fc6
    # xm info
    host                   : localhost
    release                : 2.6.18-1.2798.fc6xen
    version                : #1 SMP Mon Oct 16 15:11:19 EDT 2006
    machine                : i686
    nr_cpus                : 2
    nr_nodes               : 1
    sockets_per_node       : 1
    cores_per_socket       : 1
    threads_per_core       : 2
    cpu_mhz                : 3000
    hw_caps                : bfebfbff:00000000:00000000:00000180:0000441d
    total_memory           : 1022
    free_memory            : 63
    xen_major              : 3
    xen_minor              : 0
    xen_extra              : .3-rc3-1.2798.f
    xen_caps               : xen-3.0-x86_32p
    xen_pagesize           : 4096
    platform_params        : virt_start=0xf5800000
    xen_changeset          : unavailable
    cc_compiler            : gcc version 4.1.1 20061011 (Red Hat 4.1.1-30)
    cc_compile_by          : brewbuilder
    cc_compile_domain      : build.redhat.com
    cc_compile_date        : Mon Oct 16 14:34:31 EDT 2006
    xend_config_format     : 2
    #
    #
    # uname -a
    Linux localhost 2.6.18-1.2798.fc6xen #1 SMP Mon Oct 16 15:11:19 EDT 2006 i686 i686 i386 GNU/Linux
    # tree /proc/xen
    /proc/xen
    |-- balloon
    |-- capabilities
    |-- privcmd
    |-- xenbus
    |-- xsd_kva
    `-- xsd_port

    8. GuestOS 설치하기
    # virt-manager

    9. TroubleShooting

    9.1 리눅스 배포판에 Xen dom0 커널이 포함되어 있는지 확인 방법
    http://wiki.xensource.com/xenwiki/XenDom0Kernels 사이트에서 리눅스 배포판별로 XEN-Dom0커널을 기본으로 지원하는지에 대한 정보들을 확인할 수 있다.
    아래는 2009년 11월 기준으로 페도라 배포판에 대한 정보이다.
    - Fedora
    * Fedora 8 is currently the latest release to include Xen dom0 kernel.
    * Fedora 9, 10, 11 and 12 do not contain Xen dom0 kernels (but they do contain Xen hypervisor and tools and Xen domU enabled kernels).
    * Fedora is planning to add support for Xen dom0 again when pv_ops dom0 is included in the upstream kernel.org Linux kernels.
    * For more information: http://fedoraproject.org/wiki/Features/XenPvopsDom0
    * M A Young is building unofficial pv_ops Xen dom0 kernel RPMs for Fedora. Download: http://fedorapeople.org/~myoung/dom0/
    * See fedora-xen and/or fedora-virt mailinglist archives for more information.

    9.1 Error: Unable to connect to xend: No such file or directory. Is xend running? 에러 해결방법
    #> /etc/init.d/xend status 명령을 이용하여 xend 서비스가 실행중인지 체크하도록 한다.

    이상.

    * 오픈소스는 Open Innovationa & 윈윈전략을 도모할 지언정 절대 공짜(무료)임을 뜻하지 않는다.치

1 답변 글타래를 보이고 있습니다
  • 글쓴이
    답변
    • #18772
      ELem
      참가자
      • 게시글67
      • 댓글672
      • 총합739
      • ★★
      @Bardisch

      우왕 짝짝짝 저도 한번 해보렵니다 ㅋ
      소스로는 안해봐서;;

    • #18773
      인베인
      참가자
      참가자
      • 게시글141
      • 댓글379
      • 총합520
      • ★★
      @leemgs

      참고로, 페도라 11,12와 같은 최신 배포판의 커널은 "Xen privileged domain support "피쳐를 내장하고 있지않으므로,

      XEN을 Host으로 사용할수 없다. 따라서 필자의 경우에는 페도라 11,12에서 페도라 6,7의 리눅스 커널소스를 재빌드

      하여 사용하거나 기본으로 내장되어 있는 RHEL의 무료판인 CENTOS 5.X를 주로 이용하는 편이다.

      * 오픈소스는 Open Innovationa & 윈윈전략을 도모할 지언정 절대 공짜(무료)임을 뜻하지 않는다.치

1 답변 글타래를 보이고 있습니다
  • 답변은 로그인 후 가능합니다.