报错

排查
在源端进行ssh操作时 在目标端持续查看ssh日志
tail -f /var/log/auth.log ###Ubuntu ssh日志

PermitRootLogin without-password 只允许使用公钥进行身份验证的root用户通过SSH登录
/etc/ssh/文件正确的权限截图


在源端进行ssh操作时 在目标端持续查看ssh日志
tail -f /var/log/auth.log ###Ubuntu ssh日志

PermitRootLogin without-password 只允许使用公钥进行身份验证的root用户通过SSH登录
/etc/ssh/文件正确的权限截图

原因是ifdown和ifup是依据/run/network/ifstate里的内容来知道有哪些网络接口。
cat一下有没有eth0,添加eth0=eth0到文件的尾端解决。
添加eth0=eth0到文件的尾端解决

如果直接ifdown那么依然报错 先ifup eth0识别到启用后再ifdown eth0 就成功解决

下载rpm包
https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/n/ntfs-3g-libs-2022.10.3-1.el7.x86_64.rpm
https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/n/ntfs-3g-2022.10.3-1.el7.x86_64.rpm
https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/n/ntfs-3g-devel-2022.10.3-1.el7.x86_64.rpm
https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/n/ntfsprogs-2022.10.3-1.el7.x86_64.rpm
安装rpm包
rpm -ivh ntfs-3g-libs-2022.10.3-1.el7.x86_64.rpm
rpm -ivh ntfs-3g-2022.10.3-1.el7.x86_64.rpm
rpm -ivh ntfs-3g-devel-2022.10.3-1.el7.x86_64.rpm
rpm -ivh ntfsprogs-2022.10.3-1.el7.x86_64.rpm –force –nodeps #参数意思是忽视依赖关系
mount -t ntfs-3g /dev/sde1 /file #临时挂载
/dev/sde1 fuseblk 31G 6.2G 24G 21% /file #查看已挂载成功
ntfs-3g并不是内核模块,而是调用fuse来挂载的,所以df -hT的结果会认为是fuseblk(blk=block) fuse = file system in user space(用户空间中的文件系统)
此链接有大部分系统ntfs-3g的离线包:https://pkgs.org/download/ntfs-3g
日常巡检vsphere集群 发现其中一台主机报错:
存储设备 naa.600a098038314953xxxxx4xxxd6c4730 的路径冗余已降级。路径 vmhba3:C0:T1:L0 已关闭。受影响的数据存储: A400-A-LUN01-15T 。

登录IPMI查看到network报错:

该物理机与存储设备连接的PCIE接口 slot7(位置7) HBA卡的port1端口down的问题
PCIE接口是一种高速串行计算机扩展总线标准 属于高速串行点对点双通道高带宽传输,所连接的设备分配独享通道带宽,不共享总线带宽,支持主动电源管理、错误报告、端对端的可靠性传输、热插拔以及服务质量等功能 它的主要优势就是数据传输速率高
找到该物理机 图为机器PCIE接口 7位置 port1 (位置以及端口信息)

根据port1光纤标签找到对应的SAN交换机 看到对应的端口 报橘色灯或者不亮


1、SAN交换机连接物理机的光模块有问题
2、物理机PCIE接口 位置7 port1光模块有问题
3、或者光纤线有问题
首先查看SAN交换机 光模块有光 重新拔插光模块 问题依旧
然后查看物理机端光模块有光 重新拔插发现SAN交换机端灯正常绿色了一分钟左右,随后又报橘色灯再随后灯不亮
总结:
物理机端光模块有光 SAN交换机端亮橘色灯
物理机端光模块没光 SAN交换机端灯不亮
到此为止问题排查到是物理机端光模块问题
HPE热线电话:4008100504
在IPMI上把日志以及问题情况复述给厂商,厂商排查光模块问题或者HBA卡问题
初步解决方法为 先更换光模块,若问题依旧更换HBA卡
更换光模块问题解决


nginx proxy_pass直接代理方法到外网失败 内网成功
NGINX stream (4层解决方案) HTTP CONNECT隧道 (7层解决方案)链接:
https://blog.csdn.net/qq_34777982/article/details/110439315
NGINX stream (4层解决方案)链接:
https://blog.csdn.net/carefree2005/article/details/121229818
https://blog.csdn.net/qq_52862408/article/details/131057396
1、nginx需要支持 –with-stream,–with-stream_ssl_preread_module和–with-stream_ssl_module
yum安装的nginx默认都支持
nginx -V 查看是否支持 –with-stream,–with-stream_ssl_preread_module和–with-stream_ssl_module
看到是支持的
如果不支持就在configure的时候加上–with-stream,–with-stream_ssl_preread_module和–with-stream_ssl_module选项

2、nginx.conf 配置文件内需要加载 load_module /路径/ngx_stream_module.so;模块##nginx配置文件置顶
find / -name ngx_stream_module.so
找一下如果没有模块就 下载
配置检查时报错unknown directive “stream”
报错原因:未找到stream模块
find / -name ngx_stream_module.so
找不到就下载模块
加载模块:load_module /路径/ngx_stream_module.so; ##nginx配置文件置顶

load_module /usr/lib64/nginx/modules/ngx_stream_module.so; #加载模块
error_log /var/log/nginx/error.log error;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
stream {
resolver 10.192.23.21;#DNS地址
server {
listen 443;
ssl_preread on;
proxy_pass www.k8888.top:443;#不能写https://www.k8888.top:443不然报错nginx: [emerg] invalid host in upstream "https://www.k8888.top:443" in /etc/nginx/nginx.conf:15
}}
Windows hosts路径C:\Windows\System32\drivers\etc
centos hosts路径/etc/hosts
nginx代理服务器地址 www.k8888.top


先删除旧的 license 再添加新的 license 期间会影响使用








上面error意思是 位置DIMM_C5的内存设备禁用了可纠正的内存错误日志记录。
ssh远程连接上输入 smbiosDump命令 找到位置是C5的内存设备 将其信息给厂商 让其发更换的配件
Memory Device (Type 17): #4380
Location: “C5”
Manufacturer: “002C04B3002C”
Serial: “20602B14”
Asset Tag: “0F190410”
Part Number: “36ASF4G72PZ-2G6E1”
Memory Array: #4096
Form Factor: 0x09 (DIMM)
Type: 0x1a (DDR4)
Type Detail: 0x2080 (Synchronous, Registered)
Data Width: 64 bits (+8 ECC bits)
Size: 32 GB
Max. Speed: 2666 MT/s
Rank: 2
Configured Speed: 2666 MT/s
Min. Voltage: 1200 mV
Max. Voltage: 1200 mV
Configured Voltage: 1200 mV
Technology: 0x03 (DRAM)
Mode Capability: 0x0008 (Volatile)
Volatile Size: 34359738368 bytes

上述报错意思是:
在子系统“系统内存”上检测到“内存模块8中的内存设备6”的不可纠正错误
在子系统“系统内存”上检测到“内存模块8中的内存设备3”的不可纠正错误
系统“主机”上出现不可纠正的总线错误
ssh连接上输入命令:smbiosDump
Part Number: “EBJ82RF8EDWA-AE-F” ###零件编号
Size: 8 GB ###内存大小
Speed: 1066 MHz ### 内存频率
查看server端Oracle版本让客户端下载对应版本的Oracle client端


命令中的“/”符号 不需要输入密码进入数据库 as sysdba表示以系统管理员的身份登陆数据库
sqlplus /nolog 连接Oracle软件
conn / as sysdba 以sysdba权限连接到数据库
查看Oracle数据库版本SELECT * FROM V$VERSION; Oracle数据库11g企业版
Oracle client端下载链接页面https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html




1、tnsnames.ora⽤在oracle client端,⽤户配置连接数据库的别名参数的⽹络服务配置⽂件。该⽂件记录访问数据库的本地配置,其实就是定义⽹络服务。
2、listener.ora、tnsnames.ora和sqlnet.ora这3个⽂件是关系orale⽹络配置的3个主要⽂件,其中listener.ora是和数据库服务器端相关,⽽tnsnames.ora和slqnet.ora这2个⽂件不仅仅关系到服务器端,主要的还是和客户端关系紧密。
tnsnames.ora 作用 配置后不⽤再输⼊完整的oracle地址,直接⽤简易的字符串代替即可
比如:sqlplus orcl as sysdba
我报这个错误 先把这个错误放一下
ERROR:
ORA-12545: Connect failed because target host or object does not exist
复制oracle服务端的tnsnames.ora文件,放到/usr/lib/oracle/11.2/client64/network/admin目录下
tnsnames.ora文件内的主机名换成IP地址就不用添加host解析

客户端:
mkdir -p /usr/lib/oracle/11.2/client64/network/admin
上传文件到客户端


export ORACLE_VERSION=11.2 ###版本号换一下
export ORACLE_HOME=/usr/lib/oracle/$ORACLE_VERSION/client64
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export TNS_ADMIN=$ORACLE_HOME/network/admin
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export ORACLE_SID=orcl ####servername换一下
####source /root/.bash_profile 加载该文件

