5 ms·
Many OS out there take advantage of RAM Disks. Alpine Linux for instance allows you to boot your root device on ram as a default. SmartOS runs a boot image comp
by puppetmaster 7y ago
Many OS out there take advantage of RAM Disks. Alpine Linux for instance allows you to boot your root device on ram as a default. SmartOS runs a boot image completely on RAM, and keeps your storage free for a few configs and VMS.
Virtually all network booted computers run their OSs from RAM. If you have never pxe booted a machine, it is a beautiful experience once you overcome a few challenges: easy upgrades and rollbacks, being able to use a machine with different contexts/platforms by just rebooting, and having your servers cleaned up just by cycling (assuming you don't have local storage)
If you enjoy the idea of RAM root devices, please try pxe/ipxe to boot your computer from a network. Also, if you have a sufficiently fast network... it is probably faster than booting from disk!
EDIT: I missed the word "all" on the second paragraph, and another typo... sorry!
- cwt137 7y agoPXE boot FTW! I use to work on a project that used LTSP to make a couple dozen thin clients. The thin clients were slow, but the OS was fast. This isn't entirely the OS in RAM as a big chunk of the file system was mounted over the network, but most of the OS was in RAM.
- agumonkey 7y agoNever having finished Home pxe setup is a great sadness of mine.
- puppetmaster 7y agoTurn that sadness into joy! Even an RPI can host your TFTP and your boot files... Today! http://ipxe.org/start http://ipxe.org/start has all the info you'll need.
- agumonkey 7y agoI shall attempt soon then. Thanks
- dekhn 7y agoi ran a cluster of 6 nodes in 2001 with (before PXE) network book and NFS root. it was awesome.
- wayoutthere 7y agoDitto the love for PXE — booting from a SAN appliance stocked with a few dozen fast SSDs is amazing. When I was doing big VMWare deployments, I had a PXE bootstrap setup that helped me build an entire 40-node cluster from bare metal in an hour. Even in the event you have to use some secure zone crap, it’s pretty trivial to build since all PXE requires are dhcpd and tfptd — which are often available by default on nearly any *nix variant.
- jandrese 7y agoSadly PXE boot of a modern Linux OS is easier said than done. Gone are the days of just handing out the kernel over tftp and providing a NFS root. SystemD gets super cranky and you can't even boot the thing without setting some undocumented flags.
- gmueckl 7y agoHow did the systemd cabal manage to mess that up? I ditched that thing a while ago for good reasons, so I don't keep track anymore.
- jandrese 7y agoI'm not entirely sure of everything, but problems with UUIDs (which we expected), and some dbus signals not being generated when run over a NFS mounted root causing the boot to hang. We hacked some timeouts to get around the problem but never figured out exactly where the signals were supposed to be generated from. A hint if you're doing this on Linux. We PXEBoot an iPXE loader to boot the machines. Doesn't work properly on UEFI unfortunately, gotta use BIOS boot. If it helps, I have notes on how to set that up: Go to http://rom-o-matic.net http://rom-o-matic.net and choose gPXE git. Click on the "Customize" button to expand all of the options. Choose: 1. PXE bootstrap loader image [Unload PXE stack] (.pxe) 2. all-drivers 3. PCI VENDOR CODE: [blank] PCI DEVICE CODE: [blank] X CONSOLE_PCBIOS _ CONSOLE_SERIAL BANNER_TIMEOUT [20] _ NET_PROTO_IPV6 (Serial Port Options are irrelevant) X DOWNLOAD_PROTO_TFTP X DOWNLOAD_PROTO_HTTP _ DOWNLOAD_PROTO_HTTPS _ DOWNLOAD_PROTO_FTP _ SANBOOT_PROTO_ISCSI _ SANBOOT_PROTO_AOE X DNS_RESOLVER X IMAGE_ELF X IMAGE_NBI X IMAGE_MULTIBOOT X IMAGE_PXE X IMAGE_SCRIPT X IMAGE_BZIMAGE X IMAGE_COMBOOT X AUTOBOOT_CMD X NVO_CMD X CONFIG_CMD X IFMGMT_CMD X IWMGMT_CMD X ROUTE_CMD X IMAGE_CMD X DHCP_CMD _ SANBOOT_CMD X LOGIN_CMD _ TIME_CMD _ DIGEST_CMD X PXE_CMD _ IPV6_CMD _ CRYPTO_80211_WEP _ CRYPTO_80211_WPA _ CRYPTO_80211_WPA2 Embedded Script: ----------------------------------------------------------------------------- #!gpxe dhcp any initrd http://<your_server_here>/initrd.img http://<your_server_here>/initrd.img kernel http://<your_server_here>/pxelinux.0 http://<your_server_here>/pxelinux.0 imgargs pxelinux.0 root=/dev/nfs rw boot=nfs nfsroot=<your_nfs_server_here>:/netroot root ip=dhcp nfsrootdebug boot pxelinux.0 -----------------------------------------------------------------------------
- hazeii 7y agoCouldn't agree more, I've got at least a couple of dozen computers (from workstations and thin clients through 486s and Pi's) at home and only the main server and its backup have persistent storage. Especially useful for Windows; it is rather slower diskless (compared to BSD/linux) but it makes Windows instances disposable. Takes a bit of effort (more these days, FUVM systemd) but having a RAMdisk + diskless RO /usr is a great way of having computers everywhere all singing the same song.
- mehrdadn 7y ago> Also, if you have a sufficiently fast network... it is probably faster than booting from disk! Is this also true on Windows, with all the hardware initialization it has to do on boot when it finds new hardware?