خلاصه
مقدمه
II. زمینه
III. مهاجرت کنید
IV. جزئیات طراحی
V. اجرا
VI. آزمایش
VII. بحث ها و محدودیت ها
VIII. نتیجه
منابع
Abstract
I. Introduction
II. Background
III. DMigrate
IV. Design Details
V. Implementation
VI. Experiments
VII. Discussions and Limitations
VIII. Conclusion
References
چکیده:
مهاجرت زنده ماشینهای مجازی (VMs) تکنیکی است که ماشینهای مجازی فعال را بین میزبانهای فیزیکی مختلف بدون از دست دادن حالتهای در حال اجرا حرکت میدهد. اگرچه برای مدیران مطلوب است که انتقال زنده در سریعترین زمان ممکن تکمیل شود، مهاجرت زنده مبتنی بر پیشکپی، که به طور گسترده در هایپروایزرهای مدرن استفاده میشود، این تقاضا را در روند فعلی که ماشینهای مجازی که برنامههای در حال اجرا روی آنها اجرا میشوند، عملکردی بحرانی هستند، برآورده نمیکند. به عنوان سیستم های مدیریت پایگاه داده (DBMS) حافظه بسیار بزرگی دارند. DMigrate که در این مقاله ارائه شده است، زمان VMهای زنده مهاجرت با DBMSهای حافظه بزرگ را کوتاه می کند. DMigrate برای تولید سریع حالت در حال اجرا VMهای در حال مهاجرت در مقصد، انتقال منظم حافظه را انجام می دهد و همزمان با واکشی اقلام داده از حافظه مشترک، مخزن بافر DBMS را می سازد. ما نمونه اولیه DMigrate را در MySQL 5.7.30، QEMU 5.1.0 و Linux 4.18.20 ساختیم. نتایج تجربی نشان میدهد که زمان مهاجرت نمونه اولیه تحت بارهای کاری، از جمله sysbench و TPC-C، به ترتیب تا 1.71× و 1.71× کوتاهتر از طرحهای پیشکپی و پسکپی است.
Abstract
Live migration of virtual machines (VMs) is a technique that moves active VMs between different physical hosts without losing any running states. Although it is desirable for administrators that the live migration is completed as quickly as possible, the pre-copy-based live migration, widely used in modern hypervisors, does not satisfy this demand on the current trend that VMs on which running applications are performance-critical such as database management systems (DBMSes) have quite large memory. DMigrate , presented in this paper, shortens the time for live-migrating VMs with even large memory DBMSes. To quickly produce the running state of the migrating VMs on the destination, DMigrate performs regular memory transfers while simultaneously constructing the DBMS's buffer-pool by fetching the data items from the shared storage. We prototyped DMigrate on MySQL 5.7.30, QEMU 5.1.0, and Linux 4.18.20. The experimental results show that the migration time of the prototype is up to 1.71 × and 1.71 × shorter under workloads, including sysbench and TPC-C, than the default pre-copy and post-copy schemes, respectively.
Introduction
Live migration of virtual machines (VMs) is a technique that moves active VMs between different physical hosts without losing any running states. Within a local area network (LAN), the main task of the live migration is to transfer VM memory pages to the destination while the VM disks are assumed to be stored in the shared storage. Live migration is helpful to intra-datacenter administrations including load balancing [1], [2], power saving [3], [4], and effective software upgrades [5], [6]. It is used in real-world data centers [7].
Although it is desirable for administrators that the live migration is completed as quickly as possible, the pre-copy-based live migration [8], widely used in modern hypervisors [9], [10], [11], does not satisfy this demand on the current trend that VMs on which memory-intensive applications such as database management systems (DBMSes) are running have quite large memory. For example, Amazon RDS offers VMs whose memory sizes are up to 3904 GiB [12]. Pre-copy transfers updated pages of a VM from the source to destination iteratively until the number of dirty pages is below a threshold, suspends the VM, and then passes the control to the destination after sending all dirty pages and CPU states such as register values. The migration of such VMs requires a long time due to the large number of memory page transfers. In addition, a larger VM memory size makes each iteration longer and could result in the VM spawning dirty pages that have to be transferred in the next iteration.
Conclusion
The live migration of DBMS-running VMs is non-trivial due to their tremendously large memory footprint, disturbing live migration-based administration in datacenters. This paper presented DMigrate that shortens the time for migrating DBMS-running VMs. To produce the running state of the migrating VMs on the destination, DMigrate performs regular memory transfers while simultaneously constructing the DBMS's buffer-pool by fetching the data items from the shared storage. We prototyped DMigrate and conducted several experiments. The experimental results show that our prototype successfully shortens migration times of the pre-copy and post-copy schemes, and the prototype is effective under our synthetic migration scenarios, namely, VM eviction, batch migration, and migration in congestion.