Build Your Own Private Cloud with Ezilla and Haduzilla @ 2012-12-16 OSC.JP CLOUD 2012 National Center for High-performance Computing Software Technology Division / Ezilla Team Jazz Yao-Tsung Wang jazz@nchc.narl.org.tw
Agenda Breif Introduction to NCHC Five little Zillas from Free Software Lab Brief Introduction to Ezilla Project Brief Introduction to Haduzilla Project
Breif Introduction to NCHC @ 2012-12-16 OSC.JP CLOUD 2012 National Center for High-performance Computing Software Technology Division / Ezilla Team Jazz Yao-Tsung Wang jazz@nchc.narl.org.tw
About NCHC NCHC To To Become Become aa World-class World-class Supercomputing Supercomputing Center Center To To Promote Promote Global Global Scientific Scientific Discoveries Discoveries && Technical Technical Innovation Innovation Fundamental Fundamental Role Role Provide HPC, storage, and networking Facilities Infuse innovative technology; Foster growth of HPC professionals Enabling Enabling Role Role Provide customized total solution to users Perform collaborative research with other institutes; Create technology breakthroughs
HPC Services Open for academic, research, and Industrial users. Windrider (a.k.a. ALPS system)- newly deployed supercomputer in 2011; peak performance: 177 TFLOPS, 442.00 MFLOPS/W 25,600 Cores 73,728 GB Memory 1,074 TB Disk Jun. 2011: Top500 Ranking: No. 42 Green500 Ranking: No. 60 Nov. 2011: Top500 Ranking: No. 60 Green500 Ranking: No. 64 Advanced Large-scale Parallel Supercluster IBM Cluster 1350 / 19.91TF HP Superdome2
Research and Education Network Provides research network, network (TANet), and optical services Peering with 35 IPv4 and 24 IPv6 networks worldwide Network availability rate up to 99.991% Enables dynamic circuit provisioning education Lightpath
Five little Zillas from Free Software Lab @ 2012-12-16 OSC.JP CLOUD 2012 National Center for High-performance Computing Software Technology Division / Ezilla Team Jazz Yao-Tsung Wang jazz@nchc.narl.org.tw
5 little Zillas in the Cloud Cluster Deployment DRBL Diskless Remote Boot in Linux Provides a diskless and/or systemless environment for client machines P2P, P2V, V2V Clonezilla Open Source Cloning System A partitioning and disk cloning utilities similar to Ghost and True image Haduzilla Hadoop Deployment Provides unattended installation and web management interface for virtualization infrastructure Virtual Machine Manager (VMM) Provides unattended installation and web management interface for Hadoop infrastructure Provides cluster-based intranet search engine with chinese word segamentation support Application Example Big Data Platform
Cloud Architecture Nutch Nucth Hadoop Hadoop Hadoop VM OS VM OS VM OS VMM VMM Hadoop Hadoop Hypervisor Hypervisor JVM JVM OS OS OS OS Disk Diskless Disk Disk PaaS Tomcat Web Frontend IaaS
Brief Introduction to Ezilla Project @ 2012-12-16 OSC.JP CLOUD 2012
Pervasive Computing Lab What is Ezilla Ezilla is designed to A Toolkit to build your Private Cloud A Toolkit to build Infrastructure as a Service Ezilla provide user a simple web interface to create and access personal virtual desktop Ezilla is based on: (1) DRBL (Diskless Remote Boot in Linux) (2) Web Interface (3) Cloud Middleware (4) Moosefs (5) Clonezilla
Pervasive Computing Lab Architecture of Ezilla VM Ezilla Web Interface
Pervasive Computing Lab System Blocks of Ezilla Ezilla Master TM MAD IM MAD SSH Ezilla Slave VM MAD Libvirt KVM
Pervasive Computing Lab Feature #1: Unattaned Installation Virtual Machines Ezilla WebOS
Pervasive Computing Lab Feature #2: Parallel File System Virtual Machines Ezilla Web Interface
Pervasive Computing Lab Based on Sun Stone
Pervasive Computing Lab Normal User Dashboard
Pervasive Computing Lab Feature #3: Enhanced Web interface Drag and Drop to define your VMs.
Pervasive Computing Lab Feature #4: Port Redirect Middleware
Pervasive Computing Lab EasyCloud : Virtual Classroom Service http://easycloud.nchc.org.tw
Pervasive Computing Lab Work in Progress To support OCCI (Cloud Interop) : We're now based on OpenNebula We will add support to OpenStack via OCCI VM#U1-1 VM#U1-2 rocci VM#U2-1 VM#U2-2 OpenNebula OpenStack (Powered by KVM) (Powered by Xen) 21
Pervasive Computing Lab Work in Progress Resource Catalog 3. Query 1. Register 2. Upload 4. Download OpenNebula OpenStack Micro Data Center Mini Data Center VM#U1-1 VM#U1-1 VM#U1-2 (Powered by KVM) VM#U2-2 (Powered by Xen) 22
Pervasive Computing Lab Marketplace Status Report : Once an image is added into the Marketplace, users should be able to choose in the D&D, in the near future. 23
Pervasive Computing Lab More information Official Website http://ezilla.nchc.org.tw http://ezilla.info Public IaaS portal http://easycloud.nchc.org.tw Sourceforge http://ezilla-nchc.sf.net Developers http://percomp.nchc.org.tw
Brief Introduction to Haduzilla Project @ 2012-12-16 OSC.JP CLOUD 2012 Jazz Yao-Tsung Wang jazz@nchc.narl.org.tw
What is Haduzilla? Haduzilla is consisted with two parts: (1) DRBL-Hadoop and (2) Hadoop4Win. DRBL-Hadoop aim to provide an easy way to deploy Hadoop cluster with DRBL (Diskless Remote Boot in Linux) developed by NCHC. Hadoop4Win is for students to build Hadoop developing environment on Windows.
DRBL-Hadoop System Architecture
Haduzilla in production Haduzilla had been deployed at http://hadoop.nchc.org.tw to serve the only public hadoop experimental cluster in Taiwan since June 2009. There are about 2,000+ registed users, executed 150,026 jobs till Nov. 2012.
We use Ganglia for monitoring http://hadoop.nchc.org.tw/ganglia
We designed a web interface for user-login
Hadoop4Win Hadoop4Win is a windows installer for beginner to learn Hadoop Ecosystem. Download from http://hadoop4win.sf.net
Questions? Demo? Welcome to our booth for more details Or drop me a line jazz@nchc.org.tw
Backup Backup Slides Slides Jazz Jazz Wang Wang Yao-Tsung Yao-Tsung Wang Wang jazz@nchc.org.tw jazz@nchc.org.tw
We We install install Base Base System System of of GNU GNU Debian Debian Linux with Debian Debian Installer Installer and and Preseed Preseed...... Linux with According According to to http://example.com/dhttp://example.com/di/squeeze/preseed.cfg i/squeeze/preseed.cfg It It will will install install (1) (1) Base Base Packages Packages of of Debian Debian 6.0.4 6.0.4 (2) (2) DRBL, DRBL, JVM, JVM, Hadoop, Hadoop, etc... etc... (3) (3) Run Run late_command late_command script script GNU GNU Libc Libc Debian Netinst CD Kernel Kernel Module Module Linux Linux Kernel Kernel Boot Boot Loader Loader
Reboot. Reboot. It It had had installed installed DRBL DRBL package package and and rc.local rc.local script script which which will will configure configure it it as as DRBL DRBL Server Server.. There There are are lots lots of of service service needed: SSHD, DHCPD, DHCPD, TFTPD, TFTPD, NFS, NFS, NIS/YP NIS/YP...... needed: SSHD, Hadoop Hadoop Apache Apache Ganglia Ganglia DRBL DRBL Server Server based based on on existing existing Open Open Source Source and and keep keep Hacking Hacking!! Kernel Kernel Module Module Linux Linux Kernel Kernel Boot Boot Loader Loader DRBL Server Network Account Booting Account Mgnt. Mgnt. Network Booting NFS TFTPD NIS YP NFS TFTPD DHCPD DHCPD SSHD NIS SSHD YP Perl Bash GNU Perl Bash GNU Libc Libc Hadoop Server JVM JVM
rc.local rc.local script script will will run run drblsrv drblsrv & & drblpush drblpush,, there there will will be be,, vmlinux-pex, vmlinux-pex, initrd-pxe initrd-pxe in in TFTPROOT, TFTPROOT, and and different different configuration configuration files files for for each each DRBL DRBL Client Client in in NFSROOT NFSROOT NFS NFS TFTPD NIS TFTPD DHCPD DHCPD SSHD SSHD NIS GNU Libc GNU Libc Config. Files Config. Files Ex. Ex. hostname hostname initrd-pxe initrd-pxe vmlinuz-pxe vmlinuz-pxe Kernel Kernel Module Module Linux Linux Kernel Kernel Boot Boot Loader Loader YP YP
Then, Then, we we enable enable PXE PXE function function in in BIOS BIOS for for each each DRBL DRBL Client Client nodes. nodes. BIOS BIOS PXE PXE BIOS PXE BIOS PXE BIOS BIOS PXE PXE BIOS BIOS PXE PXE NFS NFS TFTPD NIS TFTPD DHCPD DHCPD SSHD SSHD NIS GNU Libc GNU Libc Config. Files Config. Files Ex. Ex. hostname hostname initrd-pxe initrd-pxe vmlinuz-pxe vmlinuz-pxe Kernel Kernel Module Module Linux Linux Kernel Kernel Boot Boot Loader Loader YP YP
While While Booting, Booting, PXE PXE will will query query IP IP address address from from DHCPD DHCPD.. BIOS BIOS PXE PXE BIOS BIOS PXE PXE BIOS BIOS PXE PXE BIOS BIOS PXE PXE NFS NFS TFTPD DHCPD SSHD TFTPD DHCPD NIS SSHD NIS GNU Libc GNU Libc Config. Files Config. Files Ex. Ex. hostname hostname initrd-pxe initrd-pxe vmlinuz-pxe vmlinuz-pxe Kernel Kernel Module Module Linux Linux Kernel Kernel Boot Boot Loader Loader YP YP
While While Booting, Booting, PXE PXE will will query query IP IP address address from from DHCPD DHCPD.. IP IP 1 1 IP IP 2 2 IP IP 3 3 NFS NFS TFTPD DHCPD SSHD TFTPD DHCPD NIS SSHD NIS GNU Libc GNU Libc Config. Files Config. Files Ex. hostname Ex. hostname initrd-pxe initrd-pxe vmlinuz-pxe vmlinuz-pxe Kernel Kernel Module Module Linux Linux Kernel Kernel Boot Boot Loader Loader IP 4 IP 4 YP YP
After After PXE PXE get get its its IP IP address, address, it it will will download download booting booting files files from from TFTPD TFTPD.. IP IP 1 1 IP IP 2 2 IP IP 3 3 NFS NFS TFTPD NIS TFTPD DHCPD DHCPD SSHD SSHD NIS GNU Libc GNU Libc Config. Files Config. Files Ex. Ex. hostname hostname initrd-pxe initrd-pxe vmlinuz-pxe vmlinuz-pxe Kernel Kernel Module Module Linux Linux Kernel Kernel Boot Boot Loader Loader IP IP 4 4 YP YP
initrd initrd vmlinuz vmlinuz IP 1 IP 1 initrd initrd vmlinuz vmlinuz IP IP 2 2 initrd initrd vmlinuz vmlinuz IP IP 3 3 initrd initrd vmlinuz vmlinuz IP IP 4 4 NFS NFS TFTPD NIS TFTPD DHCPD DHCPD SSHD SSHD NIS GNU Libc GNU Libc Config. Files Config. Files Ex. Ex. hostname hostname initrd-pxe initrd-pxe vmlinuz-pxe vmlinuz-pxe Kernel Kernel Module Module Linux Linux Kernel Kernel Boot Boot Loader Loader YP YP
initrd initrd vmlinuz vmlinuz IP IP 1 1 initrd initrd vmlinuz vmlinuz IP IP 2 2 initrd initrd vmlinuz vmlinuz IP IP 3 3 initrd initrd vmlinuz vmlinuz IP IP 4 4 NFS NFS NIS YP TFTPD TFTPD DHCPD DHCPD SSHD SSHD YP NIS GNU Libc GNU Libc After downloading booting files, Config. Files After downloading booting files, Config. Files Ex. Ex. hostname hostname scripts scripts in in initrd-pxe NFSROOT initrd-pxe will configure configure NFSROOT Kernel initrd-pxe Kernel Module Module initrd-pxe will for forlinux vmlinuz-pxe vmlinuz-pxe Linux Kernel Kernel each each Compute Compute Node. Boot Loader BootNode. Loader
Config. Config. 1 1 initrd initrd vmlinuz vmlinuz IP IP 1 1 Config. Config. 2 2 initrd initrd vmlinuz vmlinuz IP IP 2 2 Config. Config. 3 3 initrd initrd vmlinuz vmlinuz IP IP 3 3 Config. Config. 4 4 initrd initrd vmlinuz vmlinuz NFS NFS NIS TFTPD TFTPD DHCPD DHCPD SSHD SSHD NIS GNU Libc GNU Libc Config. Files Config. Files Ex. Ex. hostname hostname initrd-pxe initrd-pxe vmlinuz-pxe vmlinuz-pxe Kernel Kernel Module Module Linux Linux Kernel Kernel Boot Boot Loader Loader IP IP 4 4 YP YP
Hadoop Hadoop JVM JVM SSHD SSHD Hadoop Hadoop JVM JVM SSHD SSHD Hadoop Hadoop JVM JVM SSHD SSHD Hadoop Hadoop JVM JVM SSHD SSHD Hadoop Hadoop Services Services will will also also deployed deployed to to each each Compute Compute Node Node via via NFS NFS...... NFS NFS JVM JVM TFTPD SSHD DHCPD SSHD TFTPD DHCPD Hadoop Hadoop NIS NIS DRBL DRBL Server Server YP YP
Demo Demo Jazz Jazz Wang Wang Yao-Tsung Yao-Tsung Wang Wang jazz@nchc.org.tw jazz@nchc.org.tw
BIOS PXE BIOS PXE BIOS BIOS PXE PXE iptables WAN WAN eth0:1 10.0.0.254 BIOS BIOS PXE PXE BIOS BIOS PXE PXE tap0 192.168.125.254 eth0 192.168.125.5 Debian netinst CD
auto url=eagle.classcloud.org
Show me the Source Code! http://eagle.classcloud.org/d-i/squeeze/ New versions will be at github. http://github.com/jazzwang
Attribution-Noncommercial-Share Alike 3.0 Taiwan http://creativecommons.org/licenses/by-nc-sa/3.0/tw/ These slides could be distributed by Creative Commons License.