0%

本方法适用于除openvz虚拟之外的XEN和KVM,如果增加的swap空间是SSD的话那么效果就更加好了! 1.进入目录

cd /var/

2.获取要增加的SWAP文件块(这里以1GB为例)

dd if=/dev/zero of=swapfile bs=1024 count=1038336

3.创建SWAP文件

/sbin/mkswap swapfile

4.激活SWAP文件

/sbin/swapon swapfile

5.查看SWAP信息是否正确

/sbin/swapon –s

6.添加到fstab文件中让系统引导时自动启动

echo “/var/swapfile swap swap defaults 0 0” >>/etc/fstab

主从数据库

mysql主从复制原理: mysql支持单向、异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器。 mysql复制基于主服务器在二进制日志中跟踪所有对数据库的更改(更新、删除等等)。因此,要进行复制,必须在主服务器上启用二进制日志。 每个从服务器从主服务器接收主服务器已经记录到其二进制日志的保存的更新。当一个从服务器连接主服务器时, 它通知主服务器从服务器在日志中读取的最后一次成功更新的位置。从服务器接收从那时起发生的任何更新,并在本机上执行相同的更新。 然后封锁并等待主服务器通知新的更新。从服务器执行备份不会干扰主服务器,在备份过程中主服务器可以继续处理更新。

1、修改主服务器master: #vi /etc/my.cnf [mysqld] log-bin=mysql-bin //[必须]启用二进制日志 server-id=1 //[必须]服务器唯一ID,默认是1,一般取IP最后一段

2、修改从服务器slave: #vi /etc/my.cnf [mysqld] log-bin=mysql-bin //[不是必须]启用二进制日志 server-id=226 //[必须]服务器唯一ID,默认是1,一般取IP最后一段

3、重启数据库 service mysqld restart

4、创建用户 xxxx

5、登录主服务器的mysql,查询master的状态 mysql>show master status; MySQL [mysql]> show master status; +——————+———-+————–+——————+——————-+ File Position Binlog_Do_DB Binlog_Ignore_DB Executed_Gtid_Set +——————+———-+————–+——————+——————-+ mysql-bin.000020 82373 +——————+———-+————–+——————+——————-+ 1 row in set (0.00 sec)

6、配置从服务器Slave: Mysql>change master to master_host=’xxxx’,master_user=’xxxx’,master_password=’xxxxx1′,master_log_file=’mysql-bin.000020′,master_log_pos=14141889; //注意不要断开,308数字前后无单引号。 Mysql>flush privileges; Mysql>start slave; //启动从服务器复制功能

7、查看 Mysql> show slave status\G

*************************** 1. row ***************************

Slave_IO_State: Waiting for master to send event Master_Host: xxx //主服务器地址 Master_User: xxxxx //授权帐户名,尽量避免使用root Master_Port: 3306 //数据库端口,部分版本没有此行 Connect_Retry: 60 Master_Log_File: mysql-bin.000004 Read_Master_Log_Pos: 600 //#同步读取二进制日志的位置,大于等于Exec_Master_Log_Pos Relay_Log_File: ddte-relay-bin.000003 Relay_Log_Pos: 251 Relay_Master_Log_File: mysql-bin.000004 Slave_IO_Running: Yes //此状态必须YES Slave_SQL_Running: Yes //此状态必须YES ……

