• 使用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下的文件系统。

  • 相关阅读:
    LinQ Group By
    sql server 还原数据库后,删除用户,提示数据库主体在该数据库中拥有架构,无法删除解决方法
    各种网站资源
    Easyui TreeGrid数据源
    MVC中创建自定义视图的t4模板
    栈溢出练习
    Stack Canary
    攻防世界pwn之新手练习区
    开源 PetaPoco 扩展~一个小型轻巧的ORM~
    linux调度全景指南
  • 原文地址:https://www.cnblogs.com/chaozhu/p/6125079.html
Copyright © 2020-2023  润新知