未分类

net app存储设备常用巡检命令

Disk( 磁盘 ) 最底层的
RG(磁盘组)   一个 RG 包括 个或几个磁盘
Aggr ( 磁盘组集合) 一个 Aggr 包括一个或几个 RG
Volume(卷)  在 Aggr 上创建的虚拟磁盘,一个 Aggr 上可以创建多个 Volume。
LUN(虚拟磁盘) 也是虚拟磁盘,在 Volume 创建的虚拟磁盘,属于再次虚拟的磁盘个 Volume -可以创建多个 LUN
最终提供给服务器的可用磁盘有两种,一种是 Volume,可以作为共享磁盘提供给服务器种是 LUN,作为裸盘提供给服务器
此命令是只查看故障盘disk show -broken
对于显示为prefail(预故障) 的硬盘,是没有可用的备用硬盘
查看aggr空间以及volume卷空间
查看lun信息

戴尔R740服务器 raid5+U盘(启动盘)安装Windows server 2019系统(磁盘大于2Tand小于2T)

零基础教程戴尔服务器raid5配置

新服务器连接鼠标 键盘 显示屏 vga接口开机默认进入以下界面
按键x
按键ESC>>右上角exit>>提示的是否保存选择yes>>ok>>右上角exit(重启)
重复性的按键CRTL+R进入到RAID磁盘阵列配置
查看到厂商已做了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盘插入自己电脑

在小于2T的磁盘上安装系统

将启动盘插入服务器Ctrl+Alt+delete重启服务器按F11进入到系统安装界面
等待时间较长有个几分钟
提示如上图按照要求安装完即可。

在大于2T的磁盘上安装系统

打开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

Windows系统 远程服务RDP已启动 但远程端口未监听解决方法

解决

原因

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

如果未配置此策略设置,则远程桌面服务使用目标计算机上的“远程桌面”设置来确定是否允许远程连接。此设置位于“系统属性”的“远程”选项卡上。默认情况下,不允许远程连接。
因为是未配置 又因为未勾选允许远程连接到此计算机

Windows 系统修改SID(UUID)

基于VMware的Windows模板创建的虚拟机需要加入域所以修改SID

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

NBU故障码2111报错

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      需要指定具体的存储单元  

NBU 故障码 4239 报错:Unable to locate virtual machine  xxxxxx using VM display name 无法使用虚拟机显示名称找到虚拟机

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

故障

排查方法

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

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

Windows远程桌面提示:你已断开连接 因为已与远程计算机建立连接(允许单个用户同时远程连接登录Windows服务器)

解决方法

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

验证

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

Windows 更新 安装失败 事件查看器提示将程序包 KB5026363 更改为已暂存 状态失败 状态为: 0x800f0816 解决方法

转载于: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补丁最后成功安装!!!

centos pam模块设置 登录输入错误密码多次锁定账号时间PAM实现方式

转载于: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用户成功。

centos6/7 进入单用户重置root密码

centos6 进入单用户重置root密码

转载于:https://blog.mydns.vip/4281.html
开机按ESC到此图 按e键
输入single后回车到新页面 再按b键进行启动

centos7 3.10.0-514.el7版本进入单用户重置root密码

rd.break console=tty0
mount –o remount,rw /sysroot  
chroot /sysroot 
passwd   root          修改root密码  
touch /.autorelabel
exit
exit

centos7 3.10.0-957.el7版本进入单用户重置root密码

转载于:https://blog.51cto.com/dongweizhen/3607169
在开机显示选择系统时,按e进入
修改后的图
按Ctrl+x重启,进入该图界面
exec /sbin/init 按回车后重启(时间较长),新root密码生效

若修改后依然不生效看日志也或许是pam认证模块的问题

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

Ubuntu 进入单用户修改root密码

一直按着ESC即可 多尝试几次就可以进入单用户
重启服务器验证 成功!!!
若修改后不成功可能是root用户被锁定了 也或许是pam认证模块策略的问题
Ubuntu /etc/pam.d/  三个文件  login(本地登录也就是vnc限制)  sshd(远程登录限制)  common-auth(全局限制)
具体看日志

centos top命令 wa参数高处理方法

wa参数高也就是CPU等待磁盘写入完成的时间占比高

