文件是存储在硬盘上的,硬盘上的最小存储单位是扇区,每个扇区的大小是512字节.
inode:元信息(文件的属性,权限,创建者,创建日期等等,文件名不算)
block:块,连续的八个扇区组成一个块,一个块的大小是4kb,创建一个文件,最小要占4kb,这是文件的最小存储单位
操作系统读取硬盘(机械),是一次性读取多个扇区,一个块一个块的读取数据
创建文件:第一个是实际空间大小,第二个是元信息.元信息(128字节或者256字节)和实际数据都保存在硬盘上.
一个文件必须占用一个inode(只要创建文件必须有一个inode号),至少占用一个block(空文件,也要占一个块)
时间戳:
atime 访问,只要读取文件就会更新这个时间
mtime 修改文件数据,更改文件的属性都会更新这个时间
ctime 修改文件的权限也会更新这个时间
inode号:linux都是识别文件的inode号
系统找到这个文件名对应的inode号码
元信息发生改变时,inode号也会跟着改变
文件存储
inode是根据磁盘大小来定的,磁盘越大,inode号越多,磁盘越小inode号越少
总结:
inode号和文件名分离,二者只是映射关系,linux呈现以下几个现象
1.如果文件名包含特殊字符,rm可能无法正常删除,只能通过inode号删除
2.如果移动文件,重命名文件,对inode号无影响
3.一旦开始对文件操作,后续所有的认证和识别都是通过inode来的,不再考虑文件名
4.元信息发生变化,inode也会发生变化
如果inode号满了,ext4文件系统和xfs文件系统之间有什么区别
ext4 满了无法再新建文件
xfs 还有缓冲的余地
xfs文件系统,如何能够实现备份和恢复?
xfsdump软件 备份
使用限制:
只能备份xfs的文件系统
只能备份已经挂载的文件系统
只有root权限才能进行备份
备份之后的数据要恢复,只能使用xfsrestore解析恢复
如果两个设备的uuid相同,不能备份(这种情况几乎不会有)(blkid)
mount /dev/sdh1 /data1 对追加上的磁盘sdh1进行挂载,挂载到data1目录下
xfsdump -f /opt/backup /dev/sdh1 [-L backup -M sdh1]
-f 执行文件
/opt/backup 必须是个文件,必须是个不存在的文件,不能使目录,如果是已经在,必须是个空文件
[-L(备份文件的标签) ]
[-M(设备标签,需要备份的硬盘分区)]
/dev/sdb2 设备
备份的级别:全量备份和增量备份
0 默认
1
xfsdump -f 指定需要备份的硬盘分区(硬件设备的挂载点)
-L 指定标签
-M 指定设备标签
-s 备份单个文件,-s后面不能直接跟路径
具体实现:
备份后又恢复的文件,inode号是否会发生变化
会
xfsrestore软件 恢复
xfsrestore -f /opt/backup /data1/
ext4只能在centos6
ext3格式
extundelete
系统的日志类型以及日志如何分析
linux系统本身和日志和发部分服务器程序的日志都在/var/log目录下
/var/log/messages 记录了linux的内核消息,各种应用程序的公共日志消息.
应用程序公共日志:开,关,重启,网络错误,程序故障,这些都属于公共日志
访问日志和一些自由业务不包含在其中,有自己的目录
cron:定时任务日志
dmesg:开机过程中的日志
mailog:记录进入或者发出的系统的电子邮件
secure:用户认证的相关信息
rsyslog
linux日志级别:
数字越小,优先级越大,消息就越重要
0 EMEGR 紧急 会导致主机系统不可用的情况,会导致系统崩溃,比如说磁盘要满了,就会提示EMERG
1 ALERT 警告 必须马上要采取措施解决的问题.比如说密码到期,数据库崩溃
2 CRT 严重 比较严重的情况.比如说磁盘读写出了故障,有些程序的功能无法启动
3 ERR 错误 运行出现错误.比如说程序启动失败,端口被占用等等,见的最多的情况,出现了也是要尽快解决的.*
4 WARNING 提醒 可能会影响功能,需要提醒用户的重要事件,但是不是报错,不过如果磁盘使用率到了85%还是需要处理下的*
5 NOTICE 注意 也是需要用户注意的,这个notice的信息无需处理*
6 info 信息 系统或者应用在程序在工作中产生的正常消息*
7 debug 调试 程序在开发阶段,调试程序时的信息
8 none 没有优先级 不记录任何日志消息
日志级别怎么定义:
vim /etc/rsyslog.conf
*.info *表示所有,表示系统当中的设备,或者程序 info:包含info以及info级别以上的日志
auth 用户认证产生的日志
daemon 守护后台进程的进城
authpriv ssh,ftp登录验证的信息
news 网络传输产生的消息
syslog 系统的相关日志
kern 系统的内核日志
user 用户进程日志
local0-local7 自定义程序的日志
举例
mail.info /var/log/mail.log:记录邮件的信息,包含info和info以上的,记录 到/var/log/mail.log
mail.=info /var/log/mail.log 只记录日志级别是info的
mail.!info /var/log/mail.log 除了info不记录,其他的都记
mail.info:news.info
mail,news.info
表示当前日志发生的事件
test1 表示发生的主机名
systemd 哪个系统产生了这个日志
Starting The Apache HTTP Server…:日志的具体内容
第一个实验 ssh的日志单独列出来,作为一个独立的日志文件
关闭两个shell连接的防火墙
systemctl stop firewalld 关闭防火墙
setenforce 关闭安全机制
第一步第一个连接内:
vim /etc/rsyslog.conf 修改定义日志记录的配置文件
: set number
local6.* /var/log/ssh.log 将local6等级的记录存放到var下的log下的ssh.log文件中
wq
vim /etc/ssh/sshd_config 修改ssh配置文件
: set number
32gg #
SyslogFacility LOCAL6
wq
systemctl restart rsyslog.service 重启日志服务
systemctl restart sshd 重启sshd服务
cd /var/log
tail -f /var/log/ssh.log
第二步第二个连接内:
ssh root@192.168.118.51
第二个实验:
配置日志服务器,来进行日志收集
test1 192.168.118.52 日志收集服务器
test2 192.168.118.53 53上面产生的日志,都会发到10上,20自己不再记录日志
@@表示使用tcp协议进行数据传输
@表示使用UDP协议进行传输
端口状态
LISTEN 监听端口是否开启,端口是否正常传输数据
ESTABLISHED 表示端口之间已经建立连接而且在传输数据
192.168.118.53
vim /etc/rsyslog.conf
19行 $ModLoad imtcp 解掉注释
20行 $InputTCPServerRun 514 解掉注释
#*.info;mail.none;authpriv.none;cron.none /var/log/messages
55行 *.info;mail.none;authpriv.none;cron.none @@192.168.118.53
wq!
systemctl restart rsyslog.service
netstat -antp|grep 514
总结
文件系统:对文的操作,用户是针对文件名,系统针对的inode号,系统是inode来进行识别,inode号又叫元信息,权限,大小,时间戳
block块 文件的最小存储单位,连续的8个扇区,4k
创建文件:既要保存元信息,又要保存实际数据
备份和恢复:XFS ext3
日志:
error
*.info;mail.none;authpriv.none;cron.none @@192.168.118.53
wq!
systemctl restart rsyslog.service
netstat -antp|grep 514
总结
文件系统:对文的操作,用户是针对文件名,系统针对的inode号,系统是inode来进行识别,inode号又叫元信息,权限,大小,时间戳
block块 文件的最小存储单位,连续的8个扇区,4k
创建文件:既要保存元信息,又要保存实际数据
备份和恢复:XFS ext3
日志:
error
info