2019-08-04

操作系统磁盘管理章节(二)

课程介绍部分

1.磁盘体系结构应用

磁盘格式化操作

磁盘挂载操作 如何自动挂载 挂载参数信息

企业案例: 整个系统所有文件都变为只读状态(root用户也无法修改 文件系统异常) 主要与参数有关系

2.系统swap分区如何调整大小

课程知识回顾

1.磁盘知识体系结构

  1. 磁盘物理结构信息 内部结构(磁道 扇区:512字节 柱面) 外部结构(接口 转速)

  2. 磁盘阵列知识说明 RAID LVM

LVM逻辑卷管理的简写,它是linux环境下对磁盘分区进行管理的一种机制,即动态调整磁盘容量,从而提高磁盘管理的灵活性.

[图片上传失败...(image-f2a489-1564920564239)]

PE(Physical Extend):物理区域

PV 中可以用于分配的最小存储单元,可以在创建PV的时候制定(默认 4MB),如1M,2M,4M,8M,32M.....组成同一VG中所有PV的PE大小应该相同.

2019-08-04_第1张图片
1.png

PV(Physical Volume):物理卷

处于LVM最底层,可以是物理硬盘或者分区,整个硬盘,或使用fdisk等工具建立的普通分区,包括许多默认4MB大小的PE(Physical Extent ,基本单元).

2019-08-04_第2张图片
2.png

VG( Volume Group):卷组

建立在PV之上,可以含有一个到多个PV,一个或多个物理卷组合而成的整体.


2019-08-04_第3张图片
3.png

LV( Logical Volume ):逻辑卷

建立在VG之上,相对于原来分区的概念,不过大小可以动态改变,从卷组中分割出的一块空间,用于建立文件系统.

2019-08-04_第4张图片
4.png

LVM逻辑卷操作命令

2019-08-04_第5张图片
5.png
2019-08-04_第6张图片
6.png
2019-08-04_第7张图片
7.png

2019-08-04_第8张图片
8.png

3) 磁盘分区实践操作 :两个命令 fdisk parted

MBR: 引导记录 引导系统启动数据+分区表+结束位 512字节 0磁头0磁道1扇区

分区类型: MBR GPT

磁盘格式化操作 创建文件系统

文件系统: 用户将数据存储到磁盘中的方式 FAT32(单个文件小于4G) NTFS(没有单位文件存储限制)

XFS(存储效率更高-数据库) ext3/ext4(存储效率较低)

创建inode和block

数据信息(数据属性信息 数据内容信息) --- 数据属性信息 --- inode --- 磁盘中

--- 数据内容信息 --- block (多个) --- 磁盘中

如何进行格式化:

mkfs --- make filesystem(制作一个文件系统)

用法:mkfs.文件系统类型 分区信息(做格式化)

例如: mkfs.xfs /dev/sdb1

mkfs -t xfs /dev/sdb1

磁盘挂载应用

临时挂载应用: mount /dev/sdb1 /mnt

永久挂载应用: /etc/fstab /etc/rc.local

vim /etc/fstab

/dev/sdc1 /mnt xfs defaults 0 0

reboot生效

说明: /etc/fstab文件内容编写错误, 服务器启动缓慢/文件系统出现只读情况

企业环境: 文件系统只读异常问题:

挂载参数: remount ----重新挂载

mount -o remount rw /

**挂载常用参数: defaults **

rw, suid, dev, exec, auto, nouser, and async

rw --- 挂载之后挂载点目录权限可读可写, 用可读写模式挂上

** ro** --- 挂载之后挂载点目录权限只读模式, 用唯读模式挂上

suid(setuid) --- 挂载之后挂载点中, 可以支持setuid特殊权限位

nosuid(nosetuid) --- 挂载之后挂载点中, 禁止支持nosetuid特殊权限位

练习:

mount -o suid /dev/sdc1 /mnt

说明: 在目录中特殊权限位命令可以生效

mount -o nosuid /dev/sdc1 /mnt

说明: 在目录中特殊权限位命令不可以使用

exec: --- 允许挂载点目录中代码或脚本文件执行

mount -o exec /dev/sdc1 /mnt

noexec: --- 禁止挂载点目录中代码或脚本文件执行 安全性

mount -o noexec /dev/sdc1 /mnt

async: --- 异步存储数据方法 用户存储数据 -内存- /mnt 磁盘 效率更高 安全性低

sync: --- 同步存储数据方法 用户存储数据 ------ /mnt 磁盘 效率较低 安全性高

卸载挂载点常见问题:

01. 卸载时所在目录就是挂载点目录

02. 卸载时挂载目录数据被程序占用

强制卸载:

umount -lf /mnt

-l lazy --- 采用懒惰卸载

-f force --- 强制卸载操作

企业中: 磁盘空间不足如何解决

找出产生磁盘空间占用:

block: 产生大量大文件, 会造成block空间不足

删除方式: rm -f 大文件:简单粗暴

01. 如何找出大文件:

a 利用find 命令找出大文件

** find -type f -size +100M**

b 利用du 命令找出大文件

du -sh /opt/|sort -hr*

sort -n 按大小排序 -nr倒数排数字 -h排文件大小带单位排序

inode: 产生大量小文件, 会造成inode空间不足

删除方式: find /mnt -type f -name "oldboy" -size -2k|xargs rm*

补充: 如何将文件彻底删除:

条件一: 硬链接数为0 i_link=0

条件二: 进程调用数为0 i_count=0

建议清除大文件数据方式: >/xx/大文件

补充: 判断命令是否执行成功

命令:echo $? 查看上一个命令返回值:

--- 0 表示判断上一个命令执行成功

--- 非0 表示判断上一个命令执行失败

企业中: 如何划分swap分区

利用for循环,消耗swap分区:for count in {1..100};do dd if=/dev/zero of=/dev/null bs=10000M count=10;done

第一个里程: 划分磁盘空间被swap交互分区使用

dd if=从哪取出存储空间信息 of=放到哪 bs=每次取出多少 count=取多少次

dd if=/dev/zero of=/tmp/1G bs=100M count=10

[图片上传失败...(image-7374eb-1564920564237)]

把什么通过/dev/null放入黑洞 /dev/zero 从黑洞中拿空白但占用空间的东西出来

第二个里程: 标记文件被swap使用

mkswap /tmp/1G

第三个里程: 将标记文件空间增加到swap分区空间中

swapon /tmp/1G

第四个里程: 如何减少swap空间

swapoff /tmp/1G

实际应用: 主要应用在服务器中有java程序时

作业:

1. 研究mount命令参数: auto, nouser

-o auto、-o noauto:打开/关闭自动挂上模式。

-o user、-o nouser:使用者可以执行 mount/umount 的动作。

你可能感兴趣的:(2019-08-04)