CN112291345B - 物理机间进行进程迁移过程中保持socket不中断状态的方法 - Google Patents

物理机间进行进程迁移过程中保持socket不中断状态的方法 Download PDF

Info

Publication number
CN112291345B
CN112291345B CN202011180617.8A CN202011180617A CN112291345B CN 112291345 B CN112291345 B CN 112291345B CN 202011180617 A CN202011180617 A CN 202011180617A CN 112291345 B CN112291345 B CN 112291345B
Authority
CN
China
Prior art keywords
migration
socket
host
message
original
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011180617.8A
Other languages
English (en)
Other versions
CN112291345A (zh
Inventor
孟晶石
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Taicang T&W Electronics Co Ltd
Original Assignee
Shanghai Gongjin Communication Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Gongjin Communication Technology Co Ltd filed Critical Shanghai Gongjin Communication Technology Co Ltd
Priority to CN202011180617.8A priority Critical patent/CN112291345B/zh
Publication of CN112291345A publication Critical patent/CN112291345A/zh
Application granted granted Critical
Publication of CN112291345B publication Critical patent/CN112291345B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • H04L67/145Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种不同物理机间进行进程迁移过程中实现保持socket不中断状态的方法,包括将进程对应的磁盘可执行文件发送至目的主机;执行可执行文件创建进程;将旧迁移进和新迁移进程都设为suspend状态;原物理机通知网关修改nat规则;原物理主机移交未处理的对应迁移进程socket的ip报文;移交网卡驱动中缓存的发送队列里的ip报文;结束迁移进程。采用了本发明的不同物理机间进行进程迁移过程中实现保持socket不中断状态的方法,可用于分布式系统领域,更适合于分布式事物处理机,得灵活分摊集群各服务节点工作压力,减少服务端维护成本。同时也可用于网关服务程序之间迁移减轻某个网关工作负担。整个过程对用上网用户是透明的,上网过程中不会感觉到因为服务端维护发短暂断网。

Description

物理机间进行进程迁移过程中保持socket不中断状态的方法
技术领域
本发明涉及操作系统领域,尤其涉及进程迁移领域,具体是指一种不同物理机间进行进程迁移过程中实现保持socket不中断状态的方法。
背景技术
安装有相同操作系统的不同物理主机之间,通过把一个进程远行在某个状态时的进程所有信息和与进程相关联的内核数据结构全部发送给另一台物理主机,并修改客户机到主机和socket相关的tcp链路上的某个网关nat规则表,改变经过该网关到达目地主机为进程迁移的目的主机。
发明内容
本发明的目的是克服了上述现有技术的缺点,提供了一种满足工作压力小、维护成本、适用范围较为广泛的不同物理机间进行进程迁移过程中实现保持socket不中断状态的方法。
为了实现上述目的,本发明的不同物理机间进行进程迁移过程中实现保持socket不中断状态的方法如下:
该不同物理机间进行进程迁移过程中实现保持socket不中断状态的方法,其主要特点是,所述的方法包括以下步骤:
(1)将进程对应的磁盘可执行文件、进程内存映像、内核进程描述符和及socket内核数据结构发送至目的主机;
(2)目的主机将收到的磁盘可执行文件写入自己的磁盘,并执行可执行文件创建进程;
(3)原物理主机和目的物理主机分别将旧迁移进程和新迁移进程都设为suspend状态,即暂停运行进程;
(4)原物理机通知网关修改nat规则;
(5)原物理主机移交未处理的对应迁移进程socket的ip报文,并替换ip报文的目地ip地址和端口号;
(6)移交网卡驱动中缓存的发送队列里的ip报文,并替换ip报文中的原地址和端口号;
(7)结束迁移进程,回收报文。
较佳地,所述的步骤(2)具体包括以下步骤:
(2.1)目的主机将收到的磁盘可执行文件写入自己的磁盘,并执行可执行文件创建进程;
(2.2)通过收到的进程内存映像替换该主机上进程内存映像;
(2.3)通过收到的内核socket数据结构,加载到内核中并关联迁移进程。
较佳地,所述的步骤(5)具体为:
原物理主机将未处理的对应迁移进程socket的ip报文移交至目的物理机网卡驱动,并将ip报文的目地ip地址和端口号替换为目的物理机的ip地址和端口号。
较佳地,所述的步骤(6)具体为:
将原物理主机中和迁移进程socket相关的网卡驱动中缓存的发送队列里的ip报文移交给目的物理机的网卡驱动对应的发送队列,并将ip报文中的原地址和端口号替换为目的主机的ip地址和端口号。
较佳地,所述的步骤(7)具体包括以下步骤:
(7.1)结束原物理机上对应的迁移进程,回收socket资源过程中让socket对应的tcp连接禁止发送fin报文;
(7.2)恢复目的主机上迁移进程的运行,即把进程状态改成RUNNING状态。
采用了本发明的不同物理机间进行进程迁移过程中实现保持socket不中断状态的方法,可用于分布式系统领域,更适合于分布式事物处理机,得灵活分摊集群各服务节点工作压力,减少服务端维护成本。同时也可用于网关服务程序之间迁移减轻某个网关工作负担。整个过程对用上网用户是透明的,上网过程中不会感觉到因为服务端维护发短暂断网。
附图说明
图1为本发明的不同物理机间进行进程迁移过程中实现保持socket不中断状态的方法的流程图。
具体实施方式
为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。
本发明的该不同物理机间进行进程迁移过程中实现保持socket不中断状态的方法,其中包括以下步骤:
(1)将进程对应的磁盘可执行文件、进程内存映像、内核进程描述符和及socket内核数据结构发送至目的主机;
(2)目的主机将收到的磁盘可执行文件写入自己的磁盘,并执行可执行文件创建进程;
(2.1)目的主机将收到的磁盘可执行文件写入自己的磁盘,并执行可执行文件创建进程;
(2.2)通过收到的进程内存映像替换该主机上进程内存映像;
(2.3)通过收到的内核socket数据结构,加载到内核中并关联迁移进程;
(3)原物理主机和目的物理主机分别将旧迁移进程和新迁移进程都设为suspend状态,即暂停运行进程;
(4)原物理机通知网关修改nat规则;
(5)原物理主机移交未处理的对应迁移进程socket的ip报文,并替换ip报文的目地ip地址和端口号;
原物理主机将未处理的对应迁移进程socket的ip报文移交至目的物理机网卡驱动,并将ip报文的目地ip地址和端口号替换为目的物理机的ip地址和端口号;
(6)移交网卡驱动中缓存的发送队列里的ip报文,并替换ip报文中的原地址和端口号;
将原物理主机中和迁移进程socket相关的网卡驱动中缓存的发送队列里的ip报文移交给目的物理机的网卡驱动对应的发送队列,并将ip报文中的原地址和端口号替换为目的主机的ip地址和端口号;
(7)结束迁移进程,回收报文;
(7.1)结束原物理机上对应的迁移进程,回收socket资源过程中让socket对应的tcp连接禁止发送fin报文;
(7.2)恢复目的主机上迁移进程的运行,即把进程状态改成RUNNING状态。
本发明的具体实施方式中,本发明涉及操作系统关于进程迁移后如何保持进程拥有的网络连接,目前互联网服务端维护通常使用虚拟机迁移,相比虚拟机更为轻量和灵活。本发明涉及在操作系统进程管理中实现进程在不同的物理机上热迁移保持socket不中断的方法。当一个运行中的进程在一台物理机上通过在收发数据时要实现从一台物理机上迁移到另一台物理机上时,必需等到进程收发结束,然后再关闭进程,在另一台物理机上上运行同样的进程。或者使用虚拟机将整个虚拟机从一台服务器迁移到另一台服务器。在应用层的视角来看,这个过程中,用户服务会中断。在分布式多处理机系统中,需要多个进程协同工作,往往需要将负担运算较重的物理机上的部分进程迁移到运算负担较轻的物理机上。在同一台物理机上不同的cpu间迁移进程,由于是共享主存,socket的内核数据结构都在共享主存,不同cpu都可以访问。在不同的物理机间,各自有自己独立的主存,各自的网卡,ip地址不同,需要物殊的解决方法。
本发明的不同物理机间进行进程迁移过程中实现保持socket不中断状态的方法,其中,包括以下步骤:
(1)计算机以进程迁移时,将进程对应的磁盘可执行文件,进程内存映像,与内核进程描述符及socket内核数据结构发送给迁移目的物理主机。
(2)目的主机将收到的磁盘可执行文件写入自己的磁盘(辅存)并执行可执行文件创建进程,用收到的进程内存映像替换该主机上进程内存映像。用收到的内核socket数据结构,加载到内核中并和迁移进程关联。
(3)原物理主机和目的物理主机分别将旧迁移进程和新迁移进程都设为suspend状态,即进程暂停运行。
(4)原物理机通知网关修改nat规则。
(5)源物理主机将内核网卡驱动中已接收,但未来得及处理的对应迁移进程socket的ip报文移交给目的物理机网卡驱动。并将ip报文的目地ip地址和端口号由源物理机的ip地址和端口号替换为目的物理机的ip地址和端口号。
(6)将源物理机中和迁移进程socket相关的网卡驱动中缓存的发送队列里的ip报文移交给目的物理机的网卡驱动对应的发送队列,并将ip报文中的原地址和端口号为原物理机的ip和端口号替换为目的主机的ip地址和端口号。
(7)结速原物理机上对应的迁移进程,回收socket资源过程中让socket对应的tcp连接禁止发送fin报文。
(8)恢复目的主机上迁移进程的运行,即把进程状态改成RUNNING。
(9)进程迁移完成。
采用了本发明的不同物理机间进行进程迁移过程中实现保持socket不中断状态的方法,可用于分布式系统领域,更适合于分布式事物处理机,得灵活分摊集群各服务节点工作压力,减少服务端维护成本。同时也可用于网关服务程序之间迁移减轻某个网关工作负担。整个过程对用上网用户是透明的,上网过程中不会感觉到因为服务端维护发短暂断网。
在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。

Claims (3)

1.一种不同物理机间进行进程迁移过程中实现保持socket不中断状态的方法,其特征在于,所述的方法包括以下步骤:
(1)将进程对应的磁盘可执行文件、进程内存映像、内核进程描述符和及socket内核数据结构发送至目的主机;
(2)目的主机将收到的磁盘可执行文件写入自己的磁盘,并执行可执行文件创建进程;
(3)原物理主机和目的物理主机分别将旧迁移进程和新迁移进程都设为suspend状态,即暂停运行进程;
(4)原物理机通知网关修改nat规则;
(5)原物理主机移交未处理的对应迁移进程socket的ip报文,并替换ip报文的目地ip地址和端口号;
(6)移交网卡驱动中缓存的发送队列里的ip报文,并替换ip报文中的原地址和端口号;
(7)结束迁移进程,回收报文;
所述的步骤(5)具体为:
原物理主机将未处理的对应迁移进程socket的ip报文移交至目的物理机网卡驱动,并将ip报文的目地ip地址和端口号替换为目的物理机的ip地址和端口号;
所述的步骤(6)具体为:
将原物理主机中和迁移进程socket相关的网卡驱动中缓存的发送队列里的ip报文移交给目的物理机的网卡驱动对应的发送队列,并将ip报文中的原地址和端口号替换为目的主机的ip地址和端口号。
2.根据权利要求1所述的不同物理机间进行进程迁移过程中实现保持socket不中断状态的方法,其特征在于,所述的步骤(2)具体包括以下步骤:
(2.1)目的主机将收到的磁盘可执行文件写入自己的磁盘,并执行可执行文件创建进程;
(2.2)通过收到的进程内存映像替换该主机上进程内存映像;
(2.3)通过收到的内核socket数据结构,加载到内核中并关联迁移进程。
3.根据权利要求1所述的不同物理机间进行进程迁移过程中实现保持socket不中断状态的方法,其特征在于,所述的步骤(7)具体包括以下步骤:
(7.1)结束原物理机上对应的迁移进程,回收socket资源过程中让socket对应的tcp连接禁止发送fin报文;
(7.2)恢复目的主机上迁移进程的运行,即把进程状态改成RUNNING状态。
CN202011180617.8A 2020-10-29 2020-10-29 物理机间进行进程迁移过程中保持socket不中断状态的方法 Active CN112291345B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011180617.8A CN112291345B (zh) 2020-10-29 2020-10-29 物理机间进行进程迁移过程中保持socket不中断状态的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011180617.8A CN112291345B (zh) 2020-10-29 2020-10-29 物理机间进行进程迁移过程中保持socket不中断状态的方法

Publications (2)

Publication Number Publication Date
CN112291345A CN112291345A (zh) 2021-01-29
CN112291345B true CN112291345B (zh) 2023-03-24

Family

ID=74373952

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011180617.8A Active CN112291345B (zh) 2020-10-29 2020-10-29 物理机间进行进程迁移过程中保持socket不中断状态的方法

Country Status (1)

Country Link
CN (1) CN112291345B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114285771B (zh) * 2021-12-30 2024-02-06 阿里巴巴(中国)有限公司 一种tcp连接的连接状态追踪方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101727331A (zh) * 2008-10-24 2010-06-09 国际商业机器公司 升级活动虚拟机的客户操作系统的方法和设备
CN103049308A (zh) * 2012-11-30 2013-04-17 华为技术有限公司 实现虚拟机热迁移的方法、装置及系统
US9164909B1 (en) * 2012-06-05 2015-10-20 Samsung Electronics Co., Ltd. Method for the use of process identifiers to invalidate cached data in environments that allow processes to migrate between physical machines

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7523344B2 (en) * 2006-05-08 2009-04-21 Sun Microsystems, Inc. Method and apparatus for facilitating process migration
US8370837B2 (en) * 2007-03-23 2013-02-05 Parallels IP Holdings GmbH Blocking file system for on-the-fly migration of a container with an NFS mount

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101727331A (zh) * 2008-10-24 2010-06-09 国际商业机器公司 升级活动虚拟机的客户操作系统的方法和设备
US9164909B1 (en) * 2012-06-05 2015-10-20 Samsung Electronics Co., Ltd. Method for the use of process identifiers to invalidate cached data in environments that allow processes to migrate between physical machines
CN103049308A (zh) * 2012-11-30 2013-04-17 华为技术有限公司 实现虚拟机热迁移的方法、装置及系统

Also Published As

Publication number Publication date
CN112291345A (zh) 2021-01-29

Similar Documents

Publication Publication Date Title
US9473598B2 (en) Network connection failover during application service interruption
US8694828B2 (en) Using virtual machine cloning to create a backup virtual machine in a fault tolerant system
US8281013B2 (en) Non-disruptive, reliable live migration of virtual machines with network data reception directly into virtual machines' memory
US5727142A (en) Method for a non-disruptive host connection switch after detection of an error condition or during a host outage or failure
CN100489787C (zh) 一种虚拟机的外存在线迁移方法
JP5536878B2 (ja) ファイバ・チャネル・ファブリックへのアクセスの変更
US20080189432A1 (en) Method and system for vm migration in an infiniband network
EP4055493B1 (en) Multi-tenant provider network database connection management and governance
US8140822B2 (en) System and method for maintaining page tables used during a logical partition migration
US20110145471A1 (en) Method for efficient guest operating system (os) migration over a network
US8862538B2 (en) Maintaining a network connection of a workload during transfer
JP2005327279A (ja) 仮想計算機をマイグレーションするためのシステム、方法、およびプログラム
US11671319B2 (en) Disruption minimization for guests when applying changes to a data plane of a packet handler in a host
CN103825915B (zh) 虚拟化环境下服务移动性管理方法及系统
JP2004234114A (ja) 計算機システム、計算機装置、オペレーティングシステムの移送方法及びプログラム
US11283708B1 (en) Dedicating network paths between computing resources in a cloud provider network
CN106815067B (zh) 带i/o虚拟化的虚拟机在线迁移方法、装置
CN112291345B (zh) 物理机间进行进程迁移过程中保持socket不中断状态的方法
US11461123B1 (en) Dynamic pre-copy and post-copy determination for live migration between cloud regions and edge locations
US20240078198A1 (en) Instant recovery as an enabler for uninhibited mobility between primary storage and secondary storage
US11573839B1 (en) Dynamic scheduling for live migration between cloud regions and edge locations
US11341104B1 (en) In place resize of a distributed database
Kashiwagi et al. Flexible and efficient partial migration of split-memory VMs
Guay et al. Early experiences with live migration of SR-IOV enabled InfiniBand
US20070073886A1 (en) Reusing task object and resources

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20231008

Address after: 215412 No.89 Jiangnan Road, Ludu Town, Taicang City, Suzhou City, Jiangsu Province

Patentee after: TAICANG T&W ELECTRONICS Co.,Ltd.

Address before: 200235 7th floor, Yuanzhong scientific research building, 1905 Hongmei Road, Xuhui District, Shanghai

Patentee before: SHANGHAI GONGJIN COMMUNICATIONS TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right