VMwaer 克隆后IP重复

VMware 克隆后,不会给机器分配新的IP,造成多个机器共用处理的IP。需要手动配置IP:

系统版本 : Ubuntu 20.4

编辑网络配置信息:

1
2
cd /etc/netplan
sudo vi 00-installer-config.yaml

需要注意的是,配置文件名并不一定是一样的,需要替换成自己的。

编辑以下内容:

1
2
3
4
5
6
7
8
9
10
11
# This is the network config written by 'subiquity'
network:
ethernets:
ens33:
dhcp4: false
addresses: [192.168.111.10/24]
gateway4: 192.168.111.2
nameservers:
addresses: [192.168.111.2]
search: []
version: 2

我的虚拟机用的是 NAT 模式,以上内容可以根据自己的配置替换。详细信息在 “导航栏->编辑->虚拟网络编辑器”

重启生效:

1
sudo netplan apply

记一次服务器数据被删除的恢复-losf 数据恢复

公司的主控的Redis是之前别人搭的,用root:root启动并且监听了公网IP,没有加密码。被黑客扫描到并利用漏洞删除了服务器中的数据文件,涉及数据库代码文件等。

登陆服务器后发现文件都被删除了,df -h 发现磁盘占用并没有减少。结合之前清除nginx日志的经历,应该是MySQL服务还在运行中,所以文件没有立即释放。

经过与TG群里的大佬沟通学习,最后通过 losf 查看到了已删除但未被释放的文件,再通过 proc 内的文件句柄 用 cp 命令拷贝到原目录。经过数小时的拷贝,数据库数据总算恢复了。幸好给代码做了git仓库,不然代码要回滚好几个版本。之后迁移到新的服务器。

几点经验及教训:

  • 一定要对服务器进行备份(虽然现在也没做,但是关键数据还是要做备份的)
  • 要采用最小权限原则进行服务的部署,避免root启动及公网直接访问
  • 对敏感命令进行限制如 rm -rf 命令
  • 一定不要重启服务器
  • 付款也无法找回数据(我们的数据库大概300G左右,黑客说付款可以找回数据,但是经过观察流量图并没有这么大的流量进行通信)
  • 各个领域认识人是多么的重要

debian puppeteer 安装问题汇总

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
>ERROR: Failed to download Chromium r588429! Set "PUPPETEER_SKIP_CHROMIUM_DOWNLOAD" env variable to skip download.
{ Error: EACCES: permission denied, mkdir '/data/wwwroot/example/dispa/node_modules/puppeteer/.local-chromium'
errno: -13,
code: 'EACCES',
syscall: 'mkdir',
path: '/data/wwwroot/example/dispa/node_modules/puppeteer/.local-chromium' }
npm WARN dispa@1.0.0 No description
npm WARN dispa@1.0.0 No repository field.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! puppeteer@1.8.0 install: `node install.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the puppeteer@1.8.0 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2018-09-11T01_37_36_695Z-debug.log
Mehr lesen

谁偷了我的内存?记一次内存占用过高的排查

2018-08-21: 内存升到44G了,看不下去了,决定手动清理

1
2
sync
echo 2 > /proc/sys/vm/drop_caches

又看了很多文章,每打开一个文件就会增加 dentry 这个程序有大量的 Curl 请求以及多进程的任务组。这个应该就是问题了吧。


项目服务器是 8H64G 的 EC2,因为项目数据量很大,监控程序一直显示真实内存占用在 47G 左右,本以为是Mysql占用过大导致的。htop图显示如下:


图中显示 Mysql 内存占用 2.1%,但是出现了很多列,肤浅的我错误的认为这些都是 Mysql,以 n*2.1 来计算 Mysql 的占用,经过V2er们的指点,得知了在 htop 中默认是以线程展示数据的,Mysql是多线程程序,多个线程之间的内存是共享的,通过 H 指令切换到非线程模式。

Mehr lesen