iostat

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性能问题。

iotop

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

Centos7版本安装vnc

分两种情况一种 有外网 情况下 一种 没有外网 情况下
前提
:是图形化桌面
:关闭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键写入
写完:wq保存退出 注意!!!英文字符:wq
安装tigervnc-server
yum -y install tigervnc-server
验证tigervnc是否安装成功
把刚才移动出去的yum源移动回来
VNC的默认服务端口为5900,新增一个连接1,则该连接端口为5900+1=5901端口
我改成5899是客户要求连接端口是5900 所以5899+1=5900端口
更改默认端口
vi /usr/bin/vncserver
进到此路径下
复制一份vncserver文件
到刚刚复制出来的vi  vncserver\@\:1.service
进入后按i键可进行添加更改,添加更改后按英文字符:wq保存退出
设置vnc密码以及服务启动+自启动vncserver服务:
该虚机安全组添加5900端口:

对象存储挂载到Windows/centos系统

Windows挂载对象存储:

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名称
下面用工具连接:

CENTOS挂载对象存储:

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  输出日志查看问题

zabbix4.0自带的PHP版本5.4升级到php7.4

升级PHP到7.4版本:

转载于: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即可

升级PHP的作用:

安全性 速度 性能 产生巨大影响
大大减少内存使用量 从而确保更少的服务器每秒处理相同数量的请求

zabbix qq邮箱邮件报警

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服务--获取授权码--保存配置)

zabbix监控centos cpu/内存/磁盘 设置应用集/监控项/触发器/图形/自动发现规则(磁盘)

zabbix监控centos客户端此文章实验操作完成的模板:

首先创建群组以及模板:

创建主机:

创建应用集:

创建CPU空闲率监控项:

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

创建内存使用率监控项:

键值:vm.memory.size[pused]

创建CPU空闲率不足10%的触发器:

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

创建内存使用率超过90%触发器:

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

创建CPU空闲率的图形:

创建内存使用率的图形:

创建磁盘自动发现规则:

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

安装zabbix_get命令:

在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]

创建监控项原型磁盘inode(索引节点)使用率:

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

创建磁盘使用率超过90%触发器类型:

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

创建磁盘inode(索引节点)使用率超过90%触发器:

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

创建磁盘使用率图形原型:

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

创建磁盘剩余容量图形原型:

创建磁盘inode(索引节点)图形原型:

添加一块文件系统类型ext4的磁盘验证是否成功自动发现:

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

zabbix监控win cpu/内存/磁盘 设置应用集/监控项/触发器/图形/自动发现规则(磁盘)

zabbix监控Windows客户端此文章实验操作完成的模板:

首先创建群组以及模板:

创建主机:

创建应用集:

创建CPU使用率监控项:

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

创建内存使用率监控项:

键值:vm.memory.size[pused]

创建CPU使用率超过90%触发器:

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

创建内存使用率超过90%触发器:

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

创建CPU使用率的图形:

创建内存使用率的图形:

创建磁盘自动发现规则:

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

安装zabbix_get命令

在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]

创建磁盘使用率超过90%触发器类型:

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

创建图形原型:

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

最后的结果:

centos top(CPU)free(内存)df(磁盘)命令使用

top命令

