linux中存储管理

1 磁盘设备的管理

1.1 设备识别

  • 设备接入系统后都是以文件的形式存在
  • 设备文件名称
SATA/SAS/USB  /dev/sda   /dev/sdb    ##s=SATA ,d=DISK ,a=第几块
IDE           /dev/hd0   /dev/hd1     ##h=hard
VIRTIO-BLOCK  /dev/vda   /dev/vdb     ##v=virtio
M2 (SSD)    /dev/nvme0 , /dev/nvme1   ##nvme=M2
SD/MMC/EMMC /dev/mmcblk0  /dev/mmcblk1  ##mmcblk=mmc卡 
光驱        /dev/cdrom /dev/sr0  /dev/sr1 

1.2 常用的设备查看命令

命令功能
fdisk -l查看磁盘分区情况(系统中真实设备的存在情况)
lsblk设备被使用情况
blkid系统中能被系统使用的设备
cat /proc/partitions系统当前已经识别设备
df查看正在被系统挂载的设备

设备查看命令的使用

  • 查看系统中设备存在的真实情况: fdisk -l

在这里插入图片描述

  • 查看系统中设备的使用情况:lsblk

在这里插入图片描述

  • 查看系统中能被使用的设备(是否被使用不确定):blkid

在这里插入图片描述

  • 查看系统中被识别的设备(设备能不能使用不确定):cat /proc/partitions

在这里插入图片描述

  • 查看正在被系统挂载的设备:df

在这里插入图片描述

2 设备挂载

  • df:查看u盘的挂载情况

在这里插入图片描述

  • 结束挂载:umount /dev/vdb1

结束挂载之后,用df命令,可以看到U盘是可用的设备但是系统中未被挂载

在这里插入图片描述

2.1 设备的临时挂载

  • 挂载U盘为只读模式
mount -o ro /dev/sdb1 /mnt
##  ro:挂载参数
## /dev/sdb1:设备
## /mnt :挂载点

在这里插入图片描述

  • 修改U盘的挂载方式为读写模式
mount -o remount,rw /mnt

在这里插入图片描述在这里插入图片描述

2.2 设备的永久挂载

  • 编写配置文件,实现永久的挂载

(1)/etc/rc.d/rc.local 系统启动之后

(2)/etc/fatab :内核启动之后

mount: 查看挂载的信息

在这里插入图片描述

  • 编辑配置文件: /etc/fstab

在这里插入图片描述

  • 重启:reboot,内核启动之后实现自动的挂载

在这里插入图片描述
注意:

如果在编辑/etc/fstab 文件时出错,系统将无法正常启动

  • 模拟问题

在这里插入图片描述
重启后出现下图的界面

在这里插入图片描述

  • 解决方法

根体提示输入root用户的密码后,进入/etc/fstab修改内容之后退出保存

在这里插入图片描述
exit退出系统之后,等待系统再次启动

在这里插入图片描述
在这里插入图片描述

2.3 解除挂载U盘

  • 在一个shell中进入挂载目录后,打开另一个shell解除挂载会显示系统正忙,无法解除挂载
umount /dev/sdb1

在这里插入图片描述

  • df :查看系统中挂载的设备
  • lsof:查看进程开打的文件,打开文件的进程,进程打开的端口(TCP、UDP)
  • kill -9 进程号:结束进程

在这里插入图片描述

  • fuser :显示所有正在使用着指定的file, file system 或者 sockets的进程信息
参数功能
-k结束进程
-v显示详细信息
-m显示进程
fuser -vm /mnt ##显示进程的详细信息
fuser -kvm /mnt ##结束并显示进程的详细信息

在这里插入图片描述

3 设备中文件的查找

  • find:文件或目录查找,可以直接对查找结果使用命令

3.1 find命令的常用参数

参数功能
-name查找指定名字的文件
-user查找指定拥有者的文件
-group查找指定拥有组的文件
-type f/d/s/b/l查找指定类型的文件
-perm后跟文件权限,按文件权限模式来查找文件
-exec查找指定名字的文件
-cmin根据更改时间查找文件
-maxdepth后跟数字,按目录的最大深度查找时间
-mindepth后跟数字,按目录的最大深度查找时间
-o逻辑或
-a逻辑and
-not逻辑非
  • 查看当前目录及子目录中的所有文件:find

在这里插入图片描述

3.1.1 根据文件名称条件查找

  • 在当前目录及子目录中查找指定名字文件: find /mnt -name file1

在这里插入图片描述

  • 在当前目录及子目录中查找以file结尾的文件: find /mnt -name "*file"

在这里插入图片描述

3.1.2 根据文件的拥有者和拥有组权限查找文件

  • 在当前目录及子目录中查找文件拥有者为westos的文件:find /mnt -user westos

