CentOS7 ECS使用(慕课网付费课笔记)

版权声明:转载请注明出处~ https://blog.csdn.net/seven_north/article/details/88981533

查看版本信息

cat  /etc/redhat-release

查看内核

cat /proc/version

修改主机名

vi /etc/hostname

操作目录
来自慕课网

文件目录

查看目录

cd /;ls -l ./

查看目录下的文件数

ll /usr/bin/*|wc -l

查看进程

cd /run
cat sshd.pid

查看并修改时区

date		//查看当前系统时间
date -R		//查看当前时区
timedatectl		//查看系统时间状态
timedatectl set-timezone Asia/Shanghai		//设置为上海时区
timedatectl set-local-rtc 1		//将本地时间调整到与系统时间一致
timedatectl list-timezones		//列出当前可用时区

网卡接口命令

vi /etc/sysconfig/grub		//查看网卡
GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0 "//加入此行代码,关闭命名规则,关闭戴尔的命名规则

查看网卡与设置

ip a	//查看网卡
ip a add 192.168.8.149/24 dev eth0:2		//指定网卡接口添加IP地址--2表示接口2
ip a del 192.168.8.149/24 dev eth0:2	//删除IP地址
ip link set dev eth0 down/up				// 关闭/打开 eth0 网卡

修改主机IP地址

vi /etc/sysconfig/network-scripts/ifcfg-eth0

不同颜色代表不同意思

颜色 含义
蓝色 目录
黑色 文件
浅蓝色 链接
红色 压缩包
绿色 可执行文件
黑底黄字 设备文件

查看config信息

ifconfig

自动补全功能

wh + (tab * 2)

Buffers和Cached缓存的区别

什么时候操作系统内存有问题?

操作系统内存耗尽,将出发OOM机制【Out-Of-Memory】,导致操作系统重启
swap【虚拟内存】并不能解决内存问题
使用到 60% - 80%,需要重视

查看操作系统内存

top
free
free -m
不可回收部分 = free + buff/cache - available

查看端口状态

查看端口命令

netstat -luntp
netstat -an				//查看所有类型端口
netstat -an|grep 22		//只查看22端口
ss -luntp				//查看当前监听的端口

Systemd的使用和管理

Systemd的变化

文件扩展名及其含义
查看systemd支持的单元类型

systemctl -t help

如果无扩展名,systemd会默认是 服务类型( .service )

挂载点、设备会完全自动转化为对应类型

查看当前系统的挂载点

df -h

过滤挂载点

systemctl list-units |grep 'boot'

查看安装包已安装文件

rpm -ql nginx

Systemd基本命令
Systemd单元基本命令
Systemd优势

  • 支持并行启动,显著提高开机启动效率
  • CentOS7关机只关闭正在运行的服务
  • 对于服务的管理不需要基于init.d下的脚本
  • Systemd解决原有模式的缺陷【Service、Syslog】

关于targer

  • 涵盖了启动级别的概念
  • 理解为目标或组
  • target间可以相互关联
    系统启动运行级别

设置系统启动级别

systemctl list-dependencies		//查看当前 target 服务关联树
systemctl list-dependencies [target名称]		//加上名称查看该target服务下的关联树
systemctl --reverse list-dependencies vsftpd.service	//查看某个服务【如vsftpd.service】的上级关联关系--反查

编写单元文件-服务管理

软件包安装的单元		/usr/lib/systemd/system/
系统管理员安装的单元	/etc/systemd/system/

服务单元文件配置

[Unit]:		单元的说明及依赖相关设置
[Service]:	定义单元的管理方式
[Install]:	定义加入到target单元中

处理服务依赖关系
单元A要求单元B在A启动之前运行

[Unit]
Requires = B
After = B

B服务的单元文件

Wants和Requires 类似但存在区别,如果后面接的服务如果没有启动,其实不会影响到这个unit本身

定义服务启动类型Type


自定义服务单元:

1.程序准备(编写测试脚本)

cd  	/opt/work/
mkdir		/opt/work/		//创建目录
touch /tmp/imoocc.res		//输出到该文件下
vim imoocc_gen.sh			//新建文件

测试脚本

sh imoocc_gen.sh	//执行测试脚本
tail -f /tmp/imoocc.res		//查看实时的脚本进程

2.加入pid

在脚本中加入		echo $$ > /var/run/imoocc_gen.pid

加入PID
3.加入自定义单元(编写的服务[.service])

cd 	/usr/lib/systemd/system		//进入该目录下
cp	nginx.service  imoocc_gen.service	//copy一份现有文件进行修改

service服务文件

systemctl daemon-reload		//重载

timer定时任务单元

timers 可用来替换系统上的cron,定时控制服务事件(.service文件)
制定新定时任务 = service服务单元 + timer 定时单元

分类:

  • 单调定时器:从一个时间点过一段时间后激活定时任务
时间点类型 代表类型的时间点
OnActiveSec 以定时器启动为时间点
OnBootSec 以系统启动为时间点
OnStarupSec 以systemd启动为时间点
OnUnitActiveSec 上次定时器任务激活为时间点
OoUnitInactiveSec 上次定时器任务执行完毕的时间
  • 实时定时器(OnCalendar)
写法 代表生效时间
Fri 2018-11-23 11:11:11
或 2018-11-23 11:11:11
Fri 2018-11-23 11:11:11
2018-11-23
或 18-11-23
Fri 2018-11-23 00:00:00
11:11:11 Fri 2018-11-23 11:11:11
11:11 Fri 2018-11-23 11:11:11
hourly * - * - * *:00:00(每小时整点执行)
daily * - * - * 00:00:00(每天零点)
monthly * - * - 01 00:00:00(每个月1号,零点执行)
weekly Mon * - * - * 00:00:00(每个星期一零点执行)
* : 20 / 15 * - * - * * : 20 / 15 : 00 (每个整点的20分、35分、50分执行)
Wed * - * - * 17:48:00 Wed * - * - * 17:48:00(每个星期三下午5点48分执行)
10-15 * - 10 - 15 00:00:00(每一年的10月15号执行)

Timer定时任务单元
Timer单元任务

cp imoocc_gen.service  imoocc_gen.timer	//复制原来建好的service文件
vi imoocc_gen.timer

timer文件内容


systemctl start  imoocc_gen.timer		//执行定时任务

Systemd日志管理Journal

Journal : systemd 自己提供的日志工具和服务
配置文件 : /etc/systemd/journal.conf
Sytemd -> Journal -> RAM 【./tmpfs,/run/log/journal】

日志级别

编码 优先级 严重性
0 emerg 系统不可用
1 alert 必须立即采取措施
2 crit 严重状况
3 err 非严重错误状况
4 warning 警告状况
5 notice 正常但重要的事件
6 info 信息性事件
7 debug 调试级别消息
Journalctl  //查看所有日志[粗体是err以下级别,红色是err以上级别]
journalctl [OPTIONS][MATCHES]		//命令使用
journalctl -n 20	//查看最后的20行
journalctl -f		//实时显示所有日志
journalctl -p err..alert	//展示err至alert级别的信息
journalctl -u imoocc_gen.service	//查看某个单元
journalctl -b 	//查看系统启动过程是否报错
journalctl --since today 	//查看今天的日志
journalctl --until "30 min ago"		//查看截止至30min之前的日志
journalctl --since today --until "2 hours ago"//查看今天截止至两个小时之前的日志
journalctl _PID=1	//查看pid为1的日志
journalctl _UID=0

FirewallD防火墙

  • CentOS7里 iptables 和 firewalld 共存
  • firewalld 的底层调用的iptables,建立在iptables之上
  • firewalld 在使用上比iptables更人性化

Firewalld使用区域管理

ls /usr/lib/firewalld/zones/			//Firewalld使用区域默认类型
systemctl start firewalld.service	//启动
firewall-cmd --list-all		//查看默认区域
firewall-cmd --list-all-zones	//查看所有区域
firewall-cmd --get-active-zones		//查看活跃区域
firewall-cmd --set-default-zones=home	//设置默认区域
默认区域:public
种类:活跃区域(active)和非活跃区域

Firewalld中的区域与接口

firewall-cmd --zone=home --change-interface=eth0		//改变区域网卡接口
firewall-cmd --zone=home --remove-interface=eth0		//移除区域网卡接口
firewall-cmd --zone=home --add-interface=eth0		//添加区域网卡接口
firewall-cmd --zone=public --add-port=21/tcp	//临时性添加网卡端口21到白名单,重启失效
firewall-cmd --zone=public --add-port=21/tcp --permanent	//永久性添加网卡端口21到白名单

Firewalld规则配置

cd  /usr/lin/firewalld/services		//服务
firewall-cmd --zone-public --add-service=http		//临时性把http服务添加到白名单规则
firewall-cmd --zone-public --add-service=http	--permanent	//永久性把http服务添加到白名单规则

firewalld中区域默认规则设定

  • 阻塞区域(block):任何传入的网络数据包都将被阻止
  • 工作区域(work):相信网络上的其他计算机,不会损害你的计算机
  • 家庭区域(home):详细网络上的其他计算机,不会损害你的计算机
  • 公共区域(public):不相信网络上的任何计算机,只有选择接受传入的网络连接
  • 隔离区域(DMZ):隔离区域也称为非军事区域,内外网络之间增加的一层网络,起到缓冲作用。对于隔离区域,只有选择接受传入的网络链接
  • 信任区域(trusted):所有网络连接都可以接受
  • 丢弃区域(drop):任何传入的网络连接都被拒绝
  • 内部区域(internal):信任网络上的其他计算机,不会损害你的计算机。只有选择接受传入的网络连接
  • 外部区域(external):不相信网络上的其他计算机,不会损害你的计算机。只有选择接受传入的网络链接
firewall-cmd --set-default-zone=drop 			//设置默认区域规则
firewall-cmd --zone=drop --change-interface=eth0		//改变接口地址
firewall-cmd --zone=trusted  --add-source=192.168.1.1/21		//设置IP白名单

LSB负载均衡

负载均衡就是将访问流量根据转发策略分发到后端多台服务器

  • 承载高并发、提高更高性能
  • 高可靠性、实现后端服务冗灾

负载均衡配置

轮训协议 :轮询、加权轮询、加权最小连接数


弹性伸缩

自动为您调整弹性计算资源大小,以满足您业务需求的变化

优势

  • 实现自动化资源调配

实现模式

  • 定时模式:自定义自动伸缩发生的时间和频率
  • 动态模式:基于云监控性能指标(如CPU利用率),自动增加或减少ECS实例
  • 固定数量模式:保证最小台数ECS以运行实例
  • 自定义模式
  • 健康模式
  • 多模并行模式:多种模式并行处理

自动触发任务管理

  • 定时伸缩,使用定时任务
  • 动态伸缩,使用报警任务

CenteOS 文件系统

CentOS文件系统

XFS文件系统优势

  • EXT4、XFS文件系统都是比较成熟稳定的文件系统
  • XFS文件系统扩展性支持能力高于EXT4

为什么需要添加云盘

  • ECS的存储空间不够
  • 数据隔离
  • 提升性能

添加XFS文件系统云盘

vda与vda1是同磁盘分区
vda与vdb是不同磁盘

fdisk /dev/vdb	//进入磁盘设备
mkfs.xfs  /dev/vdb1  //根据设置格式化磁盘
mkdir logs
mount  /dev/vdb1  /logs/		//将创建的目录挂载到磁盘下

GRE隧道

GRE(Generic Routing Encapsulation,通用路由封装)协议,把两个不同的VPC网络通过建立一条虚拟隧道的方式连接到一起

GRE发包原理
ip命令配置路由

ip  r/route			//查看路由策略
ip  route add 192.168.1.0/24  via  192.168.1.253  dev  eth0   //添加路由
ip  route del 192.168.1.0/24  dev  eth0	//删除路由
ip  tunnell  add  tun1  mode  gre  remote 106.14.169.52  local  172.31.0.187	//新建隧道

GRE隧道实现VPC互连

//本机配置[华北地址段]
lsmod  |grep  ip_gre
modprobe  ip_grp		//加载ip_gre模块
lsmod  |grep  ip
ip  tunnel add tun1 mode gre remote  106.14.137.202【远程公网IP】local 172.31.0.187【本地内网IP】
ip link  set  tun1 up	//激活隧道
ip addr  add  192.168.1.1 peer 192.168.1.2 dev tun1	//规划网段互连地址
ip route add 10.168.0.0/24【华东地址段】 dev tun1


//远端配置[华东地址段]
ip  tunnel add tun1 mode gre remote 39.104.109.250 【远程公网IP】local 10.168.0.89【本地内网IP】
ip link  set tun1 up	//激活隧道
ip addr  add  192.168.1.2 peer 192.168.1.1 dev tun1	//规划网段互连地址
ip route add 172.31.0.0/24【华北地址段】 dev tun1

---阿里云后台添加互信安全组规则

配置VPC
网段配置规划


慕课视频链接

猜你喜欢

转载自blog.csdn.net/seven_north/article/details/88981533