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.正式上线提供服务  并且进行测试
posted on 2017-11-27 09:05  学习记录园  阅读(488)  评论(0编辑  收藏  举报