准备操作
关闭指定虚拟机
寻找img文件路径
移动qcow2 镜像
开始扩容
创建新的磁盘镜像
检查原镜像信息
resize磁盘
启动,验证扩容
检查扩容
启动虚拟机,检查
去除镜像空洞
虚拟机在/etc/fstab 中写入错误无法启动的恢复流程
查看虚拟机镜像的磁盘分区
挂载镜像分区
根据需求修改系统文件
卸载分区
以 tmp_ka30 虚拟机为例, 源机器磁盘大小40GB
准备操作关闭指定虚拟机
qcow2的磁盘扩容,貌似不能在线扩容,如果有能在线扩容的方法,wanxiali ...
安装growpart工具和resize2fs工具
使用growpart 磁盘分区扩容
resize2fs 扩容文件系统
注:
这里扩容的是ext4文件系统
我的设备号是/dev/vda1 请根据实际情况扩容
安装growpart工具和resize2fs工具1yum install -y cloud-utils-growpart xfsprogs
使用growpart 磁盘分区扩容12# 表示为 /dev/dva 的第一个分区扩容 /dev/vda1growpart /dev/vda 1
resize2fs 扩容文件系统1resize2fs /dev/vda1
问题描述: 在安装erda的时候.三台机器的iowait 激增, 每个cpu的iowait 都达到了99% . 导致k8s组件宕机.
节点配置
节点名称
cpu
内存
磁盘大小
ip
master/node1
4
12G
20GB
192.168.1.221
node2
4
12G
20GB
192.168.1.222
node3
4
12G
20GB
192.168.1.223
问题排查
使用pidstat , vmstat 观察机器状况, 观察是否存在IO激增的情况. 或者过多的中断和上下文切换.
排查下来, 机器的cpu 和, 文件读写非常的正常....
内存性能分析性能指标
常见内存参数
top
VIRT: 进程虚拟内存的大小,只要是进程申请过的内存,即便还没有真正分配物理内存,也会计算在内。虚拟内存通常不会全部分配为物理内存,通常情况下,没个进程的虚拟内存比常驻内存大很多.
RES 是常驻内存的大小,也就是进程实际使用的物理内存大小,但不包括 Swap 和共享内存。
SHR 是共享内存的大小,比如与其他进程共同使用的共享内存、加载的动态链接库以及程序的代码段等。
%MEM 是进程使用物理内存占系统总内存的百分比。
free
Buffer: 是对磁盘数据读写的缓存
Cache: 是文件数据读写的缓存
分析思路
主要分析思路为...
性能分析
CPU使用率
平均负载
上下文切换
缓存命中率
排查思路
方法论
评估优化效果
多个问题,怎么抉择
多种优化方案,如何抉择
开头先膜拜gregg巨佬,并附上他的图:
性能分析
CPU使用率
CPU 使用率描述了非空闲时间占总CPU时间的百分比, 然后根据CPU上运行的任务的不同, 又可划分为: 用户CPU, 系统/内核CPU , 等待IO CPU, 软/硬中断CPU使用.
CPU使用率包括:
用户 CPU 使用率: 包括用户态 CPU 使用率(user)和低优先级用户态 CPU 使用率(nice),表示 CPU 在用户态运行的时间百分比。用户 CPU 使用率高...
功能
命令参数
输出字段含义
使用案例
统计进程内存和线程的使用情况(以人类可阅读的方式)
统计进程IO
进程上下文切换
查看指定进程和他的派生线程的状态
功能pidstat命令用于监视当前由Linux内核管理的单个任务。
它为使用选项-p选择的每个任务或Linux内核管理的每个任务(如果使用了选项-p ALL)写入标准输出。
不选择任何任务相当于指定-p ALL,但报告中将只显示活动任务(统计值非零的任务)。
命令参数
参数
用途/含义
u
默认参数, 显示进程的CPU利用率.
R
报告实时优先级和调度策略信息。
s
报告堆栈利用率。
t
选定任务关联的线...
源码分析
流程分析
template.go 入口文件
runInstall 方法
RunWithContext 方法
涉及文件及内容
入口文件helm/cmd/template.go样例命令helm template {{chart_name}}
源码分析template 也是复用 helm/install.go 中runInstall()方法 , 而template 与 install 方法最大的不同是,设置了client.DryRun = true, 这个会让 RunWithContext 这个直接return,并且将manif...
Github资源加速
Clone加速
Release 加速
Raw 文件加速
Golang 国内加速
Go 1.13 及以上(推荐)
macOS 或 Linux
Maven 加速
阿里云
腾讯云
pip
CentOS Yum加速
Ubuntu apt加速
alpine apk加速
参考文章
Github资源加速
你还在为github限速而烦恼吗? 你还在为没有机场而烦恼吗? 你还在为回到家下载源慢,不想卷而烦恼吗?注: 仅面向没有机场的普通开发者, 有机场的大佬请当没看到.
Clone加速123456789101112131415161718192021# 方法一:手动...
简述
起源
目的
混沌工程与故障注入,故障测试的关系
社区现状
原则
遵循步骤
高级原则
建立一个围绕稳定状态行为的假说
多样化真实世界的事件
在生产环境中运行实验
持续自动化运行实验
最小化爆炸半径
混沌工程变量
ChaosBlade
场景大图
示例使用
OS层
CPU
内存
磁盘
JVM
prepare jvm
create jvm
简述起源Netflix工程师创建了Chaos Monkey,使用该工具可以在整个系统中在随机位置引发故障。正如GitHub上的工具维护者所说,“Chaos Monkey会随机终止在生产环境中运行的虚拟机实例和容器。”通...
k8s中java动态内存配置内存配置建议
条件限制: 本示例中使用Java8 , Java8的版本需要大于等于8u191,小于8u191请设置xms,xmx
JVM最大堆 = 容器limit内存* 1/2
JVM最大堆 * 125% <= 容器request
参数介绍Java 8u191 以上版本使用-XX:MaxRAMPercentage、-XX:MinRAMPercentage 两个参数. -XX:MaxRAMPercentage 是堆栈最大使用宿主内存的参数, 接受的值为浮点型. 即如果最大堆栈大小为容器limit的1/2,则设置为-XX:MaxRAMPercentag...