linux 第五部分 系统管理员 网络设定与备份
系统基本设置
1.网络的设置 手动设置与dhcp自动获得 以及更改主机名称
centos 7 对网卡编号的规则
enol1 bios内建的网卡
ens1 bios内建的pci-e界面的网卡
enp2s0 pci-e界面的独立网卡 可能有多个插孔 会有s0 s1等等的编号
eth0 上述的名称都不实用 就回到原来的网卡编号
ifconfig -a 列出全部的网卡
系统建议不要手动修改配置文件 利用nmcli指令来设置网络参数
手动设置
method manual 手动
ip
netmask
gateway
DNS
hostname
nmcli connection show 网卡代号(eth0)
nmcli connection show
比较重要的参数
connection.autoconnect 开机是否启动
ipv4.method
ipv4.dns
ipv4.addresses
ipv4.gateway
举例:
nmcli connection modify eth0 \
> connection.autoconnect yes \
> ipv4.method manual \
>......
nmcli connection up eth0
nmcli connection show eth0
自动获取参数
nmcli connection modify eth0 \
> ipv4.method auto
修改主机名
hostnamectl [set-hostname 主机名]
例子
hostnamectl set-hostname www.centos.vbird 此为主机名
2.日期与时间的设置
时区的显示与设置
显示本地时间 utc时间 时区等信息
timedatectl [command]
list-timezones set-timezone set-time set-ntp
时间的调整
set-time 具体的时间
用ntpdate手动网络校时
ntpdate ntp服务器
hwclock -w 将校对后的时间写入bios
3.语言环境的设定
LANG与locale的指令能够查询目前的语系资料与变量 配置文件为/etc/locale.conf
操作系统的语系与软件的语系可能是不一样的
localectl 查询语系 操作系统
locale 语系 当前bash
举例:将locale改为en_US.utf8 在转换为图形界面
localectl set-locale LANG=en_US.utf8
systemctl isolate multi-user.target
systemctl isolate graphical.target
防火墙的简单设置
图形界面的设置
执行时期 :暂时 永久两种情况
zone 域:根据不同的环境所涉及的网络域
firewalld 默认设计 可能会被用到的网络环境 除了public 还有其他的zone 未启动
相关设置项目
服务 端口 规则 接口(网卡)
服务器硬件资料的收集
1.系统内建的dmidecode解析硬件配置
1 详细的系统资料 包含主板的型号与硬件的基础信息
4 cpu的相关资料
9 系统的相关插槽格式 包括pci pci-e
17 内存插槽规格
可以通过此命令查询 主板是否支持某内存条的类型
2.硬件信息的手机与分析
kernel检测到的各项硬件装置 会被记录到/proc与/sys当中 包括/proc/cpuinfo /proc/partitions /proc/interrupts等
显示硬件的简单指令
gdisk -l 列出分区
dmesg 观察核心运行过程中显示的各项信息记录
vmstat 分析系统目前的状态 cpu ram io
lspci 列出pci接口的装置
lsusb 列出usb端口的状态 与装置
iostat 与vmstat类似 列出cpu与周边设备的io状态
lspci [-vvn]
v 显示更多的pci接口的详细信息
vv 比v更加详细
n 直接观察pci的id而不是厂商名称
举例:
显示网卡的信息
lspci -s 00:03.0 -vv 数字为id值
s后面的数值去相关的文件当中找 /usr/share/hwdata/pci.ids 此为id与厂名的对应表
pci.ids文件如果陈旧 需要线上更新
命令为:update-pciids
lsusb
了解usb装置
lsusb [-t]
t 树状显示usb端口的相关性
iostat
c cpu状态
d 储存设备的状态
k 默认为block
m 以mb来显示结果
t 显示日期
3.硬盘的健康状态
smartd 服务检测ata与scsi界面的硬盘 被检测的硬盘必须支持smart协议
smartctl
a 显示硬盘的 完整信息
t 自我检测
举例
smartctl -t short /dev/sda 自我检测
smartctl -a /dev/sda 显示信息
备份要点
角色不同 备份的任务也不同
备份哪些文件 ;备份的媒介(光盘 ,硬盘 u盘 网络等);备份的方式;备份的频率;备份的工具(tar cpio dd dump等)
备份的文件:
/etc/ 系统配置目录 整个目录备份
/home/ 用户家目录 环境变量等 整个目录
/var/spool/mail/ 用户邮件
/var/spool/{at|cron}/ 用户设定的定时任务
/var/lib/ 库文件
/boot/ 系统启动 如果更改过核心 就需要备份
/root/ 根用户目录
/usr/local/ /opt 自行安装的软件
网络服务方面的文件
软件本身的配置文件 例如/etc 和/usr/local 整个目录
软件服务提供的资料 例如www 的资料 /var/www/整个目录以及系统的使用者家目录
mariadb(替代mysql数据库) /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 暂存 文件目录 不需要备份
备份用的媒体介质选择
nas设备自我容错 所以比较流行 小型的linux server 提供硬件或者软件的磁盘阵列 可以架设RAID10或者RAID5,6等 的等级
再简单点就是利用大容量的硬盘 多个 多次备份
备份种类 频率与工具的选择
1.完整的备份 ----累积备份 incremental backup
节省时间的备份方式 出现问题 直接将完整备份拿出就能解决问题
将/目录下的整个系统全部备份
原则:系统在进行完第一次完整备份后,经过一段时间的运作,比较系统与备份文件之间的差异 仅仅备份有差异的文件而已,而第二次累积备份则与第一次累积备份的文件比较,也是仅仅备份有差异的信息而已。
第二次的累积备份是当前系统与第一次累积备份的比较的差异资料 以此类推
还原的方式:系统先还原最原始的完整备份 然后还原第一次的累积备份 以此类推
差异备份与累积备份类似 区别在于 每一次备份都是与原始的完整备份相比较的结果 所以系统运行的时间越长 距离完整备份的时间越长 有差异的资料可能越大
使用的备份软件
完整备份的软件:dd cpio xfsdump/xfsrestore等等
dd可直接读取磁盘的sector 而不管文件系统 缺点是比较慢
cpio 备份所有文件名 需要配合find或其他寻找文件名的指令才能够处理
累积备份:xfsdump指令
举例:1.
dd if=/dev/sda of=/dev/sdb 备份整个磁盘分区
2.
find / -print | cpio -covB > /dev/st0 备份到磁带
cpio -iduv < /dev/st0 还原
3.假设/home为一个独立的文件系统 /backupdata也是一个独立的用来备份的系统
完整备份 :xfsdump -l 0 -L 'full' -M 'full' -f /backupdata/home.dump /home
累积备份:xfsdump -l l -L 'full-l' -M 'full-l' -f /backupdata/home.dumpl /home
tar 也可以用来进行完整备份
tar --exclude /proc --exclude /mnt --exclude /tmp --exclude /backupdata -jcvp -f /backupdata/system.tar.bz2
2.完整备份----差异备份 differential backup
与累积备份类似的工具 如果使用xfsdump来备份 每次备份的等级level都是level 1
也可以用rsync来进行镜像的备份 此命令可以对两个目录来进行镜像
rsync -av 来源目录 目标目录
3.关键资料的备份
1.关键资料备份 例如账号密码 邮件 网络服务等
2.安装最新的linux distribution
3.将备份的关键资料还原回去
备份可以用tar 配合date指令
VBird的备份策略与scripts
1.主机硬盘:使用一个独立的文件系统来存储备份资料 将此文件系统挂载到/backup当中 2.每天进行:经常变动的数据
3.每周进行:不常变动的数据 包括/home /var /etc /boot /usr/local等目录与特殊服务的目录
4.自动处理:利用/etc/crontab来自动提供备份的进行
5.异地备份:每月定期将文件从网络传输到另一部机器上面
每周备份的脚本 centos7
vi /backup/backupwk.sh
#!/bin/bash
#basedir=用来存储此脚本预计备份的资料的目录 独立文件系统
basedir=/backup/weekly
PATH=/bin:/usr/bin:/usr/sbin:export PATH
export LANG=C
设置要备份的服务的设定值 以及备份的目录
named=$basedir/named
postfixd=$basedir/postfix
vsftpd=$basedir/vsftp
sshd=$basedir/ssh
sambad=$basedir/samba
wwwd=$basedir/www
others=$basedir/others
userinfod=$basedir/userinfo
判断目录是否存在,如果不存在则予以建立
for dirs in $named $postfixd $vsftpd $sshd $sambad $wwwd $others $userinfod
do
[! -d "$dirs"] && mkdir -p $dirs
done
1.将系统主要的服务的配置文件分别备份下来 同时也备份/etc全部
cp -a /var/named/chroot/{etc,var} $named
cp -a /etc/postfix /etc/dovecot.conf $postfixd
cp -a /etc/vsftpd/* $vsftpd
cp -a /etc/ssh/* $sshd
cp -a /etc/samba/* $sambad
cp -a /etc/{my.conf,php.ini,httpd} $wwwd
cd /var/lib
tar -jpc -f $wwwd/mysql.tar.bz2 mysql
cd /var/www
tar -jpc -f $wwwd/html.tar.bz2 html cgi-bin
cd /
tar -jpc -f $others/etc.tar.bz2 etc
cd /usr/
tar -jpc -f $others/local.tar.bz2 local
2.参数设置的备份
cp -a /etc/{passwd,shadow,group} $userinfod
cd /var/spool
tar -jpc -f $userinfod/mail.tar.bz2 mail
cd /
tar -jpc -f $userinfod/home.tar.bz2 home
cd /var/spool
tar -jpc -f $userinfod/cron.tar.bz2 cron at
chmod 700 /backup/backupwk.sh
/backup/backupwk.sh
每日备份的脚本 centos7
vi /backup/backupday.sh
#!/bin/bash
basedir=/backup/daily/
PATH=/bin:/usr/bin:/sbin:/usr/sbin:export PATH
export LANG=C
basefile1=$basedir/mysql.$(date +%Y-%m-%d).tar.bz2
basefile2=$basedir/cgi-bin.$(date +%Y-%m-%d).tar.bz2
[! -d "$basedir"] && mkdir $basedir
#mysql的目录在/var/lib/mysql
cd /var/lib
tar -jpc -f $basefile1 mysql
#wwwde的cgi程序
cd /var/www
tar -jpc -f $basefile2 cgi-bin
chmod 700 /backup/backupday.sh
/backup/backupday.sh
备份周期设置 centos7
vi /etc/crontab
30 3 * * 0 root /backup/backupwk.sh
30 2 * * * root /backup/backupday.sh
远程备份的脚本
了解ip地址和提供sshd服务
利用rsync来上传备份的资料
提供某账号使用权限 并且不需要密码即可登录
vi /backup/rsync.sh
#!/bin/bash
remotedir=/home/backup/
basedir=/backup/weekly
host=127.0.0.1 主机
id=dmtsai 账号
程序
rsync -av -e ssh $basedir ${id}@${host}:${remotedir}
rsync搭配ssh来进行备份
还原过程
如果是硬件问题 更换硬件 利用完全备份还原即可
软件问题:
1.先断网 最好将系统进行完整的备份到其他的媒体上 来查验
2.检查登录日志文件 查找问题
3.安装全新系统 最新发行版
4.系统升级 与防火墙相关机制的配置
5.根据2中提供的错误 在安装完成新系统后 将bug修复
6.进行各个服务的相关的资料的回复
7.正式上线提供服务 并且进行测试