From: Roger B. <ro...@ro...> - 2002-04-12 19:59:28
|
[I edited the order of your questions/points] > I'm stunned, > actually, by how fast the Redhat 7.2 installation runs, compared with that > ancient Debian image from UML's SourceForge files page. I've noticed the same thing on real hardware. The new Linux distributions are getting faster. (I assume compiling against i586/i686 is helping amongst other things). > Roger, where are you looking at taking UMLBuilder? Ideally I would like it to be come obsolete because UML would just run the native installers, and everything would "just work". (Ok, so that would never happen :-) More detailed answer at the end. > Some things I think would be cool are: > > * Create persistent tun devices on host, so users running UML don't have the > ability to grab IPs through setuid uml_helper. I want to solve this a different way. I would like there to be a file in /etc that lists what ip addresses a user can have, which uml_net enforces. This way minimal admin maintenance is required. (It would be in a similar style to tcp wrappers). I am going to do this as a patch to UML soon (once I get back from a well earned holiday over the next two weeks). > * Attach ttys to host's IP ports over sshd, so startup and running of UMLs > is effectively silent. Good idea. FR# 543170 > * In conjunction with the above, an addition to control script that directs > stdout to a logfile? FR# 543171 > * Ext3 support. It actually already does. Add 'ext3' to the 'supportedfs' list in the profile. I generally take the attitude that I only "support" what is in the standard UML RPM produced by Jeff. This is because any user who is capable of recompiling UML to fit their needs is also capable of making their own highly customised filesystems. ext3 was only recently added to UML. The testing effort is large for each "feature" I turn on, so they lag a bit. (I actually added ext3 a long time ago, but didn't test it). (The testing is fun. There is an automatic test generator script that grovels through my collection of rpms and does the installation. I then have to dig through all the log files to ensure it went ok. Finally I have to run each one and login, scrutinise start messages etc. A single tweak in the main code then requires this whole process again, as some distributions are very temperamental about installation order, files/directories that already exist, contents of /proc etc). > * An ability to add "basic utils" to base install, like ftp, ncftp, wget, > lynx, lsof, emacs-nox, sshd, etc. Everyone's definition of "basic utils" differs though. I figure this will be covered by 505686. > * Creation of a tmpfs tmp directory under the user's home directory for use > by each UML. > A couple of questions: I run my RH7.2 UML with mem=64M. I noticed that about > that amount is taken up in /tmp now. How does that work? Do I need my tmpfs > to be the size of all my UMLs' cumulative mem= parameters? I believe Jeff is doing work in this area. At the moment, memory is consumed from tmpfs as you observed. > Also, I noticed it sets the tun device to the same IP as the host. I thought > I read it was supposed to be different from the host IP. Has that changed, > or did I read wrong? And does this mean I can just make as many UMLs as I > like, with them all pointed to that one tun device? It works as I ship it. The endpoint inside your UML session needs to be different, but the endpoint on the host doesn't have to be unique. The UML docs show it being different. It was a great relief when I originally worked on this since I really didn't want to allocate two IPs for UML session. > I've seen your ToDo list, > obviously, but I'm curious what your long-term goals look like. Short/medium term I want to make it do more of "the right thing". - Improved user interface, including allowing changes after installation (eg changing the size and type of a filesystem, IP address etc) - Make existing features of UML easier to use (for example "undoable" filesystems using cow) - Cope with upgrades of UML itself (install new modules, generate new initrd) Longer term I want to make it complement UML features. For example I anticipate that UML will eventually have the ability to save its memory out so that you can "suspend" a session. UML Builder can provide a nice easy to use interface to that sort of thing. Roger |
From: Steve F. <sf...@ih...> - 2002-04-12 20:25:21
|
> I've noticed the same thing on real hardware. The new Linux distributions > are getting faster. (I assume compiling against i586/i686 is helping > amongst other things). Yeah, I grabbed some stuff over 100baseT via FTP and actually got slightly better speed under the UML than on the host. Since webserving is usually not a highly CPU-intensive task, this tells me that UML is plenty fast enough, at least for my types of needs. However, this isn't in jailed mode, which will be a practical "must," as soon as the speed problems with it are solved. > Ideally I would like it to be come obsolete because UML would just run > the native installers, and everything would "just work". (Ok, so that > would never happen :-) Good to see writing this thing hasn't cost you your sense of humor. :-) > I want to solve this a different way. I would like there to be a file > in /etc that lists what ip addresses a user can have, which uml_net > enforces. Yes! That's a killer way to solve it. >> * Attach ttys to host's IP ports over sshd, so startup and running of UMLs >> is effectively silent. >> * In conjunction with the above, an addition to control script that directs >> stdout to a logfile? And I had another idea in conjunction with these. If you've got the UML startup silent, and TTYs to TCP/IP, how about adding a SysV-type script that will fire up the UMLs on host bootup, and cleanly shut them down on host shutdown? For this you'd need to set CAD to hit the right runlevel, of course. >> * Ext3 support. > > It actually already does. Add 'ext3' to the 'supportedfs' list in the > profile. Cool! Thanks! > I generally take the attitude that I only "support" what is in the standard > UML RPM produced by Jeff. That makes a lot of sense. > (The testing is fun. There is an automatic test generator script that grovels > through my collection of rpms and does the installation. I then have to dig > through all the log files to ensure it went ok. Finally I have to run each > one and login, scrutinise start messages etc. A single tweak in the main > code then requires this whole process again, as some distributions are very > temperamental about installation order, files/directories that already exist, > contents of /proc etc). Any way to automate this? Perhaps, if you're dumping the UML to a logfile, you could run a diff between the last time you ran the test and this time. Then hopefully you could scan for changes quickly. >> * An ability to add "basic utils" to base install, like ftp, ncftp, wget, >> lynx, lsof, emacs-nox, sshd, etc. > > Everyone's definition of "basic utils" differs though. I figure this will > be covered by 505686. True. But in the interim, I'd think adding ftp is justifiable, no? As it stands, I don't really know any way to get "out" from a base UML install to install additional packages, without adding ftp or the like from outside. Am I missing something? > It was a great relief when I originally worked on this since I really didn't > want to allocate two IPs for UML session. Yes, and it's a great relief to me. IPs ain't easy to get these days. I just read the docs, and I see now that it mentions that you can re-use the host IP if you're short on IPs. Are there any advantages of not re-using the host IP? Such as being able to actually ping the UML itself? > - Cope with upgrades of UML itself (install new modules, generate new > initrd) Yes, that'd be neat. Then I can easily add non-compiled modules. I suppose it'll require Jeff to start distributing the modules that are compiled with each new UML release, no? > Longer term I want to make it complement UML features. For example I > anticipate that UML will eventually have the ability to save its memory > out so that you can "suspend" a session. UML Builder can provide a > nice easy to use interface to that sort of thing. That sounds cool. I imagine a Webmin interface for UMLs that provides a lot of the same services. Like something that: * Lets you run the same CLI command on all your UMLs * Has a networking "wizard" that lets you configure common cases * Works with Webmin's monitoring suite to make sure the UMLs stay online * Can back them all up * Can harvest logs and produce reports * Etc... Steve |
From: Roger B. <ro...@ro...> - 2002-04-12 20:46:15
|
> Good to see writing this thing hasn't cost you your sense of humor. :-) I'm British so that would be 'humour'. But then I do live in California ... > And I had another idea in conjunction with these. If you've got the UML > startup silent, and TTYs to TCP/IP, how about adding a SysV-type script that > will fire up the UMLs on host bootup, and cleanly shut them down on host > shutdown? That was kind of the intention behind the control script. In a few more revisions it should have all the right things done. > For this you'd need to set CAD to hit the right runlevel, of course. The cad doing a shutdown is important as well. Currently there is no clean way to shutdown a UML session from outside of it. I had a dirty hack. I would put a symlink named 'linux' alongside control that pointed at /bin/ls. Then do 'control cad'. When UML "reboots", it reruns linux, which in this case is ls and everything stops. Doing it properly is now higher on the todo list. > Any way to automate this? Perhaps, if you're dumping the UML to a logfile, > you could run a diff between the last time you ran the test and this time. > Then hopefully you could scan for changes quickly. Doing the scan of the install logs is easy. The time consuming bit is starting each UML session, logging in and check things out that way. (Currently at 12 versions, will be adding RedFlag soon, and want to do Redmond/Lycoris. Go to http://www.distrowatch.com/ to see the size of the "problem".) > True. But in the interim, I'd think adding ftp is justifiable, no? As it > stands, I don't really know any way to get "out" from a base UML install to > install additional packages, without adding ftp or the like from outside. Am > I missing something? Possibly. See "Package Selection" in http://umlbuilder.sourceforge.net/running.shtml > Are there any advantages of not re-using the host > IP? Such as being able to actually ping the UML itself? You should be able to ping the UML session anyway. The only thing you lose is the ability to ping the tap endpoint on the host itself (and you could still that with ping -i). The only other use for seperate IPs I can see is in iptables/ipchains rules. However you pick which host interface UML Builder uses, so you can effectively make it look like the UML sessions are attached to a specific real interface, and it will be filtered against the same rules as other traffic on that interface. > Yes, that'd be neat. Then I can easily add non-compiled modules. I suppose > it'll require Jeff to start distributing the modules that are compiled with > each new UML release, no? He already does. Look in /usr/lib/uml. UML Builder automatically installs them for you during the initial install. (Jeff you may want to remove modules-2.2.tar though :-) Roger -- Roger Binns ro...@ta... http://www.tarantella.com Business Development Manager, Tarantella 425 Encinal Street, Santa Cruz, CA 95060, USA Tel 831 427 7367 Fax 831 427 5406 |
From: Steve F. <sf...@ih...> - 2002-04-12 21:05:26
|
> That was kind of the intention behind the control script. In a few > more revisions it should have all the right things done. Very cool, this is getting close to be an ISP-level UML toolkit. > The cad doing a shutdown is important as well. Currently there is no > clean way to shutdown a UML session from outside of it. Sure there is. Just do it with ssh. ;-) > When UML "reboots", it reruns linux, which in this case is ls and everything > stops. Clever, if dirty. > Doing the scan of the install logs is easy. The time consuming bit is > starting each UML session, logging in and check things out that way. > (Currently at 12 versions, will be adding RedFlag soon, and want to do > Redmond/Lycoris. Go to http://www.distrowatch.com/ to see the size of > the "problem".) I suppose the way for the problem to go away is for UML to come out as part of a standard stable kernel, and then lean on the distros to provide UML install compatibility. Maybe in 2004. :-) > Possibly. See "Package Selection" in > http://umlbuilder.sourceforge.net/running.shtml Ah yes, that'd be me having missed something. Thanks. I still believe an FTP client is a reasonable tool for an internet-connected UML, though. > He already does. Look in /usr/lib/uml. UML Builder automatically installs > them for you during the initial install. (Jeff you may want to remove > modules-2.2.tar though :-) Ah ha! Okay, I see it now. Thanks. I just originally tried "insmod nfs", and assumed when it couldn't find it that the modules hadn't been copied in. This thing just absolutely hovers madly in regal splendor over all those Windows serfs. Steve |
From: Roger B. <ro...@ro...> - 2002-04-12 22:31:13
|
> Very cool, this is getting close to be an ISP-level UML toolkit. Not quite. I would imagine an ISP would need to do a lot more work on the provisioning side. They would also make their own images, use the COW stuff to save disk space and all sorts of other tricks. > I suppose the way for the problem to go away is for UML to come out as part > of a standard stable kernel, and then lean on the distros to provide UML > install compatibility. Actually UML has been getting better at faking being a real machine. Check out the fakehd and fake_ide options in http://user-mode-linux.sourceforge.net/switches.html > This thing just absolutely hovers madly in regal splendor over all those > Windows serfs. http://user-mode-linux.sourceforge.net/projects.html (OS Ports section) http://user-mode-linux.sourceforge.net/arch-port.html Roger |