注:Slave_IO及Slave_SQL进程必须正常运行,即YES状态,否则都是错误的状态(如:其中一个NO均属错误)。 主从服务器配置完成。 ————— 错误 2017-06-19 06:37:28 2209 [Warning] ‘proxies_priv’ entry ‘@ root@centos-512mb-ams3-02’ ignored in –skip-name-resolve mode. 2017-06-19 06:37:28 2209 [Warning] Neither –relay-log nor –relay-log-index were used; so replication may break when this MySQL server acts as a slave and has his hostname changed!! Please use ‘–relay-log=mysql-relay-bin’ to avoid this problem. 2017-06-19 06:37:28 2209 [Warning] Storing MySQL user name or password information in the master info repository is not secure and is therefore not recommended. Please consider using the USER and PASSWORD connection options for START SLAVE; see the ‘START SLAVE Syntax’ in the MySQL Manual for more information. 2017-06-19 06:37:28 2209 [Warning] Slave SQL: If a crash happens this configuration does not guarantee that the relay log info will be consistent, Error_code: 0 2017-06-19 06:37:28 2209 [Note] Slave SQL thread initialized, starting replication in log ‘mysql-bin.000020’ at position 82373, relay log ‘./mysql-relay-bin.000002’ position: 283 2017-06-19 06:37:28 2209 [ERROR] Slave SQL: Error ‘Table ‘ba.tc_options’ doesn’t exist’ on query. Default database: ‘ba’. Query: ‘INSERT INTO `tc_options` (`name`, `value`) VALUES (‘cron_sign_again’,’a:2:{s:3:”num”;i:0;s:6:”lastdo”;s:10:”2017-06-18″;}’) ON DUPLICATE KEY UPDATE `value` = ‘a:2:{s:3:”num”;i:0;s:6:”lastdo”;s:10:”2017-06-18″;}”, Error_code: 1146

1、锁定主服务器数据库 mysql> flush tables with read lock; 2、 导出全部数据库 mysqldump -uroot -pxxxx -A > all_database.mysql

3、从服务器停止slave,情况配置 mysql> stop slave; reset slave; 4、导入数据库 mysql -uroot -pxxxx < all_database.mysql

5、解锁主服务器数据库mysql> unlock tables;

6、从数据库查看 show slave status\G

VPS的系统相对较老,不支持系统,下面的脚本可以升级系统,但有可能会有问题。 升级前请重装成debian-7.0-x86-minimal、debian-7.0-x86_64、ubuntu-14.04-x86_64-minimal等其中1个系统。

Debian Wheezy 升级到 Jessie

1
apt-get update;apt-get install -y wget ca-certificates;wget https://zhujiwiki.com/usr/uploads/2018/06/wheezy_to_jessie_installer.sh; bash wheezy_to_jessie_installer.sh

Debian Wheezy 升级到 Stretch

1
apt-get update;apt-get install -y wget ca-certificates;wget https://zhujiwiki.com/usr/uploads/2018/06/wheezy_to_stretch_installer.sh; bash wheezy_to_stretch_installer.sh

Ubuntu 14.04 升级到 16.04

1
apt-get update;apt-get install -y wget ca-certificates;wget https://zhujiwiki.com/usr/uploads/2018/06/1404_to_1604_installer.sh; bash 1404_to_1604_installer.sh

via:https://www.lowendtalk.com/discussion/147323/upgrading-hostsolutions-ro-openvz-templates-to-16-04-jessie-or-stretch

欢迎到TeleGram群讨论:https://t.me/zhujiwiki

本文转载自Rat’s Blog:Linux VPS一键屏蔽指定国家所有的IP访问

说明

对于屏蔽指定国家所有的IP的手动教程刚讲了,查看:Linux VPS使用ipset快速屏蔽指定国家的IP访问,虽然步骤很简单,但为了更白的小白,友链博主YKilin大佬写出了一键脚本,本人就做了下小小的修改,简化了下步骤,这里分享下。

使用

本脚本适用于CentOS、Debian、Ubuntu等常用系统。

1、下载脚本

1
wget https://www.moerats.com/usr/shell/block-ips.sh

2、使用方法

1
2
3
4
5
6
7
8
9
10
#这里以中国为例,如果想屏蔽其它国家的,请自行修改最后的代码参数
#添加规则
bash block-ips.sh -a cn

#开始屏蔽
bash block-ips.sh -b cn

#被屏蔽的国家列表
bash block-ips.sh -l

 

