10.磁盘管理,lvm,crontab

2021-07-24  本文已影响0人  划水健将

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:
上一篇 下一篇

猜你喜欢

热点阅读