Jump to content
johnodon

HOW-TO: PXE Booting unRAID

11 posts in this topic Last Reply

Recommended Posts

This topic is a spinoff of 2 threads:

 

"Need Help: PXE Booting OpenELEC from unRAID":  http://lime-technology.com/forum/index.php?topic=27234.0

"ESXi 5.x - pre-built VMDK for unRAID":  http://lime-technology.com/forum/index.php?topic=26639.0

 

This is the quote from vl1969 and why this thread was started.  I will answer the best I can in subsequent posts.  Also, this does not necessarily apply to unRAID running as a VM.  You can easily do the same with baremetal unRAID.

 

johnodon>> can you elaborate more on how to setup PXE booting for unraid?

what do you use for PXE image server?

what is your VM config?

 

I have just got my self a quad-core Opteron server from TAMs.

and will be building out a new VM server using EXSi 5.1

was thinking of going XenServer route but can not find much info on how to do it, and I am not good with Linux to attempt such a feat on my own :-)

 

I am currently running  unRaid 5.0 beta13 and will be updating to 5.0 rc13 at the same time.

 

the idea is to end up with ESXi server running

1- pfsence VM to replace my router.  will use the router as wireless access point only.

 

1- unRaid VM with my current array moved to it as is

  the new server have  3 SAT2-MV8 Raid cards so one will be pass-through to unraid

  I am not planning to go beyond 3 drives for now (free license) , if all is working good I will eventially get a plus for 7 drives total to fill up the card.

 

1- Linux Mint (unless some one here can give me better recommendation) VM to run SubNzb+sick beard+coach potato + transmission

I know you can run this on unraid but since I will have the VM lab running might as well separate tasks. also this will allow me more opportunity to meddle with all this programs more freely without worry  of screwing up unraid setup.

 

1-possible VM for FOG server

1- PXE server (not now but some time in the future)

1- Windows (7) or (8) VM for admin tasks and testing as well as transcoding/converting the videos to MKV format as needed.

 

 

any suggestions will be appreciated...

 

 

P.S.  possible upgrades entail replacing the CPU with a pair of 6-core

and adding more RAM.

HDD  a side from those in unRaid, of course will be added as they become available.

Share this post


Link to post

OK...here is how I do it....

 

Here is my topology:

 

1.  pfSense firewall/router (Dell PowerEdge 1750 - 192.168.1.1)

2.  ESXi 5.1 (generic HW - details in sig - 192.168.1.11) 

    a.  unRAID 5.0 RC12a VM (192.168.1.10)

    b.  Various other Windows and Linux VMs

3.  VMWare Vcenter Server + TFTP server (Dell PowerEdge 1950 - 192.168.1.13 and 192.168.1.14 respectively)

 

Now, obviously all of this (firewall, unRAID, etc.) can be done within ESXi itself with the exception of Vcenetr Server.  I chose to have a separate HW instance for my firewall/router becuase I feared that if my ESXi box dumped I would lose all outside connectivity.  I understand that the same hold true if the PE1750 dumps.  But at least this way if ESXi does, I will be still able to reach my network remotely (DRAC) to troubleshoot.

 

Back to the story...

 

I was initially using my Webserver VM (Ubuntu Server) as my TFTP server.  However, I had since put the VCenter Server in place on dedicated hardware (PE1950) and decided to move the TFTP server to it (TFTP64).  However, TFTP was running just fine on the Ubuntu box.  If you ask me why I switched my answer would be "because".  :)  On a side note...I totally plan on playing with FOG down the road.

 

So, unRAID right now does not even have a VMDK.  This, by default, will cause it to resort to PXE boot.

 

unraid2_zps5c4f7ce5.png

unraid_zps15474980.png

 

My tftpboot\unraid directory looks like this:

 

unraid3_zps5d851798.png

 

