虚拟机

保姆级教程!手把手教你使用Longhorn管理云原生分布式SQL数据库!

跟風遠走 提交于 2020-03-25 13:21:59
3 月,跳不动了?>>> 作者简介 Jimmy Guerrero,在开发者关系团队和开源社区拥有20多年的经验。他目前领导YugabyteDB的社区和市场团队。 本文来自 Rancher Labs Longhorn是Kubernetes的云原生分布式块存储,易于部署和升级,100%开源且持久,由业界采用最为广泛的Kubernetes管理平台创建者Rancher Labs推出,并于去年10月捐献给CNCF。Longhorn的内置增量快照和备份功能可确保volume数据的安全,而其直观的UI可以方便地管理持久卷的计划备份。使用Longhorn,你可以获得最细的管理粒度和最大的控制程度,并且可以轻松地在另一个Kubernetes中创建一个灾备恢复的volume,并在发生紧急情况时进行故障转移。 YugabyteDB是一个云原生分布式SQL数据库,它可以运行在Kubernetes环境中,所以它可以与Longhorn和许多其他CNCF项目互操作。YugabyteDB是一个开源的高性能分布式SQL数据库,该数据库基于Google Spanner的可扩展性和容错设计而构建。Yugabyte的SQL API(YSQL)与PostgreSQL兼容。 如果你正在寻找一种方法来轻松地在100%的云原生基础架构之上开始应用程序开发,那么这篇文章正是为你准备的

kvm冷热状态迁移

眉间皱痕 提交于 2020-03-25 05:14:14
KVM迁移 静态迁移(冷迁移) 对于静态迁移,你可以在宿主机上保存一个完成的客户机镜像快照,然后在宿主机中关闭或者暂停该客户机,然后将客户机的镜像文件复制到另一台宿主机中,使用在源主机中启动该客户机时的命令来启动复制过来的镜像。 动态迁移(热迁移) 如果宿主机和目的宿主机共享存储系统,则只需要通过网络发送客户机的vCPU执行状态,内存中的内容,虚机设备的状态到目的主机上。共享存系统指的时源和目的虚机的镜像文件目录是在一个共享的存储上的。 在基于共享存储系统时,KVM动态迁移的具体过程为: 1、迁移开始时,客户机依然在宿主机上运行,与此同时,客户机的内存页被传输到目的主机上。 2、QEMU/KVM 会监控并记录下迁移过程中所有已被传输的内存页的任何修改,并在所有内存页都传输完成后即开始传输在前面过程中内存页的更改内容。 3、QEMU/KVM 会估计迁移过程中的传输速度,当剩余的内存数据量能够在一个可以设定的时间周期(默认 30 毫秒)内传输完成时,QEMU/KVM 会关闭源宿主机上的客户机,再将剩余的数据量传输到目的主机上,最后传输过来的内存内容在目的宿主机上恢复客户机的运行状态。 4、至此,KVM 的动态迁移操作就完成了。迁移后的客户机尽可能与迁移前一致,除非目的主机上缺少一些配置,比如网桥等。 注意,当客户机中内存使用率非常大而且修改频繁时

虚拟机CentOS 6连接外网

只谈情不闲聊 提交于 2020-03-25 03:56:30
1.点击编辑,打开虚拟网络编辑器,可以设置子网网段 2.修改网络配置 方法一(临时):使用命令临时指派一个IP给网卡 #ifconfig eth0 192.168.10.10 netmask 255.255.255.0 up 方法二(永久):打开网络配置文件 #[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 IP地址要在第一步的子网网段范围内,HWADDR要和网卡物理地址一致。 然后,重启一下网络服务: #[root@localhost ~]# service network restart 完成后就可以连接外网了 ps:网络连接三种模式详解 桥接模式:相当于在物理主机与虚拟机网卡之间架设了一座桥梁,从而可以通过物理主机的网卡上网。 NAT模式:让VM虚拟机的网络服务发挥路由器的作用,使得通过虚拟机软件模拟的主机可以通过物理主机上网,在物理机中NAT虚拟机网卡对应的物理网卡是VMnet8。 仅主机模式:仅让虚拟机内的主机与物理主机通信,不能上网,在物理机机中仅主机模式模拟网卡对应的物理网卡是VMnet1。 来源: 51CTO 作者: yixian12580 链接: https://blog.51cto.com/14529928/2481510