sqlplus username/password@ip:port/sid as sysdba
conn username/password@ip:port/sid as sysdba
不加as sysdba报错:
ERROR:
ORA-28009: connection as SYS should be as SYSDBA or SYSOPER
Centos8 Redhat8 弃用了ntp 改为了chronyd 默认安装了chronyd服务 只需要配置即可
vi /etc/chrony.conf
server NTPip地址 iburst
#指定NTP时间同步服务器 客户端指定服务端即可
driftfile /var/lib/chrony/drift
#记录系统时钟获取/失去时间的速率
makestep 1.0 3
#如果系统时钟的偏差大于1秒,则允许在前三次更新中进行 步进调整
rtcsync
#启用内核对实时时钟(RTC)的同步
keyfile /etc/chrony.keys
#指定包含 NTP 认证密钥的文件
leapsectz right/UTC
#从系统 tz 数据库获取 TAI-UTC 偏移量和闰秒
logdir /var/log/chrony
#指定日志文件的目录。
若是服务端除了上述操作外还需要将allow 10.3.192.0/24行启用
#chronyc sources -v #查看 ntp_servers
#chronyc sourcestats -v #查看 ntp_servers 状态
#chronyc activity -v #查看 ntp_servers 是否在线
#chronyc tracking -v #查看 ntp 详细信息 此命令查看到有NTP地址才算成功
即使源的状态是?
[root@test-k8s ~]# chronyc tracking -v
Reference ID : CB6B0658 (203.107.6.88)成功
Stratum : 3
Ref time (UTC) : Wed Mar 27 02:01:02 2024
System time : 0.012571510 seconds slow of NTP time
Last offset : -0.025030700 seconds
RMS offset : 0.025030700 seconds
Frequency : 592.440 ppm slow
Residual freq : -40.462 ppm
Skew : 30.688 ppm
Root delay : 0.031050835 seconds
Root dispersion : 0.032539740 seconds
Update interval : 387.7 seconds
Leap status : Normal
#chronyc -a makestep #强制同步下系统时钟 常用
#timedatectl set-ntp true 开启网络时间同步timedatectl set-ntp true
#chronyc sources 输出结果解析M
#这表示信号源的模式。^表示服务器 =表示对等方 #表示本地连接的参考时钟。
#S
# 此列指示源的状态。
# * 表示chronyd当前同步到的源。
# + 表示可接受的信号源 与选定的信号源组合在一起。
# - 表示被合并算法排除的可接受源。
# ?指示已失去连接性或其数据包未通过所有测试的源。它也显示在启动时,直到从中至少收集了3个样本为止。 稍等一会即可变*
# x 表示chronyd认为是虚假行情的时钟 即,其时间与大多数其他来源不一致
# 〜 表示时间似乎具有太多可变性的来源。
#Name/IP address
#这显示了源的名称或IP地址 或参考时钟的参考ID。
#Stratum
#这显示了来源的层 如其最近收到的样本中所报告的那样。层1表示一台具有本地连接的参考时钟的计算机。与第1层计算机同步的计算机位于第2层。与第2层计算机同步的计算机位于第3层 依此类推。
#Poll
#这显示轮询源的速率 以秒为单位的时间间隔的以2为底的对数。因此 值为6表示每64秒进行一次测量。chronyd会根据当前情况自动更改轮询速率。
#Reach
#这显示了源的可达性寄存器以八进制数字打印。寄存器有8位 并在每个从源接收或丢失的数据包上更新。值377表示从最后八次传输中收到了对所有用户的有效答复。
#LastRx
#此列显示多长时间前从来源接收到了最后一个好的样本 在下一列中显示 。未通过某些测试的测量将被忽略。通常以秒为单位。字母m h d或y表示分钟 小时 天或年。
#Last sample
#此列显示上次测量时本地时钟与源之间的偏移。方括号中的数字表示实际测得的偏移量。可以用ns 表示纳秒 us 表示微秒 ms 表示毫秒 或s 表示秒 作为后缀。方括号左侧的数字表示原始测量值 已调整为允许此后施加于本地时钟的任何摆度。
#+/-指示器后面的数字表示测量中的误差范围。正偏移表示本地时钟位于源时钟之前。
重启chronyd服务 systemctl restart chronyd
开启网络时间同步 timedatectl set-ntp true
看时间还是不正确 date
timedatectl 查询系统当前设置的时区查看到是美国的更改为中国时区
timedatectl set-timezone Asia/Shanghai 设置中国时区


[BaseOS]
name=BaseOS
baseurl=file:///root/local/BaseOS
gpgcheck=0
enabled=1
[AppStream]
name=AppStream
baseurl=file:///root/local/AppStream
gpgcheck=0
enabled=1
mkdir -p /root/local/BaseOS
mkdir -p /root/local/AppStream



pem/der 数字证书,编码格式与其名称对应;
crt 数字证书,常见于unix/linux系统;
cer 数字证书,常见于windows系统;
key 非证书,一般是公钥或私钥文件;
csr certificate signing request,证书签名请求文件;
pfx/p12 – predecessor of PKCS#12,是PKCS#12 标准的证书文件,
同时包含了公钥和私钥,存取时需提供密码,采用DER 编码
“导入PKCS#7”,将导入PKCS#7类型的证书文件,文件后缀名为“.p7b”,不包含密钥信息;
“导入PKCS#12”,将导入PKCS#12类型的文件,文件后缀名为“.pfx”。文件内容同时包含证书文件和密钥信息。
PKCS#12 windows 平台及 mac平台使用的证书标准,通常使用 pfx/p12 作为文件扩展名,
该标准在X509的基础之上增加了私钥及存取密码。
nginx proxy_pass直接代理方法到外网失败 内网成功
NGINX stream (4层解决方案) HTTP CONNECT隧道 (7层解决方案)链接:
https://blog.csdn.net/qq_34777982/article/details/110439315
防爬虫链接:
https://blog.csdn.net/zzhongcy/article/details/109293532
https://www.cnblogs.com/phlive/p/13466534.html
正向代理
4层代理TCP/UDP比7层代理HTTP、HTTPS、RTMP、SMTP配置更加复杂,需要一个端口对应一个目标服务器。
client>>正向代理>>internet>>server
通过正向代理服务器,隐藏客户端信息,匿名访问。
通过正向代理服务器,访问无法直接访问的资源。
做缓存,加速访问资源。
反向代理
client>>internet>>反向代理>>server
通过反向代理服务器,解决跨域问题。
通过反向代理服务器,统一访问入口。
通过反向代理服务器,避免暴露真实服务端信息,提高安全性。
通过反向代理服务器,实现负载均衡。
http connect 隧道
七层解决方案是在应用层来进行解决的,并不存在对数据包进行解密的一个过程。它需要通过http connect来建立一个隧道(通俗理解就是一个指定的用来连接的通道),这里需要在客户端配置https代理服务器的ip和端口。
因为http正向代理使用的是get请求,但是https使用的却是connect请求,而nginx不支持connect请求。
所以需要第三方模块ngx_http_proxy_connect_module 来支持https的正向代理。
具体连接过程如下:
1、客户端给代理服务器发送http connect请求,并将要访问的url一并发给代理服务器;
2、代理用客户端发来的url去到dns服务器找到对应的ip,连上443端口;
3、代理连上服务端443端口后,给客户端发送一个HTTP/1.1 200 Connection Established(即http200响应);
4、此时客户端和代理服务器成功建立一个http connect隧道;
5、客户端发送https流量给到代理服务器,代理服务器直接将此https流量直接发送给到服务器;
至此,整个七层的http connect隧道就建立成功,换句话说就是成功搭建了nginx正向代理https服务。
http://nginx.org/download/
https://github.com/chobits/ngx_http_proxy_connect_module/



安装环境依赖
yum -y update && yum -y install make gcc openssl openssl-devel pcre-devel patch libxml2 libxml2-devel libxslt-devel perl-devel perl-ExtUtils-Embed gperftools gd-devel zlib zlib-devel
源码安装nginx时报错信息已经解决办法:
1./configure: error: the HTTP XSLT module requires the libxml2/libxslt
yum -y install libxml2 libxml2-devel libxslt-devel
2./configure: error: perl module ExtUtils::Embed is required
yum -y install perl-devel perl-ExtUtils-Embed
3../configure: error: the Google perftools module requires the Google perftools
yum install –y gperftools
4../configure: error: the HTTP image filter module requires the GD library.
yum -y install gd-devel
5../perl 5.6.1 or higher is required 出现这个的原因是因为 perl 版本太低了,需要进行升级。
6./configure: error: the HTTP gzip module requires the zlib library.
yum install -y zlib-devel
导入第三方模块 进入nginx目录下
[root@m-centos7 nginx-1.24.0]# patch -p1 < /usr/local/src/ngx_http_proxy_connect_module-master/patch/proxy_connect_rewrite_102101.patch
patching file src/http/ngx_http_core_module.c
patching file src/http/ngx_http_parse.c
patching file src/http/ngx_http_request.c
Hunk #1 succeeded at 1100 (offset -2 lines).
Hunk #2 succeeded at 1744 (offset -2 lines).
Hunk #3 succeeded at 2047 (offset -26 lines).
patching file src/http/ngx_http_request.h
Hunk #1 succeeded at 416 (offset 2 lines).
patching file src/http/ngx_http_variables.c
[root@m-centos7 nginx-1.24.0]#
源码安装nginx
useradd nginx
[root@m-centos7 nginx-1.24.0]# ./configure –prefix=/usr/share/nginx –sbin-path=/usr/sbin/nginx –modules-path=/usr/lib64/nginx/modules –conf-path=/etc/nginx/nginx.conf –error-log-path=/var/log/nginx/error.log –http-log-path=/var/log/nginx/access.log –http-client-body-temp-path=/var/lib/nginx/tmp/client_body –http-proxy-temp-path=/var/lib/nginx/tmp/proxy –http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi –http-uwsgi-temp-path=/var/lib/nginx/tmp/uwsgi –http-scgi-temp-path=/var/lib/nginx/tmp/scgi –pid-path=/run/nginx.pid –lock-path=/run/lock/subsys/nginx –user=nginx –group=nginx –with-compat –with-debug –with-file-aio –with-google_perftools_module –with-http_addition_module –with-http_auth_request_module –with-http_dav_module –with-http_degradation_module –with-http_flv_module –with-http_gunzip_module –with-http_gzip_static_module –with-http_image_filter_module=dynamic –with-http_mp4_module –with-http_perl_module=dynamic –with-http_random_index_module –with-http_realip_module –with-http_secure_link_module –with-http_slice_module –with-http_ssl_module –with-http_stub_status_module –with-http_sub_module –with-http_v2_module –with-http_xslt_module=dynamic –with-mail=dynamic –with-mail_ssl_module –with-pcre –with-pcre-jit –with-stream=dynamic –with-stream_ssl_module –with-stream_ssl_preread_module –with-threads –with-cc-opt=’-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong –param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fPIC’ –with-ld-opt=’-Wl,-z,relro -Wl,-z,now -pie’ –add-module=/usr/local/src/ngx_http_proxy_connect_module-master && make && make install

[Unit]
# 服务描述
Description=The nginx service that provide http and reverse proxy service
# 配置 Nginx 服务在 network.target remote-fs.target 及 nss-lookup.target 都启动过后才会启动
# network.target remote-fs.target 及 nss-lookup.target 即使启动失败,也不影响 Nginx 服务启动
After=network.target remote-fs.target nss-lookup.target
[Service]
# Fork 模式启动进程
Type=forking
# 提供一个进程ID文件供 systemd 确定要监管的 Nginx 服务进程的 ID
# 根据规范,pid文件应该保存在 /run 文件夹下
PIDFile=/run/nginx.pid
# 启动前必须清理之前生成的 PID 文件
ExecStartPre=/usr/bin/rm -f /run/nginx.pid
# 启动前先检查 nginx 的 conf 文件语法是否正确
ExecStartPre=/usr/sbin/nginx -t
# 执行启动 nginx 的脚本
ExecStart=/usr/sbin/nginx
# 执行启动脚本后,要留一定的时间让 nginx 进程生成 PID 文件,因此挂起 0.5 秒
ExecStartPost=/usr/bin/sleep 0.5
# restart 服务的命令
ExecReload=/bin/kill -s HUP $MAINPID
# stop 服务时候,向进程发送的信号
KillSignal=SIGQUIT
KillMode=process
PrivateTmp=true
[Install]
# 被 multi-user.target 依赖
WantedBy=multi-user.target
#systemctl status nignx 查看nginx状态
#systemctl stop nignx 停止nginx
#systemctl restart nignx 重启nginx
# systemctl enable nginx 自启动nginx
#journalctl -p err -b 可以查看系统错误日志

