WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: Recommendations for setting up multiple TCL instances?  (Read 1949 times)

Offline fsmontenegro

  • WikiUser
  • *
  • Posts: 1
Recommendations for setting up multiple TCL instances?
« on: January 14, 2011, 01:50:31 PM »

I'm a newbie with TCL but I did read CoreConcepts and looked around here for a bit before asking questions.

I'm looking for "recommendations" on setting up multiple - from 5 to 20 or so - instances of MicroCore or TinyCore within a VM hypervisor (be it  VMware, Oracle/Sun, Citrix or Microsoft). VMs will typically have static IP addresses and some will act as regular clients (browsers, etc...) while others will be servers (SSH, Web, ...). Each VM will need independent configuration from each other. Some can be graphical, some can be CLI only.

Just as an FYI, I'll have networking functionality with the hypervisor (I use VMworkstation) and instances of Vyatta or other networking components for some of the stuff I'm testing.

In summary, I'm looking to build a "network aquarium" ... :-) Yes, I know it sounds silly, but the analogy is accurate: lots of individual things interacting with each other while you observe from outside...

My questions:
- first, any writeups on similar scenarios I should read?
- I imagine that using Mount Mode is recommended here, right?
- Would you suggest a single shared external storage for all the instances or a minimal persistent storage for each instance?
- Any suggestions to minimize memory footprint? Frankly I'm more concerned with memory usage than disk space.
- looking for easiest way of managing IP addresses on each box (WITHOUT DHCP). Pass it on bootcodes? Have separate .sh scripts to put on each VM's /opt/bootlocal.sh?

I recognize that TCL is not a turn-key distro and I'm doing what I can to pick up on how to best use it.

Thanks in advance!


Offline danielibarnes

  • Hero Member
  • *****
  • Posts: 548
Re: Recommendations for setting up multiple TCL instances?
« Reply #1 on: January 14, 2011, 05:02:46 PM »
I have a number of VMs and how I set them up depends on three things: saving data across a reboot, extensions, and root filesystem customizations.

1) Preserve data across a reboot
I install to the virtual HDD using extlinux as the bootloader.

2) Do not need to preserve data across a reboot
I remaster a new .iso image and boot the VM from that. In this case, I do not even need a virtual HDD.

1) Store in memory
Create a cpio archive of extensions in /opt/tce and put the filename in syslinux.cfg. They are loaded by syslinux into memory during bootup. This will use more memory than other methods below.

2) Store on CD
Put extensions in /tce on .iso image. This directory will not be writable and any Tiny Core tools which expect it to be will fail. Recommended if you will boot with the same set of extensions every time. You won't be able to update or change them without creating a new .iso image.

3) Store on virtual HDD
Put extensions in /tce on virtual HDD. This will work like a normal Tiny Core installation.

Root filesystem customizations
1) Custom extensions
Any custom files that will not (or must not) change during runtime can be put in a custom extension and loaded with other extensions. They will be read-only.

2) Compressed cpio archive
Files which may need to change at runtime or may need to be updated occassionally are put into a cpio archive and loaded in syslinux.cfg.

3) Backup file: mydata.tgz
If there are custom files which need to change often, I put them in mydata.tgz in /tce on the virtual HDD and update the .tgz as required. Note that this requires the /tce directory to be present and writable.

Files which do not need to be in the root filesystem can simply be stored on the virtual HDD. For example, I run Dnsmasq, and I store dnsmasq.conf on my virtual HDD. However, my custom /etc/inittab is stored in a compressed cpio archive.
« Last Edit: January 14, 2011, 05:05:13 PM by danielibarnes »