复制别人的虚拟机须知

你。 提交于 2020-03-24 11:21:56
1,要改mac地址,复制来的机器mac地址通常一样,这样的话相互之间是不可以通信的。 改地址是首先是要在外部通过虚拟机软件诸如virtualbox之类的设置的,如果这一步不做的话,反正我是折腾半天也没有成功,virtual box是在网卡里面的高级更改的;其次是要更改 /etc/sysconfig/network-scripts/ifg-eth0中的mac地址hwaddr,改成和之前外部设置的相同,ifg-eht0可能名字未必是这个,ifconfig看一下; /etc/udev/rules.d/70-persistent-net.rules这个文件要删掉;最后重启网络service network restart或者重启机器reboot 2, 有可能要改ip地址,可以设置成为静态ip; vi /etc/sysconfig/network-scripts/ifg-eth0 编辑以下内容 大概可以对照着改一改 DEVICE=eth0 HWADDR=08:00:27:16:B4:B6 TYPE=Ethernet UUID=a9ab1c8b-1c52-4469-b8de-05b3d1df9505 ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=static IPADDR=192.168.1.19 NETMASK=255.255.255.0 GATEWAY

虚拟机复制后上网冲突的问题

感情迁移 提交于 2020-03-24 11:19:12
第一,在虚拟机的网卡配置,高级,重新生产mac,复制备用 第二,开启复制后的虚拟机,修改 /etc/sysconfig/network-scripts/ifcfg-eth0,下mac地址为虚拟机生产的网卡地址 第三,删除复制后系统的 /etc/udev/rules.d/ 70 -persistent-net.rules文件,重启系统 切记:复制系统后首次开机,虚拟机要求确认该虚拟机现状时,需要确认为“我已复制该虚拟机”,让虚拟机知道该系统是网卡发生改变,之后关闭虚拟机,再操作上述三步 来源: https://www.cnblogs.com/online-link/p/6329735.html

新建/克隆虚拟机(配置)

自作多情 提交于 2020-03-24 11:14:51
新学linux,整理出来的文章,方便我自己这个懒人=_= 1.新建虚拟机 修改主机名(改成自己能记得的) 修改的命令: vi /etc/sysconfig/network 进入后: |-- i (进行修改) |-- esc ( 退出修改) |-- :wq (保存修改) ************************************************************************** ************************************************************************** 查看网关 *************************************************************************************** *************************************************************************************** *************************************************************************************** **********************************************

理解JVM的GC机制之JVM内存划分

一世执手 提交于 2020-03-24 10:26:19
前言 什么是JVM的GC,GC(Garbage Collection)也就是垃圾回收是JVM在内存空间不足等必要条件下自动清除应用程序中的垃圾对象,回收垃圾对象占用的内存空间。 JVM的GC机制使得开发者从繁琐的内存管理中释放出来,只需要专注于业务开发。但即便如此,这并不意味着我们可以不用去理解GC的原理,如果不了解GC原理的话,那么当我们在实际工作中遇到了内存泄漏、频繁GC导致应用性能低下的问题时往往会变得束手无措,为了能够快速排查问题、解决性能瓶颈,我们需要对GC原理有所了解。 想要了解GC原理,我们需要先了解JVM内存管理机制,了解JVM中内存的划分,这样才能更好的了解垃圾回收是回收的是哪些区域的垃圾对象,什么时候回收以及怎么回收。 JVM的内存管理 根据JVM规范( 这里及下文的规范均为Java8的规范 ),JVM把内存划分成了几个不同的区域: 程序计数器(线程独享) 方法区(线程共享) 堆区(线程共享) 虚拟机栈(线程独享) 本地方法栈(线程独享) 其中,方法区和堆区为所有线程共用的数据区域,程序计数器、虚拟机栈、本地方法栈为各个线程独有的区域,不同的区域作用不尽相同。 对于线程独享的区域,区域创建于线程创建之时,销毁于线程退出之时。对于线程共享的区域,区域创建于虚拟机启动之时,销毁于虚拟机退出之时。 # 程序计数器 程序计数器为 线程独享 区域

