格式化磁盘:
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里的挂载参数:
自己挂载磁盘一定要用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