Voyager: Complete Container State Migration

2y ago
3 Views
3 Downloads
254.30 KB
6 Pages
Last View : 25d ago
Last Download : 3m ago
Upload by : Allyson Cromer
Transcription

2017 IEEE 37th International Conference on Distributed Computing SystemsVoyager: Complete Container State MigrationShripad Nadgowda, Sahil Suneja, Nilton Bila and Canturk IsciIBM T.J. Watson Research CenterAbstract—Due to the small memory footprint andfast startup times offerred by container virtualization,made ever more popular by the Docker platform, containers are seeing rapid adoption as a foundationalcapability to build PaaS and SaaS clouds. For suchcontainer clouds, which are fundamentally differentfrom VM clouds, various cloud management servicesneed to be revisited. In this paper, we present ourVoyager - just-in-time live container migration service,designed in accordance with the Open Container Initiative (OCI) principles. Voyager is a novel filesystemagnostic and vendor-agnostic migration service thatprovides consistent full-system migration.Voyager combines CRIU-based memory migration together withthe data federation capabilities of union mounts tominimize migration downtime. With a union view ofdata between the source and target hosts, Voyagercontainers can resume operation instantly on the targethost, while performing disk state transfer lazily in thebackground.I. IntroductionContainer virtualization has existed since two decadesin the form of FreeBSD Jails[18], Solaris Zones[26],IBM AIX Workload Partitional WPAR[5], and LXC forLinux, amongst others. But these have recently startedgaining acceptance as a lightweight alternative to virtual machines (VMs), owing to technology maturity andpopularization by platforms like Docker[14], CoreOS’srocket[12], Cloud Foundry Warden[9]. Containers are being adopted as a foundational vitualization capability inbuilding Platform-as-a-Service (PaaS) and Software-as-aService (SaaS) cloud solutions, e.g. Amazon Containerservice[6], Google Container Engine [15] and IBM’s Container Cloud[17]. For such container clouds, which arefundamentally different from VM clouds, various cloudmanagement services need to be revisited. In this paper,we target one such service- container migration.An efficient migration solution becomes essential ascontainers start running production workloads. Borrowingthe scenarios from their VM counterparts, migrations arerequired during host maintenance, load balancing, serverconsolidation and movement between availability zones(e.g., a Silver zone with HDD storage and 100 IOPS vs.a Gold zone with SSD storage with 1000 IOPS).In this paper, we present our Voyager container migration service, tailored specifically for containers in accordance with OCI principles. Voyager is a novel filesystemagnostic and vendor-agnostic migration service that provides consistent full-system migration, unlike existing al1063-6927/17 31.00 2017 IEEEDOI 10.1109/ICDCS.2017.91ternatives that either provide memory-only migration, orrely on specific filesystems to migrate persistent storage(Section 2). Voyager performs just-in-time live containermigration with minimal downtime, by combining the datafederation capabilities of union mounts together withCRIU-based memory migration. With a union view of databetween the source and target hosts, Voyager containerscan resume operation instantly on the target host, whileperforming disk state transfer either on-demand (Copyon-Write) or through lazy replication. Our experimentsshow Voyager’s federation framework imposes no overheadduring data updates/writes, and 1% overheads for readsand upto 10% for scans.We have open-sourced an initial version of our data migration framework[8], although it works specifically withdocker containers and does not support live migration. Weintend to open-source the enhancements described in thispaper as well, which include in-memory state migration,OCI compliance, and support for multiple data storagetypes (rootfs, local and network attached data volumes).II. Background and Related WorkThe objective in this paper is not to compare andestablish performance advantages between VM and container migration techniques. Containers are fundamentallydifferent than VMs in terms of their system resourcerequirements, high density and agility. We believe a moreoptimal migration service can be designed for containerclouds than the prevalent ones in VM clouds.A. VM MigrationMigration has extensively been studied primarily forVM Clouds[7][25][24][16][22]. Different vendors use different virtual disk (vDisk) formats to encapsulate a VM’spersistent state (e.g. vmdk, VHD, qcow2), which aremigrated via proprietary hypervisor-assisted services likevMotion[29] and Hyper-V Live Migration[27], third partytools [7], [25], [13], or via explicit vDisk conversions[28][19]across hypervisors. Containers, on the other hand, are(being) standardised by the Open Container Initiative(OCI)[3] which specifies an industry standard for containerimage format- a f ilesystem bundle or rootf s, and multipledata volumes (Section III). These being essentially directories on the host filesystem, a generic file-based migrationsolution can be designed for containers. There also existvendor-agnostic file-based migration solutions for VMs like2137986