恶意软件样本行为分析——灰鸽子为例

人走茶凉 提交于 2020-03-24 08:03:15
第一阶段: 熟悉 Process Moniter 的使用 利用 Process Moniter 监视 WinRAR 的解压缩过程 。 设置过滤器:进程名称 包含 winrar.exe 。应用。 打开Process Moniter的状态下进行如下操作: 创建新建文本文档,内容为学号 + 姓名。 添加到压缩文件。 解压。 同时观察Process Moniter。 压缩时: 解压时: 利用 Process Moniter 分析 WinRAR 的临时文件存放在哪个文件夹中 。 临时文件保存在: C:\Documents and Settings\LQ\Local Settings\Temp 先打开压缩文件。 双击 txt 文件。 查看Process Moniter 可见位置为 C:\Documents and Settings\LQ\Local Settings\Temp 在文件夹选项中选择显示隐藏的文件夹。 C:\Documents and Settings\LQ\Local Settings\Temp\Rar$DIa3108.17821 内容一致: WinRAR 压缩包内文件直接打开后,有两种关闭方式:先关闭打开的文件,再关闭打开的压缩包 。 另外一种方式是先关闭打开的压缩包,再关闭打开的文件。利用 Process Moniter 分析上述两种方式的不同点。 这里采用 word

使用 Vagrant 打造跨平台开发环境

我们两清 提交于 2020-03-24 02:34:39
Vagrant 是一款用来构建虚拟开发环境的工具,非常适合 php/python/ruby/java 这类语言开发 web 应用,“代码在我机子上运行没有问题”这种说辞将成为历史。 我们可以通过 Vagrant 封装一个 Linux 的开发环境,分发给团队成员。成员可以在自己喜欢的桌面系统(Mac/Windows/Linux)上开发程序,代码却能统一在封装好的环境里运行,非常霸气。 安装步骤 1. 安装 VirtualBox 虚拟机还是得依靠 VirtualBox 来搭建,免费小巧。 下载地址: https://www.virtualbox.org/wiki/Downloads * 虽然 Vagrant 也支持 VMware,不过 VMware 是收费的,对应的 Vagrant 版本也是收费的 2. 安装 Vagrant 下载地址: http://downloads.vagrantup.com/ 根据提示一步步安装。 此外,还得下载官方封装好的基础镜像: Ubuntu precise 32 VirtualBox http://files.vagrantup.com/precise32.box Ubuntu precise 64 VirtualBox http://files.vagrantup.com/precise64.box 如果你要其他系统的镜像,可以来这里下载: http:

nested exception is java.lang.StackOverflowError解析

喜你入骨 提交于 2020-03-23 20:41:14
背景介绍: 项目是微服务的,使用docker容器,使用jenkins部署。测试环境有个公共服务一直以来都能正常发布,突然有一天不行了,经常发布失败,然后多发布几次就好了。 报错如下: 是栈溢出了,一般是新代码有死循环会出现。但是本地启动没问题并且环境上多发几次也能成功,说明没有死循环,肯定是其他原因。 分析问题: Java运行时数据区分5部分: 从报错上来看是虚拟机栈溢出。 虚拟机栈是属于线程私有的,每个线程都会有一个虚拟机栈,随线程的创建而创建,消失而消失。它由一个个的栈帧组成,线程每次调用一个方法,就会有一个栈帧生成,并压栈。方法调用完之后,栈帧则出栈。当栈的深度不够,即栈的大小不足以放下所有的栈帧的时候,就会抛栈溢出的异常。 问题明确了,是栈的大小不够。 解决问题: 要把栈大小设置的大一点,要设置的大一点首先要知道目前是多大。项目未对虚拟机栈的大小作设定,也就是说目前的大小是默认值。 JDK5之后每个栈大小是1M,之前是256k。我们用的是JDK8,那么大小就是1M。要把栈大小设成大于1M的值。但是又不能设置太大,因为如果单个线程栈太大,就会限制最大线程数量。 项目没有高并发的情况,所以就先设置成2M。设置方法,在JVM启动参数里面加上 -Xss2m 。 问题解决,再也没出现过问题。 来源: https://www.cnblogs.com/sam-uncle/p