Presentation is loading. Please wait.

Presentation is loading. Please wait.

MyPLC My Little PlanetLab Mark Huang

Similar presentations


Presentation on theme: "MyPLC My Little PlanetLab Mark Huang"— Presentation transcript:

1 MyPLC My Little PlanetLab Mark Huang mlhuang@cs.princeton.edu

2 PlanetLab Architecture PlanetLab Central Site A Site B Site C Internet

3 PlanetLab Platform Applications PlanetLab Federation – Scalability and internationalization Private PlanetLabs – OneLab, EverLab – Wireless, PXE boot, other custom hardware – Distributed application server Cluster management – PlanetLab meets Rocks – DistributedOpenHosting.com?

4 PlanetLab Federation Internet

5 PlanetLab Central Database server – Primary information store – Sites, nodes, users, events, configuration API server – Database frontend – Authentication, programmatic interface Web server – API frontend – User GUI, administrative interface Boot server – Secure software distribution Optional servers – PlanetFlow, Mail, Support, Spam/AV, Monitor, DNS, Build, CVS, QA – Outside the scope of the architecture

6 PlanetLab In A Box Converted basic Fedora Core 2 server into a complete PLC – Installed packages into existing filesystem – Modified configuration files in place Required network access to Princeton – CVS, rsync Limited customizability – Only at install time Complex, fragile – Untaggable Apache PostgreSQL mod_python plc_www OpenSSL plc_api xmlsec1 pl_db bootmanager bootcd_v3 FC2PLC

7 MyPLC Basic ideas – Isolate all code in a chroot jail – Define and set all relevant configuration variables in a single file Easy to install – Monolithic – Portable Easy to administer – Single point of configuration – Snapshots, backups – Upgrades More secure /plc PLC Linux

8 Components Code: /plc/root.img – Loopback mounted on /plc/root – Subject to upgrade Data: /plc/data – Stored on host filesystem, bind mounted on /plc/root/data (i.e., /data to MyPLC) – Database, generated files, custom RPMs, boot logs – Not subject to upgrade Configuration: /etc/planetlab – Symlink from /plc/data/etc/planetlab – Configuration files, keys, certificates – Stored with data, not subject to upgrade

9 Startup MyPLC is 95% prebuilt – Startup sequence completes the last 5% Idempotent startup – All scripts assume startup from scratch – Slow, hard to react to changes or triggers – Predictable, less code Mini System V Init – /etc/plc.d scripts configure and start individual services

10 Configuration plc_config.xml plc_config plc_config.py plc_config.php PostgreSQL / var/lib/pgsql/data/postgresql.conf Apache / etc/httpd/conf/httpd.conf SSL / etc/pki/tls GnuPG / etc/planetlab/pubring.gpg SSH /etc/planetlab/root_ssh_key.rsa Network /etc/hosts, /etc/resolv.conf Website / var/www/html PLCAPI /usr/share/plc_api /etc/plc.d /etc/init.d/plc

11 DemoLab VMware server – This laptop, FC4 under VMware Optimizations – Private VMware network 172.16.68.0/24 – Private DNS server demo.vmw VMware node – planetlab1.demo.vmw 172.16.68.101 vmnet1 172.16.68.0/24 vmnet1 172.16.68.0/24 planetlab1 172.16.68.101 planetlab2 172.16.68.102 MyPLC bind (DNS) 172.16.68.100 FC4


Download ppt "MyPLC My Little PlanetLab Mark Huang"

Similar presentations


Ads by Google