其它国家代码查看:点击进入。记住后面的参数均为小写字母。比如JAPAN (JP),我们就在后面用jp这个参数。

文章参考:Block IPs from countries

一.介绍

SolusVM我想应该不用介绍了,目前国内外卖VPS的最常见的面板之一,另外还有Virtualizor以及Xen System,以及比较少见的Promox和ESXi以及非常稀有土豪专用的OnApp。当然还有些号称云主机的用OpenStack或者OpenNebula,这些就不提了。不过我相信大部分人应该都接触过SolusVM,作为OnApp旗下的比较低端的虚拟化产品,以及和WHMCS等财务系统比较好的集成,所以非常多的VPS商家都喜欢用这个。

所以这个系列来稍微介绍下这些IDC比较常用的东西,之前的Proxmox也是这个系列的其实,之后会有啥就看心情了。

由于Solusvm的某些BUG(其实是一堆),在CentOS7上安装Solusvm会导致出现无法限速,无法重启后自动启动VM的情况,所以一般情况下建议使用CentOS6安装。

但是Solusvm对于系统的分区是有要求的,所以我们从安装CentOS6开始介绍,当然是跳着介绍的,只说需要特别注意的地方,最好的情况是你的独服商家提供了Solusvm的镜像,这样你就不用折腾的,但是有些只提供了OpenVZ Slave(Master)的镜像,所以这种情况下如果你要安装KVM或者Xen的Solusvm Slave就需要自己动手了。

二.安装

本文分为Master篇和Slave篇,我将在本篇文章中分别介绍

首先看下安装前的注意事项

  • You CANNOT Install a SolusVM Master on a Xen/KVM Slave Directly, you can however install your Master on a Xen VPS which is hosted on this slave, it just cant be installed directly onto the slave

解释: 这个就是告诉你,你无法直接在一台已经安装了Xen或者KVM的Slave上安装Master,但是你可以在Slave上开的VM中安装Master,当然如果你有别的的空的机器还是建议分开(OVZ可以使用Master with OpenVZ来实现安装在一台机器上)

  • This Script should NEVER be used to upgrade SolusVM to the latest version, doing so will destroy your installation of SolusVM

解释: 安装脚本无法被用于升级Solusvm,这么做会导致你的已经安装的Solusvm损坏

  • DO NOT use this installer on servers that contain any other control panel (cPanel, Directadmin etc..) Always use a clean install of CentOS/RHEL/Scientific!

解释: 不要在存在其他控制面板(比如cPanel、Directadmin或者其他的),总是使用一个纯净的系统(CentOS/RHEL/Scientific之一)

支持的系统和虚拟化

PS. 需知

1. CentOS5那列是支持的,但是不进行维护了 2. Virtuzzo的话在我看来是OpenVZ的商业(企业)版,功能更加强大,但是依旧是属于和OpenVZ一样类似于容器,内核依赖于宿主机,无法在Linux宿主机上安装Windows啥的

分区要求

翻译一下 虚拟化 分区布局

1. “/“(根目录)需要80GB以上,使用ext4/ext3并且选择Primary(主分区)而不是逻辑分区 2. Swap(交换分区)需要4GB以上,以便应对内存不足的情况(VM会占用宿主Swap) 3. 剩下的空间全部分配给LVM(需要注意,只配置Logical Volume Group逻辑卷组,具体的卷会由Solusvm自己创建),Solusvm推荐使用32MB及以上的PE(Physical Extent, 物理块)大小

  • Xen Source

1. 同上(KVM) 2. Swap(交换分区)不超过4G(VM*不会*占用宿主Swap) 3. 同上(KVM)

  • OpenVZ

1. “/“(根目录)需要40GB以上,使用ext4/ext3并且选择Primary(主分区)而不是逻辑分区。如果没有创建”/vz”目录且独立挂载分区,OpenVZ的模板会存储在”/vz/template/cache”目录,占用”/“根目录空间 2. Swap(交换分区)两倍于物理内存(如果物理内存小于2GB,则Swap为物理内存+2GB) 3. “/vz”占用剩余的空间,用于存储OpenVZ的模板以及VM的磁盘

  • OpenVZ 7

