将ova或qcow2导入到PVE虚拟机
比如我们从 VMware Workstation 导出的虚拟机镜像 (ova 或者 ovf), 如果我想要导入到 proxmox 中, proxmox 默认是不支持导入 OVA 虚拟机的, 可以通过转换虚拟机虚拟磁盘的方法将虚拟磁盘附加到现有的 pve 虚拟机中. 提取 vmdk 虚拟磁盘文件这一步如果是 ova, 则需要用解压缩软件解压一下, 如果是 ovf, 直接就能看到 vmdk 文件 转换虚拟磁盘文件使用工具 qemu-img 进行转换, 如果是导入到 pve, 可以不转换, 使用 qm 命令会自动转换的. 12345# 从另一台PVE导出qcow2可以这样qemu-img convert -p -O qcow2 -c /dev/mapper/pve-vm--110--disk--0 VM110.qcow2# 从vmdk文件转换可以这样 -c 是压缩qemu-img convert -c -f vmdk myvm-disk1.vmdk -O qcow2 myvm-disk1.qcow2 在 PVE 上创建新的虚拟机此步骤需要记录一下虚拟机的 ID 上传虚拟磁盘文件到...
Windows命令行使用其他用户身份运行
比如说我一个脚本使用管理员权限运行,那么它调用的其他程序默认都是以管理员权限运行的。我想要以普通用户程序来运行,有以下几种方法: runas 方式指定权限运行0x20000 是标准用户权限0x40000 是管理员权限 1runas /trustlevel:0x20000 "wt.exe" 这种方式我测试会造成 wsl 报错“UtilTranslatePathList” 指定用户执行1runas /user:iuxt wt.exe" 这种方式会弹窗让你输入密码(每次) psexecpsexec 是微软官方的一组小工具:https://learn.microsoft.com/zh-cn/sysinternals/downloads/psexec 需要用到里面的 psexec64.exe 然后调用此工具。 1psexec.exe -u iuxt -p YourPassword C:\Path\To\wt.exe 缺点: 需要在命令行指定用户名和密码(有安全隐患) 运行的时候会有个黑框框一闪而过,并且第一次启动会有个窗口,需要点一下 agree
使用tailscale打通内网
家里有一台群晖 nas, 通过 quickconnect 连接太慢了, 并且有些操作不能通过 quickconnect, 比如直接 smb 挂载目录 群晖 nas 安装群晖国内应用商店已经下架了这个 APP, 你可以尝试着在应用中心搜索 tailscale, 如果可以搜索到, 就直接安装即可. 搜索不到的话, 可以使用离线安装的方式: 到官网下载离线 SPK 包:https://pkgs.tailscale.com/stable/#spks根据你的系统架构来下载包, intel cpu 下载 x86_64 架构的包. 然后进入群晖软件中心, 点击手动安装, 上传 spk 包安装 第一次打开 tailscale 需要登录, 登录页面不支持 quickconnect 远程连接, 所以建议在家配置好 tailscale windows 安装安装成功后, 右键任务栏图标,点击 login 登录 tailscale 账号 登录成功后,可以在官网https://login.tailscale.com/admin/machines 查看到所有的设备和 IP...
查看kubernetes节点的硬件配置
kubectl describe node 可以查看到信息, 这里使用 jq 进行一下数据处理格式化. 1kubectl get node -o json | jq '.items[] | "===========================================", "机器名: \(.metadata.labels."kubernetes.io/hostname") ", "CPU: \(.status.capacity.cpu) 核", "内存大小: \(.status.capacity.memory)"' 输出结果类似于:
爷的青春结束了
前言回忆是抓不到的月光握紧就变黑暗,回忆是美好的,但不要沉迷于回忆,不要尝试安装模拟器去回忆之前的老游戏啦,会浪费现在的时间,童年是找不回来了,过好当下吧。一个在线体验老游戏的网址: https://zaixianwan.app 为啥写这篇文章时间过的太快, 看着身边的东西都变了样,有时候突然想起很久以前玩过的游戏,但是怎么也想不起名字,就算想起来了,搜索引擎都搜不到相关的文章,只能勉强搜到一些包浆了的图,所以还是记录下来,对自己的过去做个记录。 俄罗斯方块机FC 游戏机FC 游戏机指的是任天堂的红白机, 但是在中国普及开来的时候已经是盗版遍地了, 不仅仅是机器盗版, 还有很多盗版游戏, 还记得外星科技等等开发的那些塞尔达? 模拟器网上到处都是, 很多都是在线玩的. 比如 https://zaixianwan.app 一个背景音乐下载网站: https://www.zophar.net/music/ NSFPlay 播放器:https://bbbradsmith.github.io/nsfplay/ 开源 nfs 编辑器:...
找出占用Kubernetes节点磁盘的Pod
有部分开发不规范导致日志写入容器, 在 k8s 环境下导致节点磁盘空间占用过高, 解决方案有: 通过监控告警来提前预防 挂载磁盘, 容器日志写入磁盘 使用自动清理脚本 kubectl 查询每个 pod 占用磁盘空间1kubectl get --raw /api/v1/nodes/10.20.20.12/proxy/stats/summary | jq '.pods[] | "PodName: \(.podRef.name)", "usedBytes: \(.containers[].rootfs.usedBytes)", "======================================================"' 输出结果如图: Docker 相关操作查看容器磁盘占用12345# 节点上查看磁盘使用情况,并安装从大到小排序,可以看到各个容器的占用磁盘空间。docker ps -a --format "table...
Linux里安装crontab并运行
常见的 linux 发行版都自带了 crontab 服务, 但是我们常用的容器镜像是没有的, 不要问我为什么要在容器里运行 crontab…Linux定时执行任务crontabLinux的crontab无法执行的一些问题 CentOS/RedHat 系列安装1yum install -y cronie 配置文件位置后面的 root 是用户名 1/var/spool/cron/root 启动命令12345# 后台运行crond# 前台运行crond -f Ubuntu/Debian 系列安装1sudo apt-get install -y cron 配置文件位置后面的 root 是用户名 1/var/spool/cron/crontabs/root 启动命令12345# 后台运行cron# 前台运行cron -f Alpine安装官方镜像自带了 配置文件位置后面的 root 是用户名 1/etc/crontabs/root 启动命令12345# 前台运行crond -f# 后台运行crond
自动清理日志脚本
公司的业务服务会打日志到磁盘, 程序已经做了日志切割, 时间一长磁盘占满会导致业务异常, 普通的清理逻辑是使用 crontab 定时删除文件, 比如每天 1 点删除创建日期超过 30 天的日志文件, 大部分情况下工作是 OK 的, 但是执行周期太长, 如果当天日志暴增, 不能及时删除文件. 也会有隐患, 优化版脚本如下: 日志清理分以下几种: 历史日志, 并且未在写入的日志, 这种可以直接删除掉. 当前正在写入的日志, 需要清理, 这种不能删除, 可以通过清空文件的方式来释放空间 set -euo pipefail 的作用:set -e: 脚本中有任何一条命令执行失败, 整个脚本就失败set -u: 脚本中的变量有任何一个变量为空, 整个脚本执行失败-o pipefail: 脚本中的管道中任何一条命令执行失败, 也会认为脚本执行失败 脚本内容: 123456789101112131415161718192021222324252627282930313233#!/bin/bashset -uo pipefail# 磁盘的文件系统(df...
快速安装Prometheus监控组件
复制粘贴就能用,适用于非容器化安装, k8s 环境看这个, 更方便 Kubernetes中使用Prometheus对集群节点做监控 安装方式为二进制安装,使用 systemd 来管理(也可以使用 supervisor 等进程管理工具) 安装 node_exporter123456789101112131415161718192021[ -d /data/src ] || mkdir -p /data/srccd /data/src/curl -OL -C - https://file.babudiu.com/f/rRi2/node_exporter-1.6.1.linux-amd64.tar.gztar xf node_exporter-1.6.1.linux-amd64.tar.gzln -sf /data/src/node_exporter-1.6.1.linux-amd64 ../node_exportercat >/etc/systemd/system/node_exporter.service...
Dockerfile中ADD文件的路径问题
首先看一个案例 当前目录的文件如下: 12345678[root@devops_build watcher_svr]# tree.├── 1├── 2│ └── 3└── Dockerfile1 directory, 3 files Dockerfile 文件内容如下: 123FROM node:14.20.1-busterADD * /code/WORKDIR /code 本意是想把当前目录下的所有文件放到容器内的 /code 目录, 这个时候使用 docker build 后无法启动, 进入容器, 打开 /code 一看: 123456789[root@devops_build watcher_svr]# docker run -it test bashroot@cb7543054ef2:/code# ls -altotal 12drwxr-xr-x 2 root root 4096 Sep 22 08:47 .drwxr-xr-x 1 root root 4096 Sep 22 08:47 ..-rw-r--r-- 1 root root 0 Sep 22...