Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

For anyone who does not know what PXE (pixie) boot is, it is an environment to boot computers using a network interface independently of data storage devices (like hard disks) or installed operating systems. [1] In the BIOS, rather than booting from CD, or Hard disk, you would select Network.

A very simplified explanation is that the PXE enabled network card (almost all modern network cards support PXE, desktop and servers), can make a DHCP request (outside of an operating system), download via TFTP, then boot a kernel/initial ram disk, say for example an OS installer, a LIVE CD, or CoreOS.

    +-----> #1 PXE makes DHCP request, 
    |          redirects to TFTP server,
    |          loads kernel/initial ram disk via TFTP
    |
    |  +--+ #2 PXE boots kernel/initial ram disk 
    |  |
    +  v
  +------------------+
  | PXE Network Card |
  |------------------|
  |     server       |
  |   hardware/os    |
  +------------------+
So, with a little infrastructure (DHCP, TFTP, and elbow grease), you can boot many things over the network without even having a hard drive or cd-rom in a machine. I use this often for installing new desktops and servers. Just boot into the PXE menu and then select the installer that I want. Then you use something like puppet to configure the machine as needed. A typical RHEL install can take ~5 minutes.

In summary, it looks like CoreOS provides you with their kernel and initial ram disk [2], then you can just boot the machine over the network without actually installing anything. Basically running everything out of RAM, just like a LIVE CD, most likely with the option to install to disk for persistent storage of your images, etc.

ps. It is common to use NFS to mount persistent storage in these environments too, or if you are using a HPC environment, then Luster or something like that.

[1] http://en.wikipedia.org/wiki/Preboot_Execution_Environment

[2] http://coreos.com/docs/pxe/



"Back in the day" (pre-PXE), we had rooms full of machines -- without hard drives -- that booted completely across the network and mounted all of their filesystems via NFS.

https://en.wikipedia.org/wiki/Diskless_node

Over the last few years, I've wondered why server vendors don't ship servers with type of flash-based storage (or similar) -- perhaps 4-8 GB -- that's large enough to hold an installation of (for example) VMware ESXi (or another hypervisor) and its related configuration files, leaving any local storage exclusively for VMs. Alternatively, you could boot the hypervisor from this "onboard storage" and access all data across the network (i.e. NFS, iSCSI, SAN) and not have any HDDs whatsoever in the server.


Server vendors have shipped that for quite a while now; Dell for example has offered an option on servers where ESXi is pre-installed on an SD or CF card built into the system for at least five years.


Well, there's the solution of putting a USB flash drive inside the server's case (optionally securing it with duct tape). In fact, a USB flash drive is the recommend medium for booting FreeNAS.


I've seen recent servers also ship with an SD or MicroSD slot on the motherboard too. Probably a bit more secure than a USB stick that can come unplugged easily.


SmartOS is often booted from a USB flash drive too.


I've been looking at a mSATA SSD and a low profile pcie card for our Ceph cluster to free up the OS/journal drive slots for more 4tb spinning disks.


If you want an SSD on PCIe, any reason why you are not looking at SSDs built into PCIe cards? E.g. OCZ Vector or RevoDrive PCIe cards, but there's several other alternatives too.


How are you finding ceph?


We've been using it for about 15 months now without any problems with RADOS. Last winter we had some data loss with CephFS and needed to rebuild the filesystem from backup, but CephFS is unsupported so it was somewhat expected. I think the issues came from the Linux kernel client (circa the 3.2 kernel iirc), so we switched over to the FUSE client instead and have been on that since.

Good news is that performance is much, much better with 0.61 than prior releases. Both for RADOS and CephFS. We'll probably upgrade to 0.67 in the next few weeks and it's probably time to upgrade to the 3.10 kernel as well for btrfs fixes and to kick the tires on the kernel fs client again.


VMware has a product to do exactly this (Auto Deploy). It PXE boots ESXi and can configure it automatically.


Many of them do. Many newer HP blades, for example, come with an SD card inside to do exactly that with either local or network storage.


It is possible to PXE boot a full blown OS, not just OS installer, Live CD or CoreOS.

The product usually used to do this is: http://support.citrix.com/proddocs/topic/technologies/pvs-pr... It is just a nice GUI that ties into PXE and TFTP and just streams an image from a disk file.

On a 1Gb network I have booted over 300 physical machines in under 2 minutes simultaneously.

For those curious, unfortunately PVS is packaged with XenDesktop so you have to buy XenDesktop to get PVS. Citrix does not seem willing to separate the two as different products even though I have deployed PVS for several customers without even download the XenDestkop bits.


DRBL can do this for Linux (if you require some software to set it up for you). You can actually accomplish this with nothing more then the linux kernel if you're clever: https://www.kernel.org/doc/Documentation/filesystems/nfs/nfs...


Thanks I have not heard of DRBL. After reading it sounds pretty much like PVS, though PVS does have some additional features I don't see on it. Will have to try it out! DRBL is a free software though.


The product usually used to do this is Linux...


Yea I meant "I usually" :-p


Can bios detect wireless network or do i need to have Ethernet cable on?


There might be some motherboards with built-in WiFi chips that support PXE with configurable access point and security settings. Maybe try a Duck Duck Go search for wifi PXE.

There's no way for the BIOS to know your WPA key automatically, of course, and in general, you'll need wired Ethernet for PXE.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: