Linux(19):基础系统设定与备份策略

系统基本设定

网络设定(手动设定与 DHCP 自动取得)

通常网络参数的取得方式常见的有底下这几种:
1.手动设定固定 IP
常见于学术网络的服务器设定、公司行号内的特定座位等。这种方式你必须要取得底下的几个参数才能够让你的 Linux 上网的:
-IP
-子网掩码(netmask);
-通讯闸(gateway)
-DNS主机的IP(通常会有两个)

2.网络参数可自动取得(dhcp 协议自动取得)
常见于 IP 分享器后端的主机,或者是利用电视线路的缆在线网(cable modem),或者是学校宿舍的网络环境等。这种网络参数取得方式就被称为dhcp。

3.光纤到家与 ADSL 宽带拨接
不论 IP 是固定的还是每次拨接都不相同(被称为浮动式IP),只要是透过光纤到家或宽带调制解调器【拨接上网】的,就是使用这种方式。拨接上网虽然还是使用网络卡连接到调制解调器上,不过,系统最终会产生一个替代调制解调器的网络接口 (ppp0),那个 ppp0也是一个实体网络接口。

CentOS 7 对于网卡的编号的规则:
eno1:代表由主板 BIOS内建的网卡;
ens1:代表由主板 BIOS内建的 PCI-E界面的网卡;
enp2s0:代表 PCI-E 界面的独立网卡,可能有多个插孔,因此会有s0, s1…的编号~
eth0:如果上述的名称都不适用,就回到原本的预设网卡编号。

【ifconfig -a】可以将网卡全部列出。

手动设定 IP 网络参数

假设已经向 ISP (Internet Service Provider) 取得网络参数,基本上的网络参数需要这些数据的:
method:manual (手动设定);
IP:172.16.1.1;
netmask:255.255.0.0;
gateway: 172.16.200.254;
DNS: 172.16.200.254;
hostname:study.centos.feng

nmcli 是透过一个名为【联机代号】的名称来设定是否要上网,而每个【联机代号】会有个【网卡代号】,这两个东西通常设定成相同。

nmcli connection show [网卡代号]

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
IP4,IP6 指的是目前的实际使用的网络参数,最上面的 connection 开头的部份则指的是联机的状态。
比较重要的几个参数:
connection.autoconnect [yes|no]:是否于开机时启动这个联机,预设通常是 yes 才对;
ipv4.method [auto/manual]:自动还是手动设定网络参数的意思;
ipv4.dns [dns_server_ip]:就是填写 DNS 的IP地址;
ipv4.addresses [IP/Netmask]:就是 IP 与 netmask 的集合,中间用斜线/来隔开;
ipv4.gateway [gw_ip]:就是 gateway 的IP地址。

可以使用 nmcli 设定网络参数。设定完毕后,实际生效还得要启动(up)。

nmcli connection up [网卡代号]

自动取得 IP 参数

如果网络是由自动取得的 DHCP 协议所分配的,只需要知道 ipv4.method 那个项目填成 auto即可。

在这里插入图片描述

修改主机名

主机名的修改就得要透过 hostnamectl 这个指令来处理。
在这里插入图片描述
hostnamectl set-hostname [主机名]

日期与时间的设定

时区的显示与设定

timedatectl [command]

在这里插入图片描述
在这里插入图片描述

时间的调整
时间的格式可以是【yyyy-mm-dd HH:MM】的格式。

timedatectl set-time "2023-12-10 20:15"

用 ntpdate 手动网络校时
手动网络校时透过 ntpdate 这个指令即可。

ntpdate tock.stdtime.gov.tw

tock.stdtime.gov.tw指的是台湾地区国家标准实验室提供的时间服务器。
至于 hwclock 则是将正确的时间写入 BIOS时间记录内。如果确认可以执行,未来应该可以使用 crontab来更新系统时间。

hwclock -w

语系设定

LANG 与 locale 的指令能够查询目前的语系数据与变量,/etc/locale.conf 其实就是语系的配置文件。
系统的语系与目前软件的语系数据可能是可以不一样的。如果想要知道目前【系统语系】的话,除了呼叫配置文件之外,也能够使用 localectl 来查阅。

在这里插入图片描述

防火墙简易设定

防火墙其实是一种网络数据的过滤方式,它可以依据服务器启动的服务来设定是否放行,也能够针对信任的用户来放行。
由于目前 CentOS 7 的预设防火墙机制为 firewalld,他的管理界面主要是透过指令列 firewall-cmd 这个详细的指令。

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
组态:【执行时期】与【永久记录】的差异
基本上,防火墙的规则拟定大概有两种情况,一种是【暂时用来执行】的规则,一种则是【永久记录】的规则。一般来说,刚刚启动防火墙时,这两种规则会一模一样。不过,后来可能会暂时测试而加上几条规则,如果该规则没有写入【永久记录】区的话,那下次重载防火墙时,该规则就会消失。
不要只是在运行时间增加规则设定,而是必须要在永久记录区增加规则才行。

区域(zone):依据不同的环境所设计的网络界域(zone)
早期的 iptables 防火墙服务,所有的规则都得要自己手动来撰写,然后规则的细分得要自己去规划,所以很可能会导致一堆无法理解的规则。
新的 firewalld 服务就预先设计这些可能会被用到的网络环境,里面的规则除了public(公开网域)这个界域(zone)之外,其它的界域则暂时为没有启动的状况。因此,在预设的情况下,只要考虑 public 那个项目即可。

相关设定项目
防火墙规则通常需要设定的地方有:
服务:一般来说,如果 Linux server 是作为 Internet 的服务器,提供的是比较一般的服务,那么只要
处理【服务】项目即可。预设服务器已经提供了 ssh 与 dhcpv6-client 的服务埠口;
端口:如果提供的服务所启用的埠口并不是正规的埠口。那如果想要让人家连进来,就不能只开放上面的【服务】项目,连这个【端口】的地方也需要调整才行。另外,如果有某些比较特别的服务是 CentOS 预设没有提供的,所以【服务】当然也就没有存在。这时也可以直接透过端口来搞定它;
丰富规则(rich rule):如果有【整个网域】需要放行或者是拒绝的时候,那么前两个项目就没有办法适用,这时就得要这个项目来处理了。
界面:就是这个界域主要是针对哪一个网络卡来做规范的意思;

服务器硬件数据的收集

以系统内建 dmidecode 解析硬件设备

系统有个名为 dmidecode 的软件,它可以解析CPU型号、主板型号与内存相关的型号等等。

dmidecode -t type

在这里插入图片描述
列出整个系统的硬件信息:
在这里插入图片描述

硬件资源的收集与分析

Linux kernel 在开机时就能够侦测主机硬件并加载适当的模块来驱动硬件了。而核心所侦测到的各项硬件装置,后来就会被记录在 /proc 与 /sys 当中了。包括 /proc/cpuinfo, /proc/partitions, /proc/interrupts 等等。

其实核心所侦测到的硬件可能并非完全正确。因为他仅是【使用最适当的模块来驱动这个硬件】而已,所以有时候难免会误判啦(虽然机率非常之低)。

除了直接呼叫出 /proc 底下的文件内容之外, Linux有提供几个简单的指令来将核心所侦测到的硬件叫出来:
gdisk:可以使用 gdisk -l 将分区表列出;
dmesg:观察核心运作过程当中所显示的各项讯息记录;
vmstat:可分析系统(CPU/RAM/IO)目前的状态;
lspci:列出整个 PC 系统的 PCI 接口装置;
lsusb:列出目前系统上面各个USB端口口的状态,与连接的USB装置;
iostat:与vmstat类似,可实时列出整个CPU 与接口设备的Input/Output状态。

lspci

lspci [-vvn]

在这里插入图片描述在这里插入图片描述不必加上任何选项,就能够显示出目前的硬件配备为何。如果想要了解某个设备的详细信息时,可以加上 -v 或 -vv 来显示更多的信息。

lspci -s 00:01.0 -vv

-s 后面接的那个怪东西每个设备的总线、插槽与相关函数功能。
使用 lspci 时,所有的数据都是由 /proc/bus/pci/ 目录下的数据所取出的。不过,由于硬件的发展太过迅速,防止 pci.ids 可以使用命令在线更新对应的文档:update-pciids

lsusb
系统接了多少个USB 装置:

lsusb [-t]
# -t:使用类似树状目录来显示各个 USB 端口口的相关性。

在这里插入图片描述
iostat

iostat [-c|-d] [-k|-m] [-t] [间隔秒数] [侦测次数]

在这里插入图片描述在这里插入图片描述在这里插入图片描述

了解磁盘的健康状态

smartd 服务可以查询磁盘好坏。
在这里插入图片描述

备份要点

具有备份意义的 Linux 数据

具有备份意义的文件通常可以粗分为两大类,一类是系统基本设定信息、一类则是类似网络服务的内容数据。
操作系统本身需要备份的文件:
这方面的文件主要跟【账号与系统配置文件】有关系。
主要的需要备份的账号的文件呢:/etc/passwd,/etc/shadow,/etc/group,/etc/gshadow,/home底下的用户家目录等等,而由于Linux预设的重要参数档都在 /etc/ 底下,所以只要将这个目录备份下来的话,那么几乎所有的配置文件都可以被保存的。
至于 /home 目录是一般用户的家目录,自然也需要来备份;由于使用者会有邮件,所以】 /var/spool/mail/ 内容也需要备份;另外,由于如果自行更动过核心,那么 /boot 里头的信息也就很重要。所以,操作系统本身的数据必须要备份的文件为:
/etc/ 整个目录;
/home/ 整个目录;
/var/spool/mail/;
/var/spoll/{atlcron}/;
/boot/;
/root/;
如果自行安装过其他的软件,那么 /usr/local /或 /opt 也最好备份一下。

网络服务的数据库方面:
首先是这些网络服务软件的配置文件部分,如果网络软件安装都是以原厂提供的为主,那么配置文件案大多是在 \etc 底下;若套件大多来自于自行的安装,那么 /usr/local这个目录可就相当的重要了。此外,使用者主动提供的文件,以及服务运作过程会产生的数据,都需要被考虑来备份。
若假设提供的服务软件都是使用原厂的 RPM 安装的。所以要备份的数据文件有:
软件本身的配置文件案,例如:/etcl整个目录,/usr/local/ 整个目录;
软件服务提供的数据,以 WWW 及 Mariadb 为例;
WWW资料:/var/www 整个目录或 /srv/www 整个目录,及系统的用户家目录;
Mariadb:/var/lib/mysql 整个目录;
其他在 Linux主机上面提供的服务之数据库文件。

推荐需要备份的目录:
如果硬件或者是由于经费的关系而无法全部的数据都予以备份时,至少需要备份这些目录:
/etc;
/home;
/root;
/var/spool/mail/, /var/spool/cron/, /var/spool/at/;
/var/lib/;

不需要备份的目录:
/dev:这个随便要不要备份;
/proc,/sys,/run:这个真的不需要备份啦!
/mnt,/media:如果没有在这个目录内放置自己系统的东西,也不需要备份;
/tmp:存暂存档不需要备份;

备份用储存媒体的选择

在备份的时候,选择一个【数据存放的地方】也是很需要考虑的一个因素。

异地备援系统
【异地备援系统】:将系统数据【备份】到其他的地方去。
缺点就是带宽严重的不足。在这种状态下,所能采取的策略大概就是【仅将最重要的数据给他传输回去】。

储存媒体的考虑
【近端的装置来备份】
过去使用的储存媒体可能有 Tape, Mo, Zip, CD-RW, DVD-RW,外接式磁盘等等。近年来由于磁盘容量不断上提,加上已经有便宜的桌上型 NAS储存设备,这些 NAS储存设备就等于是一部小型Linux server,里面还能够提供客制化的服务,可能提供硬件或软件的磁盘阵列,包括不同的连接界面与传输协议。

备份的种类、频率与工具的选择

完整备份之累积备份(Incremental backup)

如果主机是负责相当重要的服务,因此如果有不明原因的当机事件造成系统损毁时,希望在最短的时间内复原系统。此时,如果仅备份关键数据时,那么得要在系统出错后,再去找新的 Linux distribution 来安装,安装完毕后还得要考虑到数据新旧版本的差异问题,还得要进行数据的移植与系统服务的重新建立等等,等到建立妥当后,还得要进行相关测试。这种种的工作需要耗费大量的时间。所以,仅有关键数据是不够的。
完整备份的话:若硬件出问题导致系统损毁时,只要将完整备份拿出来,整个给他倾倒回去硬盘,所有事情就搞定了。有些时候(例如使用dd 指令)甚至连系统都不需要重新安装。

完整备份就是将根目录(/)整个系统通通备份下来的意思。在某些场合底下,完整备份也可以是备份一个文件系统(filesystem)。

累积备份的原则

虽然完整备份在还原方面有相当良好的表现,但是系统用的越久,数据量就会越大。如此一来,完整备份所需要花费的时间与储存媒体的使用就会相当麻烦。所以,完整备份并不会也不太可能每天都进行的。
如果每天都备份数据有两种方式:累积备份与差异备份。

所谓的累积备份,指的是在系统在进行完第一次完整备份后,经过一段时间的运作,比较系统与备份文件之间的差异,仅备份有差异的文件而已。而第二次累积备份则与第一次累积备份的数据比较,也是仅备份有差异的数据而已。如此一来,由于仅备份有差异的数据,因此备份的数据量小且快速!备份也很有效率。
在这里插入图片描述累积备份的还原方面比较麻烦:依次还原累积备份的数据,才是最完整的还原程序。

完整备份常用的工具有 dd, cpio, xfsdump/xfsrestore 等等。因为这些工具都能够备份装置与特殊文件。
dd 可以直接读取磁盘的扇区 (sector) 而不理会文件系统,是相当良好的备份工具,不过缺点就是慢很多;cpio 是能够备份所有档名,不过,得要配合 find 或其他找文件名的指令才能够处理妥当。以上两个都能够进行完整备份,但累积备份就得要额外使用脚本程序来处理。
可以直接进行累积备份的就是 xfsdump 这个指令。

完整备份之差异备份(Differential backup)

差异备份与累积备份有点类似,也是需要进行第一次的完整备份后才能够进行。
差异备份指的是:每次的备份都是与原始的完整备份比较的结果。所以系统运作的越久,离完整备份时间越长,那么该次的差异备份数据可能就会越大。
在这里插入图片描述
差异备份所使用的磁盘容量可能会比累积备份来的大,但是差异备份的还原较快,因为只需要还原完整备份与最近一次的差异备份即可。

关键数据备份

完整备份虽然有许多好处,但就是需要花费很多时间。所以,如果在主机提供的服务并不是一定要24小时提供的前提下,可以仅备份重要的关键数据即可。
关键数据备份不需要整个系统都备份。

灾难复原的考虑

硬件损毁,且具有完整备份的数据时
由于是硬件损毁,所以不需要考虑系统软件的不稳定问题,所以可以直接将完整的系统复原回去即可。
首先,必须要先处理好硬件,然后依据你的备份状态来复原。举例来说,如果是使用差异备份,那么将完整备份复原后,将最后一次的差异备份复原回去,系统就恢复了。

由于软件的问题产生的被攻破资安事件
由于系统的损毁是因为被攻击,此时即使恢复到正常的系统,那么这个系统依然会被攻破。所以,此时完整备份的复原可能不是个好方式。
最好是需要这样进行啦:
1.先拔除网络线,最好将系统进行完整备份到其他媒体上,以备未来查验;
2.开始查阅登录档,尝试找出各种可能的问题
3.开始安装新系统(最好找最新的distribution);
4.进行系统的升级,与防火墙相关机制的制订;
5.根据 2 的错误,在安装完成新系统后,将那些 bug 修复;
6.进行各项服务与相关数据的恢复;
7.正式上线提供服务,并且开始测试;

《鸟哥的Linux私房菜-基础篇》学习笔记

  • 28
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
系统、数据库备份和恢复策略 一、各数据库备份策略 目前应用服务器采用Oracle RAC数据库,应用服务器采用双机备份,主备机数据库通过磁阵共享信息。 备份采用两种方式: 1. 配置信息备份 数据库定时调用备份程序,备份当前配置信息,通过oracle定时任务,每间隔一 周备份一次,具体时间可设置,默认7天,保留最近5次备份。 2. 数据信息备份 在数据库服务器上提供了备份脚本,/home/oracle/backup/strbackup.sh、/hom e/oracle/backup/databackup.sh,通过linux计划任务,每周一凌晨备份一次, 具体时间可设置,默认7天,保留最近20次备份备份文件目录为/home/oracle/backup,备份完成后生成压缩文件形如 bts_com_str20160111.zip,包含:备份文件bts_com_str20160111.dmp、备份日 志bts_com_str20160111.log bts_com_data20160111.zip,包含:备份文件bts_com_data20160111.dmp、备份 日志bts_com_data20160111.log 二、备份恢复 数据库恢复可恢复到前一次备份时的内容。 应急恢复流程 数据库关闭 su - oracle sqlplus / as sysdba shutdown immediate 数据库启动 su - oracle lsnrctl start sqlplus / as sysdba startup exit 数据库恢复 1. 在备用数据库建立用户并赋予权限 2. 使用imp命令导入基础数据结构包bts_com_str.dmp 3. 导入配置信息bts_com_data.dmp 4. 导入最近一次备份的全量信息bts_com_alarm.dmp 上述三步命令见附件expimp.txt 5. 检查存储过程和序列情况 6. 检查定时任务配置 接口服务器恢复 1. 确认备用接口服务器环境,包括java安装,环境变量配置,编码设置等 2. 拷贝备份接口程序 3. 启动接口和接口程序守护进程 页面服务器恢复 1. 确认备用页面服务器环境,包括java安装,环境变量配置,编码设置等 2. 拷贝war包 3. 启动服务器进程 ----------------------- 12全文共3页,当前为第1页。 12全文共3页,当前为第2页。 12全文共3页,当前为第3页。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飞大圣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值