CN112291345B - 物理机间进行进程迁移过程中保持socket不中断状态的方法 - Google Patents
物理机间进行进程迁移过程中保持socket不中断状态的方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 157
- 238000013508 migration Methods 0.000 title claims abstract description 55
- 230000005012 migration Effects 0.000 title claims abstract description 55
- 238000004064 recycling Methods 0.000 claims description 4
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 claims description 4
- 238000012423 maintenance Methods 0.000 abstract description 8
- 238000012545 processing Methods 0.000 abstract description 3
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/143—Termination or inactivation of sessions, e.g. event-controlled end of session
- H04L67/145—Termination 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/563—Data 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相关的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状态。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114285771B (zh) * | 2021-12-30 | 2024-02-06 | 阿里巴巴(中国)有限公司 | 一种tcp连接的连接状态追踪方法及装置 |
Citations (3)
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)
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 |
-
2020
- 2020-10-29 CN CN202011180617.8A patent/CN112291345B/zh active Active
Patent Citations (3)
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 |