1. 使用 Virtuozzo Linux 2. 同上(OpenVZ) 3. 同上(OpenVZ) 4. 同上(OpenVZ)

安装脚本倒是挺简单

1
2
wget https://files.soluslabs.com/install.sh
sh install.sh

这个安装脚本是多合一的,所以不管是Master还是Slave都是通过这个脚本进行安装的,本文章多图,请注意连WIFI(虽然可能来不及了)

首先,请按照上面说明准备好系统环境,大部分的商家提供ISO挂载来安装的功能,建议使用这个而不是系统模板来安装,因为模板安装不太方便调整分区。 Hetzner的话也有类似的功能,这就不需要Rescue模式了,请注意了。我们点击面板上的VNC,然后来进行安装

然后会给你一个IP以及密码,使用VNC客户端连接即可,可以下载tightvnc或者realvnc啥的

PS.需要注意,这儿给出的IP是带端口的(但其实也不是端口) 比如给你的是192.168.0.1:1,你会很奇怪为啥端口是1对吧,其实是VNC的端口,默认从5900开始,1代表的就是5901,即你实际的地址是192.168.0.1:5901

当然,在开始连接之前我们需要重启服务器进入VNC安装模式(重启前记好端口和密码,重启后会消失的)

然后我们就能连上去了

记得选上两块硬盘

中间啥时区啊,网络啊,就跳过了,因为没啥特别的

大概是这样的

然后还是比较常规的安装流程了,我也就不说了

然后进入系统后运行脚本开始安装,首先是脚本环境安装以及部分检测,稍等后进行简单的选择题

由于是独服,所以我们这台机器上装KVM的Slave,也就是选4 然后就开始安装了

稍等一会儿然后就OK了,最后会给出ID Key以及ID Password,凭借IP以及这两个就能在Master里面添加节点了

然后,按照说明我们还需要配置个Bridge,按照Solusvm的教程其实挺简单的——>传送门 https://documentation.[solusvm](http://www.senra.me/tag/solusvm/ “Posts tagged with solusvm”).com/display/DOCS/KVM+Bridge+Setup

我这边简单的介绍下

1. 首先安装bridge-utils软件包(虽然文档里让你检查是否已经安装,但是直接装下不就知道了吗…)

1
yum install bridge-utils -y

2. 然后查看你现有的网卡配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#你的网卡名字可能有差别,总之选你外网IP的那个
cat /etc/sysconfig/network-scripts/ifcfg-eth0
#内容大概如下,虽然我Hetzner上安装完不是这样的,不过差不多啦
DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
HWADDR=MAC地址
IPADDR=公网IP
NETMASK=子网掩码
NETWORK=网络号
GATEWAY=网关
BROADCAST=广播地址
IPV6INIT=yes
IPV6_AUTOCONF=yes

3. 备份你的配置

1
cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/backup-ifcfg-eth0

4. 依照你网卡配置创建Bridge的配置文件

1
2
3
4
5
6
7
8
9
10
11
vi /etc/sysconfig/network-scripts/ifcfg-br0
#内容参照如下
DEVICE=br0
TYPE=Bridge
BOOTPROTO=static
ONBOOT=yes
IPADDR=公网IP
NETMASK=子网掩码
NETWORK=网络号
GATEWAY=网关
BROADCAST=广播地址

PS.这部分你按照自己的,有啥填啥,没的去服务器面板看看,有些比如广播地址和网络号其实都是不必要的,可选。另外有IPv6地址的自己参照着填,这个需要注意一下,如下

1
2
3
4
5
6
#Hetzner的IPv6在CentOS下大概配置文件需要加这些,最后一行少了不行,倒数第二行不能改
IPV6INIT=yes
IPV6ADDR=IPv6地址/64
IPV6_DEFAULTGW=fe80::1
#在Bridge中这儿应该是br0
IPV6_DEFAULTDEV=eth0

