zoukankan      html  css  js  c++  java
  • 使用virt-manager创建无盘工作站(基于nfs文件系统)

    首先需要做些准备工作:

    1.安装xming及virt-manager, 安装过程网上很多,就不一一叙述了。安装完成后,使用putty登陆服务器,需要配置如下:

    connection -> SSH -> X11 中将X11 forwarding中的Enable X11 forwarding选中,并在X display location中输入localhost:0

    完成后,启动virt-manager。

    2.安装nfs

    apt-get install nfs-kernel-server

    创建一个目录作为nfs目录:

    mkdir /nfs

    并配置其配置文件,/etc/exports如下:

    /nfs *(rw,sync,no_root_squash,no_subtree_check)

    3.安装tftp及syslinux

    apt-get install tftpd-hpa

    apt-get install syslinux

    cp /usr/lib/syslinux/pxelinux.0 /var/lib/tftpboot 

    接下来在/var/lib/tftpboot 下创建启动引导的配置目录:

    1> mkdir /var/lib/tftpboot/pxelinux.cfg

    2> cd /var/lib/tftpboot/pxelinux.cfg 并创建启动的default文件:

    DEFAULT ubuntu
    TIMEOUT 5
    
    LABEL ubuntu
    kernel vmlinuz
    append initrd=initrd.nfs boot=nfs root=/dev/nfs nfsroot=109.105.115.49:/nfs ip=dhcp rw
    PROMPT 1

    其中initrd.nfs是自己做的initrd.

    在制作initrd前需要修改 initramfs的配置文件,使其启动时挂载文件系统的方式修改为nfs,如下:

    vi /etc/initramfs-tools/initramfs.conf

    将其中的BOOT=auto修改为BOOT=nfs


    然后使用debootstrap制作文件系统,存放在/nfs目录下:

    sudo debootstrap --arch amd64 trusty /nfs

    先查看当前系统中的内核版本:

    ls /lib/modules
    3.13.0-24-generic  4.0.4

    并选择其中的一个制作 initrd,这里选择4.0.4,如下:

    mkinitramfs -o /var/lib/tftpboot/initrd.nfs 4.0.4

    在tftp根目录下也要有kernel的image,可以直接从编译过的内核中拷贝一个,如下:

    cp /boot/vmlinuz /var/lib/tftpboot/

    这里的vmlinuz即是default文件里面的引导kernel文件名。这样tftp根目录下就有了pxe配置文件及目录、kernel及initrd。准备工作完成。

    下面首先配置libvirt的default bridge,使它能允许pxe及tftp。

    修改/etc/libvirt/qemu/networks/default.xml如下:

    <network>
      <name>default</name>
      <bridge name="virbr0"/>
      <forward/>
      <ip address="192.168.122.1" netmask="255.255.255.0">
        <tftp root="/var/lib/tftpboot"/>
        <dhcp>
          <range start="192.168.122.2" end="192.168.122.254"/>
          <bootp file="pxelinux.0"/>
        </dhcp>
      </ip>
    </network>

    配置完成后重启服务器。
    然后使用virt-manager创建虚拟机,选择从pxe启动,虚拟机会自动从/var/lib/tftpboot/下load kernel,initrd,及mount /nfs下的文件系统。

  • 相关阅读:
    使用注解方式实现 AOP和IoC
    代理工厂生成器和顾问包装通知
    多种方式实现AOP
    Spring面试题
    使用集合方式注入IoC
    Spring代理模式
    Spring AOP的使用及案例
    bzoj 1715: [Usaco2006 Dec]Wormholes 虫洞 -- spfa判断负环
    bzoj 1654: [Usaco2006 Jan]The Cow Prom 奶牛舞会 -- Tarjan
    bzoj 1651: [Usaco2006 Feb]Stall Reservations 专用牛棚 -- 线段树
  • 原文地址:https://www.cnblogs.com/chaozhu/p/6125079.html
Copyright © 2011-2022 走看看