格式化磁盘:
    mkfs.ext4 /dev/sdb
    mkfs.xfs /dev/sdb

    挂载:
    mount /dev/sdb /mnt

    大于2T的磁盘分区:
    gdisk 与fdisk类似 需要自己装包
    parked

    不重启识别新磁盘
    echo “- - -“ > /sys/class/scsi_host/host0/scan

    取消挂载:
    umount
    -l 强制卸载

    查看当前挂载的磁盘情况
    cat /proc/mounts

    开机自动挂载配置文件:
    egrep -v “^#|^$” /etc/fstab
    UUID=59c0013d-d44c-45aa-8db8-0f77b653bb1e / xfs defaults 0 0
    UUID=c48c94d5-d69b-4b9e-af70-c9ca73ecb7ea /boot xfs defaults 0 0
    UUID=177d8c32-103e-48f3-8cdd-c564ea72c249 swap swap defaults 0 0
    /dev/sdb1 /data1 ext4 defaults 0 0
    要挂载的设备 挂载点 文件系统类型 挂载参数 是否备份 是否检查
    defaults里的挂载参数:
    image.png
    自己挂载磁盘一定要用0 否则重启可能因为磁盘坏起不来
    buffers 缓冲区 写到磁盘的过程
    cache 缓存 读磁盘文件时用到

    xfs的检查工具:fsck.xfs ->xfs repair
    fsck e2fsck 针对ext4的检查工具

    fstab文件改坏了,修复
    mount -o rw,remount /
    vi /etc/fstab

    企业生产磁盘分区:
    1.常规服务器分区:
    /boot 内核 1G
    swap 虚拟分区 当内存不够用了 虚拟内存 一般为物理内存1.5倍
    最高16G
    / 所有其他空间
    特点:没有特别重要的数据

    2.数据服务器 数据库 存储服务
    /boot 内核 1G
    swap 拟分区 当内存不够用了 虚拟内存 一般为物理内存1.5倍
    最高16G
    / 200-400G
    /data 其他所有

    3.大厂分区
    /boot 内核 1G
    swap 拟分区 当内存不够用了 虚拟内存 一般为物理内存1.5倍
    最高16G
    / 200-400G
    剩余留着 谁用谁分

    虚拟分区swap知识
    虚拟的内存空间
    当系统的物理内存不够时,将硬盘空间的一部分空间释放出来,以供当前运行的程序使用
    当物理内存不够时会随机kill占用内存的进程,从而产生oom,使用swap可以弥补内存不足

    到底用不用swap:
    数据库服务器不用swap分区,就是mysql 程序单一 还有监控
    常规情况都要用swap

    swap创建步骤:
    将一块硬盘空间划分一部分给swap使用
    格式化swap分区
    mkswap /dev/sdb2
    将空间加入swap空间
    swapon /dev/sdb2
    查看swap空间
    swapon -s
    关掉
    swapoff -a 关闭所有swap
    swapoff /dev/sdb2 关闭sdb2的空间

    dd 命令
    dd
    if=/dev/zero 来源,可以生产数据,用来创建新文件
    of=/opt/swap_file 生成的文件
    bs=1M block 大小
    count=500 block数量
    可以用来创建模拟分区,模拟文件等

    测试swap分区的作用:
    使用dd命令消耗内存:
    dd if=/dev/zero of=/dev/null /bs=100M count=20
    linux特性:
    多于内存会自动用于buff/cache,物理内存不够用的时候会释放
    物理内存耗尽,系统会启用保护机制,干掉占用内存较高的程序

    企业案例:
    java环境,tomcat服务,内存充足但是占用swap
    a 让开放查程序泄露问题,解决问题的根本
    b 临时增大一些swap,治标
    c 优化内核参数,让系统尽量使用内存不使用swap 使用swap系统会变慢

    虚拟内存使用故障处理与优化
    让系统优先使用物理内存而不是swap
    cat /proc/sys/vm/swappiness
    30
    修改内核文件 /etc/sysctl.conf
    加入一行:
    vm.swappiness=5
    sysctl -p 使修改的内核参数配置生效

    直接清空swap分区数据和缓存数据
    sync 将缓冲区数据写入磁盘buffer
    echo 1 > /proc/sys/vm/drop_caches 清空cache缓存区
    重启swap分区
    swapoff -a
    swapon -a