5. 修改原网络配置

1
2
3
4
5
6
7
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=MAC地址
IPV6INIT=yes
IPV6_AUTOCONF=yes
ONBOOT=yes
BRIDGE=br0

这儿这个IPV6_AUTOCONF如果你上面是手动配IPv6的这个就不要了,有些机房IPv6自动DHCP分配的可以开这个

6. 重启网络

1
/etc/init.d/network restart

我建议这部分最好慎重一点,特别是如果你的机器没有KVM或者IPMI,改错了可能就得重装了,但是,也可以做个故障修复脚本

1
2
3
4
5
#配置重启后的计划任务,删除Bridge配置,覆盖原配置文件然后重启网络
echo "@reboot rm -rf /etc/sysconfig/network-scripts/ifcfg-br0 && \cp /etc/sysconfig/network-scripts/backup-ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0 && /etc/init.d/network restart" >> /var/spool/cron/root
chmod 600 /var/spool/cron/root
service crond reload
service crond restart

在配置这个之后,如果你发现自己搞炸了导致服务器失联,请使用控制面板上的重启来使机器重启恢复,之后你可以再次作死了。

PS. 当然,在你成功配置后记得把计划任务删掉,别问我怎么删

配置完大概是这样的,那个virbr0不用管,是自动添加的一个,如果看官方文档还可以配置一个内网用的Bridge,这个就看你自己需求了

然后我们就可以找个地方来装Master了,重复上面的第一步操作,在选择那儿选1

然后等着安装完成

如果你解析了域名到IP上可以按照它给的命令来签发Let’s Encrypt的证书 我们只做测试,所以这些都不管,直接登录面板,然后添加节点(更改默认密码啥的就不用我提了吧)

然后我们来添加一份中文翻译(这个是用户界面的翻译,管理员安安心心看英文啦)

1
2
3
cd /usr/local/solusvm/language/client/
wget "https://documentation.solusvm.com/download/attachments/7667936/Simplified-Chinese.lang.txt?api=v2" -O Chinese.lang.txt
chown solusvm:solusvm Chinese.lang.txt

然后我们需要添加模板和ISO,KVM的模板我们可以从SolusVM的TDN那儿获取)——>传送门

模板的获取命令和参数都有,举个栗子,我们要添加CentOS6的模板

1
2

wget w http://templates.repo.onapp.com/solusvm/kvm/linux-centos-6-x86_64-minimal-latest.gz -O /home/solusvm/kvm/template/linux-centos-6-x86_64-minimal-latest.gz

然后我们需要添加模板和ISO,KVM的模板我们可以从SolusVM的TDN那儿获取)——>传送门

模板的获取命令和参数都有,举个栗子,我们要添加CentOS6的模板

1
wget http://templates.repo.onapp.com/solusvm/kvm/linux-centos-6-x86_64-minimal-latest.gz -O /home/solusvm/kvm/template/linux-centos-6-x86_64-minimal-latest.gz

然后照着信息添加

接着添加完后模板其实是在Master上的,我们需要同步到节点上

先Queue然后Active,之后稍等变成Complete就OK了

然后去添加一个Plan

然后加下IP

这是先加Block然后加IP的,像Hetzner和OVH这种机房IP绑定MAC的也必须给IP指定一个MAC,不能用默认的auto随机生成

然后就可以开机器了(开机器必须要创建一个用户,左侧Add Client了解一下)

然后就OK了

然后在用户面板也能看到啦

三.优化

默认情况下,我们的cpu是kvm64模式,这个时候在VM内显示的CPU型号是QEMU开头的,虽然这个是为了集群情况下能够方便迁移,不因为CPU型号不同导致某些故障,但是这种情况下你的宿主机CPU指令集不能完全提供给VM,会导致性能损耗。