As you can see, it has nothing more that the bzimage and bzroot files (much like the VMDKs).  What I really love aboout this is that you can have multiple versions of unRAID sitting there and flip back and forth as needed.  For instance, due to the issues with NFS in RC13, I had to revert back to RC12a which are the files without extensions (as we are used to seeing them).  If a RC13a or Final is released, I would just add an .RC12a extenstion to each file and drop the new versions in place and reboot unRAID.  :)

 

This is how the netboot (PXE) settings look in pfSense (Services --> DHCP Server --> Enable network booting --> Advanced

 

pfsense_zps89b87324.png

 

In my case, /tftpboot = d:\tftpboot on my PE1950 and is shared out to Everyone with r/w access since OpenELEC write all of the library and configuration back to that same location.  This would not be the case however since you would still need to have your USB flash drive with your config and license for unRAID (passed through to your unRAID VM).

 

To have unRAID boot automatically rather than be prompted with a menu, you create a file in the \tftpboot\pxelinux.cfg folder that is named the MAC acddress of the unRAID VM NIC.  IMPORTANT:  the filename (MAC addy) must be proceeded by "01".  Mine are shown below:

 

unraid4_zps3cb287df.png

 

And here is the content of my unRAID PXE boot file (01-00-0c-29-7b-19-58):

 

default menu.c32
menu title Lime Technology LLC
prompt 0
timeout 5
label unRAID OS
  menu default
  kernel unraid/bzimage
  append initrd=unraid/bzroot
label unRAID OS (4G RAM limit)
  kernel unraid/bzimage
  append initrd=unraid/bzroot mem=4095M 
label Memtest86+
  kernel memtest

 

The "default" file shown above is the Menu that is displayed when a system specific boot file is not found.  if anyone would like to see its contents I can post but it is very much a work in progress.

 

The last part i guess is the actual TFTP Server Settings.  As I said, I use TFTP64 for Windows but installing the hpa-TFTP package (or whatever it is) on a linux machine works just fine.  Also know that other (PeterB) use the DNSMasq package for unRAID which natively contains a TFTP server.

 

Anyway, here are my settings (pretty default):

 

TFTP_zps131af201.png

tftp1_zpsce723cf9.png

tftp2_zps1ee25541.png

 

One last pic.  This is the contents of my TFTPBOOT directory.  There are more files here than you would ever need (from my playing around). 

 

tftp3_zps2358b5d5.png

 

I know that this is a VERY brief overview and that there is some knowledge required in getting a proper TFTP/PXE server up and running.  I will answer questions as they come in and invite others who are doing it a different way to contributre freely.

 

John

 

 

Share this post


Link to post

johnodon >> you are the best :-)

 

as soon as I have my new server up , I will try to do this setup for my self.

Maybe I can even PXE boot my main PC like this...

Share this post


Link to post

Interesting :) Might play with that when I get home from work. Perhap you could expand a bit further how to setup TFTP server on Ubuntu  or CentOS.

 

What do you guys use reinstall Windows from PXE (Deployment)? Ideal for around 80 desktop PC.

Share this post


Link to post

Thank you for this!  Im running a Windows Deployment Server at home, but Ive often wondered how to boot other things via PXE, specifically ESXi.

Share this post


Link to post

Thank you for this!  Im running a Windows Deployment Server at home, but Ive often wondered how to boot other things via PXE, specifically ESXi.

 

this also might apply to "Ice_Black"  question as FOG  seams to be very capable of multi-cast deployment

 

you might try FOG server.

from what I have been reading is sounds promising.

it also include tftp and PXE server with in setup.

 

FOG is a Linux-based, free and open source computer imaging solution for Windows XP, Windows Vista, Windows 7, and Linux (limited) that ties together a few open-source tools with a php-based web interface. FOG doesn't use any boot disks, or CDs; everything is done via TFTP and PXE. Your PC boots via PXE and automatically downloads a small Linux client. From there you can select many activities on the PC, including imaging the hard drive. Also with FOG many network drivers are built into the Linux client's kernel, so you don't really need to worry about nic drivers (unless there isn't kernel support for it yet). FOG also supports putting an image that came from a computer with a 80GB partition onto a machine with a 40GB hard drive as long as the data is less than 40GB. FOG supports multi-casting, meaning that you can image many PCs from the same stream. So it should be as fast whether you are imaging 1 PC or 20 PCs.

 

 

 

