存档

作者存档

s5720交换机初始化部署

2023年2月4日 没有评论

华为S5720S重置密码-重置

1.重启交换机
按ctrl+B后,进入启动模式。
bootrom默认密码一般是admin@huawei.com或Admin@huawei.com
2.选择7,进入清除console密码
3.选择1,默认模式启动
4.回车,进入
5.设置console密码
sys
user-interface console 0
set authentication password
提示输入密码,设置为admin@123

开机会自动要求改admin密码。密码改为admin123
admin
admin123

6.删除配置
[HUAWEI]undo conf

进入端口
int g0/0/1
启动端口
undo shutdown
关闭端口
shutdown

配置交换机名
[HUAWEI]sysname 交换机名

查看交换机端口情况
dis interface Ethernet brief

创建vlan 10和vlan 20
vlan batch 10 20

[HUAWEI]aaa
[HUAWEI-aaa]local-user admin password cipher admin@123
[HUAWEI-aaa]local-user admin privilege level 15
[HUAWEI-aaa]local-user admin service-type http
[HUAWEI-aaa]return

配置ip地址
dns server 8.8.8.8
dns server 114.114.114.114
interface Vlanif1
ip address 192.168.0.253 255.255.255.0

配置从IP地址(解决RIPv1不连续子网)
ip add 10.0.23.2 sub

配置网关静态路由
ip route-static 0.0.0.0 0.0.0.0 192.168.0.1

http server enable

持续ping
ping -c 1234567890 192.168.0.88

ping -c xxx(1-4294967295) x.x.x.x(ip地址)
这个<1-4294967295>就是可选的ping包数

重置配置文件
startup saved-confiquration
startup saved-confiquration vrpcfg.zip

打开ssh服务
第1步,先建立一个aaa验证用户admin
[SW1]aaa
[SW1-aaa]local-user admin password cipher admin123 #设置aaa用户名和密码
[SW1-aaa]local-user admin privilege level 15 #设置用户级别
[SW1-aaa]local-user admin service-type ssh terminal http

#设置服务类型,开启ssh,终端,和http访问
第2步,设置用户界面视图

[SW1]user-interface vty 0 4
[SW1-ui-vty0-4]authentication-mode aaa #使用aaa验证方式
[SW1-ui-vty0-4]protocol inbound all #允许连入的协议(all包括ssh和telnet)
[SW1-ui-vty0-4]user privilege level 15 #设置用户级别
第3步,配置服务器端rsa秘钥对

[SW1]rsa local-key-pair create #长度采用默认

第4步,新建ssh用户,必须和aaa验证用户同名

[SW1]ssh user admin authentication-type password
#新建ssh用户admin这里使用passwod方式验证

[SW1]ssh user admin service-type all #服务类型all包括stelnet和sftp
[SW1]dis ssh user-information #显示ssh用户信息

第5步,开启stelnet服务

[SW1]stelnet server enable

#各接口简要STP状态
dis stp brief

#具体接口详细STP信息
dis stp interface g0/0/10

#查看当前根桥信息
dis stp

华为交换机设置ntp时间同步
[HUAWEI]display clock
2021-04-01 21:41:35
Thursday
Time Zone(DefaultZoneName) : UTC
[HUAWEI]
1、设置时区
[HUAWEI]clock timezone cst add 8

2、设置时间服务器地址(用的阿里的时间服务器地址)
[HUAWEI]ntp-service unicast-server 203.107.6.88
Warning: The NTP IPv4 server function is disabled. Run the undo server disable command to enable the IPv4 server function.
Warning: The NTP IPv6 server function is disabled. Run the undo IPv6 server disable command to enable the IPv6 server function.

3、查看时间ntp状态
[HUAWEI]display clock

查看ntp服务会话
[HUAWEI]display ntp-service sessions

其他一些常用命令及配置资料