那么怎么改呢,很简单,直接后台修改参数,然后保存重启VM就行

如果需要后续创建的机器都是这样的,可以直接修改模板里面的CPU Model

重启之后的效果

关闭mysql服务器

sudo /usr/local/mysql/support-files/mysql.server stop 或者系统偏好里有个 MySQL 里关闭

进入 /usr/local/mysql/bin 目录

cd /usr/local/mysql/bin

获取权限

sudo su

重启服务器

./mysqld_safe –skip-grant-tables &

重开个终端

mysql -uroot -p (提示输入密码时随便输入即可)

获取权限,要不它不让你改

flush privileges;

设置新密码

set password for ‘root‘@’localhost’=password(‘新密码’);

作者:JoinPerson 链接:https://www.jianshu.com/p/47caaf07fdfa 來源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

yum install -y sysstat

sar -d 1 1

rrqm/s: 每秒进行 merge 的读操作数目。即 delta(rmerge)/s wrqm/s: 每秒进行 merge 的写操作数目。即 delta(wmerge)/s r/s: 每秒完成的读 I/O 设备次数。即 delta(rio)/s w/s: 每秒完成的写 I/O 设备次数。即 delta(wio)/s rsec/s: 每秒读扇区数。即 delta(rsect)/s wsec/s: 每秒写扇区数。即 delta(wsect)/s rkB/s: 每秒读K字节数。是 rsect/s 的一半,因为每扇区大小为512字节。(需要计算) wkB/s: 每秒写K字节数。是 wsect/s 的一半。(需要计算) avgrq-sz: 平均每次设备I/O操作的数据大小 (扇区)。delta(rsect+wsect)/delta(rio+wio) avgqu-sz: 平均I/O队列长度。即 delta(aveq)/s/1000 (因为aveq的单位为毫秒)。 await: 平均每次设备I/O操作的等待时间 (毫秒)。即 delta(ruse+wuse)/delta(rio+wio) svctm: 平均每次设备I/O操作的服务时间 (毫秒)。即 delta(use)/delta(rio+wio) %util: 一秒中有百分之多少的时间用于 I/O 操作,或者说一秒中有多少时间 I/O 队列是非空的。即 delta(use)/s/1000 (因为use的单位为毫秒)

如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘 可能存在瓶颈。 idle小于70% IO压力就较大了,一般读取速度有较多的wait. 同时可以结合vmstat 查看查看b参数(等待资源的进程数)和wa参数(IO等待所占用的CPU时间的百分比,高过30%时IO压力高)

另外还可以参考 svctm 一般要小于 await (因为同时等待的请求的等待时间被重复计算了),svctm 的大小一般和磁盘性能有关,CPU/内存的负荷也会对其有影响,请求过多也会间接导致 svctm 的增加。await 的大小一般取决于服务时间(svctm) 以及 I/O 队列的长度和 I/O 请求的发出模式。如果 svctm 比较接近 await,说明 I/O 几乎没有等待时间;如果 await 远大于 svctm,说明 I/O 队列太长,应用得到的响应时间变慢,如果响应时间超过了用户可以容许的范围,这时可以考虑更换更快的磁盘,调整内核 elevator 算法,优化应用,或者升级 CPU。 队列长度(avgqu-sz)也可作为衡量系统 I/O 负荷的指标,但由于 avgqu-sz 是按照单位时间的平均值,所以不能反映瞬间的 I/O 洪水。

在命令行方式下,如何查看CPU、内存的使用情况,网络流量和磁盘I/O?

Q: 在命令行方式下,如何查看CPU、内存的使用情况,网络流量和磁盘I/O?

A: 在命令行方式下,

1. 查看CPU使用情况的命令

$ vmstat 5

每5秒刷新一次,最右侧有CPU的占用率的数据

$ top

top 然后按Shift+P,按照进程处理器占用率排序

2. 查看内存使用情况的命令

$ free

