Talk:Diskless system

From ArchWiki
Revision as of 14:47, 19 December 2012 by Buhman (Talk | contribs) (Client installation)

Jump to: navigation, search

Diskless_Network_Boot_NBD_Root merge and rewrite

There was a bunch of extraneous stuff that was clogging up the old articles, and most information was duplicated between the two. This is the result of the cleanup effort. That gPXE stuff, for example, deserves its own article in my opinion. Yet-another refactoring/merging of the related PXE article is also planned--the two should be sub-articles of a larger "PXE" article that describes "PXE" in general, with sub-articles describing booting installation media or an arch installation (minimizing duplicated information yet even more). --Buhman (talk) 14:31, 9 October 2012 (UTC)

There is a new idea. See #how to organize below. -- Fengchao (talk) 14:04, 19 December 2012 (UTC)


If DNSmasq is not appropriate for the job, please write a section explaining why this is the case. Since I use dnsmasq, I'd be interested to know why exactly you think it's not appropriate. What definitely is not appropriate, however, is undoing my edits, for which I've gone to pains to explain my reasoning. Giddie (talk) 10:38, 11 December 2012 (UTC)

No, we don't write sections explaining why sections don't exist. That's just plain stupid. --Buhman (talk) 10:42, 11 December 2012 (UTC)
We write sections explaining why an obvious choice is actually not a good idea, so others can be informed and avoid the same mistake. (Assuming they agree that it is actually a mistake.) Seriously: this wiki is not here to reflect only your own opinions; it's here so that we can all share our knowledge. It's all about collaboration and compromise, and I'm seeing very little of that from you right now. Giddie (talk) 11:34, 11 December 2012 (UTC)
dnsmasq is a problem because it's a little unwieldy primarily due to its crazy amount of scope-creep. What was originally just a dns server got way out of hand. If you say things like listen-address=, that is only applicable for the DNS part, and not, e.g: DHCP. This becomes problematic if say you want your hostapd stuff that also runs isc-dhcp just on wlan0, and then decide you want to PXE boot some stuff off the wired-lan really quick. Nope; have to shut down dhcpd4 to allow dnsmasq to hog all the interfaces and bind wildcard on everything BUT dns. But oh wait, you said port=0? That controls what, just DNS? So DNS is disabled now, and listen-address in this case does absolutely nothing, as well as listen-interface.
It's just a dirty ugly quick "omfg I want dhcp+tftp NAOW" hack, rather than something that should be considered sane to actually systemctl enable. Lots of features, really crappy defaults, and, most importantly, no way to un-configure those defaults (aside from making a fork that would just end up being a less-good isc bind/tftp/dhcp). And compared to bind it's a lousy DNS server anyway. So why it even exists I don't know.
Nothing against you personally; I've, as you can see from the history, reverted dnsmasq edits before. --Buhman (talk) 16:37, 12 December 2012 (UTC)
I'm content enough with the note, so that people can at least inform themselves and make their own decision. So I think we've reached a settlement :) Giddie (talk) 09:47, 13 December 2012 (UTC)


This article seems to be undergoing an edit war between User:Buhman and User:Giddie, and this is bad for the wiki and its users: I remind both users that the articles of the wiki belong to everybody and can't be treated as personal notebooks. Entering more into the merits of the discussion, I also remind that it's a common policy of the ArchWiki to always explain all the possible ways to achieve a particular result, never hiding anything and always leaving the final choice to the end users; if some methods are working but discouraged for some reasons, they are to be left in the article together with those reasons of discouragement; if some methods are working only under some conditions, these conditions are to be described, possibly adding an appropriate article status template. Different subsections can be created to keep the various methods separate.

Furthermore, I invite to always sign with the full signature in discussion pages (~~~~) and to always thoroughly justify the edits with the edit summary, avoiding expressions like "why the fsck was this even created?" or empty summaries (in particular when undoing edits), since these practices don't help in any way. Finally, please avoid expressions like "NFSv3 sucks", "Kthx", "I couldn't care less about your migration woes; it doesn't belong on the wiki, end of discussion", "That's just plain stupid", ... since this is considered flaming, and flamers are not welcome here, regardless of the effective quality of their edits.

This section is more of a notice than a real discussion, so replies are not expected, please go on with the other discussions peacefully and constructively: once the situation has calmed down, this section can just be deleted.

-- Kynikos (talk) 14:39, 12 December 2012 (UTC)

As you wish, my Lord. --Buhman (talk) 16:39, 12 December 2012 (UTC)
The talk page has now adopted a much more respectful tone, properly closing this section before deleting. -- Kynikos (talk) 08:14, 15 December 2012 (UTC)

Per-host mountpoints (was: Separate /var)

I feel like treating just /var specially isn't fair. I mean, how would /etc feel? In all seriousness, I think this needs to be reorganized into something like "per-host special mountpoints". --Buhman (talk) 15:30, 12 December 2012 (UTC)

That sounds fine to me, if you want to do that. I'm pretty sure that /var contains everything that makes a host unique (or that's the intention), and I'm keen for people to think about it, since it's an added complication that can easily be overlooked when planning the cluster. Giddie (talk) 15:39, 12 December 2012 (UTC)
As I tried to imply somewhat, I still don't think its a good idea to do *all* of var, maybe a few application-specific subdirectories. For example it's actually desirable in a non-diskless scenario like this to put /var/cache/pacman on a NFS share--effectively working like a local repository mirror. Only in this scenario, we get that for free :D --Buhman (talk) 16:41, 12 December 2012 (UTC)
Yeah, in my setup I share /var/lib/pacman between all clients, and /var/cache/pacman between all clients and the host. Some other directories in /var/cache could probably be safely shared, but my general stance is to opt-in to sharing certain directories in /var for convenience (or storage space), rather than to determine which directories can't safely be shared. I have no problem with providing suggestions for both points of view ("share all of /var except for certain dirs" vs "/var is node-specific except for certain dirs"); it's helpful for readers to have a chance to consider both views and decide what fits their usecase best. Giddie (talk) 09:57, 13 December 2012 (UTC)

