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 (交换分区)

 

 大话存储

 浪潮之巅

posted @ 2018-12-04 14:33  59111618  阅读(242)  评论(0编辑  收藏  举报