top 然后按Shift+M, 按照进程内存占用率排序

$ top

3. 查看网络流量

可以用工具iptraf工具

$ iptraf -g

“”针对某个Interface的网络流量可以通过比较两个时间网络接口的RX和TX数据来获得

$ date; ifconfig eth1

$ date; ifconfig eth1

4. 查看磁盘i/o

$ iostat -d -x /dev/sdc3 2

用iostat查看磁盘/dev/sdc3的磁盘i/o情况,每两秒刷新一次

$ vmstat 2

用vmstat查看io部分的信息

procs: r–>;在运行队列中等待的进程数 b–>;在等待io的进程数 w–>;可以进入运行队列但被替换的进程

memoy swap–>;现时可用的交换内存(k表示) free–>;空闲的内存(k表示)

pages re--》回收的页面 mf--》非严重错误的页面 pi--》进入页面数(k表示) po--》出页面数(k表示) fr--》空余的页面数(k表示) de--》提前读入的页面中的未命中数 sr--》通过时钟算法扫描的页面

disk 显示每秒的磁盘操作。 s表示scsi盘,0表示盘号

fault 显示每秒的中断数 in--》设备中断 sy--》系统中断 cy--》cpu交换

cpu 表示cpu的使用状态 cs--》用户进程使用的时间 sy--》系统进程使用的时间 id--》cpu空闲的时间

其中: 如果 r经常大于 4 ,且id经常少于40,表示cpu的负荷很重。 如果pi,po 长期不等于0,表示内存不足。 如果disk 经常不等于0, 且在 b中的队列 大于3, 表示 io性能不好。

每一天我们的系统时时刻刻都被凶狠之徒盯着,保持软件在最新的状态是其中一项我们必须做,也很容易做到的工作。

首先我们立即手动更新所有预先安装的软件:

yum -y update

跟着设定系统定时自动更新,第一步确定服务器是否安装了自动执行指令的工具,跟着使用 yum 一个名叫 yum-cron插件。

CentOS 7 使用数个软件来自动执行指令:cronanacronat 和 batch,其中 cron 和 anacron 用来定期重复执行指令,At 和 batch 则用来在特定时间执行一次性的指令。 我们将会使用 cron 和 anacron,两者的分别这里不细表了,将来有机会再讨论,现在使用一个指令同时安装 cronie 和 yum-cron

yum -y install cronie yum-cron

完成后系统多了数个档案,比较重要的包括: /etc/cron.daily/0yum.cron,``Anacron 每天执行0yum.cron一次,它根据 /etc/yum/yum-cron.conf 来更新软件  ,/etc/yum/yum-cron.conf

每天执行只会下载更新的软件,并不安装,需要修改apply_updates = no 为 yes,才会自动安装,用意是让管理员检视 yum-cron的输出,选取需要更新的软件进行手动安装。

vim /etc/yum/yum-cron.conf

确认一下 update_messages = yesdownload_updates = yesapply_updates = yes

最后,启动 crond 和 yum-cron

systemctl start crond

systemctl start yum-cron

IPV4: /32(1) /31(2) /30(4) /29(8) /28(16) /27(32) /26(64) /25(128) /24(256) /23(512) /22(1024) /21(2048) /20(4096) /19(8192) /18(16384) /17(32768) /16(65536) /15(131072) /14(262144) /13(524288) /12(1048576) /11(2097152) /10(4194304) /9(8388608) /8(16777216)