第一行:
第一列 当前时间 系统运行时间(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命令

free命令显示系统使用和空闲的内存情况包括,物理内存,交互区内存(swap)和内核缓冲区内存。

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

df命令

-h,——人类可读的打印大小,以人类可读的格式(例如1K 234M 2G)
-T,——print-type打印文件系统类型
-i, --inodes 显示inode 信息而非块使用量

Block (查看到的磁盘使用率df -hT) 是用来存储实际数据的,例如:照片,视频等普通文件
inode (查看到的磁盘inode使用情况df -hi)用来存储这些数据属性信息的 除了记录文件属性的信息外,还会为每个文件进行信息索引,所以有了inode的数值,操作系统根据指令,即可通过inode的值最快找到相对应的文件实体文件。
当Block和inode使用情况有一方是已用100%的 那么磁盘写入不了数据

yum install mysql5.7

首先 先卸载系统自带的mariadb

yum remove mariadb 卸载mariadb,同时也卸载了mariadb-server
yum list installed | grep mariadb 发现在安装mariadb时作为依赖项的mariadb-libs没有被删除
yum remove mariadb-libs 将其卸载
rpm -qa | grep mariadb

安装MySQL5.7

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服务即可

zabbix4.0版本Windows安装agent

下载win agent

下载链接:https://cdn.zabbix.com/zabbix/binaries/stable/4.0/4.0.45/zabbix_agent-4.0.45-windows-amd64-openssl.msi

客户端需要关闭防火墙或者放行对应的端口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 :卸载客户端

zabbix4.0安装部署

Zabbix 产品手册

Zabbix完全开源免费 Zabbix是企业级开源监控解决方案,支持实时监控数万台服务器、虚拟机和网络设备,采集百万级监控指标。

关闭防火墙以及selinux

systemctl stop firewalld
systemctl disable firewalld
setenforce 0
vi /etc/selinux/config
SELINUX=disabled

添加安装zabbix的yum源:

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时候报错出现各种依赖包的问题

安装zabbix:

yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent 

安装且配置mysql5.7版本数据库

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

修改httpd的时区

vim /etc/httpd/conf.d/zabbix.conf
定位20行:
php_value date.timezone Asia/Shanghai
保存退出
systemctl restart httpd
systemctl enable httpd                                         

访问zabbix

通过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

开启centos客户端,测试zabbix监控

安装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

添加主机
配置–主机–创建主机–添加模板

在zabbix-server上修改图形中文乱码情况

yum -y install wqy-microhei-fonts
cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/zabbix/assets/fonts/graphfont.ttf

ssh 日志报错: no matching host key type found. Their offer: ssh-rsa,ssh-dss [preauth]

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]

ssh报错截图


原因是openssh8.8版本默认不再支持ssh-rsa算法
确认好sshd调用的配置文件后
echo ‘HostKeyAlgorithms +ssh-rsa,ssh-dss’ >>/etc/ssh/sshd_config 重启服务后解决

centos 启动时出现error: file ‘/grub2/i386-pc/normal.mod’ not found怎么解决 

错误原因是找不到grub启动执行所需文件,通常是由于误删(格式化)了分区或者调整移动了分区导致,要解决问题首先就要确认是什么原因。
如果只是调整移动分区导致grub路径错误,可以在grub命令行设置root路径,或者在grub菜单进入编辑模式修改路径。 https://blog.csdn.net/paladinosment/article/details/29179721
http://bbs.chinaunix.net/thread-3634395-1-1.html
如果确认是分区被误删或格式化了,那么通常只能考虑重装系统了。
移动分区的原因:

移动分区原因截图

centos7 主机开机自动进入救援模式

 

(多数是因为/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 : 显示所有日志文件的当前磁盘使用情况

centos chmod chown chattr lsattr命令用途

chmod  修改文件或目录权限

chmod 777 文件名称   chmod -R 777  目录名称
-R 递归把目录以及目录下面的所有 子目录 以及 文件 权限都变成777权限 意思是属主/属组/其他用户权限都是7的权限也就是

可读+可写+可执行=r+w+x=4+2+1=7

文件属性列:
- 普通文件
d 目录文件
l 符号链接

chown 改变文件拥有者 属主以及属组

chown [-R]  所有者:所属组 文件或目录

-R 递归把目录以及目录下面的所有 子目录 以及 文件 拥有者权限全改变

chattr lsattr 更改查看‘隐藏权限’

用root权限对文件不能更改保存,原因可能是曾用chattr命令锁定过该文件了。

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

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

centos7 本地源 挂载 ISO镜像文件

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 #显示这个表示挂载成功

设置开机自动挂载

windows/centos 绑定永久MAC地址(随服务器启动而自启动)

 绑定MAC的作用

1、可以设定绑定MAC地址的设备可以接入网络,而没有绑定MAC地址的设备不能接入网络,这样可以有效的防止私接设备。

2、目前大部分上网和流控策略都是基于IP地址的,绑定IP地址和MAC地址可以更好的应用上网策略。

3、如果没有绑定MAC地址,那记录、统计不能有效的定位到具体的那个用户。绑定MAC地址后,可以有效的上网记录和统计。

4、绑定MAC地址,可以防止IP地址被盗用。

5、绑定MAC地址,可以减少ARP攻击,杜绝IP地址的冲突,提高网络的稳定性。

windows绑定永久MAC地址(随服务器启动而自启动)

用法: add neighbors [interface=]<string> [address=]<IPv4 address>]
 [neighbor=]<string> [[subinterface=]<string>]
 [[store=]active|persistent]

