* Implementation path question for live root with nfs state mount
@ 2010-10-18 15:15 Vladislav Bogdanov
0 siblings, 0 replies; only message in thread
From: Vladislav Bogdanov @ 2010-10-18 15:15 UTC (permalink / raw)
To: initramfs-u79uwXL29TY76Z2rM5mHXA
Hi all,
I need to add support to dracut for live (squashfs) root with a "state"
saved on nfs server.
I imagine following use case -
* initramfs includes ext3 filesystem wrapped into squashfs (like
ovirt-node-image has)
* that filesystem is used as a live root (initramfs is pulled from TFTP)
* kernel cmdline has CLIENTSTATE variable set to address of NFS mount.
Then rc.sysinit will mount $CLIENTSTATE/$HOSTNAME (as a last resort
case) and will use it as a STATE_MOUNT.
Thus, we have read-only root in RAM and all state files mounted from
NFS. So server can operate totally diskless (opposed to ovirt-node which
has to be set-up on a local disk or iSCSI target, both of which seem to
be an overkill if one has 16+ servers). An adding new servers to a pool
requires only correct DHCP server settings, nothing more (probably some
files on a nfs server too, but that's another story).
What I need from dracut is to set up networking and pass ifcfg's to a
system via /dev/.initramfs. But then I need to some-how "simulate"
networked root because otherwise there is no chance to bring network up.
STATE_MOUNT is mounted very early, no system networking is set up yet,
only what initramfs provided. And my idea is to setup bond+bridge so it
could be very tricky to make initscripts do it on a read-only root
(shared between systems) in a right way anyways - I prefer to specify
what interface is what by its macaddr, but this seems to be impossible
if I boot multiple systems from one image.
I assume it could be possible to achieve what I need with a little
"hack" - introduce new netroot handler - f.e. 'nfs-state' or 'live-nfs'
or whatever else (this is btw the biggest problem - to find proper name)
and try to pass "netroot=nfs-state root=live:blablabla
CLIENTSTATE=xxx.yyy.zzz.www:/mnt" via cmdline.
If this fail (f.e. if netroot is over-riden somewhere) I'll probably
need to patch all networking code to make it run not only if netroot is
set but also if both "root=live" and "CLIENTSTATE" are set. I generally
do not like this way very much, so I'm asking for help with this.
Could someone comment please?
Any thoughts are welcome.
Best,
Vladislav
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2010-10-18 15:15 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-10-18 15:15 Implementation path question for live root with nfs state mount Vladislav Bogdanov
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.