在这里插入图片描述

  • 在当前目录及子目录中查找文件拥有者为westos拥有组为linux的文件
 find /mnt  -user westos -a  -group linux
  • 在当前目录及子目录中查找文件拥有者为westos,或者拥有组为linux的文件:
 find /mnt  -user westos -o  -group linux
  • 在当前目录及子目录中查找文件拥有者为westos,或者拥有组不是linux的文件:
find /mnt  -user westos -o -not -group linux

在这里插入图片描述

3.1.3 按文件类型查看文件

find -type 参数
           -f  ##普通文件
           -b  ##目录
           -d  ##块设备
           -s  ##套接字
           -l  ##链接
           -c  ##字符设备

在这里插入图片描述
在这里插入图片描述

3.1.4 按文件所在的深度(层次)查找

- mindepth:最小深度
- maxdepth:最大深度

  • 在当前目录或子目录中查找文件深度在1~2之间的普通文件
find /mnt -mindepth 1 -maxdepth 2 -type f

在这里插入图片描述

3.1.5 按照时间查找被篡改的文件

cmin以分钟为单位

(1)在当前目录或子目录中查找文件更新距离现在2分钟以内的文件:find /mnt -cmin -2

(2)在当前目录或子目录中查找文件更新距离现在2分钟以上的文件:find /mnt -cmin +2

在这里插入图片描述
(3)在当前目录或子目录中查找文件更新距离现在2分钟的文件:find /mnt -cmin 2

在这里插入图片描述

3.1.6 按文件权限查找:perm

在当前目录或子目录中查找文件权限为444的普通文件:find /mnt -perm 444

在这里插入图片描述

  • 在当前目录或子目录中查找文件权限u,g,o位都>=4的普通文件:find /mnt -perm -444

在这里插入图片描述

  • 在当前目录或子目录中查找文件权限u,g,o位任一位>=4的普通文件:find /mnt -perm /444

在这里插入图片描述
在这里插入图片描述

3.1.7 对查找到的文件执行某命令

  • 在当前目录或子目录中查找文件权限u,g位>=4,o位超过0的文件,并将查找到的文件的组权限加w
find /mnt -perm -404 -exec chmod g+w {} \ ;
## -exec表示开始执行动作 
## {},表示用find命令查找出的所有文件
## \是为了转译 “\”

在这里插入图片描述

4 分区

4.1 常见的两种分区方式

分区方式位数分区表大小支持分区个数支持单个分区大小
legacy (MBR)3264 byte主分区4个,所有分区16个2.2TB
UEFI(GPT)64128byte理论上无限制,windos128G8ZiB

4.2 MBR分区方式

一个硬盘主分区至少有1个,最多4个,扩展分区可以没有,最多1个,且主分区+扩展分区总共不能超过4个。逻辑分区的个数没有限制

若全部采用主分区,假设一块120G的硬盘,每个主分区分配20G,那么硬盘剩下的40G就无法使用,这就造成了资源的浪费,为了解决最多四个主分区的限制,Linux系统引入了扩展分区的概念,可以把其中一个主分区设置为扩展分区(注意只能够使用一个扩展分区)来进行扩充。在扩充分区下,又可以建立多个逻辑分区。
扩展分区是无法直接使用的,只是作为逻辑分区的容器。通常情况下,逻辑分区的起始位置及结束位置记录在每个逻辑分区的第一个扇区,这也叫做扩展分区表。在扩展分区下,系统管理员可以根据实际情况建立多个逻辑分区,将一个扩展分区划割成多个区域来使用。

  1. 建立分区
  • fdisk -l :查看系统中真实存在的设备

在这里插入图片描述

  • fdisk /dev/vdb :进入分区界面

在这里插入图片描述

  • 进入分区界面后常用的参数
参数功能
d删除
l列出所有分区类型
n新建
p显示分区表
t修改分区系统id
w保存更改
q退出
g设定分区方式为gpt
o设定分区方式为mbr

在这里插入图片描述

  • 进入分区界面后建立主分区1,大小为100M

在这里插入图片描述

  • 接着建立主分区2,3,大小为100M

在这里插入图片描述

  • 建立主分区4,大小为100M,此时以达到能同建立主分区的个数的上限,无法在新建分区,硬盘剩余的资源见无法使用

在这里插入图片描述

  • 为了解决主分区的个数的限制,我们将主分区4删除,然后将其设置为扩展分区,之后在扩展分区的基础上新建逻辑分区

在这里插入图片描述

  • 新建逻辑分区5,大小为10M,p查看分区信息表的信息,最后将分区信息保存退出:wq

在这里插入图片描述
2. 更新分区信息:udevadm settle

查看分区信息: cat /proc/partitions

在这里插入图片描述
3. 格式化设备

文件系统:

(1)ext2/ext3/ext4:linux中主流的文件系统

(2)xfs: linux下一种高性能的日志文件系统

  • 主分区和扩展分区必须格式化之后才能使用:
    格式化设备为xfs文件系统: mkfs.xfs /dev/vdb2
  • 只有将分区格式化之后,才能实现设备的挂载:mount /dev/vdb2 /mnt