华为 S5720 系列交换机快速配置手册常用命令//华为交换机常用视图:用户视图,系统视图
用户视图:刚开始登入交换机时的视图,一般看到的是尖括号 <>
save // 配置完交换机后保存当前配置的命令
system-view // 进入系统视图的命令
clock timezone BJ add|minus 8 // 设置时区
clock datetime 16:36:00 2020-07-01 // 设置交换机的时间
dis clock utc //查看时间
dis cu // 显示当前配置
dis cu int // 显示当前接口配置
系统视图: 在用户视图下输入 system-view 后进入系统视图, 一般为方括号 []
sysname xxxx //修改交换机设备名,不支持中文
user-interface console 0 //进入第0个console口的用户界面
authentication-mode passwd //配置从console口登入交换机的认证模式为密码认证
set authentication password cipher admin@123 //配置从console口登入交换机的密码
例子(都在系统视图进行配置):
1、开启 SSH 登陆交换机

#1、创建本地密钥对
rsa local-key-pair create
#2、检查是否存在SSH user(可跳过),系统提示没有SSH user 存在
dis ssh user-information
#3、创建SSH user
ssh user xxx authentication-type password
创建名为xxx的用户,认证模式为密码认证
ssh user xxx service-type stelnet
服务类型为stelnet,即SSH
#4、创建用户
aaa
进入aaa
local-user xxx password cipher 12345678
创建对应的SSH用户名,12345678为你想要设置的密码
local-user xxx privilege level 3
设置用户登记,用户level最高到15
local-user xxx service-type ssh
开启该用户允许使用SSH访问设备的权限
#5、启用SSH(stelnet)服务
stelnet server enable
#6、配置vty界面支持的登录协议
user-interface vty 0 4
authentication-mode aaa
protocol inbound ssh
2、创建 VLAN,设置管理 IP 和 DNS,配置默认路由

vlan batch 1 to 2 10 100
批量创建VLAN1、2、10、100
interface vlan 2
进入VLAN2
ip address 172.16.0.1 255.255.255.0
设置管理IP
dns server 223.5.5.5
dns server 114.114.114.114
dns domain itca.cc
设置DNS
ip route-static 0.0.0.0 0.0.0.0 172.10.0.1
配置所有网络到达所有网络的路径都是由这个172.10.0.1这个地址的接口负责传送
ip route-static 192.168.1.0 255.255.255.0 192.168.0.2是设置静态路由,其中 192.168.1.0 意思是指信息要传到的目的地的 ip 地址,255.255.255.0 为其对应的子网掩码,192.168.0.2 表示信息要达到目的地所要经过的下一个路由器的端口 IP 地址。
3、配置 Trunk 口,配置端口 VLAN

interface gigabitethernet 0/0/24
进入第24个网络端口
port link-type trunk
设置该端口为Trunk模式
port trunk allow-pass vlan 1 to 2
穿透VLAN1、2
interface gigabitethernet 0/0/1
进入第1个网络端口
port default vlan 1
设置该端口为VLAN1
port default vlan
恢复该端口的VLAN缺省值

display port vlan
显示当前各端口的VLAN情况
4、批量配置交换机端口

port-group 1
创建组号为1的端口组
group-member gigabitethernet 0/0/1 to gigabitethernet 0/0/10
把1到10号网络端口加入端口组
port link-type access
批量设置端口为Access模式
port default vlan 10
批量设置端口为VLAN10
5、清除某个端口的配置,启动端口

interface gigabitethernet 0/0/2
打开第2个网络接口
Clear configuration this
清理该端口全部配置信息
Undo shutdown
启动端口
shutdown
关闭端口
6、恢复出厂设置及重启

reset saved-configuration
Y
恢复出厂,输入y确定恢复
Reboot
N
Y
重启设备,第一次输入n不保存配置,第二次输入y确定重启
7、配置 Eth-Trunk 链路聚合