server {
listen 443;
resolver DNS地址;
#charset koi8-r;
#access_log logs/host.access.log main;
proxy_connect; #启用nginx代理CONNECT 就能使用https
proxy_connect_allow all; #CONNECT可代理的端口
proxy_connect_connect_timeout 10s;
proxy_connect_read_timeout 10s;
proxy_connect_send_timeout 10s;
location / {
proxy_pass https://www.k8888.top;
#proxy_pass $proxy_host;#实现了代理其客户端所有的请求
}
转载于 https://blog.csdn.net/LG_15011399296/article/details/125409060
参数解释:
proxy_set_header 允许重新定义或者添加发往后端服务器的请求头
$host变量的值按照如下优先级获得:
$host是客户端请求的host
1、请求行中的host.
2、请求头中的Host头部.
3、与一条请求匹配的server name.
$http_host:客户端请求的目标ip地址
$request_uri;请求的资源
$remote_addr:值为客户端的ip
$proxy_host:代理服务器请求的host
$proxy_port:代理服务器请求的端口
$http_x_real_ip:客户端的X-Real-IP的值
X-Real-IP 通常被 HTTP 代理用来表示与它产生 TCP 连接的设备 IP
X-Forwarded-For 它代表客户端,请求端真实的IP
proxy_set_header X-Forwarded-For $remote_addr
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for
代理到后端的TCP链接超时
proxy_connect_timeout time;
proxy_connetc_timeout 60s; 超时时间为60秒





设置代理之前centos客户端访问不到https://www.k8888.top网址 设置之后可以访问到
注意!!!!
浏览器中输入https://www.k8888.top/访问成功
直接输入域名是http://www.k8888.top/访问不成功原因是火狐浏览器设置了不跳转https




export https_proxy=10.193.18.12:443
export no_proxy=”localhost,127.0.0.1,::1″
source 使其生效
curl 时候报错 报的错误状态码是405 而我405状态码是我网站(www.k8888.top)防爬虫的状态码
原因是curl工具被禁用抓取了 所以#注释即可
“GET / HTTP/1.1” 405 150 “-” “curl/7.29.0” “-“

curl -vv https://www.k8888.top/other验证成功 切记要验证多级目录下的url

遗留问题 全局代理用centos自带的火狐浏览器访问网站超时 (已设置了随系统代理)
cmd输入gpedit.msc 打开组策略
计算机配置>>管理模板>>Windows组件>>远程桌面服务>>远程桌面会话主机>>会话时间限制>>设置已中断会话的时间限制
默认情况下,远程桌面服务允许用户从远程桌面服务会话断开连接,而不用注销和结束会话



ssh 连接上NBU服务器输入
Main_Menu>Support > InfraServices > Show All
Main_Menu>Support > InfraServices > Stop all
Main_Menu>Support > InfraServices > Start all


帮助链接:
https://blog.csdn.net/Eternity_2008/article/details/100042964
https://blog.csdn.net/jimkkl110/article/details/126240323
https://www.cnblogs.com/wspblog/p/14913917.html


disk assign 1.23.10 -o FAS3250-DR-KF-01 解决
system node run FASxxx-DR-KF-01 进入节点操作







查看日志看到两个问题
第一个没有/lib/security/pam_limits.so文件问题
第二个/etc/security/limits.conf配置文件配置错误问题









关于limits链接 https://blog.51cto.com/u_15852022/5808771
ls /sys/class/scsi_device/
echo 1 > /sys/class/scsi_device/1\:0\:0\:0/device/rescan
echo 1 > /sys/class/scsi_device/2\:0\:0\:0/device/rescan
echo 1 > /sys/class/scsi_device/2\:0\:1\:0/device/rescan
echo 1 > /sys/class/scsi_device/2\:0\:2\:0/device/rescan
扩容/dev/sdc盘后系统内还是源大小100G 没有识别到 通过重新扫描scsi设备方式成功解决;

此链接是centos7 新添加磁盘系统内未识别解决方法
centos7 热识别到新添加的磁盘
提示 D:\2052_CHS_LP\x64\Setup\sql_common_core_loc_msi\sql_common_core_loc.msi 系统无法打开指定的设备或文件
防火墙 以及 杀毒软件 关闭 , Windows install 服务启动状态 等等都没有问题
最后解决方法是删除sql server 2012 镜像 重新上传一次 就可以成功了!!!!

sql server 2012 运行需要依靠.NET Framework 3.5,windows server 2019默认是不安装.netframework3.5的,所以必须先在操作系统上安装.NET Framework 3.5。
打开 服务器管理器 点击 添加角色和功能


勾选 NET Framework 3.5 ,点击“下一步“,进入“确认”选项卡,点击“安装”,但是,请注意,直接安装会安装失败,并提示找不到源文件,这是因为Windows Server 2019系统盘或系统镜像里虽然含有“.NET Framework 3.5”的组件文件,但是安装Windows Server 2019系统时,这些组件文件并不会被拷贝到新安装的系统里去,因此要为系统安装.NET Framework 3.5,就必须插入系统盘或加载系统镜像到光驱中。如果没有.NET Framework 3.5程序,可以到网上下载一个,或者下载好先安装.NET Framework 3.5程序,然后再安装Windows Server 2019系统。



net 3.5组件安装到此完成 安装sql server(HRV7T-DVTM4-V6XG8-P36T4-MRYT6 SQL server 产品密钥) 成功安装!!!
因用web控制台访问2008 R2 server 鼠标无反应
用remote console 访问鼠标正常
但安装vmtools提示“无法验证此驱动软件的发布者”
根据网上资料查看 VMware tool之所以安装失败是因为Windows 2008 R2系统兼容性问题,需要下载并安装一个补丁。

下载补丁
根据版本选择补丁



安装补丁后 安装VMware tools 成功 立即重新启动服务器验证通过web控制台访问的方式访问 鼠标正常 问题解决。







DEVICE=网卡名称
NAME=网络连接的名字
ONBOOT=设置为yes,开机自动启用网络连接,no为开机不启动
TYPE=设备类型,缺省为 Ethernet, 支持: xDSL,Bridge,IPSEC。 可以不进行配置
IPADDR=IP地址
GATEWAY=设置网关
NETMASK=子网掩码
PREFIX=子网掩码的位数长度,取值范围是0~32,PREFIX与NETMASK的作用一样,所以我们在配置时只需要设置一个参数就可以了
DNS1=第一个dns服务器,一般8.8.8.8
DNS2=第二个dns服务器
BOOTPROTO=设置为none禁止DHCP,设置为static启用静态IP地址,设置为dhcp开启DHCP服务。
BRIDGE=设置桥接网卡,多网卡绑定时使用
NM_CONTROLLED=network mamager的参数 ,是否可以由NNetwork Manager托管,建议设置成no
DEFROUTE=default route,是否把这个eth设置为默认路由
IPV6INIT=no代表禁止IPV6
USERCTL=是否允许非root用户控制该设备,设置为no,只能用root用户更改
IPV4_FAILURE_FATAL=yes是如果ipv4配置失败禁用设备
IPV6_FAILURE_FATAL=yes是如果ipv6配置失败禁用设备
MASTER=bond1是桥接网络类型时指定主的名称
HWADDR=网卡MAC地址
原文链接:https://blog.csdn.net/feng8403000/article/details/131545641
转载于:https://blog.csdn.net/m0_62274684/article/details/130179129
netplan是Ubuntu 17.10及更高版本中默认的网络配置工具,用于配置网络接口、IP地址、网关、DNS服务器等。

network:
ethernets:
ens160:
dhcp4: false
addresses: [10.19x.0.x/24]
optional: true
gateway4: 10.19x.0.xxx
nameservers:
addresses: [10.192.xx.xx,10.192.xx.xx]

network:
renderer: NetworkManager
ethernets:
ens160:
dhcp4: no
addresses:
- 10.x.x.xx/24
nameservers:
addresses: [10.19x.xx.xx,10.xxx.xx.x]
routes:
- to: 0.0.0.0/0
via: 10.x.x.xxx
version: 2
17之前Ubuntu 系统中,通常使用 /etc/network/interfaces 配置文件来设置静态IP地址
auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8 8.8.4.4
ip route add -net xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx gw xxx.xxx.xxx.xxx eth0
重启网卡
sudo ifdown eth0 && sudo ifup eth0
ifdown eth0命令出现ifdown: interface eth0 not configured
Ubuntu14 ifdown eth0命令出现ifdown: interface eth0 not configured
nmcli命令基于NetworkManager服务启用才可使用
使用nmcli命令看网络信息
若nmcli命令不可用
使用resolvectl status看DNS
route -n或者ip route show 看路由信息

Disk( 磁盘 ) 最底层的
RG(磁盘组) 一个 RG 包括 个或几个磁盘
Aggr ( 磁盘组集合) 一个 Aggr 包括一个或几个 RG
Volume(卷) 在 Aggr 上创建的虚拟磁盘,一个 Aggr 上可以创建多个 Volume。
LUN(虚拟磁盘) 也是虚拟磁盘,在 Volume 创建的虚拟磁盘,属于再次虚拟的磁盘个 Volume -可以创建多个 LUN
最终提供给服务器的可用磁盘有两种,一种是 Volume,可以作为共享磁盘提供给服务器种是 LUN,作为裸盘提供给服务器





新服务器连接鼠标 键盘 显示屏 vga接口开机默认进入以下界面







查看到厂商已做了RAID5所以我这里就不做RAID5的操作了
RAID5操作参考链接:
https://m.dandelioncloud.cn/article/details/1615346457999802370
https://blog.csdn.net/qq_22182829/article/details/118365164#:~:text=%EF%BC%881%EF%BC%89%E9%80%89%E4%B8%AD%E5%85%89%E9%A9%B1%20%E5%85%88%E6%8A%8A%E5%85%89%E6%A0%87%E9%80%89%E5%88%B0%E7%AC%AC%E4%B8%80%E8%A1%8C%EF%BC%8C%E9%80%89%E4%B8%AD%E6%88%91%E4%BB%AC%E7%9A%84%E9%85%8D%E7%BD%AE%E5%8D%A1%EF%BC%8C%E7%84%B6%E5%90%8E%E6%8C%89F2%E8%BF%9B%E5%85%A5%E8%BF%9B%E5%85%A5%E5%88%B0%E9%85%8D%E7%BD%AE%E9%87%8C%E9%9D%A2%20%E6%B8%85%E9%99%A4%E6%97%A7%E9%85%8D%E7%BD%AE,%EF%BC%882%EF%BC%89%E6%96%B0%E5%BB%BAVD%20%E9%80%89%E4%B8%AD%E8%A6%81%E5%88%9B%E5%BB%BA%E7%9A%84raid%EF%BC%8C%E8%BF%99%E9%87%8C%E9%80%89raid5%20%E7%84%B6%E5%90%8E%E9%80%89%E6%8B%A9%E7%A1%AC%E7%9B%98%EF%BC%8Craid6%E6%9C%80%E5%B0%91%E9%9C%80%E8%A6%813%E5%9D%97%E7%A1%AC%E7%9B%98%EF%BC%8C%E7%A1%AC%E7%9B%98%E5%89%8D%E9%9D%A2%E6%89%93X%E8%A1%A8%E7%A4%BA%E9%80%89%E4%B8%AD%EF%BC%8C%E7%84%B6%E5%90%8E%E9%80%89%E6%8B%A9OK%E9%94%AE%EF%BC%8C%E6%8C%89%E5%9B%9E%E8%BD%A6%E9%94%AE%E7%A1%AE%E8%AE%A4%EF%BC%8C%E5%88%B0%E8%BF%99%E9%87%8C%EF%BC%8Craid5%E5%B7%B2%E5%88%9B%E5%BB%BA%E5%AE%8C%E6%88%90%EF%BC%8C%E4%B8%8B%E9%9D%A2%E6%98%AF%E4%B8%80%E4%BA%9B%E9%AB%98%E7%BA%A7%E8%AE%BE%E7%BD%AE%E3%80%82

用UltraISO(软碟通)制作启动盘 把空的U盘插入自己电脑






将启动盘插入服务器Ctrl+Alt+delete重启服务器按F11进入到系统安装界面



提示如上图按照要求安装完即可。
打开R740服务器,在启动界面,按下F11,Boot Manger >> Launch System Setup >> System BIOS设置 进入设置BIOS Settings,将Boot Mode设置为UEFI 按键ECS 保存
配置RAID磁盘阵列需要在BIOS启动模式下
在小于2T的磁盘上安装系统更选BIOS启动模式 大于2T的磁盘上安装系统更选UEFI启动模式
UEFI 可以在大于2T的磁盘上使用GPT模式创建分区
插入U盘 重新启动R740 初始界面 按F11 进入Boot Manger界面,选择One-UEFI BIOS Boot Menu,按下Enter,进入系统安装。



到如上图界面后:
Shift + F10打开命令提示符
diskpart
list disk 查看磁盘信息。注意看磁盘容量来选择
select disk 0 选择disk 0为当前操作的磁盘
clean 清空当前磁盘分区
convert gpt 将磁盘从MBR转换为GPT



原因是组策略设置问题
cmd输入gpedit.msc 查看组策略
计算机配置>>管理模板>>Windows组件>>远程桌面服务>>远程桌面会话主机>>连接>>允许用户使用远程桌面服务进行远程连接

如果未配置此策略设置,则远程桌面服务使用目标计算机上的“远程桌面”设置来确定是否允许远程连接。此设置位于“系统属性”的“远程”选项卡上。默认情况下,不允许远程连接。
因为是未配置 又因为未勾选允许远程连接到此计算机
基于VMware的Windows模板创建的虚拟机需要加入域所以修改SID

完成启动后,按照向导完成配置选择语言、重设密码 完成后如下图SID已修改完成!!!

All storage units are configured with On Demand Only and are not eligible for jobs requesting ANY storage unit (2111)
解决方法:备份策略 attributes选项中的 Policy storage: 不应该设置 Any_available 需要指定具体的存储单元






需要先确定VMWARE 选项的 VM标识符选择的类型是否是正确的 在client界面删除并且重新添加该虚拟机即可






VM hostname方式添加如下图 添加出来的VM 在client选项显示的是以IP地址方式显示的

VM display name 方式添加如下图勾选中Enter the VM display name 输入vcenter平台VM名称点击OK即可


cmd输入gpedit.msc 打开组策略
计算机配置>>管理模板>>Windows组件>>远程桌面服务>>远程桌面会话主机>>连接>>将远程桌面服务用户限制到单独的远程桌面服务会话(选择已禁用)
cmd输入gpupdate /force 更新组策略

测试 新打开一个远程连接 连接服务器 看到两个administrator用户的会话

此时再次远程连接服务器可以看到两个会话 一个“老的” 一个刚才测试 “新的”;

转载于:http://www.jiaochengji.com/a_7353


只是更新临时文件读取出错而已 把之前有问题的临时文件先清理一下
net stop WuAuServ(停止Windows update服务) 回车
RD /s %windir%\softwaredistribution(从指定的磁盘删除了目录) 回车后按Y键(经验证对之前打的补丁不影响)
net start WuAuServ(启动Windows update服务) 回车
exit 回车退出cmd
Windows update服务停止后才可以删除softwaredistribution下的文件夹以及文件 否则报无权限问题
完成后再次 检查更新 会再次更新下载KB5026363补丁最后成功安装!!!


Vgscan
Pvscan
Lvscan
Inactive 不活跃的
让其活跃:lvchange -ay /dev/lvm_data/lvmdata就解决。

转载于:https://www.leftso.com/article/47.html
/etc/pam.d/login 文件用于限制终端(VNC)登录
/etc/pam.d/sshd 文件用于限制ssh远程连接登录
注意:添加内容必须在#%PAM-1.0后面第一行
auth required pam_tally2.so deny=3 unlock_time=300 even_deny_root root_unlock_time=300
修改PAM配置文件将马上生效
参数说明:
deny 设置普通用户和root用户连续错误登陆的最大次数,超过最大次数,则锁定该用户;
unlock_time 设定普通用户锁定后,多少时间后解锁,单位是秒;
root_unlock_time 设定root用户锁定后,多少时间后解锁,单位是秒;
此处使用的是 pam_tally2 模块,如果不支持 pam_tally2 可以使用 pam_tally 模块。另外,不同的pam版本,设置可能有所不同,具体使用方法,可以参照相关模块的使用规则

刻意输入错误root密码三次 第四次时候报错
如图翻译:密码认证失败密码认证失败。请确认用户名和密码是否正确。
验证没问题

查看所有用户密码错误次数 #pam_tally2 --user
查看指定用户密码错误次数 #pam_tally2 --user username
解除某个用户锁定 #pam_tally2 -r -u username

pam_tally2模块用于记录用户登录失败的次数,并在达到一定的阈值后禁止用户继续尝试登录(锁定用户)。
pam_tally2模块分为两部分,一部分是pam_tally2.so,另一部分是pam_tally2。它基于PAM模块,可用于检查和操作计数器文件。它可以显示用户登录尝试次数,单独设置计数,也可清除计数,解锁所有用户登录锁定。
登录失败计数器记录在默认的/var/log/tallylog文件中。

这些操作可以看到都是在/etc/pam.d/ssh文件做的操作 也就是说基于pam_tally2模块让root用户在ssh远程连接方式锁定的
并不妨碍console方式(login/tty)root用户的登录 也就是说并不是root用户被锁定了 而是基于pam_tally2模块ssh远程连接方式下的root登录方式被锁定
注释掉该行后立即生效!!!! 注释后通过ssh方式登录root用户成功。
变更cpu配置底层变更cpu配置成功,且数据库返回指令正常,而系统内没有变更cpu成功,可能是客户系统内修改grub导致系统限制只识别限制cpu,更改后系统内可以识别CPU的原因
vi /etc/grub2.cfg 100行把红框中的删除掉重启云主机就不限制CPU了,可以升配成功。

转载于:https://blog.mydns.vip/4281.html



输入single后回车到新页面 再按b键进行启动



rd.break console=tty0

mount –o remount,rw /sysroot
chroot /sysroot
passwd root 修改root密码
touch /.autorelabel
exit
exit
转载于:https://blog.51cto.com/dongweizhen/3607169





https://blog.csdn.net/yueaini10000/article/details/107532489
centos pam模块设置 登录输入错误密码多次锁定账号时间PAM实现方式
/etc/pam.d/system-auth sshd login文件内 看是否pam模块策略限制原因





重启服务器验证 成功!!!
若修改后不成功可能是root用户被锁定了 也或许是pam认证模块策略的问题
Ubuntu /etc/pam.d/ 三个文件 login(本地登录也就是vnc限制) sshd(远程登录限制) common-auth(全局限制)
具体看日志
wa参数高也就是CPU等待磁盘写入完成的时间占比高
iostat 主要用于输出磁盘IO 和 CPU的统计信息。iostat属于sysstat软件包。可以用yum install sysstat 直接安装。 https://www.jianshu.com/p/5fed8be1b6e8
https://www.cnblogs.com/maomaochong123/p/8094233.html
I/O 等待队列长度( avgqu-sz) - 超过处理能力的请求数目 待处理的 I/O 请求,当请求持续超出磁盘处理能力,该值将增加。 avgqu-sz > 2 可以认为存在I/O性能问题。

iotopyum install iotop
iotop命令可以看到那个进程占用的io高。
CPU和内存正常唯独磁盘io 使用top命令的wa参数有问题(高) 可能是存储集群的问题。
wa就是用来提示io可能阻塞了系统性能
load average 当这个值>cpu核心数的时候就说明有进程在等待处理了,被认为卡,也就是负载过重

分两种情况一种 有外网 情况下 一种 没有外网 情况下
前提
:是图形化桌面
:关闭selinux 和 防火墙

yum -y install tigervnc-server

运行rpm -qa | grep tigervnc 验证安装是否成功
成功的:

更改默认端口
vi /usr/bin/vncserver
VNC的默认服务端口为5900,新增一个连接1,则该连接端口为5900+1=5901端口
我改成5899是客户要求连接端口是5900 所以5899+1=5900端口



进到此路径下:

复制一份vncserver文件:

进到刚刚复制出来的vi vncserver\@\:1.service

进入后按i键可进行添加更改,添加更改后按英文字符:wq保存退出

设置vnc密码以及服务启动+自启动vncserver服务:


该虚机安全组添加5900端口:

配置本地yum源要用到镜像.
挂载镜像文件到/media/下:
mount -t iso9660 /home/iso文件 /media/

进到/etc/yum.repo.d/
以防出错。把/etc/yum.repo/下的所有yum源移动到其他目录下:
先创建一个目录: mkdir /w
移动/etc/yum.repo.d/下的所有yum源到刚刚新创建的/w下:mv * /w
查看一下当前路径下有哪些东西:ls (现在没有东西是对的)
创建一个yum源。


vi centos7_tigervnc.repo
进入之后按i键写入





VNC的默认服务端口为5900,新增一个连接1,则该连接端口为5900+1=5901端口
我改成5899是客户要求连接端口是5900 所以5899+1=5900端口










Windows教程 https://www.jianshu.com/p/ce68381315a0
下载链接:https://tntdrive.com/download/tntdrive-x64-4-8-7.exe
首先确定hosts配置文件的对象存储域名(内网域名)
C:\Windows\System32\drivers\etc\hosts
172.18.207.250 obs-hefeizwy-internal.cucloud.cn ###内网域名
PS C:\Users\Administrator> ping obs-hefeizwy-internal.cucloud.cn
正在 Ping obs-hefeizwy-internal.cucloud.cn [172.18.207.250] 具有 32 字节的数据:
来自 172.18.207.250 的回复: 字节=32 时间=18ms TTL=61
来自 172.18.207.250 的回复: 字节=32 时间=18ms TTL=61
来自 172.18.207.250 的回复: 字节=32 时间=18ms TTL=61
来自 172.18.207.250 的回复: 字节=32 时间=18ms TTL=61
172.18.207.250 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 18ms,最长 = 18ms,平均 = 18ms


以上是确定网络通信以及AK SK bucket名称
下面用工具连接:







yum -y install automake gcc-c++ git libcurl-devel libxml2-devel fuse-devel make openssl-devel fuse && yum -y install epel-release && yum -y install s3fs-fuse
mkdir /wangjiale 创建挂载点
echo 8upvxmojhs7ds7tdsv36:8upvxjoq2b5ihnmx53db >> wangjiale AK:SK文件
chmod 600 wangjiale 给权限
挂载命令
s3fs wangjiale /wangjiale -o passwd_file=/root/wangjiale -o url=http://obs-hefeizwy-internal.cucloud.cn
S3fs bucket名称 挂载点目录 指定AK:SK 文件 指定内网域名


可在挂载命令添加-d -d -f -o f2 -o curldbg 输出日志查看问题

转载于:https://www.cnblogs.com/vcdx/p/16262161.html
yum -y install epel-release yum-utils
yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum-config-manager --disable remi-php54 #禁用php54
yum-config-manager --enable remi-php73 #启用php74
rpm -Uvh http://mirror.centos.org/centos/7/os/x86_64/Packages/graphite2-1.3.10-1.el7_3.x86_64.rpm
rpm -Uvh http://mirror.centos.org/centos/7/os/x86_64/Packages/harfbuzz-1.7.5-2.el7.x86_64.rpm
rpm -Uvh http://mirror.centos.org/centos/7/os/x86_64/Packages/fribidi-1.0.2-1.el7_7.1.x86_64.rpm
rpm -Uvh https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/l/libraqm-0.7.0-4.el7.x86_64.rpm
systemctl stop httpd
yum update php*
systemctl start httpd
http://zabbixIP地址/zabbix/setup.php #必要条件检测,看检测是否都ok
不ok的,根据提示修改/etc/php.ini文件,重启httpd即可


安全性 速度 性能 产生巨大影响
大大减少内存使用量 从而确保更少的服务器每秒处理相同数量的请求
4.zabbix邮件报警
(1)配置--动作--启用Report problems to Zabbix administrators--应用
(2)右上角小人(用户)--报警媒介--添加--收件人邮箱地址(推荐使用qq邮箱)
(3)管理--报警媒介类型--email--添加SMTP服务器:
smtp.qq.com--端口:465--HELO:qq.com--SMTP电邮:qq.com --SSL/TLS--勾选--用户名称:xxxxxxxxxxxx@qq.com--密码:授权码(打开邮箱--设置--开启smtp服务--获取授权码--保存配置)










键值:system.cpu.util[,idle]

键值:vm.memory.size[pused]

创建触发器>>选择添加>>选择监控项>>点击CPU空闲率>>结果是小于等于10
键值:{Zabbix server:system.cpu.util[,idle].last()}<=10
这里触发器表达式是可以直接选择到前面创建的监控项CPU空闲率
表达式中Zabbix server在这里是我的主机名称



键值:{Zabbix server:vm.memory.size[pused].last()}>=90
表达式中Zabbix server在这里是我的主机名称
这里触发器表达式是可以直接选择到前面创建的监控项内存



磁盘有点特殊不同CPU 内存
磁盘若有多个的话我们如果挨个创建监控项/触发器/图形就太耗费人力了 然而有自动发现规则 可以创建监控项原型/触发器原型/图形原型 从而zabbix可以自动发现多个磁盘并实现对多个磁盘的监控项/触发器/图形 配置
自动转发规则键值:vfs.fs.discovery


在zabbix服务端如果执行 zabbix_get命令没有的话安装一下即可
yum -y install zabbix-get
zabbix_get是zabbix的一个程序,其应用场景为:Server端和Agent端之间的数据测试,以此来判断Agent的配置是否正确;亦可获取指定的数据去判断某些故障问题。
zabbix_get -s 客户端IP地址 -p客户端agent端口 -k 键值(希望获取的数据)
标签宏 正则表达式 需要填入下面倾斜加黑的参数
[root@zabbix ~]# zabbix_get -s 192.168.75.129 -k "vfs.fs.discovery"
{"data":[{"{#FSNAME}":"/","{#FSTYPE}":"rootfs"},{"{#FSNAME}":"/sys","{#FSTYPE}":"sysfs"},{"{#FSNAME}":"/proc","{#FSTYPE}":"proc"},{"{#FSNAME}":"/dev","{#FSTYPE}":"devtmpfs"},{"{#FSNAME}":"/sys/kernel/security","{#FSTYPE}":"securityfs"},{"{#FSNAME}":"/dev/shm","{#FSTYPE}":"tmpfs"},{"{#FSNAME}":"/dev/pts","{#FSTYPE}":"devpts"},{"{#FSNAME}":"/run","{#FSTYPE}":"tmpfs"},{"{#FSNAME}":"/sys/fs/cgroup","{#FSTYPE}":"tmpfs"},{"{#FSNAME}":"/sys/fs/cgroup/systemd","{#FSTYPE}":"cgroup"},{"{#FSNAME}":"/sys/fs/pstore","{#FSTYPE}":"pstore"},{"{#FSNAME}":"/sys/fs/cgroup/net_cls,net_prio","{#FSTYPE}":"cgroup"},{"{#FSNAME}":"/sys/fs/cgroup/pids","{#FSTYPE}":"cgroup"},{"{#FSNAME}":"/sys/fs/cgroup/cpuset","{#FSTYPE}":"cgroup"},{"{#FSNAME}":"/sys/fs/cgroup/devices","{#FSTYPE}":"cgroup"},{"{#FSNAME}":"/sys/fs/cgroup/hugetlb","{#FSTYPE}":"cgroup"},{"{#FSNAME}":"/sys/fs/cgroup/cpu,cpuacct","{#FSTYPE}":"cgroup"},{"{#FSNAME}":"/sys/fs/cgroup/perf_event","{#FSTYPE}":"cgroup"},{"{#FSNAME}":"/sys/fs/cgroup/freezer","{#FSTYPE}":"cgroup"},{"{#FSNAME}":"/sys/fs/cgroup/memory","{#FSTYPE}":"cgroup"},{"{#FSNAME}":"/sys/fs/cgroup/blkio","{#FSTYPE}":"cgroup"},{"{#FSNAME}":"/sys/kernel/config","{#FSTYPE}":"configfs"},
{"{#FSNAME}":"/","{#FSTYPE}":"xfs"},{"{#FSNAME}":"/proc/sys/fs/binfmt_misc","{#FSTYPE}":"autofs"},{"{#FSNAME}":"/sys/kernel/debug","{#FSTYPE}":"debugfs"},{"{#FSNAME}":"/dev/hugepages","{#FSTYPE}":"hugetlbfs"},{"{#FSNAME}":"/dev/mqueue","{#FSTYPE}":"mqueue"},{"{#FSNAME}":"/boot","{#FSTYPE}":"xfs"},{"{#FSNAME}":"/run/user/0","{#FSTYPE}":"tmpfs"},{"{#FSNAME}":"/zabbix_ext4_test","{#FSTYPE}":"ext4"}]}
可以理解为 文件系统类型是ext3,ext4,xfs类型的会被zabbix自动发现规则发现并对磁盘监控项/触发器/图形 自动配置
键值:vfs.fs.size[{#FSNAME},pused]
{#FSNAME}作用自动发现客户端中文件系统是ext3,ext4,xfs类型的文件系统并进行监控磁盘使用率

键值:vfs.fs.size[{#FSNAME},free]

键值:vfs.fs.inode[{#FSNAME},pused]

键值:{Zabbix server:vfs.fs.size[{#FSNAME},pused].last()}>=90
这里触发器表达式是可以直接选择到前面创建的监控项原型的

键值:{Zabbix server:vfs.fs.inode[{#FSNAME},pused].last()}>=90
这里触发器表达式是可以直接选择到前面创建的监控项原型的

名称:磁盘使用率{#FSNAME}
名称需要加上{#FSNAME}



过滤器过滤的是自动发现ext3,ext4,xfs类型的文件系统 新添加一块磁盘 格式化为ext4类型的
看到监控项 触发器 图形 都已自动发现








键值:perf_counter[\Processor(_Total)\% Processor Time]

键值:vm.memory.size[pused]

选择添加>>选择监控项>>点击监控项CPU>>结果是大于等于90
这里触发器表达式是可以直接选择到前面创建的监控项CPU
触发器表达式:{Windows-server:perf_counter[\Processor(_Total)\% Processor Time].last()}>=90
表达式中Windows-server在这里是我的主机名称
如果CPU超过了90%那么可以在zabbix web界面看到报警提示


触发器表达式:{Windows server test:vm.memory.size[pused].last()}>90
表达式中Windows server test在这里是我的主机名称
这里触发器表达式是可以直接选择到前面创建的监控项内存




磁盘有点特殊不同CPU 内存
磁盘若有多个的话我们如果挨个创建监控项/触发器/图形就太耗费人力了 然而有自动发现规则 可以创建监控项原型/触发器原型/图形原型 从而zabbix可以自动发现多个磁盘并实现对多个磁盘的监控项/触发器/图形 配置
自动转发规则键值:vfs.fs.discovery



在zabbix服务端如果执行 zabbix_get命令没有的话安装一下即可
yum -y install zabbix-get
zabbix_get是zabbix的一个程序,其应用场景为:Server端和Agent端之间的数据测试,以此来判断Agent的配置是否正确;亦可获取指定的数据去判断某些故障问题。
zabbix_get -s 客户端IP地址 -p客户端agent端口 -k 键值(希望获取的数据)
标签宏 正则表达式 需要填入下面倾斜加黑的参数
[root@zabbix ~]# zabbix_get -s 192.168.75.1 -k "vfs.fs.discovery"
{"data":[{"{#FSNAME}":"C:","{#FSTYPE}":"NTFS","{#FSDRIVETYPE}":"fixed"},{"{#FSNAME}":"D:","{#FSTYPE}":"NTFS","{#FSDRIVETYPE}":"fixed"}]}
键值:vfs.fs.size[{#FSNAME},pused]
{#FSNAME}也就相当于C: D: 这样就可以监控到多个盘的使用率

键值:vfs.fs.size[{#FSNAME},free]

键值:{Windows server test:vfs.fs.size[{#FSNAME},pused].last()}>=90
这里触发器表达式是可以直接选择到前面创建的监控项原型的

名称中需要加入{#FSNAME} 不然会报错






第一行:
第一列 当前时间 系统运行时间(up 6 min)
第二列:当前登录用户数 (1 user)
第三列:load average:系统负载情况,三个值分别为1分钟,5分钟,15分钟前到现在的平均值。
第二行:
第一列:total 进程总数
第二列:running 正在运行的进程数
第三列:sleeping 睡眠的进程数
第四列:stopped 停止的进程数
第五列:zombie 僵尸进程数
第三行:
Cpu(s):
0.0% us 用户使用的CPU占比
0.0% sy 内核使用CPU占比
0.0% ni 用户进程空间内改变过优先级的进程占用CPU占比
100.0% id 空闲CPU占比
0.0%wa:指CPU等待磁盘写入完成的时间占比(高就看磁盘iostat -x(详细信息) -p(根据磁盘分区查看) -m(以M) )centos top命令 wa参数高处理方法
0.0%hi:硬件CPU中断占比
0.0%si:软中断占比
0.0%st:虚拟机占比
第四行:
Mem:
1867292k total 物理内存总量
380040k used 使用的物理内存总量
1206428k free 空闲内存总量
280824k buff/cache 用作内核缓存的内存量
第五行:
Swap:
2097148k total 交换区总量
0k used 使用的交换区总量
2097148k free 空闲交换区总量
1306876k avail Mem 缓冲的交换区总量
输入top命令后按P键以CPU的使用资源排序显示;
输入top命令后按M以Memory的使用资源排序显示;
free命令显示系统使用和空闲的内存情况包括,物理内存,交互区内存(swap)和内核缓冲区内存。


total:表示系统内存的总量
used:表示应用程序已使用的内存量
free:表示空闲的内存量
shared:表示进程共享的内存量
buffers:表示系统缓存
cached:表示文件缓存
-/+buffers/cache free字段的值=可使用内存(旧版本计算可使用内存)=2G
centos7上看available参数值来确定可使用内存(新版本计算可使用内存)=1.2G

-h,——人类可读的打印大小,以人类可读的格式(例如1K 234M 2G)
-T,——print-type打印文件系统类型
-i, --inodes 显示inode 信息而非块使用量
Block (查看到的磁盘使用率df -hT) 是用来存储实际数据的,例如:照片,视频等普通文件
inode (查看到的磁盘inode使用情况df -hi)用来存储这些数据属性信息的 除了记录文件属性的信息外,还会为每个文件进行信息索引,所以有了inode的数值,操作系统根据指令,即可通过inode的值最快找到相对应的文件实体文件。
当Block和inode使用情况有一方是已用100%的 那么磁盘写入不了数据
yum remove mariadb 卸载mariadb,同时也卸载了mariadb-server
yum list installed | grep mariadb 发现在安装mariadb时作为依赖项的mariadb-libs没有被删除
yum remove mariadb-libs 将其卸载
rpm -qa | grep mariadb
yum -y install wget
wget http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm
rpm -ivh mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-server
报错:
源 "MySQL 5.7 Community Server" 的 GPG 密钥已安装,但是不适用于此软件包。请检查源的公钥 URL 是否配置正确。
失败的软件包是:mysql-community-libs-5.7.42-1.el7.x86_64
GPG 密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
处理方式有两种:
1.到mysql官网下载校验文件
2.修改配置跳过校验
采用第二种方式
编辑文件
/etc/yum.repos.d/mysql-community.repo
修改对应安装版本的gpgcheck=0即可,默认值为1
yum -y install mysql-server
systemctl start mysqld
mysql -V
重置密码
修改配置文件my.cnf 按i编辑 在[mysqld]中添加
skip-grant-tables ###skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证
systemctl restart mysqld ###重启服务
mysql -uroot -p (回车,密码为空)
use mysql; ###进入mysql库
update user set authentication_string=password('密码') where user='root';
flush privileges; ###刷新权限
exit
my.cnf中的skip-grant-tables删除重启mysqld服务即可

客户端需要关闭防火墙或者放行对应的端口10050

services.msc 命令打开服务

以上是Windows 客户端已安装了agent服务 下面将Windows 客户端加入到zabbix-server 监控中去
Zabbix agent 需要定义主机名。而且agent端的主机名必须和前端配置的主机名 “Host name”完全一致 。



卸载zabbix-agent命令
PS C:\Program Files\Zabbix Agent> .\zabbix_agentd.exe -c zabbix_agentd.conf -d
zabbix_agentd.exe [5104]: service [Zabbix Agent] uninstalled successfully
zabbix_agentd.exe [5104]: event source [Zabbix Agent] uninstalled successfully
-c :指定配置文件所有位置
-i :安装客户端
-s :启动客户端
-x :停止客户端
-d :卸载客户端
Zabbix完全开源免费 Zabbix是企业级开源监控解决方案,支持实时监控数万台服务器、虚拟机和网络设备,采集百万级监控指标。
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
vi /etc/selinux/config
SELINUX=disabled
cat < /etc/yum.repos.d/zabbix.repo
[zabbix]
name=Zabbix Official Repository - \$basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/\$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
[zabbix-non-supported]
name=Zabbix Official Repository non-supported - \$basearch
baseurl=https://mirrors.aliyun.com/zabbix/non-supported/rhel/7/\$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1
EOF
curl https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-A14FE591 \ -o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
curl https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX \ -o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
以上操作是防止安装zabbix时候报错出现各种依赖包的问题
yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent
yum install mysql5.7
创建数据库:create database zabbix character set utf8 collate utf8_bin;
赋权:grant all on zabbix.* to zabbix@localhost identified by '密码';
导入zabbix初始化数据
cd /usr/share/doc/zabbix-server-mysql-4.0.45
zcat create.sql.gz | mysql -uzabbix -p密码 zabbix
修改zabbix配置文件
vim /etc/zabbix/zabbix_server.conf
添加:
DBPassword=密码

保存退出
systemctl start zabbix-server
systemctl enable zabbix-server
vim /etc/httpd/conf.d/zabbix.conf
定位20行:
php_value date.timezone Asia/Shanghai
保存退出
systemctl restart httpd
systemctl enable httpd
通过web界面初始化配置zabbix:
http://IP/zabbix
根据提示,填写数据库密码,然后,一律下一步。
配置完成登录:
用户名:Admin
密 码:zabbix
登录成功后提示 server is not running:the information displayed may not be current
去zabbix-server日志查看原因:
vi /var/log/zabbix/zabbix_server.log
查看到是/etc/zabbix/zabbix_server.conf配置文件中DB密码不正确 修改正确 重启服务即可

Administration -- Users -- Admin -- Language -- Chinese -- Update
安装zabbix-agent
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.0-2.el7.x86_64.rpm
rpm -ivh时候可能有以下报错
报错如下:
curl: (60) The certificate issuer's certificate has expired.
Check your system date and time. More details here: http://curl.haxx.se/docs/sslcerts.html
curl performs SSL certificate verification by default, using a "bundle" of Certificate Authority (CA
原因是CA证书失效解决如下:
yum -y install ca-certificates
update-ca-trust extract
修改agent配置文件,指向zabbix-server的ip地址
vim /etc/zabbix/zabbix_agentd.conf
修改:
Server=IP地址
保存退出
systemctl start zabbix-agent
systemctl enable zabbix-agent
添加主机
配置–主机–创建主机–添加模板
yum -y install wqy-microhei-fonts
cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/zabbix/assets/fonts/graphfont.ttf

Openssh升级到Openssh8.8最新版导致连接不上报错如下:
Nov 4 16:26:11 localhost sshd[16438]: Unable to negotiate with 192.100.0.112 port 50725: no matching host key type found. Their offer: ssh-rsa,ssh-dss [preauth]

原因是openssh8.8版本默认不再支持ssh-rsa算法
确认好sshd调用的配置文件后
echo ‘HostKeyAlgorithms +ssh-rsa,ssh-dss’ >>/etc/ssh/sshd_config 重启服务后解决
错误原因是找不到grub启动执行所需文件,通常是由于误删(格式化)了分区或者调整移动了分区导致,要解决问题首先就要确认是什么原因。
如果只是调整移动分区导致grub路径错误,可以在grub命令行设置root路径,或者在grub菜单进入编辑模式修改路径。 https://blog.csdn.net/paladinosment/article/details/29179721
http://bbs.chinaunix.net/thread-3634395-1-1.html
如果确认是分区被误删或格式化了,那么通常只能考虑重装系统了。
移动分区的原因:

(多数是因为/etc/fstab配置文件内不正确导致的)客户反馈centos云主机重启后远程不上通过vnc查看机器进入了救援模式如下:
输入root密码后进入系统

可以看到Timed out waiting 这一行 意思是加载sdb1设备超时了 这时候sdb1设备已卸载了 自动挂载/etc/fstab文件中还有记录已卸载设备的自动挂载信息 所以将该信息删除 保存退出 reboot机器即可
journalctl -p err -b journald是systemd的守护进程,它从系统、内核和各种服务或守护进程多个来源收集日志, 并以二进制格式存储日志,以便于操作。
-f : 实时显示最近的10条日志
-e : 跳转到日志末尾以显示最新事件
-r : 按时间倒序打印日志消息
-k : 只显示内核日志
-u : 只显示指定systemd Unit的消息
-b : 显示来自特定引导的消息,如果不包括特定引导会话,则显示当前引导消息
--list-boots : 显示引导编号(相对于当前引导)、它的id以及与引导有关的第一个和最后一个消息的时间戳
–utc : 以UTC时间表示
-p, --priority= : 按消息优先级过滤输出
-S, --since= : 根据开始时间过滤日志
-U, --until= : 根据结束时间过滤日志
--disk-usage : 显示所有日志文件的当前磁盘使用情况


chmod 777 文件名称 chmod -R 777 目录名称
-R 递归把目录以及目录下面的所有 子目录 以及 文件 权限都变成777权限 意思是属主/属组/其他用户权限都是7的权限也就是
可读+可写+可执行=r+w+x=4+2+1=7
文件属性列:
- 普通文件
d 目录文件
l 符号链接

chown [-R] 所有者:所属组 文件或目录
-R 递归把目录以及目录下面的所有 子目录 以及 文件 拥有者权限全改变
用root权限对文件不能更改保存,原因可能是曾用chattr命令锁定过该文件了。
+ 加号运算符告诉chattr将指定的属性添加到现有的属性中去。
- 减法运算符告诉chattr从现有的属性中删除指定的属性。
= 等价运算符告诉chattr将指定的属性设置为唯一的属性。
权限属性:
a 当这个属性被设置时,文件只能在追加模式下被打开进行写入。
A 当设置了这个属性的文件被打开时,它的atime记录不会被改变。
atime(访问时间)是该文件最后一次被某个命令或应用程序访问/打开的时间。
e 这个属性表示该文件使用extents来映射磁盘上的块。e属性不能用chattr修改
i 这个属性表示文件是不可改变的,这意味着该文件不能被删除或重命名
默认情况下,使用cp或rsync等命令复制文件时,不会保留文件的属性

下面图片是chattr设置了i权限 进入到文件后更改保存退出的报错

cd /etc/yum.repos.d/ 该目录存放yum源文件 进入路径下创建一个yum本地源文件
vi 名字.repo #注意 源文件是以repo结尾的后缀
[a] #没要求 随意写 只是识别名称
name=a #没要求 随意写 只是识别名称
baseurl=file:///media #url路径file:// /media是存放ISO镜像的路径
gpgcheck=0 #用来检查GPG-KEY,0为关闭,1为开启
enabled=1 #是否用该yum源,0为禁,1为使用
保存退出

mount 参数
-a,——all挂载fstab中提到的所有文件系统
-h,——help显示帮助文本并退出
-t,——types <list>限制文件系统类型的集合
-w,——rw,——read-write装载文件系统,读写(默认)

mount: /dev/sr0 is write-protected, mounting read-only #显示这个表示挂载成功

1、可以设定绑定MAC地址的设备可以接入网络,而没有绑定MAC地址的设备不能接入网络,这样可以有效的防止私接设备。
2、目前大部分上网和流控策略都是基于IP地址的,绑定IP地址和MAC地址可以更好的应用上网策略。
3、如果没有绑定MAC地址,那记录、统计不能有效的定位到具体的那个用户。绑定MAC地址后,可以有效的上网记录和统计。
4、绑定MAC地址,可以防止IP地址被盗用。
5、绑定MAC地址,可以减少ARP攻击,杜绝IP地址的冲突,提高网络的稳定性。
用法: add neighbors [interface=]<string> [address=]<IPv4 address>]
[neighbor=]<string> [[subinterface=]<string>]
[[store=]active|persistent]
interface - 接口名称或索引。
address - 邻居网络地址。
neighbor - 邻居链接层地址。
subinterface - 子接口的 LUID。此仅用于带有多个子接口的接口。
store - 下列其中一个值:
active: 地址将在下一次启动时出现。
persistent: 地址持久有效。此为默认值。
persistent: 地址持久有效。此为默认值。

arp -an 查看arp表
arp -s 给192.168.75.1设置临时mac地址
此情景ping不通正常 因为我把正常的mac地址变化了 不通才验证正常
第一张图 后两条是设置永久(随服务器启动而自启动)的mac地址绑定
rc.local该文件是启动加载文件
第二张图给rc.local设置x(可执行)权限 若不设置x权限则读取不了该文件也就自启动失败;


Windows操作系统SAN策略分为三种类型
OnlineAll 表示所有新发现磁盘都置于在线模式。
OfflineShared 表示所有共享总线上(比如FC,ISCSI)的新发现磁盘都置于
离线模式,非共享总线上的磁盘都置于在线模式。
OfflineInternal 表示所有新发现磁盘都置于离线模式。
修复方法:
1:在 cmd 窗口 输入 diskpart 回车
2:弹出的窗口输入:san ##确认SAN策略
3:继续输入:san policy=onlineall ##修改ECS实例的SAN策略为onlineall
这个命令执行后 立刻生效 不用重启机器;
regedit 打开注册表
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp] 双击右边PortNumber 点十进制 更改值为:想要修改的RDP远程端口号
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp] 双击右边PortNumber 点十进制 更改值为:想要修改的RDP远程端口号
services.msc 打开服务管理
找到Remote Desktop Services远程服务并重启服务
根据远程桌面服务TermService进程PID查看RDP服务端口号
tasklist /svc | findstr Ter
netstat -ano | findstr PID
防火墙策略 以及 若是云主机的话需要放行安全组规则;


开始->gpedit.msc>计算机配置>管理模板>系统>凭据分配>加密Oracle修正 选择启用并选择易受攻击->点击确定
http://www.5imoban.net/jiaocheng/other/202210135111.html
1、新建记事本文件,输入下面的命令:
@echo off
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum >List.txt
dir /b %SystemRoot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientTools-Package~3*.mum >>List.txt
for /f %%i in ('findstr /i . List.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
pause
2、重命名为 Editor.bat
3、右键 Editor.bat,以管理员身份运行,待所有的都执行到100%后退出
4、再次win+R,运行 gpedit.msc,就没问题了。

按“win+R”,运行 regedit,找HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System,在System下新建项—CredSSp,在CredSSp下再新建项—Parameters,在Parameters里新建DWORD (32位)值(D)类型的“ AllowEncryptionOracle”


然后将AllowEncryptionOracle的值修改为“2”

今天客户端(win7旗舰版)使用远程桌面访问计算机,发现出现这个错误

KB4103718(适用于基于 x64 的系统的 Windows 7 月度安全质量汇总)
卸载,重启,可以搞定!
去微软查了一下如下操作也可以
开始->gpedit.msc>计算机配置>管理模板>系统>凭据分配>加密Oracle修正 选择启用并选择易受攻击->点击确定
找不到gpedit.msc的解决方法http://www.5imoban.net/jiaocheng/other/202210135111.html
1、新建记事本文件,输入下面的命令:
@echo off
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum >List.txt
dir /b %SystemRoot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientTools-Package~3*.mum >>List.txt
for /f %%i in ('findstr /i . List.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
pause
2、重命名为 Editor.bat
3、右键 Editor.bat,以管理员身份运行,待所有的都执行到100%后退出
4、再次win+R,运行 gpedit.msc,就没问题了。

Windows打开cmd窗口 win+r
ssh-keygen -t rsa
直接一路回车即可。
默认配置文件在当前用户目录.ssh 文件夹下
C:\Users\Admin\.ssh下有如下文件
id_rsa 私钥
id_rsa.pub 公钥
known_hosts 保存此Windows登录过哪些服务器
之后将公钥上传到需要连接的centos服务器的
/root/.ssh/authorized_keys文件内
为什么是这个路径呢?
具体还看/etc/ssh/sshd_config配置文件AuthorizedKeysFile参数
(公钥认证文件参数指定的存放路径文件是那个) .ssh/authorized_keys )
xshell连接centos服务器
用rz命令使得本地Windows上传文件到centos服务器
centos的rz命令默认未安装 yum -y install lrzsz
rz上传到centos
sz 文件 下载到Windows
cat id_rsa.pub >> /root/.ssh/authorized_keys##追加到公钥认证文件
下面就进入到vi /etc/ssh/sshd_config远程配置文件
PubkeyAuthentication yes 删除#号表示允许密钥登录
PasswordAuthentication no yes改成no 去除#号表示禁止密码登录
PermitRootLogin no 表示禁止通过root远程登录
保存退出 重启sshd服务即可验证
/var/log/secure 安全日志 存放远程登录成功/失败的日志
下列图片是用xshell工具密钥远程连接服务器截图

转载于:https://jiuaidu.com/it/1999623/
DenyHosts 是 Python 语言写的一个程序软件,运行于 Linux 上预防 SSH 暴力破解的,它会分析 sshd 的日志文件(/var/log/secure),当发现重复的攻击时就会记录 IP 到 /etc/hosts.deny 文件,从而达到自动拒绝指定连接IP 的功能。
安装:笔者在网上搜索时,发现很多的安装者使用的是yum install denyhosts -y 来安装,实测的话是不行的,提示找不到该包的存在,而下载压缩包解压安装方法实测可行。
wget https://sourceforge.net/projects/denyhosts/files/denyhosts/2.6/DenyHosts-2.6.tar.gz –no-check-certificate 下载软件包
如果不加–no-check-certificate参数会报错 报错如下:
wget https://sourceforge.net/projects/denyhosts/files/denyhosts/2.6/DenyHosts-2.6.tar.gz
--2023-04-03 17:10:35-- https://sourceforge.net/projects/denyhosts/files/denyhosts/2.6/DenyHosts-2.6.tar.gz
Resolving sourceforge.net (sourceforge.net)... 104.18.10.128, 104.18.11.128, 2606:4700::6812:a80, ...
Connecting to sourceforge.net (sourceforge.net)|104.18.10.128|:443... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://sourceforge.net/projects/denyhosts/files/denyhosts/2.6/DenyHosts-2.6.tar.gz/ [following]
--2023-04-03 17:10:36-- https://sourceforge.net/projects/denyhosts/files/denyhosts/2.6/DenyHosts-2.6.tar.gz/
Reusing existing connection to sourceforge.net:443.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://sourceforge.net/projects/denyhosts/files/denyhosts/2.6/DenyHosts-2.6.tar.gz/download [following]
--2023-04-03 17:10:37-- https://sourceforge.net/projects/denyhosts/files/denyhosts/2.6/DenyHosts-2.6.tar.gz/download
Reusing existing connection to sourceforge.net:443.
HTTP request sent, awaiting response... 302 Found
Location: https://downloads.sourceforge.net/project/denyhosts/denyhosts/2.6/DenyHosts-2.6.tar.gz?ts=gAAAAABkKpgNYDAeKaERe6fpF8CoK6SuSMZ8TOEY8q435f4Zc975KNTPy18PuG_ocO4atTLpq1J1s_757y8NTHuxF3IszC5HjA%3D%3D&use_mirror=jaist&r= [following]
--2023-04-03 17:10:38-- https://downloads.sourceforge.net/project/denyhosts/denyhosts/2.6/DenyHosts-2.6.tar.gz?ts=gAAAAABkKpgNYDAeKaERe6fpF8CoK6SuSMZ8TOEY8q435f4Zc975KNTPy18PuG_ocO4atTLpq1J1s_757y8NTHuxF3IszC5HjA%3D%3D&use_mirror=jaist&r=
Resolving downloads.sourceforge.net (downloads.sourceforge.net)... 204.68.111.105
Connecting to downloads.sourceforge.net (downloads.sourceforge.net)|204.68.111.105|:443... connected.
ERROR: cannot verify downloads.sourceforge.net's certificate, issued by ‘/C=US/O=Let's Encrypt/CN=R3’:
Issued certificate has expired.
To connect to downloads.sourceforge.net insecurely, use `--no-check-certificate'.
错误:无法验证downloads.sourceforge.net的证书,由’ /C=US/O=Let’s Encrypt/CN=R3 ‘颁发: 签发的证书已经过期。 要安全地连接到downloads.sourceforge.net,请使用`——no-check-certificate `。
wget –no-check-certificate 这个参数会让你在 wget 进行对 https 站点的请求时不再检查证书
如果缺少这个参数,那么命令适用于http的网站域名。
wget https://sourceforge.net/projects/denyhosts/files/denyhosts/2.6/DenyHosts-2.6.tar.gz --no-check-certificate 下载软件包
tar -zxvf DenyHosts-2.6.tar.gz 解压
cd DenyHosts-2.6/ 进入目录
yum install python -y 下载编译工具
python python setup.py install 安装
cd /usr/share/denyhosts/ 进入安装目录
cp denyhosts.cfg-dist denyhosts.cfg 重命名可加载的配置文件
cp daemon-control-dist denyhosts 重命名启动工具
在启动服务之前常常会忽略一个问题,denyhosts启动后会遍历安全日志文件/var/log/secure中所有记录IP,
只要符合配置条件的IP都会被记录,因此,自己常用的IP也有可能被加入到系统IP黑名单(/etc/hosts.deny),导致自己也无法登录服务器
解决方法:启动之前在/etc/hosts.allow文件中添加信任IP,这样的话就可以无视掉denyhosts服务的限制 sshd:IP地址
./denyhosts start 启动
ln -s /usr/share/denyhosts/denyhosts /etc/init.d 为添加开机启动配置软链接
chkconfig denyhosts on 添加开机启动
chkconfig --list 检测是否加入开机启动
SECURE_LOG = /var/log/secure #ssh日志文件
# format is: i[dhwmy]
# Where i is an integer (eg. )
# m = minutes
# h = hours
# d = days
# w = weeks
# y = years
#
# never purge:
PURGE_DENY = #过多久后清除已阻止IP PURGE_DENY = 留空,表示不解禁;
HOSTS_DENY = /etc/hosts.deny #将阻止IP写入到hosts.deny
BLOCK_SERVICE = sshd #阻止服务名
PURGE_THRESHOLD = #定义了某一IP最多被解封多少次。某IP暴力破解SSH密码被阻止/解封达到了PURGE_THRESHOLD次,则会被永久禁止;
DENY_THRESHOLD_INVALID = #允许无效用户登录失败的次数
DENY_THRESHOLD_VALID = #允许普通用户登录失败的次数
DENY_THRESHOLD_ROOT = #允许root登录失败的次数
WORK_DIR = /usr/local/share/denyhosts/data #将deny的host或ip纪录到Work_dir中
DENY_THRESHOLD_RESTRICTED = #设定 deny host 写入到该资料夹
LOCK_FILE = /var/lock/subsys/denyhosts #将DenyHOts启动的pid纪录到LOCK_FILE中,已确保服务正确启动,防止同时启动多个服务。
HOSTNAME_LOOKUP=NO #是否做域名反解
ADMIN_EMAIL = #设置管理员邮件地址
DAEMON_LOG = /var/log/denyhosts #DenyHosts日志位置
想要解禁一个已经被禁止掉的 IP,并加入到允许主机列表,只在 /etc/hosts.deny 删除是没用的。需要进入 /var/lib/denyhosts 目录,进入以下操作:
1、停止 DenyHosts 服务
2、在 /etc/hosts.deny 中删除你想取消禁止的主机 IP
3、编辑 DenyHosts 工作目录(配置文件中 WORK_DIR)的所有文件,一个个删除文件中你想取消的主机 IP 所在的行
/var/lib/denyhosts/hosts
/var/lib/denyhosts/hosts-restricted
/var/lib/denyhosts/hosts-root
/var/lib/denyhosts/hosts-valid
/var/lib/denyhosts/users-hosts
4、如果不想自己解禁,可以等到一个重置周期后,自动解禁
5、如果真的需要,可以在/etc/hosts.allow文件中添加信任IP,这样的话就可以无视掉denyhosts服务的限制,慎用!
ip route add 172.27.3.0/24 via 192.168.106.216 dev eth0
配置临时路由
ip route add 目标网段/目标地址 via 下一跳 dev 网卡设备名称
配置永久路由
echo “172.27.3.0/24 via 192.168.106.216 dev eth0” >>
/etc/sysconfig/network-scripts/route-eth0
这条命令是 在这个路径下创建一个route-网卡设备名称 的文件
作用于重启网络服务或者重启服务器后路由依然存在 达到自启动的作用
“>>” 的作用是追加 而>一个就是覆盖 切记用 两个 >>
ip route show 查看系统路由条目

或许会遇到重启网络服务失败的问题 也可能是因为在网卡配置文件路径下存在了额外的网卡配置文件 而系统会去启动额外网卡配置文件的网卡设备 若找不到会报错导致启动失败 所以/etc/sysconfig/network-scripts/路径下不能留有无用的文件;
通过systemctl status network命令可以看到报错信息
打开cmd win+r 快捷键
route add IP地址 mask 子网掩码 前往目标地址的下一跳 -p
route add IP地址段 前往目标地址的下一跳 -p
-p 带着-p参数是即添加临时静态路由也添加永久静态路由反之只是添加临时静态路由
route add 192.168.88.10 mask 255.255.255.255 192.168.0.1 -p
route print ##命令查看当前路由信息
192.168.88.10 255.255.255.255 192.168.0.1 192.168.0.104 51 ##临时路由
============================================================
永久路由: 网络地址 网络掩码 网关地址 跃点数
192.168.88.10 255.255.255.255 192.168.0.1 1 ##永久路由
route delete 192.168.88.10 mask 255.255.255.255 192.168.0.1 -p ##删除临时以及永久路由
经验证删除路由时 加不加 -p 都可以把临时以及永久路由删除
如下是截图:



或许平常维护系统时会遇到Windows系统 本地连接的适配器启动不起来或者网络不通的情况
可以试着在cmd中输入netsh winsock reset命令 然后重启服务器使其生效。
作用是重置 Winsock 目录。如果一台机器上的Winsock协议配置有问题的话将会导致网络连接等问题,就需要用netsh winsock reset命令来重置Winsock目录借以恢复网络。这个命令可以重新初始化网络环境,以解决由于软件冲突、病毒原因造成的参数错误问题;
联通云ECS服务器 控制台已添加一块数据盘
将数据盘制作成lvm格式的分区并且自动挂载以及扩容lvm分区

首先创建一个lvm分区,然后再进行lvm的扩容

PV(physical volume)即物理卷,就是物理磁盘
VG(volume group)即卷组,一组物理磁盘的组合,里面可以有单块以及多块磁盘
LV(logical volume)及逻辑卷,VG(指定的物理磁盘组)里面划分出来的
PV->VG->LV-> 文件系统使用(挂载到某个目录)
pvcreate :将实体partition创建成为PV
pvscan :搜索目前系统里面任何具有PV的磁盘或分区
pvdisplay :显示出目前系统上面的PV状态
pvremove :将 PV 属性移除,让该 partition 不具有 PV 属性
vgcreate :创建vg命令
vgscan :搜索系统上面是否有 VG 存在
vgdisplay :显示目前系统上面的 VG 状态
vgextend :在 VG 内添加额外的 PV
vgreduce :在 VG 内移除 PV
vgchange :配置 VG 是否启动 (active)
vgremove :删除一个 VG
lvcreate :创建 LV
lvscan :查询系统上面的 LV
lvdisplay :显示系统上面的 LV 状态
lvextend :在 LV 里面添加容量
lvreduce :在 LV 里面减少容量
lvremove :删除一个 LV
lvresize :对 LV 进行容量大小的调整

lsblk 命令查看到是LVM分区

mkfs -t 文件系统格式 磁盘分区
-t 文件系统格式 如:ext3 ext4 xfs

配置自动挂载 就不用每次服务器启动后 手动来挂载到挂载点了
随着服务器启动 自动挂载到挂载点
/etc/fstab文件在开机引导的时候自动挂载到linux的文件系统。
进到自动挂载配置文件 vi /etc/fstab
/dev/vgname/lvname /wolcoud xfs defaults 0 0
之后:wq!保存退出
咱们vdb一共10G 上面创建的是5G的LVM分区
下面把剩余5G扩容到现存的分区内






联通云服务器扩容part类型非LVM的系统盘根分区
控制台扩容系统盘到指定大小,系统内扩容系统盘操作;
lsblk 查看系统的磁盘使用情况看到盘已成功扩容到70G
根分区 vda3还是源大小

操作前请对ECS服务器做个快照以防不测



使用partprobe命令时 若报错:
Error: Partition(s) 1 on /dev/vda3 have been written,
but we have been unable to inform the kernel of the change,
probably because it/they are in use. As a result,
the old partition(s) will remain in use.
You should reboot now before making further changes.
错误:已写入/dev/vda上的分区3,但我们可能无法将更改通知内核。
因为它/他们正在使用中。因此,旧分区将继续使用。
您应该现在重新启动,然后再创建。
如果磁盘上的任何分区正在使用中,partprobe命令不会触发操作系统去更新分区表的信息,
因为在某些情况下,它被认为是不安全的
使用partx重读磁盘分区信息让内核重读磁盘分区表
partx -u /dev/vda3

联通云服务器控制台扩容系统盘到220G后系统内扩容lvm格式的分区
操作前给ECS云主机做个快照以防万一
可以看到vda块已经到220G,vda2根分区以及lvm的centos-root还是源大小

fdisk命令用于块存储小于2T的分区命令
fdisk /dev/vda 操作/dev/vda块

d 删除分区 此情况默认删除/dev/vda2根分区 !!!切记不保存
n 创建主分区 此情况默认创建出来的还是/dev/vda2
p 查看一下分区大小
w 保存


重读一下vda块 vda2根分区也就是扩容到了219.5G

lvs看到逻辑卷还是源大小


lvextend -l +100%FREE /dev/centos/root
-l +100%FREE 把100%剩余容量的vg扩容到lv
lvs查看到扩容lv成功了

以上操作是把lv逻辑卷给扩容了 但是df -hT看到的还是之前的大小
需要用xfs_growfs命令 重载一下XFS类型的文件系统大小就可以识别到
resize2fs命令 调整ext2\ext3\ext4文件系统的大小