IPV6: ::/128(1) ::/127(2) ::/126(4) ::/125(8) ::/124(16) ::/123(32) ::/122(64) ::/121(128) ::/120(256) ::/119(512) ::/118(1024) ::/117(2048) ::/116(4096) ::/115(8192) ::/114(16384) ::/113(32768) ::/112(65536) ::/111(131072) ::/110(262144) ::/109(524288) ::/108(1048576) ::/107(2097152) ::/106(4194304) ::/105(8388608) ::/104(16777216) ::/103(33554432) ::/102(67108864) ::/101(134217728) ::/100(268435456) ::/99(536870912) ::/98(1073741824) ::/97(2147483648) ::/96(4294967296) ::/95(8589934592) ::/94(17179869184) ::/93(34359738368) ::/92(68719476736) ::/91(137438953472) ::/90(274877906944) ::/89(549755813888) ::/88(1099511627776) ::/87(2199023255552) ::/86(4398046511104) ::/85(8796093022208) ::/84(17592186044416) ::/83(35184372088832) ::/82(70368744177664) ::/81(140737488355328) ::/80(281474976710656) ::/79(562949953421312) ::/78(1125899906842624) ::/77(2251799813685248) ::/76(4503599627370496) ::/75(9007199254740992) ::/74(18014398509481984) ::/73(36028797018963968) ::/72(72057594037927936) ::/71(144115188075855872) ::/70(288230376151711744) ::/69(576460752303423488) ::/68(1152921504606846976) ::/67(2305843009213693952) ::/66(4611686018427387904) ::/65(9.2233720368548E+18) ::/64(1.844674407371E+19) ::/63(3.6893488147419E+19) ::/62(7.3786976294838E+19) ::/61(1.4757395258968E+20) ::/60(2.9514790517935E+20) ::/59(5.9029581035871E+20) ::/58(1.1805916207174E+21) ::/57(2.3611832414348E+21) ::/56(4.7223664828696E+21) ::/55(9.4447329657393E+21) ::/54(1.8889465931479E+22) ::/53(3.7778931862957E+22) ::/52(7.5557863725914E+22) ::/51(1.5111572745183E+23) ::/50(3.0223145490366E+23) ::/49(6.0446290980731E+23) ::/48(1.2089258196146E+24) ::/47(2.4178516392293E+24) ::/46(4.8357032784585E+24) ::/45(9.671406556917E+24) ::/44(1.9342813113834E+25) ::/43(3.8685626227668E+25) ::/42(7.7371252455336E+25) ::/41(1.5474250491067E+26) ::/40(3.0948500982135E+26) ::/39(6.1897001964269E+26) ::/38(1.2379400392854E+27) ::/37(2.4758800785708E+27) ::/36(4.9517601571415E+27) ::/35(9.903520314283E+27) ::/34(1.9807040628566E+28) ::/33(3.9614081257132E+28) ::/32(7.9228162514264E+28) ::/31(1.5845632502853E+29) ::/30(3.1691265005706E+29) ::/29(6.3382530011411E+29) ::/28(1.2676506002282E+30) ::/27(2.5353012004565E+30) ::/26(5.0706024009129E+30) ::/25(1.0141204801826E+31) ::/24(2.0282409603652E+31) ::/23(4.0564819207303E+31) ::/22(8.1129638414607E+31) ::/21(1.6225927682921E+32) ::/20(3.2451855365843E+32)

说明:超级暴力版魔改BBR安装方法刚说过了,参考:Debian/Ubuntu开启超级暴力版魔改BBR教程,不过是手动的,有点麻烦,这里就分享下南琴浪大佬的一键脚本,只适用Debian系统,Ubuntu系统可以查看教程手动安装。

安装

Github地址:https://github.com/nanqinlang/tcp_nanqinlang-test

Debian 789系统都可以,使用命令:

1
2
wget https://raw.githubusercontent.com/nanqinlang/tcp_nanqinlang-test/master/tcp_nanqinlang-test.sh
bash tcp_nanqinlang-test.sh

使用脚本后会出现如下选项: 请输入图片描述 先选择1更换内核,然后reboot重启后,再使用bash tcp_nanqinlang-test.sh进行第2步开启超级暴力BBR模式。

如果在删除内核环节出现这样一张图 请输入图片描述 注意选择NO,然后根据提示操作。

有问题请咨询大佬,南琴浪博客:https://sometimesnaive.org/