Is installation ISO needed ?

I am trying to merge PXE into this article. While I am quite familiar with PXE, I do not know what exactly need to be done in the Network installation guide. Should I download ISO installation media? Where to put/get installation packages? -- Fengchao (talk) 04:44, 13 December 2012 (UTC)

PXE talks about booting installation media via PXE, whereas this article talks about creating an installation from an already-installed system. A proper merge will be highly difficult in my opinion, which is why I have not yet attempted it. --Buhman (talk) 08:16, 13 December 2012 (UTC)
The article titles are currently very non-helpful in determining what the content of each article is, but I'm not confident on how to fix this. For example "Network Installation" could mean both booting installation media via a network, or, as used in this article, creating an installation that happens to exist on network'ed storage media. In all cases, for example, you end up 1) preparing the TFTP root, whether it be a mounted Archiso, or part of a complete installation 2) actually setting up a TFTP and DHCP server, and the only real difference is 3) what exactly is contained on the root filesystem and how it is delivered to the client. I would love to hear ideas on how to reorganize this sanely. --Buhman (talk) 09:38, 13 December 2012 (UTC)
I think this article should be called something more like "Diskless ArchLinux System", whereas PXE could maybe be called "Network-booting Installation Media"? Giddie (talk) 10:04, 13 December 2012 (UTC)
Well, the goal is to actually merge the two and just have sub-articles for each topic. Historically, this article was called Diskless_network_boot_NFS_root, but in a never-finished attempt to unify all of the duplicated "how to do thus and such with PXE; let me verbatim copy 90% of one article, and then write about a paragraph of original stuff, and call it a new article" efforts, I renamed it to the more-generic "Network Installation Guide". The idea there was to mimic Installation Guide, with the emphasis that the installation media resides on the network. The problem with that is that *clearly* isn't obvious until I explain it. I think there should also be a article named PXE (for googlers if anything else) if only to redirect to some more-specific article (but optimally the uber-merge that I think would be best). --Buhman (talk) 10:12, 13 December 2012 (UTC)
It seems that there's quite a disconnect between the two tasks: installing an Arch root on a server in order to boot diskless clients into a shared installation, and hosting a ISO in order to install Arch disklessly onto the disk of remote clients. It's true that the PXE stuff can be combined, though. I'd suggest the two article titles I suggested above, as well as a PXE article describing the common setup. Giddie (talk) 10:19, 13 December 2012 (UTC)
Well, then I understand what this article is talking about. The resulting system is diskless here, the title should reflect that. And the introduction should make it clear. -- Fengchao (talk) 13:14, 13 December 2012 (UTC)
Agreed :) Giddie (talk) 14:42, 13 December 2012 (UTC)
Rename is done. And a short introduction is added. -- Fengchao (talk) 03:19, 19 December 2012 (UTC)

how to organize

Heh, we go back to 3+ articles again? :P We're actually agreeing here I think, but I would say "sub-articles" rather than dedicated articles--Buhman (talk) 10:22, 13 December 2012 (UTC)

Well, sub-articles does imply that the tasks are basically the same, which I don't think they are. I think they are very different tasks with different purposes, but which happen to share some configuration. No harm in a page that explains which article deals with what, I suppose. I don't feel too strongly about this, really. This is just what makes sense to me. Giddie (talk) 10:58, 13 December 2012 (UTC)
What would be really cool is if the reading went something like: the user reads about each of the ways that this could be done, then selects what he wants to see (whatever combinations), and then gets a tailored-to-order article with just the stuff he's interested in. --Buhman (talk) 10:16, 13 December 2012 (UTC)
I don't think that will be possible on this MediaWiki setup without the kind of duplication we're keen to avoid. Probably best to split out the common stuff into separate articles, and link from an article for each usecase. Giddie (talk) 10:19, 13 December 2012 (UTC)
Here is another idea: Instead of one index page for just Network Installation Guide and PXE, we can add a index page about all of the different installation methods in Category:Getting and installing Arch. There are 49 articles in the category, so a good index page can make them stay organized. -- Fengchao (talk) 13:14, 13 December 2012 (UTC)
This sounds like a good idea to me. Giddie (talk) 14:42, 13 December 2012 (UTC)

Client installation

I am a little confused here, where did the installation actually happened ? I think it is installed on the server, right? -- Fengchao (talk) 03:47, 19 December 2012 (UTC)

The installation is performed and hosted on the server, yes. The nodes will boot, get an IP address from the host, boot from the host using PXE, and mount their root from the host, so the whole Arch installation for the clients is stored on the host. Giddie (talk) 12:18, 19 December 2012 (UTC)
Thanks for explanation. I change the title to eliminate confusion. Should we move this section up before Network storage section? This chroot environment is what Network storage exported. First create it, then export it. It is more natural. -- Fengchao (talk) 14:02, 19 December 2012 (UTC)
I liked the "client installation" title more. Calling it a "chroot" makes it sound like it's mostly going to be used from another running installation. Moving it to the top I guess makes sense; done. After looking at it again; it makes more sense the way it is; there's too much of a break between client installation and client configuration; the two make most sense if they're adjacent.
If anything; the network storage would need to move to the absolute bottom of the article; which is also a little funky imho.--Buhman (talk) 14:46, 19 December 2012 (UTC)