Share this post


Link to post

If you use memdisk from the syslinux suite, you can boot floppy images. Good for boot floppies to update the bios on boards. 

Win98SE, memtest86, other bootable floppy images. It helped me by using winimage to make 1 bootable 2.88 Win98SE disk.

 

First I made a win98SE bootable floppy.

DD'ed it via linux to the filesystem.

brought that to a windows machine, used winimage to expand it to 2.88, then used that for other disks.

 

I did this so long ago, I'm sure there are better ways now.

I think you can do it in vmware.

 

I also had a freedos boot image.

 

What's cool is that you can also put these images on your boot flash and load them via memdisk with sysliux or or grub4dos.

 

FWIW, grab yourself a copy of riplinux and set it up via pxe boot. in a worst case scenario, you have a linux distro with ddrescue allowing you to save most or some of your hard drive should a really bad crash occur. (search the board for ddrescue to review the associated communications on the subject matter).

Share this post


Link to post

Thank you for this!  Im running a Windows Deployment Server at home, but Ive often wondered how to boot other things via PXE, specifically ESXi.

 

this also might apply to "Ice_Black"  question as FOG  seams to be very capable of multi-cast deployment

 

you might try FOG server.

from what I have been reading is sounds promising.

it also include tftp and PXE server with in setup.

 

FOG is a Linux-based, free and open source computer imaging solution for Windows XP, Windows Vista, Windows 7, and Linux (limited) that ties together a few open-source tools with a php-based web interface. FOG doesn't use any boot disks, or CDs; everything is done via TFTP and PXE. Your PC boots via PXE and automatically downloads a small Linux client. From there you can select many activities on the PC, including imaging the hard drive. Also with FOG many network drivers are built into the Linux client's kernel, so you don't really need to worry about nic drivers (unless there isn't kernel support for it yet). FOG also supports putting an image that came from a computer with a 80GB partition onto a machine with a 40GB hard drive as long as the data is less than 40GB. FOG supports multi-casting, meaning that you can image many PCs from the same stream. So it should be as fast whether you are imaging 1 PC or 20 PCs.

 

That's Foggin' cool!!!!

Share this post


Link to post

Quick change to my config.  I'll update the first post...

 

If you want to be able to take advantage of the boot menu options, the easiest way is to make the syslinux.cfg file your PXE menu file for my unRAID.  I renamed it to 01-00-0c-29-7b-19-58 (01 + mac ddy of my unRAID VM) so my unRAID VM would boot from it automatically.  I tweaked the contents a bit so the countdown is only 5 seconds and the default is the non-4GB limit option (since I have only 3GB dedicated to unRAID).  I also had to change the paths slightly for the bzroot and bzimage files to match my tftpboot folder structure.

 

 

default menu.c32
menu title Lime Technology LLC
prompt 0
timeout 5
label unRAID OS
  menu default
  kernel unraid/bzimage
  append initrd=unraid/bzroot
label unRAID OS (4G RAM limit)
  kernel unraid/bzimage
  append initrd=unraid/bzroot mem=4095M 
label Memtest86+
  kernel memtest

 

Otherwise, you will never see the unRAID boot menu and have the option of loading the 4GB RAM linit option.

 

John

 

Share this post


Link to post
On 6/6/2013 at 11:03 AM, Ice_Black said:

Interesting :) Might play with that when I get home from work. Perhap you could expand a bit further how to setup TFTP server on Ubuntu  or CentOS.

 

What do you guys use reinstall Windows from PXE (Deployment)? Ideal for around 80 desktop PC.

 

I know this thread is farelly old now, but if you are still interesting in setting up pxe linux on ubuntu, you might want to check this link : https://docs.laswitchtech.com/doku.php?id=documentations:linux:pxelinux

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.