Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Ironic

9.726 Aufrufe

Veröffentlicht am

OpenStack Ironic introduction, including the Bare Metal Provision Domain background knowledge and Ironic Architecture and Framework, components, and

Veröffentlicht in: Design, Technologie
  • Follow the link, new dating source: ♥♥♥ http://bit.ly/39mQKz3 ♥♥♥
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • Dating direct: ♥♥♥ http://bit.ly/39mQKz3 ♥♥♥
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • nice overview!!
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier

Ironic

  1. 1. IRONIC OPENSTACK BAREMETAL PROVISIONING SERVICE Hao Meng, Wang IRC: Haomeng whaom@cn.ibm.com June, 2014
  2. 2. 2 AGENDA • Bare Metal Provision Domain • Why Provision Bare Metal(BM) • Provision Methods & Scenarios • Key Technologies for BM Provision • PXE ROM & NBP • IPMI Functions • IPMI Block Diagram • IPMI + PXE Provising Workflow • Ironic • About Ironic • Architecture • Conceptual • Logical • Framework • Components • BM Provision Sequence Diagram • Data Model • Images used by Ironic • Commands • How to use Ironic • TripleO
  3. 3. 3 Why Provision Bare Metal(BM) • Database/Hadoop hosting (some databases run poorly in a hypervisor) • Single tenant, dedicated hardware for performance, security, dependability and other regulatory requirements • Computing tasks that require access to hardware devices which can’t be virtualized • High-performance computing(HPC) clusters, physical compute nodes • Or, rapidly deploying a cloud infrastructure self, TripleO or others • Cloud scaling out • X86_64, ARM, TILE-Gx16/36/64/100 systems • SoftLayer / Racespace Cloud supports bare-metal as service
  4. 4. 4 Provision Methods & Scenarios • Methods • CLONE – ghost/dd • INSTALL – JumpStart/KickStart/OS Installer • CLONE + INSTALL • Scenarios • Diskful • HD/SSD • iSCSI/SAN disk • Diskless • RAM Disk
  5. 5. 5 Key Technologies for BM Provision • PXE Preboot Execution Environment (PXE) is part of the Wired for Management (WfM) specification developed by Intel and Microsoft. Booting computers via a network. • NBP Network Bootstrap Program (NBP) is equivalent to GRUB (GRand Unified Bootloader) or LILO (LInux LOader) - loaders which are traditionally used in local booting. Like the boot program in a hard drive environment, the NBP is responsible for loading the OS kernel into memory so that the OS can be bootstrapped over a network. • IPMI Intelligent Platform Management Interface (IPMI) is a standardized computer system interface used by system administrators for out-of-band management of computer systems and monitoring of their operation. • DHCP Using PXE, the BIOS uses DHCP to obtain an IP address for the network interface and to locate the server that stores the network bootstrap program (NBP). • TFTP Trivial File Transfer Protocol (TFTP) is a simple file transfer protocol that is generally used for automated transfer of configuration or boot files between machines in a local environment. In a PXE environment, TFTP is used to download NBP over the network using information from the DHCP server. • iSCSI Internet Small Computer System Interface, uses this to 'dd' the image to target machnie local disk
  6. 6. 6 PXE ROM & NBP (bootloader,pxelinux.0) PXE ROM Chip
  7. 7. 7 NBP bootloader config file sample default deploy label deploy kernel /tftpboot/76305cdf-a30a-453e-bc92-b3f869a27fd8/deploy_kernel append initrd=/tftpboot/76305cdf-a30a-453e-bc92-b3f869a27fd8/deploy_ramdisk selinux=0 disk=cciss/c0d0,sda,hda,vda iscsi_target_iqn=iqn-76305cdf-a30a-453e-bc92-b3f869a27fd8 deployment_id=76305cdf-a30a-453e-bc92-b3f869a27fd8 deployment_key=UKKQZ3N2AOUJ45NZVB27L25XKR6I57V8 ironic_api_url=http://192.0.2.1:6385 troubleshoot=0 nofb nomodeset vga=normal label boot kernel /tftpboot/76305cdf-a30a-453e-bc92-b3f869a27fd8/kernel append initrd=/tftpboot/76305cdf-a30a-453e-bc92-b3f869a27fd8/ramdisk root=UUID=319005ff-9177-45af- 87db-ada3a1f6dc9f ro nofb nomodeset vga=normal
  8. 8. 8 IPMI Functions • power Shortcut to chassis power commands • chassis bootdev Set the boot device • sensor Print detailed sensor information • sol Configure and connect IPMIv2.0 Serial-over-LAN • ...
  9. 9. 9 IPMI Block Diagram IPMI Port
  10. 10. 10 IPMI NIC Port
  11. 11. 11 “Ironic is an Incubated OpenStack project which aims to provision bare metal (as opposed to virtual) machines by leveraging common technologies such as PXE boot and IPMI to cover a wide range of hardware, while supporting pluggable drivers to allow vendor-specific functionality to be added.” http://docs.openstack.org/developer/ironic/ About Ironic
  12. 12. 12 Conceptual Architecture
  13. 13. 13 Logical Architecture
  14. 14. 14 Framework
  15. 15. 15 Ironic Components • Ironic-api • handles the remote api requests • Ironic-conductor • talk with physical machines • Nova compute driver • Implements the nova virt.ComputeDriver. • Direct the calls to Ironic • CLI client • Ironic deployment ramdisk agent • Built by diskimage-builder • Deploy by PXE, talk with Ironic- conductor RAMDISK Agent - https://github.com/openstack/diskimage-builder/tree/master/elements/deploy-ironic
  16. 16. 16 Juno Teeth Agent • In Juno release, a new ramdisk agent will be introduced to Ironic by RackSapce. (teeth agent) The new name is Ironic Python Agent • Supports: • Partition disks • Erase disks • Install bootloaders • Install an OS image • Update firmware • Configure RAID and more.... • A new DeployInterface driver will be written to communicate with the new Teeth agent.
  17. 17. 17 Ironic BM Provision Sequence Diagram
  18. 18. 18 Ironic Objects Model
  19. 19. 19 Images used by Ironic ● NBP – Ironic.conf pxe_bootfile_name – default pxelinux.0 ● Ironic Deployment Agent – bm-deploy-kernel / bm-deploy-ramdisk – BM flavor's extra_specs data – baremetal:deploy_kernel_id/baremetal:deploy_ramdisk_id ● User Image – to be deployed to bm – user-image/ – user-image-vmlinuz – user-image-initrd – Images' kernel_id/ramdisk_id ext props •
  20. 20. 20 Ironic Commands • node-create - Create a new node. • node-delete - Delete a node. • node-get-console - return the connection information about the console. • node-list - list nodes. • node-set-console-mode - Enable or disable the console access. • node-set-power-state - Power the node on or off. • node-set-provision-state - Provision or tear down a node. • node-show - Show a node. • node-update - Upate a node. • node-validate - Validate the node driver interfaces.
  21. 21. 21 Ironic Commands • port-create - Create a new port. • port-delete - Delete a port. • port-list - List ports. • port-show - Show a port. • port-update - Update a port. • chassis-create - Create a new chassis. • chassis-delete - Delete a chassis. • chassis-list - List chassis. • chassis-node-list - List the nodes contained in the chassis. • chassis-show - Show a chassis. • chassis-update - Update a chassis. • driver-list - List drivers. • driver-show - Show a driver.
  22. 22. 22 How to use Ironic • Install Ironic - Try with devstack or TripleO's Devtest, it supports Ironic for long time – http://docs.openstack.org/developer/ironic/dev/dev-quickstart.html#deploying-ironic-with-devstack – https://wiki.openstack.org/wiki/Tuskar/Devtest • Setup the compute node's nova.conf • compute_driver = ironic.nova.virt.ironic.driver.IronicDriver • scheduler_host_manager = ironic.nova.scheduler.ironic_host_manager.IronicHostManager • Setup tftp folder and prepare pxe boot loader file • # cp pxelinux.0 /YOUR_TFTP_FOLDER/ • Prepare the baremetal flavor • # nova flavor-create <name> <id> <ram> <disk> <vcpus> • # nova flavor-key baremetal set "cpu_arch"="$ARCH" "baremetal:deploy_kernel_id"="$deploy_kernel_id" "baremetal:deploy_ramdisk_id"="$deploy_ramdisk_id" • Register these nodes with correct drivers • # ironic node-create driver=pxe_ipmitool • Register the ports information • # ironic port-create -a aa:bb:cc:dd:ee:ff -n 76305cdf-a30a-453e-bc92-b3f869a27fd8 • Nova boot to kick off the baremetal provision • Check node's provision_state/power_state value • # ironic node-show 76305cdf-a30a-453e-bc92-b3f869a27fd8
  23. 23. 23 TripleO • TripleO = OpenStack on OpenStack • INFO: May 2014 at the Atlanta Summit: both RedHat's (InStack) and HP's (Helion) OpenStack distributions are now based on TripleO
  24. 24. 24 TripleO – Covers full DevOps TripleO = NovaBM/Ironic + os-collect-config + os-apply-config + os-refresh-config + os-cloud-config + diskimage-builder (dib) + tripleo-image-elements (dib) + tripleo-heat-elements (dib) + Tuskar(tuskar/tuskarui/python-tuskarclient)
  25. 25. 25 TripleO – Block Diagram v
  26. 26. 26 PC Seed VM Undercloud Overcloud Controller Overcloud Compute Overcloud Compute Workload Workload Workload $ heat stack-create undercloud $ heat stack-create overcloud $ heat stack-create workload Seed / under / over Clouds in TripleO
  27. 27. 27 References • Ironic wiki - https://wiki.openstack.org/wiki/Ironic • PXE Spec - http://download.intel.com/design/archives/wfm/downloads/pxespec.pdf • IPMI overview - http://www.intel.com/content/dam/www/public/us/en/documents/product- briefs/ipmi-overview.pdf • IPMI Spec - http://www.intel.com/content/www/us/en/servers/ipmi/ipmi-specifications.html • TripleO - https://wiki.openstack.org/wiki/TripleO
  28. 28. THANK YOU

×