Linux磁盘应用
第1章 永久挂载
1.1 /etc/fstab 开机自动挂载文件
1.2 /etc/rc.d/rc.local 开机自动运行操作
(CentOS 7 chmod +x /etc/rc.d/rc.local)要加操作权限
mount /dev/sdb1 /data/ 挂载
# tail -1 /etc/fstab 存放文件系统的静态信息的文件
/dev/sdb1 /data xfs defaults 0 0
# blkid 命令 显示已经挂载的分区信息
第2章 磁盘故障:
2.1 磁盘空间不足
2.1.1 block满了 df -h 排查流程 du -sh 一层一层排查 最后找到大文件或目录 确认之后删除
2.1.2 inode满了 (定时任务) 找出系统中比较大的目录(1M) 目录下面会有大量小文件 find
2.1.3 显示no space left on device(设备上没有剩余的空间了) ,df -h磁盘空间还有剩余,什么原因?
2.1.4 因为文件没有被彻底删除 (硬连接数为0,进程调用数不为0) lsof |grep delete 重启对应服务
应对:
从跟下逐步排查
du -sh /* |grep G
du -sh /var/* |grep G
du -sh /var/log/* |grep G
找到后删除,但系统负载并没有变化
原因:有程序正在读取或写入该文件
lsof命令:查看系统正在打开的文件
查找出 谁使用oldboy.txt 占用
# lsof |grep oldboy.txt
tail 5547 root 3r REG 8,3 0 33575498 /root/oldboy.txt
[root@oldboyedu-lnb ~]# lsof |grep oldboy.txt
因为文件没有被彻底删除 导致的磁盘空间不足
彻底删除
1.硬链接为0 (rm )
2.进程调用数为1 (重启服务)
模拟:
seq 5000000 /var/log/messages
排查流程:
# df -h
/dev/sda3 19G 14G 5.6G 71% /
#找出并删除 du -sh /*|grep G
\rm -f /var/log/messages
#找出谁使用 messages 并重启服务
lsof命令:查看系统正在打开的文件
# lsof | grep messages
# systemctl restart rsyslog.service 重新启动。。。服务
2.2 parted 磁盘分区命令
parted /dev/sdc
mktable (mklabel) 创建磁盘分区表
mktable gpt
p print 显示磁盘分区信息
mkpart (make partition) 创建分区
rm 删除分区
q quit 退出
Error: /dev/sdc: unrecognised disk label
无法识别的 磁盘 分区表
(parted) mktable gpt
(parted) mkpart primary 0 30
(parted) mkpart primary 30 60
parted /dev/sdc mktable gpt
parted /dev/sdc mkpart primary 0 30 ignore
parted /dev/sdc mkpart primary 30 60
第3章 企业案例:java环境内存不够用,大量占用swap
# free -h
total used free shared buff/cache available
Mem: 1.9G 93M 1.7G 9.6M 135M 1.7G
Swap: 999M 0B 999M
第1个里程碑-创建大文件 200M文件
dd if=/dev/zero of=/tmp/200m bs=1M count=200
input file output file block size
数据来源 输出文件 每次复制多大 次数
/dev/zero 白洞 源源不断输出
/dev/null 黑洞 吸收
/dev/urandom 随机字符
[root@oldboyedu-lnb ~]# chmod 600 /tmp/200m 更改权限
[root@oldboyedu-lnb ~]# ll -h /tmp/200m
-rw------- 1 root root 200M Nov 27 09:59 /tmp/200m
第2个里程碑-变成swap
[root@oldboyedu-lnb ~]# file /tmp/200m
/tmp/200m: data
[root@oldboyedu-lnb ~]# mkswap /tmp/200m
Setting up swapspace version 1, size = 204796 KiB
no label, UUID=3ac01af7-5235-4a47-8732-8fe224756cb5
[root@oldboyedu-lnb ~]# file /tmp/200m
/tmp/200m: Linux/i386 swap file (new style), version 1 (4K pages), size 51199 pages, no label, UUID=3ac01af7-5235-4a47-8732-8fe224756cb5
第3个里程碑-激活swap 与 永久激活swap
[root@oldboyedu-lnb ~]# swapon /tmp/200m
[root@oldboyedu-lnb ~]# free -h
total used free shared buff/cache available
Mem: 1.9G 93M 1.5G 9.6M 346M 1.7G
Swap: 1.2G 0B 1.2G
显示swap的组成情况
swapon -s
[root@oldboyedu-lnb ~]# swapon -s
Filename Type Size Used Priority
/dev/sda2 partition 1023996 0 -1
/tmp/200m file 204796 0 -2
永久激活swap
方法1 /etc/rc.local
swapon /tmp/200m
方法2 /etc/fstab
#/dev/sdb1 /data xfs defaults 0 0
#/tmp/200m swap swap defaults 0 0
文件系统 存放和管理数据方式
windows: fat32 单个文件最大不能超过4G
ntfs(现在大多数)
exFAT(给优盘使用)
Linux : xfs(CentOS 7默认)
ext4(C6)
ext3(C5)
ReriserFS(SUSE)
swap (交换分区)
大话存储
浪潮之巅