在这里插入图片描述

  • 查看挂载信息:mount

在这里插入图片描述

  • 永久挂载:在 /etc/fstab 文件中编辑相应的参数

在这里插入图片描述

  • 重启之后可查看是否开机自动挂载

4 . 删除设备

 dd if=/dev/zero of=/dev/vdb  bs=1M count=1

在这里插入图片描述

4.3 mbr分区转化成GPT

4.3.1 直接转换

  • parted /dev/vdb:对/dev/vdb进行分区管理
  • mklabel:定义分区的格式

在这里插入图片描述

  • 查看/dev/vdb分区类型修改时候成功

在这里插入图片描述

4.3.2 间接转换

  • fdisk /dev/vdb:进入分区管理界面
  • 在分区管理界面设定分区的方式:g ,设定分区方式为gpt

卡拉匾额了

5 swap分区

5.1 swap分区的作用

Swap分区在系统的物理内存不够用的时候,把硬盘内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。

使用 swap 交换分区,显著的优点是,通过操作系统的调度,应用程序实际可以使用的内存空间将远远超过系统的物理内存。由于硬盘空间的价格远比 RAM 要低,因此这种方式无疑是经济实惠的。当然,频繁地读写硬盘,会显著降低操作系统的运行速率,这也是使用 swap 交换分区最大的限制。

具体使用多大的 swap 分区,取决于物理内存大小和硬盘的容量

5.2 建立swap分区

5.2.1 临时创建swap分区

(1)进入分区管理界面: fdisk /dev/vdb
(2)按 “ t ”修改分区的系统id
(3)选择第几个分区
(4)列出所有分区的类型
(5)选择要修改的swap分区的id

在这里插入图片描述

(6)查看分区表的信息:p

在这里插入图片描述
(7)格式化设备为swap格式:mkswap /dev/vdb5

  • blkid:查看设备/dev/vdb5的格式

在这里插入图片描述

(8)激活swap分区并指定其优先级

  • swapon -a /dev/vdb5 -p 5,swap的优先级中,数字越大优先级越高
  • 查看swap的分区信息:swapon -s

在这里插入图片描述

5.2.2 设置开机自动添加swap分区

(1)编辑配置文件:/etc/fstab,添加相应的swap分区信息

在这里插入图片描述

(2)swapon -a:将/etc/fstab文件中所有设置为swap的设备,启动为交换区

(3)重启后生效

5.3 删除swap分区

(1)编辑配置文件/etc/fstab ,删除相应的sawp分区信息
(2) 通过命令swapoff /dev/vdb5删除设备的swap分区

  • 查看swap的分区信息:swapon -s

在这里插入图片描述

6 磁盘配额

6.1 磁盘配额的作用

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。磁盘配额可以限制指定账户能够使用的磁盘空间,这样可以避免因某个用户的过度使用磁盘空间造成其他用户无法正常工作甚至影响系统运行。

注意

(1)磁盘配额限制的用户和用户组,只能是普通用户和用户组,也就是说超级用户 root 是不能做磁盘配额的;
(2)磁盘配额限制只能针对分区,而不能针对某个目录,换句话说,磁盘配额仅能针对文件系统进行限制,举个例子,如果你的 /dev/sda5 是挂载在 /home 底下,那么,在 /home 下的所有目录都会受到磁盘配额的限制
(3)可以限制用户占用的磁盘容量大小(block),当然也能限制用户允许占用的文件个数(inode)。

6.2 划分磁盘额度

  • 挂载设备并激活配额参数: mount -o usrquota /dev/vdb3 /mnt
  • 完成设备挂载后修改挂载目录的权限,从而使普通用户可以再次目录中截取分区使用:chmod 777 /mnt

在这里插入图片描述

  • 重新读取/etc/fstab文件:mount -a
  • 查看挂载信息:mount

在这里插入图片描述

  • 激活配额
 quotaon -uv /dev/vdb3
         -u:用户的磁盘空间限制
         -v:显示指令执行过程。

在这里插入图片描述

  • 给指定用户划分配额:edquota -u lee,更改hard的值

在这里插入图片描述

软限制可理解为警告限制,硬限制是真正的限制。比如,规定软限制为 100MB,硬限制为 200MB,那么,当用户使用的磁盘空间为 100~200MB 时,用户还可以继续上传和新建文件,但是每次登录时都会收到一条警告消息,告诉用户磁盘将满。

6.3 测试

切换到划分配额的用户进行测试,一旦该用户截取的数据超过1024k时,截取数据会失败

在这里插入图片描述
repquota -a列出/etc/fstab文件中,有加入配额设置的分区使用情况,包括用户和组群

在这里插入图片描述

在这里插入图片描述

6.4 永久开启配额

编辑配置文件/etc/fstab,添加相应的信息

在这里插入图片描述

6.5 关闭配额

(1)编辑配置文件/etc/fstab,删除相应的信息
(2) quotaoff -uv /dev/vdb3

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值