I2Map[22] and racemi[4], but there require extra agents tobe installed inside the systems.Some container clouds[6][15] provision VMs to host containers, primarily to mitigate security and isolation concerns for containers, while others run containers directlyon cloud hosts [17]. This paper shows how to migrate thesmall execution state that is part of a container withoutresorting to installing and migrating VMs that imposedifferent constraints on their hosts. Installing VMs forthe purpose of migration defeats the advantages of usingcontainers for application deployment.B. Container MigrationContainers have been popular with the microservicearchitecture. Although container migration may seem redundant for stateless containerized applications, but itis still pertinent to several stateful microservice applications like databases (e.g. Mysql, cassandra), message brokers (kafka), and state-coordination service (zookeeper),amongst others. This is being acknowledged and supportedin standard frameworks like Kubernetes’ ‘StatefulSet’.Portability of stateful containers is also explored in existing solutions like ClusterHQ’s Flocker[10], Virtuozzo[20]and Picocenter[30].Flocker[10] primarily is a data management solutionspecifically for docker containers. It supports migrationfor network-attached storage backends like Amazon EBS,Openstack Cinder, VMware vSphere etc., by re-attachingthese network storage for containers. Local attached volume migration is supported only for ZFS filesystem. Onthe other hand, Voyager is a generic, filesystem-agnosticand vendor-agnostic migration solution.Virtuozzo is a bare-metal virtualization solution thatincludes container virtualization. It facilitates Zerodowntime live migration for containers[23][20]. During thismigration it first transfer container’s filesystem and virtualmemory to target host. Once transfer is finished, it freezeall container processes and disable networking. It thendump this memory state to file and copies these dump fileto target host. Any changed memory and disk blocks sincethe last transfer are then migrated to target host and thencontainer is resumed. It has an underlying assumptionthat amount of memory pages and disk blocks changed(deltas) is small, thus outage time imperceptible. For anydata intensive application these deltas specially persistentdata changes could be large. Voyager differs from thistechnique primarily on two aspects. First, Voyager is aJust-in-Time (jit) Zero-copy migration solution, whereincontainer is migrated immediately before whole data iscopied to the target host. Secondly, Voyager does notrequire the task of second data transfer performed byVirtuozzo, thus application downtime for Voyager is stillsmaller than Virtuozzo. Further Voyager provided featureslike data federation access, dual-band data replication,OCI compliance which are not provided by any existingcontainer migr seconds. We have veryrecently also incorporated CRIU’s incremental memorycheckpointing capabilities in Voyager, which should lowerthe application downtime significantly. As future work, weplan to evaluate this optimization, and also instrumentCRIU to measure both the checkpoint and restore time ata per resource granularity, so that we can prioritize andoptimize for individual resources.C. Performance overheadIn Voyager, once a container is resumed at the target,it has immediate access to its persistent data storagethrough Voyager’s data federation layer. This layer incursperformance overhead, which we measure using YCSBfor different types of workload profiles including reads,inserts, updates, and scans. For each profile, in YCSB’sload stage we inserted 1M records to a database table,and in the run stage we performed 1M record operationsof respective types. The records were accessed using zipfiandistribution for popularity-based long tail access pattern.For each workload profile, we measured average application throughput (operations/sec) every 10 seconds. Eachexperiment was performed at two application states- (i)baseline: application state at the source host before it ismigrated, and (ii) f ederation: application state after it ismigrated at the target host, having access to data throughthe federation layer. For common application read/writeworkload patterns we observe zero to 3% overhead insteady state. Performance impact on the individual workload profiles is discussed below:D. Application container: startup vs. restoreWhen contrasted against VMs containers have faststartup times. But, applications inside container also typically have their own startup or initialization time, whichranges from milliseconds to few seconds. We measuredaverage initialization time to for two application namelyMySQL and elasticsearch. The average initialization timefor these application was recorded as: 10secs for MySQLand 7sec for elasticsearch. Then we checkpointed theseapplication containers right after they were initialized andrestored them on the same host. Restore time for both ofthem was less than 500ms, much faster than their startuptime. We are exploring use of Voyager on such platformswhere applications are instantiated by restoring their stateand rootf s is provisioned through data federation and lazycopy.2141990

