10.磁盘管理
1.磁盘基础
磁盘数据概述
磁盘的内部构造
磁头,磁道,扇区,柱面
2磁盘接口
磁盘的分区方法:
1.fdisk(小于2T)
2.gdisk(大于2T)
3格式化:
mkfs.ext4
mkfs.xfs
4磁盘物理结构:
盘片:
磁道:
扇区:
柱面:
磁头:
5磁盘接口类型
IDE-SCSOI
SATA-SAS
MSATA-M2
6磁盘命名:
物理:/dev/sda1
虚拟:/dev/vda1
7分区管理:
为什么分区
fdisk(小于2T)
可以分四个主分区
可以分三个主分区一个逻辑分区三个扩展分区
gdisk (大于2T)
可以分128个主分区
mkfs格式化系统
mkfs.ext2 分区
mkfs.ext3 分区
mkfs.ext4 分区
mkfs.ext5 分区
mkfs.xfs 分区
8挂载管理:
临时挂载卸载
mount /dev/sdb1 /data #将/dev/sdb1 挂载到data目录下
永久挂载
写入到/etc/fastab文件中
UUID="189eea82-2540-44e9-95c1-4c8e1716b0ef" /root/sdc2 xfs defaults 0 0
mount -a #检测挂载
df -h #查看
9虚拟磁盘swap
swap应用
10文件系统
作用
类型
结构
文件故障修复
尝试使用xfs_repair /dev/sdc1
修复失败使用 -L 强制修复 repair -L /dev/sdc1
11 block,inode节点满了:
磁盘空间满了无法写入
磁盘空间未满无法写入,inode满了造成的(删除0kb文件)
112 RAID:
提升读写速度,保证数据安全,防止数据丢失,保证磁盘高可用,在使用RAID的同时还需要备份数据
RAID0:至少两块盘,读写性能好,没有冗余,适合无状态服务(web)
RAID1: 至少两块盘,写入性能一般,读取快有容错机制,有50%浪费,适合系统盘
RAID5:至少三块盘,并且允许坏一块盘(修复时间较长,修复过程中可能造成其他盘损坏),读写速度快,有一块坏盘,读性能会下降。
RAID10:先做RAID1在做RAID0 磁盘利用率50%,应用场景数据库
13LVM:
pvcreate /dev/sdb #创建pv /dev/sdb
pvcreate /dev/sdc #创建pv /dev/sdc
vgcreate VG1 /dev/sdb #创建把sdb加入VG1中
vgextend VG1 /dev/sdc#扩展VG1
lvcreate -L 50G -n LV1 VG1 #创建lv -L 指定大小 -n 指定名称 从VG1中取
lvcreate -l +100%FREE -n LV1 VG1
lvextend -L +800M /dev/VG1/LV1 #扩展lv
mkfs.xfs /dev/VG1/LV1 # 给LV1赋予一个xfs的文件系统
mkdir /LV1
mount -t xfs /dev/VG1/LV1 /LV1 #挂载文件系统
lvremove /dev/VG1/LV1 #删除LV
vgreduce vg1 /dev/sdd #将sdd从vg组中移除
pvremove /dev/sdd #移除pv
缩减卷组:
注意:需要在统一卷组
先将lvm挂载到目录然后向里面写入数据
给vg(/dev/sdd)扩展一块盘替换sdc
pvmove /dev/sdd
将 /dev/sdc 移除
14 crontbl 定时任务
-e 编辑
-l 查看
-u 指定用户
语法:
* * * * * ls
分 时 日 月 周
示例:
每小时的第3和第15分钟执行command
3,15 * * * * command
每天上午8-11点的第3和15分钟执行command:
3,15 8-11 * * * command
每隔2天的上午8-11点的第3和15分钟执行command:
3,15 8-11 */2 * * command
.......
场景:
每天凌晨3点做一次备份 备份/etc 目录到backup目录下 crontbl
将备份命令写入脚本中
备份文件格式为2021-7-23_hostname_etc.tar.gz
执行任务计划时,不要任何输出信息 crontbl
存放备份内容的目录要求只保留三天数据
编辑脚本备份脚本:
#!/usr/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/nginx/sbin
#定义文件名格式
file_name=$(date +%F)_$(hostname)_etc.tar.gz
#定义备份目录
src_dir=/etc
#定义备份存放目录
dest_dir=/backup
#判断存放目录是否存在,不存在,创建目录
if [ ! -d ${dest_dir} ];then
mkdir ${dest_dir}
fi
#进入到备份目录然后备份,修改名称
cd ${dest_dir} && \
tar czf ${file_name} ${src_dir}
#查找备份目录下三天之前的名为tar.gz结尾的压缩包,找到删除
find /backup -type f -name "*.tar.gz" -mtime +3 | xargs rm -rf
ls -lh ${dest_dir} | awk '{print $9,$5}' >/tmp/mail.txt
编写衔接的邮件脚本:
#!/usr/bin/bash
#定义变量,查看备份目录下文件个数,只保留三天以内的文件
data=$(ls /backup/ | wc -l)
if [ ${data} -le 3 ];then
result="成功"
else
result="失败"
fi
#将备份脚本的输入,通过mail的方式发送到邮箱
mail -s "备份结果${result},且保留最近三天" qifengle0613@163.com < /tmp/mail.txt
配置简单的mail服务
yum -y install mailx
vim /etc/mail.rc
et from=13*****735@qq.com
set smtp=smtp.qq.com
set smtp-auth-user=139*****35@qq.com
set smtp-auth-password= 客户端授权密码
set smtp-auth=login
测试:
mail -s "主题" qif*****13@163.com < /tmp/mail.txt
echo "测试邮件" | mail -s "测试" qif*****13@163.com:
网友评论