interface - 接口名称或索引。
address - 邻居网络地址。
neighbor - 邻居链接层地址。
subinterface - 子接口的 LUID。此仅用于带有多个子接口的接口。
store - 下列其中一个值:
active: 地址将在下一次启动时出现。
persistent: 地址持久有效。此为默认值。

persistent: 地址持久有效。此为默认值。

centos绑定永久MAC地址(随服务器启动而自启动)

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

重启windows虚机后挂载的磁盘脱机问题解决

Windows操作系统SAN策略分为三种类型 
OnlineAll  表示所有新发现磁盘都置于在线模式。 
OfflineShared 表示所有共享总线上(比如FC,ISCSI)的新发现磁盘都置于
离线模式,非共享总线上的磁盘都置于在线模式。 
OfflineInternal 表示所有新发现磁盘都置于离线模式。

修复方法:
1:在 cmd 窗口 输入 diskpart 回车
2:弹出的窗口输入:san   ##确认SAN策略
3:继续输入:san policy=onlineall  ##修改ECS实例的SAN策略为onlineall
这个命令执行后 立刻生效 不用重启机器;

Windows修改以及查看RDP远程端口号

修改Windows远程端口

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远程端口号

重启RDP远程服务:

services.msc 打开服务管理
找到Remote Desktop Services远程服务并重启服务

Windows查看远程端口:

根据远程桌面服务TermService进程PID查看RDP服务端口号
tasklist /svc | findstr Ter
netstat -ano | findstr PID

防火墙策略 以及 若是云主机的话需要放行安全组规则;

windows10/11远程桌面—函数不受支持可能是由于CredSSP加密Oracle

mstsc远程连接桌面报错:

有如下解决方法:

1、windows10企业版解决方式:

开始->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,就没问题了。

2、windows10家庭版版解决方式:

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

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

Win7远程桌面发生身份验证错误,要求的函数不受支持

今天客户端(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允许密钥远程连接centos,禁止密码远程连接centos

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工具密钥远程连接服务器截图

centos 设置denyhosts服务 使得攻击IP地址自动加入黑名单

转载于: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 检测是否加入开机启动

denyhosts服务配置文件/usr/share/denyhosts/denyhosts.cfg详解:

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服务的限制,慎用!

centos系统添加静态临时/永久路由

centos系统添加静态临时/永久路由

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命令可以看到报错信息

Windows添加静态临时/永久路由

Windows添加静态路由

打开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目录借以恢复网络。这个命令可以重新初始化网络环境,以解决由于软件冲突、病毒原因造成的参数错误问题;

centos系统创建以及扩容LVM磁盘分区

联通云ECS服务器 控制台已添加一块数据盘
将数据盘制作成lvm格式的分区并且自动挂载以及扩容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 进行容量大小的调整

创建pv,vg,lv,之后执行exit退出lvm

lsblk 命令查看到是LVM分区

格式化分区

mkfs -t  文件系统格式 磁盘分区
-t 文件系统格式 如:ext3 ext4 xfs
配置自动挂载 就不用每次服务器启动后 手动来挂载到挂载点了
随着服务器启动 自动挂载到挂载点
/etc/fstab文件在开机引导的时候自动挂载到linux的文件系统。
进到自动挂载配置文件 vi /etc/fstab 
/dev/vgname/lvname  /wolcoud   xfs  defaults   0 0 
之后:wq!保存退出

扩容LVM分区

咱们vdb一共10G  上面创建的是5G的LVM分区
下面把剩余5G扩容到现存的分区内

centos扩容part类型非LVM的系统盘根分区

联通云服务器扩容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

centos系统扩容lvm系统盘

联通云服务器控制台扩容系统盘到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

partprobe命令重读分区表

pvresize命令将物理卷以及卷组扩容

lvs看到逻辑卷还是源大小

扩容LV

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文件系统的大小

重载文件系统