10.5throughput (ops/sec)throughput (ops/sec)time 00110001000030009000146154170memory Size (MB)21025010(a) application downtime1200203040506070time (sec)809010011010(b) read/insert/update workload6000baselinefederation60030405060 70time (sec)8090100 110 120(c) read-only workloadbaselinefederation43004200throughput (ops/sec)throughput hput 004000390038003700400360010002003500102030405060 70 80time (sec)90100 110 120 130(d) scan-only workload102030405060 70time (sec)8090100 110 120(e) update-only workload10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170time (sec)(f) insert-only workloadFig. 2. MySQL Application benchmarking with Voyager migrationV. ConclusionWe presented the design and implementation of Voyagerin this work. Voyager employs a data federation acrosssource and target hosts to ensure that application isresumed just-in-time at target host with remote-readsand local-write data access. Performance overhead of suchfederation framework is evaluated to be within 1 3%for common read/write workloads. We are committed toopen-source and further enhanced this work to supportincremental migration for containers, optimize memorycheckpointing/restore and design policy-driven lazy replication to reduce network [11][12][13][14][15]AUFS: Another Union Filesystem. aufs.sourceforge.net/.CRIU. www.criu.org/.Open Container Initiative. https://www.opencontainers.org/.Racemi. www.racemi.com/.Chris Almond, Bruno Blanchard, Pedro Coelho, Mary Hazuka,Jerry Petru, Theeraphong Thitayanun, et al. Introduction toWorkload Partition Management in IBM AIX Version 6.1. IBMRedbooks, 2007.Amazon. EC2 container service. https://aws.amazon.com/ecs/.Robert Bradford, Evangelos Kotsovinos, Anja Feldmann, andHarald Schiöberg. Live wide-area migration of virtual machinesincluding local persistent state. In VEE’07, pages 169–179.Cargo. Cargo. https://developer.ibm.com/open/cargo/.Cloud pts/architecture/warden.html.ClusterHQ. Flocker. https://docs.clusterhq.com/en/1.0.3/.Brian F Cooper, Adam Silberstein, Erwin Tam, Raghu Ramakrishnan, and Russell Sears. Benchmarking cloud serving systemswith ycsb. In Proceedings of the 1st ACM symposium on Cloudcomputing, pages 143–154. ACM, 2010.CoreOS. Rocket. https://coreos.com/blog/rocket/.Umesh Deshpande, Danny Chan, Steven Chan, Kartik Gopalan,and Nilton Bila. Scatter-gather live migration of virtual machines. IEEE Transactions on Cloud Computing, 2015.Docker. Docker. https://www.docker.com/.Google Inc. Container engine. https://cloud.google.com/container-engine/.[16] Michael R Hines and Kartik Gopalan. Post-copy based live virtual machine migration using adaptive pre-paging and dynamicself-ballooning. In VEE’09, pages 51–60. ACM, 2009.[17] IBM Inc. IBM Container Cloud. nersâĂŐ.[18] Poul-Henning Kamp and Robert NM Watson. Jails: Confiningthe omnipotent root. In Proceedings of the 2nd InternationalSANE Conference, volume 43, page 116, 2000.[19] Microsoft Inc. System C

dance with OCI principles. Voyager is a novel filesystem- . can resume operation instantly on the target host, while performing disk state transfer either on-demand (Copy- . The objective in this paper is not to compare

Related Documents:

Container migration is emerging as a potential solution that enables dynamic resource migration in virtualized networks and mobile edge cloud (MEC) systems. This paper proposes a traffic aware container migration approach and validates it with an end-to-end system implementation using a pure container hypervisor called LXD (Linux Container .

Data Migration Planning Analysis, Solution Design and Development Mock Migration Pilot Migration Released Data Migration Active Data and User Migration Inactive Data Migration Post Migration Activities Small Bang The details for each step include: Data Migration Planing - Develop the migration strategy and approach, and define the scope,

Savi 400 Series Savi 700 Series Voyager 3200 UC/ Voyager 5200 UC Voyager Focus UC/ Voyager 8200 UC DA70/DA80 Connects to PC1 Desk phone PC mobile phone PC mobile phone1 PC mobile phone/tablet PC Recommended for Users with PC communication in office or on the go Office wo

300c touring 2014-2010 2 3 4 grand voyager 03.2008-2011 2 4 6 grand voyager 01-2007-2008 2 3 4 voyager 03.2001-2008 2 4 6 ypsilon 2011-09.2015 2 4 ypsilon 09.2015 2 4 berlingo f)(facelift) 04.2012 2 4 . mazda thema 2011 2 3 4 voyager 11.2011 2 4 discovery 4 2006-2013 2 4 freelander ii 2006-2013 2 4

VOLUME 47 NUMBER 9 2017 Continued on page 5 Celebrating 40 years of Voyager wonders By Mark Whalen From left: Voyager Project Manager Suzy Dodd, Project Scientist Ed Stone, Communications and Education Director Blaine Baggett, JPL Chief Engineer Chris Jones and John Casani, Voyager's first project manager.

This Job Aid, POINT VOYAGER DISHWASHER, Part No. 8178022 provides specific information on the operation, diagnosis and repair of the Whirlpool Point Voyager series Undercounter Dishwasher. POINT VOYAGER DISHWASHER has been compiled to provide the most recent information on de-sign, features, operation, troubleshooting, and repair procedures.

Migration overview In the context of Migration Manager, migration is the process of promoting . A migration group can be either internal or user-defined. Internal migration groups are included with the product and are linked to other logically related migration groups called dependencies. You cannot modify internal migration

A New Migration Testing Strategy Pre-Migration Testing The concept of pre-migration testing is not often covered during migration planning. The professionals involved in migration planning are not much aware of comprehensive pre-migration testing and the value it can add to a migration and particularly those migrations that are considered complex.