1)手工模式
SW1配置(SW2类似)
interface Eth-Trunk1
port link-type trunk
undo port trunk allow-pass vlan 1
port trunk allow-pass vlan 10 20
interface GigabitEthernet0/0/1
eth-trunk 1
interface GigabitEthernet0/0/2
eth-trunk 1
2)LACP模式
SW1配置(SW2类似)
interface Eth-Trunk1
port link-type trunk
undo port trunk allow-pass vlan 1
port trunk allow-pass vlan 10 20
mode lacp-static //配置模式为静态LACP
max active-linknumber 1 //配置活动接口数量(默认活动接口数量为8,此处两条线路一条为主,一条为备。通信是只有活动接口转发数据)
//注:配置完Eth-Trunk之后再加入接口,LACP模式适用与两台设备多条线路互联,可选择其中几条为主,剩余线路为备,线路故障后备线路自动补上,期间业务影响较小
interface GigabitEthernet0/0/1
eth-trunk 1
interface GigabitEthernet0/0/2
eth-trunk 1
8、配置开启 SNMPv2

snmp-agent community read public // 设置读团体名:public
snmp-agent community write private // 设置写团体名:private
snmp-agent sys-info version v1 v2c // 配置SNMP版本 (v1和v2)
snmp-agent sys-info contact ITCA:10086 // 设置联系方式
snmp-agent sys-info location 3rd-flood // 设置设备位置
snmp-agent trap enable
snmp-agent target-host trap address udp-domain 192.168.1.10 params securityname public
// 允许向网管工作站(NMS)192.168.1.10发送Trap报文,使用的团体名为public

lsblk命令浅析

2023年1月10日 没有评论

lsblk各个字段解释
默认情况下,lsblk命令将以树状格式列出所有块设备:

[root@MyCloudServer ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 10G 0 disk
├─xvda1 202:1 0 500M 0 part /boot
└─xvda2 202:2 0 9.5G 0 part
├─centos-root 253:0 0 8.5G 0 lvm /
└─centos-swap 253:1 0 1G 0 lvm [SWAP]
xvdb 202:16 0 30G 0 disk
└─xvdb1 202:17 0 30G 0 part
└─Xvdbgroup-xvdb1 253:2 0 29.9G 0 lvm /www
[root@MyCloudServer ~]#

MAJ:MIN: 显示设备的主要和次要设备号,MAJ(major number)表示不同的设备类型,MIN(minor number)表示同一个设备的的不同分区。

RM: 显示设备是否可移动。请注意,在此示例中,设备sr0的RM值等于1,表示它是可移动的。

SIZE: 提供有关设容量的信息。

RO: 显示设备是否为只读。在这种情况下,所有设备的RO均为RO = 0,表示它们不是只读的。

TYPE: 显示块设备是磁盘还是磁盘中的分区(部分)的信息。在此示例中,sda和sdb是磁盘,而sr0是只读存储器(rom)。

MOUNTPOINT: 显示设备的挂载点。

列出所有设备
默认选项不会列出所有空设备。要查看这些内容,还可以使用以下命令:

[root@localhost ~]# lsblk -a
列出设备权限和所有者
要列出设备所有者,组和权限,请使用-m选项:

[root@localhost ~]# lsblk -m

分类: Linux 标签: ,

清理 Docker 日志

2022年12月3日 没有评论

一、概述
Docker 在不重建容器的情况下,日志文件默认会一直追加,时间一长会逐渐占满服务器的硬盘的空间,内存消耗也会一直增加。

Docker 的日志文件存在 /var/lib/docker/containers 目录中

二、处理方案
2.1 使用脚本清理日志(治标)
clean_docker_logs.sh

1
2
3
4
5
6
7
8
9
10
11
12
#!/bin/bash
echo "==================== start clean docker containers logs =========================="
 
logs=$(find /var/lib/docker/containers/ -name *-json.log)
 
for log in $logs
  do
    echo "clean logs : $log"
    cat /dev/null > $log
  done
 
echo "==================== end clean docker containers logs   =========================="

2.2 设置Docker容器日志大小(治本)
修改docker-compose.yml

示例:

1
2
3
4
5
6
7
8
  gateway-services:
    container_name: gateway-services
    image: adoptopenjdk/openjdk8
    restart: always
    logging:
      driver: "json-file"
      options:
        max-size: "50m"

max-size=50m,意味着一个容器日志大小上限是50M

重启docker

docker-compose –compatibility up -d

分类: Linux, 解决方案 标签: ,

CACTI监控只能查看一天数据,不能显示其他时间解决方法

2022年11月23日 没有评论

引起这个原因是因为在网站存放位置的:
graph_image.php
graph_json.php
graph_view.php
graph_xport.php
因为限制了时间戳的最大时间是1600000000,此时间为2020-09-13 20:26:40
改为2600000000或者更大

存在BUG的版本:

=0.8.7<1.2.10
0.8.7至1.2.10所有版本,均会出现此故障
不受影响的版本:
=1.2.10后所有版本,<0.8.7前所有版本

问题分析
Cacti从0.8.7版本开始,也就是说在2007年(13年前)设置了时间戳的值为1600000000,转换成时间为2020-09-13 20:26:40,表示在2020年9月13日20点26分40秒后,选择过滤图形时间会导致失效,图形过滤器出现BUG。
3.修复方法

0.8.7版本至1.0.0版本修复方法如下:

修改当前web根目录下的graph_xport.php和graph_image.php两个文件,查找1600000000,每个文件中会有两个这个值,将其全部改成2088385563,修改后无需重启任何服务,直接刷新当前浏览器即可!
if (!empty(_GET["graph_start"]) &&_GET["graph_start"] < 1600000000) {
graphdataarray["graphstart"]=_GET["graph_start"];
}

if (!empty(_GET["graph_end"]) &&_GET["graph_end"] < 1600000000) {
graphdataarray["graphend"]=_GET["graph_end"];
}

1.0.0版本至1.2.10版本修复方法如下:

修改当前web根目录下的graph_image.php、graph_json.php、graph_xport.php、remote_agent.php这四个文件,查找1600000000,将其全部改成2088385563,修改后无需重启任何服务,直接刷新当前浏览器即可!

if (!isempty_request_var(‘graph_start’) && get_request_var(‘graph_start’) < 1600000000) {
$graph_data_array['graph_start'] = get_request_var(‘graph_start’);
}

if (!isempty_request_var(‘graph_end’) && get_request_var(‘graph_end’) < 1600000000) {
$graph_data_array['graph_end'] = get_request_var(‘graph_end’);
}

分类: 解决方案 标签: ,

9 个实用 Shell 脚本(转)

2022年11月10日 没有评论

看到 9 个 shell 脚本范例,运维可以根据实际情况进行修改,9个 shell 脚本如下:

1、Dos 攻击防范(自动屏蔽攻击 IP)

1
2
3
4
5
6
7
8
9
10
#!/bin/bash
DATE=$(date +%d/%b/%Y:%H:%M)
LOG_FILE=/usr/local/nginx/logs/demo2.access.log
ABNORMAL_IP=$(tail -n5000 $LOG_FILE |grep $DATE |awk '{a[$1]++}END{for(i in a)if(a[i]>10)print i}')
for IP in $ABNORMAL_IP; do
    if [ $(iptables -vnL |grep -c "$IP") -eq 0 ]; then
        iptables -I INPUT -s $IP -j DROP
        echo "$(date +'%F_%T') $IP" >> /tmp/drop_ip.log
    fi
done

2、Linux 系统发送告警脚本

1
2
3
4
5
# yum install mailx
# vi /etc/mail.rc
set from=baojingtongzhi@163.com smtp=smtp.163.com
set smtp-auth-user=baojingtongzhi@163.com smtp-auth-password=*******
set smtp-auth=login

3、MySQL 数据库备份单循环

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/bin/bash
DATE=$(date +%F_%H-%M-%S)
HOST=localhost
USER=backup
PASS=123.com
BACKUP_DIR=/data/db_backup
DB_LIST=$(mysql -h$HOST -u$USER -p$PASS -s -e "show databases;" 2>/dev/null |egrep -v "Database|information_schema|mysql|performance_schema|sys")
 
for DB in $DB_LIST; do
    BACKUP_NAME=$BACKUP_DIR/${DB}_${DATE}.sql
    if ! mysqldump -h$HOST -u$USER -p$PASS -B $DB > $BACKUP_NAME 2>/dev/null; then
        echo "$BACKUP_NAME 备份失败!"
    fi
done

4、MySQL 数据库备份多循环

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/bin/bash
DATE=$(date +%F_%H-%M-%S)
HOST=localhost
USER=backup
PASS=123.com
BACKUP_DIR=/data/db_backup
DB_LIST=$(mysql -h$HOST -u$USER -p$PASS -s -e "show databases;" 2>/dev/null |egrep -v "Database|information_schema|mysql|performance_schema|sys")
 
for DB in $DB_LIST; do
    BACKUP_DB_DIR=$BACKUP_DIR/${DB}_${DATE}
    [ ! -d $BACKUP_DB_DIR ] && mkdir -p $BACKUP_DB_DIR &>/dev/null
    TABLE_LIST=$(mysql -h$HOST -u$USER -p$PASS -s -e "use $DB;show tables;" 2>/dev/null)
    for TABLE in $TABLE_LIST; do
        BACKUP_NAME=$BACKUP_DB_DIR/${TABLE}.sql
        if ! mysqldump -h$HOST -u$USER -p$PASS $DB $TABLE > $BACKUP_NAME 2>/dev/null; then
            echo "$BACKUP_NAME 备份失败!"
        fi
    done
done

5、Nginx 访问访问日志按天切割

1
2
3
4
5
6
7
8
9
10
11
12
#!/bin/bash
LOG_DIR=/usr/local/nginx/logs
YESTERDAY_TIME=$(date -d "yesterday" +%F)
LOG_MONTH_DIR=$LOG_DIR/$(date +"%Y-%m")
LOG_FILE_LIST="default.access.log"
 
for LOG_FILE in $LOG_FILE_LIST; do
    [ ! -d $LOG_MONTH_DIR ] && mkdir -p $LOG_MONTH_DIR
    mv $LOG_DIR/$LOG_FILE $LOG_MONTH_DIR/${LOG_FILE}_${YESTERDAY_TIME}
done
 
kill -USR1 $(cat /var/run/nginx.pid)

6、Nginx 访问日志分析脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#!/bin/bash
# 日志格式: $remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for"
LOG_FILE=$1
echo "统计访问最多的10个IP"
awk '{a[$1]++}END{print "UV:",length(a);for(v in a)print v,a[v]}' $LOG_FILE |sort -k2 -nr |head -10
echo "----------------------"
 
echo "统计时间段访问最多的IP"
awk '$4>="[01/Dec/2018:13:20:25" && $4<="[27/Nov/2018:16:20:49"{a[$1]++}END{for(v in a)print v,a[v]}' $LOG_FILE |sort -k2 -nr|head -10
echo "----------------------"
 
echo "统计访问最多的10个页面"
awk '{a[$7]++}END{print "PV:",length(a);for(v in a){if(a[v]>10)print v,a[v]}}' $LOG_FILE |sort -k2 -nr
echo "----------------------"
 
echo "统计访问页面状态码数量"
awk '{a[$7" "$9]++}END{for(v in a){if(a[v]>5)print v,a[v]}}'
7、查看网卡实时流量脚本
 
#!/bin/bash
NIC=$1
echo -e " In ------ Out"
while true; do
    OLD_IN=$(awk '$0~"'$NIC'"{print $2}' /proc/net/dev)
    OLD_OUT=$(awk '$0~"'$NIC'"{print $10}' /proc/net/dev)
    sleep 1
    NEW_IN=$(awk  '$0~"'$NIC'"{print $2}' /proc/net/dev)
    NEW_OUT=$(awk '$0~"'$NIC'"{print $10}' /proc/net/dev)
    IN=$(printf "%.1f%s" "$((($NEW_IN-$OLD_IN)/1024))" "KB/s")
    OUT=$(printf "%.1f%s" "$((($NEW_OUT-$OLD_OUT)/1024))" "KB/s")
    echo "$IN $OUT"
    sleep 1
done

8、服务器系统配置初始化脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#/bin/bash
# 设置时区并同步时间
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
if ! crontab -l |grep ntpdate &>/dev/null ; then
    (echo "* 1 * * * ntpdate time.windows.com >/dev/null 2>&1";crontab -l) |crontab
fi
 
# 禁用selinux
sed -i '/SELINUX/{s/permissive/disabled/}' /etc/selinux/config
 
# 关闭防火墙
if egrep "7.[0-9]" /etc/redhat-release &>/dev/null; then
    systemctl stop firewalld
    systemctl disable firewalld
elif egrep "6.[0-9]" /etc/redhat-release &>/dev/null; then
    service iptables stop
    chkconfig iptables off
fi
 
# 历史命令显示操作时间
if ! grep HISTTIMEFORMAT /etc/bashrc; then
    echo 'export HISTTIMEFORMAT="%F %T `whoami` "' >> /etc/bashrc
fi
 
# SSH超时时间
if ! grep "TMOUT=600" /etc/profile &>/dev/null; then
    echo "export TMOUT=600" >> /etc/profile
fi
 
# 禁止root远程登录
sed -i 's/#PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config
 
# 禁止定时任务向发送邮件
sed -i 's/^MAILTO=root/MAILTO=""/' /etc/crontab
 
# 设置最大打开文件数
if ! grep "* soft nofile 65535" /etc/security/limits.conf &>/dev/null; then
    cat >> /etc/security/limits.conf << EOF
    * soft nofile 65535
    * hard nofile 65535
EOF
fi
 
# 系统内核优化
cat >> /etc/sysctl.conf << EOF
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_tw_buckets = 20480
net.ipv4.tcp_max_syn_backlog = 20480
net.core.netdev_max_backlog = 262144
net.ipv4.tcp_fin_timeout = 20
EOF
 
# 减少SWAP使用
echo "0" > /proc/sys/vm/swappiness
 
# 安装系统性能分析工具及其他
yum install gcc make autoconf vim sysstat net-tools iostat if

9、监控 100 台服务器磁盘利用率脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/bin/bash
HOST_INFO=host.info
for IP in $(awk '/^[^#]/{print $1}' $HOST_INFO); do
    USER=$(awk -v ip=$IP 'ip==$1{print $2}' $HOST_INFO)
    PORT=$(awk -v ip=$IP 'ip==$1{print $3}' $HOST_INFO)
    TMP_FILE=/tmp/disk.tmp
    ssh -p $PORT $USER@$IP 'df -h' > $TMP_FILE
    USE_RATE_LIST=$(awk 'BEGIN{OFS="="}/^\/dev/{print $NF,int($5)}' $TMP_FILE)
    for USE_RATE in $USE_RATE_LIST; do
        PART_NAME=${USE_RATE%=*}
        USE_RATE=${USE_RATE#*=}
        if [ $USE_RATE -ge 80 ]; then
            echo "Warning: $PART_NAME Partition usage $USE_RATE%!"
        fi
    done
done
分类: Linux 标签: ,

-bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory

2022年10月13日 没有评论

ssh 连接 centos 服务器时报警告:

-bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory

原因是 ssh连接的时候会传递环境变量,这个变量如在服务器没有的环境,就会报这个错误,是LC_CTYPE这个环境变量导致的提示。

对于LC_CTYPE的参数,我们一般建议设置成UTF-8,服务器上配置文件缺少相应配置参数。所以就报错了。

解决办法:
在centos上运行

vi /etc/locale.conf

内容改为:

LANG=en_US.utf8
LC_ALL=en_US.utf8
LC_CTYPE=en_US.utf8

重新连接ssh,就可以解决错误提示。

分类: Linux, 解决方案 标签: , ,

proxmox 7 :WARN: old systemd (< v232) detected, container won't run in a pure cgroupv2 environment! Please see documentation -> container -> cgroup version.

2022年10月13日 没有评论

proxmox 升到7,或是安装7后的版本在使用旧的pct模版LXC的 Centos 7 无法开机,出现以下错误提示:

WARN: old systemd (< v232) detected, container won't run in a pure cgroupv2 environment! Please see documentation -> container -> cgroup version.

TASK WARNINGS: 1

解決方法如下

vim /etc/default/grub

找到以下
GRUB_CMDLINE_LINUX_DEFAULT=”quiet”

改成以下

GRUB_CMDLINE_LINUX_DEFAULT=”systemd.unified_cgroup_hierarchy=0 quiet”

运行更新grub

update-grub

重启服务器
reboot

centos6 yum源不能使用解决办法

2022年10月2日 没有评论

2020年11月30日 centos6各大开源镜像站已经停止维护了!但是阿里源还是可以用的通道,因为他的centos-vault仓库里放了之前版本的centos的包。

只需要在centos命令行界面下执行一下几条命令即可解决问题。命令如下:

1
2
3
4
5
sed -i "s|enabled=1|enabled=0|g" /etc/yum/pluginconf.d/fastestmirror.conf
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
curl -o /etc/yum.repos.d/CentOS-Base.repo https://www.xmpan.com/Centos-6-Vault-Aliyun.repo 
yum clean all
yum makecache

如无法下载Centos-6-Vault-Aliyun.repo文件,可以将以下内容复制存为文件使用即可。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the 
# remarked out baseurl= line instead.
#
#
 
[base]
name=CentOS-6.10 - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos-vault/6.10/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos-vault/RPM-GPG-KEY-CentOS-6
 
#released updates 
[updates]
name=CentOS-6.10 - Updates - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos-vault/6.10/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos-vault/RPM-GPG-KEY-CentOS-6
 
#additional packages that may be useful
[extras]
name=CentOS-6.10 - Extras - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos-vault/6.10/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos-vault/RPM-GPG-KEY-CentOS-6
 
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-6.10 - Plus - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos-vault/6.10/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos-vault/RPM-GPG-KEY-CentOS-6
 
#contrib - packages by Centos Users
[contrib]
name=CentOS-6.10 - Contrib - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos-vault/6.10/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos-vault/RPM-GPG-KEY-CentOS-6
分类: Linux, 解决方案 标签: ,

linux centos修改ssh端口脚本

2022年9月1日 没有评论

linux修改ssh端口脚本
方法一:
复制以下内容到脚本ssh.sh然后使用命令sh ssh.sh就可以了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# Use default SSH port 22. If you use another SSH port on your server
if [ -e "/etc/ssh/sshd_config" ];then
    [ -z "`grep ^Port /etc/ssh/sshd_config`" ] && ssh_port=22 || ssh_port=`grep ^Port /etc/ssh/sshd_config | awk '{print $2}'`
    while :; do echo
        read -p "Please input SSH port(Default: $ssh_port): " SSH_PORT
        [ -z "$SSH_PORT" ] && SSH_PORT=$ssh_port
        if [ $SSH_PORT -eq 22 >/dev/null 2>&1 -o $SSH_PORT -gt 1024 >/dev/null 2>&1 -a $SSH_PORT -lt 65535 >/dev/null 2>&1 ];then
            break
        else
            echo "${CWARNING}input error! Input range: 22,1025~65534${CEND}"
        fi
    done
 
    if [ -z "`grep ^Port /etc/ssh/sshd_config`" -a "$SSH_PORT" != '22' ];then
        sed -i "s@^#Port.*@&\nPort $SSH_PORT@" /etc/ssh/sshd_config
    elif [ -n "`grep ^Port /etc/ssh/sshd_config`" ];then
        sed -i "s@^Port.*@Port $SSH_PORT@" /etc/ssh/sshd_config
    fi
	cp /etc/selinux/config /etc/selinux/config_$baktime
sed -i '/SELINUX/s/\(enforcing\|permissive\)/disabled/' /etc/selinux/config
if [ -e /etc/sysconfig/selinux ]
   then
       cp /etc/sysconfig/selinux /etc/sysconfig/selinux_$baktime
       sed -i '/SELINUX/s/\(enforcing\|permissive\)/disabled/' /etc/sysconfig/selinux
fi
setenforce 0
systemctl enable firewalld
systemctl start firewalld
firewall-cmd --zone=public --add-port=$SSH_PORT/tcp --permanent
firewall-cmd --reload
service sshd restart
fi

方法二:(推荐)
以下这个直接运行就更快捷。

1
2
3
4
5
6
firewall-cmd --zone=public --add-port=8899/tcp --permanent
firewall-cmd --reload
sed -i '/#Port 22/s/#Port 22/Port 8899/' /etc/ssh/sshd_config
sed -i '/#UseDNS yes/s/#UseDNS yes/UseDNS no/' /etc/ssh/sshd_config
service sshd restart
/bin/systemctl restart sshd.service

8899就是更改后的端口。自己改变一下。

分类: Linux 标签: ,

The PERC1 battery is low.DELL R620服务器idrac显示电源错误修复办法。

2022年8月3日 没有评论

DELL R620的机器有好几年了。bios电池也快没电了。idrac老显示黄标。于是更换了个新的电池。以为搞定了。不想还是反复提示:
系统事件日志报:The PERC1 battery is low.
电池 显示黄标

上网查了一下,dell还是有提供解决办法的。具体办法需要下载效验工具文件。不过这个工具好像是对硬盘阵列用的。也不知道为什么能也用于校对电池。
我下的是LINUX下的。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
wget https://downloads.dell.com/FOLDER03559396M/1/perccli-1.17.10-1.noarch.rpm
rpm -ivh perccli-1.17.10-1.noarch.rpm
 
[root@localhost perccli]# cd /opt/MegaRAID/perccli //进入程序目录。默认perccli64是不能运行的。不是内部命令。
 
[root@localhost perccli]# ./perccli64 /c0/bbu show all >/root/a.txt //转存一下信息很长。
 
//我选发一部分发出来比较重要的提示信息给大家标出来。
 
BBU_Capacity_Info :
=================
 
------------------------------------------------------
Property Value
------------------------------------------------------
Relative State of Charge 0%
Absolute State of charge 0%
Remaining Capacity 0 mAh            //主要看这里这是显示0其实不对。新电池应该是满的 
Full Charge Capacity 396 mAh         //电池主容量以下运行校对命令后再运行show all后这两个地方应该会显示一致。
Run time to empty Battery is not being charged
Average time to empty 0 min
Average Time to full Battery is not being charged
Cycle Count 15
Max Error 0%
Remaining Capacity Alarm 0 mAh
Remining Time Alarm 0 minutes(s)
------------------------------------------------------
//运行以下校对命令校对电池容量。
[root@localhost perccli]# ./perccli64 /c0/bbu start learn
Controller = 0
Status = Success
Description = None
 
BBU_Set_Prop :
============
 
------------------------
BBU-Prop Description
------------------------
Start Learn Success
------------------------
//这样就完成了校对工作。
 
[root@localhost perccli]# ./perccli64 /c0/bbu show all >/root/b.txt //转存一下新的信息。可以看到如下比较重要的
 
BBU_Capacity_Info :
=================
 
------------------------------------------------------
Property Value
------------------------------------------------------
Relative State of Charge 100%
Absolute State of charge 0%
Remaining Capacity 396 mAh                    //这里正确的应该有显示不是0了。 
Full Charge Capacity 396 mAh
Run time to empty Battery is not being charged
Average time to empty 32 min
Average Time to full Battery is not being charged
Cycle Count 15
Max Error 0%
Remaining Capacity Alarm 0 mAh
Remining Time Alarm 0 minutes(s)
------------------------------------------------------

关机。拔掉所有的电源。然后过15分钟接上开机。然后再进idrac看一下电池显示。应该全绿标了。

分类: 解决方案 标签: ,