linux磁盘管理

本文架构

在这里插入图片描述

磁盘基础介绍

磁盘的分类:

IDE磁盘特点价格低廉,兼容性强,性价比高,数据传输慢,不支持热插拔等等。
SCSI磁盘传输速率高,读写性能好,运行稳定,可连接多个设备。可支持热插拔,占用CPU低,但是价格相对来说比较贵,一般用于工作站或服务器上。
SATA磁盘结构简单、支持热插拔
USB

其中IDE的磁盘的文件名为     /dev/hd[a-d]
而SCSI、SATA、USB的磁盘文件名为 /dev/sd[a-p]

查看当前挂载的设备信息

系统真实存在的不一定能被识别,能识别的不一定能使用,能用的不一定是正在使用的

fdisk -l查看系统真实存在的设备
cat /proc/partition查看被系统已经识别的设备
blkid查看系统可以使用的设备
df查看系统正在挂载使用的设备

fdisk -l查看系统真实存在的设备
在这里插入图片描述在这里插入图片描述
cat /proc/partition 查看被系统已经识别的设备
在这里插入图片描述
blkid查看系统可以使用的设备
在这里插入图片描述

df查看系统正在挂载使用的设备
在这里插入图片描述
在这里插入图片描述

设备的挂载和卸载

mount命令及参数

mount
-a依照配置文件 /etc/fstab 的数据将所有未挂载的磁盘都挂载上来
-l单纯的输入 mount 会显示目前挂载的信息。加上 -l 可增列 Label 名称!
-t可以加上文件系统种类来指定欲挂载的类型。常见的 Linux 支持类型有:xfs, ext3, ext4, reiserfs, vfat, iso9660(光盘格式), nfs, cifs, smbfs (后三种为网络文件系统类型)
-n在默认的情况下,系统会将实际挂载的情况实时写入 /etc/mtab 中,以利其他程序的运行。 但在某些情况下(例如单人维护模式)为了避免问题会刻意不写入。此时就得要使用 -n 选项。
-o后面可以接一些挂载时额外加上的参数!比方说帐号、密码、读写权限等: async, sync: 此文件系统是否使用同步写入 (sync) 或非同步 (async) 的 内存机制,默认为 async。
-o
atime,noatime是否修订文件的读取时间(atime)。为了性能,某些时刻可使用 noatime
ro, rw挂载文件系统成为只读(ro) 或可读写(rw)
auto, noauto允许此 filesystem 被以 mount -a 自动挂载(auto)
dev, nodev是否允许此 filesystem 上,可创建设备文件? dev 为可允许
suid, nosuid是否允许此 filesystem 含有 suid/sgid 的文件格式?
exec, noexec是否允许此 filesystem 上拥有可执行 binary 文件?
user, nouser是否允许此 filesystem 让任何使用者执行 mount ?一般来说, mount 仅有 root 可以进行,但下达 user 参数,则可让 一般 user 也能够对此 partition 进行 mount 。
defaults默认值为:rw, suid, dev, exec, auto, nouser, and async
remount重新挂载,这在系统出错,或重新更新参数时,很有用!

临时挂载

mount  设备目录挂载点目录:将一个东西挂载到另外一个地方,使它生效
umount   /dev/sdb1     卸载这个东西

在这里插入图片描述

原先是只读挂载

mount -o remount,rw /dev/sdb1 | /mnt
重新读写挂载

在这里插入图片描述
变成读写挂载
在这里插入图片描述

永久挂载

实现开机自动挂载只需修改/etc/fstab配置文件即可,可用vi编辑器修改或图形界面下用gedit命令修改
/etc/fstab配置文件解读

第一列①设备名/dev/sda1或②卷标label或③设备UUID(红帽6)(查看设备的UUID blkid/dev/sda1)
第二列挂载点
第三列文件系统类型
第四列挂载选项,通常使用defaults就可以
第五列是否进行备份,1表示备份,0表示不备份
第六列是否检查文件系统,1表示检验,0表示不检验
应用举例
实现插U盘自动挂载U盘到/usb目录,不备份且不检查文件系统:
/dev/sdb1 /usb auto defaults   0     0
将上述命令添加到/etc/fstab配置文件中即可完成插U盘自动挂载,为了避免可能的错误,使用mount -a 命令来检验编辑的内容是否有错

第四列选项

参数内容意义
async/sync非同步/同步 设置磁盘是否以非同步方式运行!默认为 async(性能较佳)
auto/noauto自动/非自动 当下达 mount -a 时,此文件系统是否会被主动测试挂载。默认为 auto。
rw/ro可读 写/只读 让该分区以可读写或者是只读的型态挂载上来,如果你想要分享的数据 是不给使用者随意变更的, 这里也能够设置为只读。则不论在此文件系 统的文件是否设置 w 权限,都无法写入喔!
exec/noexec可执行/不可 执行 限制在此文件系统内是否可以进行“执行”的工作?如果是纯粹用来储存数 据的目录, 那么可以设置为 noexec 会比较安全。不过,这个参数也不 能随便使用,因为你不知道该目录下是否默认会有可执行文件。举例来 说,如果你将 noexec 设置在 /var ,当某些软件将一些可执行文件放置 于 /var 下时,那就会产生很大的问题喔! 因此,建议这个 noexec 最多 仅设置于你自订或分享的一般数据目录。
user/nouser允许/不允许 使用者挂载 是否允许使用者使用 mount指令来挂载呢?一般而言,我们当然不希望 一般身份的 user 能使用 mount 啰,因为太不安全了,因此这里应该要设 置为 nouser 啰!
suid/nosuid具有/不具有 suid 权限 该文件系统是否允许 SUID 的存在?如果不是可执行文件放置目录,也 可以设置为 nosuid 来取消这个功能!
defaults同时具有 rw, suid, dev, exec, auto, nouser, async 等参数。 基本上, 默认情况使用 defaults 设置即可!
设备挂载点文件系统挂载参数是否备份是否检测
/dev/vdb1/mntxfsdefaults00

解决设备正忙情况

方法一

查看设备挂载情况,有一个磁盘正在挂载
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

fuser -kvm /dev/sdb1(查看使用并且强制解决使用)
umount  /dev/sdb1(此时就可以直接卸载了)

在这里插入图片描述

方法二

在这里插入图片描述

lsof 该挂载设备(查看使用情况
kill -9  PID
umount 该挂载设备

在这里插入图片描述

在这里插入图片描述

磁盘分区

硬盘 0磁道 1扇区的 512个字节中记录的信息如下 512=446 字节 + 64 字节 + 2
字节
---------- ^-------------- ^ ------- ^ mbr(主引导记录) mpt(主分区标) (硬盘的有效性标实)

dos或者mbr方式分区的分区表如下:主分区+扩展分区(扩展分区里面的分区块叫逻辑分区)不能超过16个(id=0~16)
dos(mbr)单个分区大小不能超过2t
1个分区占用16个字节
1块硬盘上最多可以划分4个主分区,1个分区占用16个字节,但是当不够用时,我们可以建立第四个分区为扩展分区,在逻辑分区内可以建立多个逻辑分区。
主分区 :真实存在的,Windows系统一般需要安装在这个主分区中,这样才能保证开机自动进入系统。简单来说,主分区就是可以引导电脑开机读取文件的一个磁盘分区,一块硬盘,最多可以同时创建4个主分区,当创建完四个主分区后,就无法再创建扩展分区和逻辑分区了。
此外,主分区是独立的,对应磁盘上的第一个分区,目前绝大多数电脑,在分区的时候,一般都是将C盘分成主分区。
扩展分区 扩展分区是虚拟的。除了主分区外,剩余的磁盘空间就是扩展分区了。 是一个容器,为划分逻辑分区而存在,容器坏了,里面也就坏了。

在这里插入图片描述

注意:上图中/dev/sda1 后面有个*,表示该磁盘用于引导系统进行启动。

start、end表示分区开始的扇区位置和结束的扇区位置。
blocks表示块的信息,一个块里面有多个扇区。
Id表示磁盘编号
system表示Linux系统分区的一个分区信息。
fdisk /dev/vdb 对该分区进行管理
-m 显示管理参数

在这里插入图片描述

在这里插入图片描述

d    delete a partition	            删除
n    add a new partition	        新建
p    print the partition table	    显示分区信息
q    quit without saving changes	退出分区界面
t    change a partition’s system id	修改分区id
w    write table to disk and exit	保存分区标信息到硬盘

在这里插入图片描述

磁盘格式化

格式化:指将分区格式化成不同的文件系统。

文件系统:指操作系统用于明确存储设备或分区上的文件的方法和数据结构:即在存储设备上组织文件的方法。

格式化为xfs文件系统的分区
在这里插入图片描述

mkfs -t ext4 /dev/sdb1或 mkfs.ext4 /dev/sdb1 两者命令皆可

Linux下的文件类型有ext2、ext3、ext4、xfs等等,我们可以使用命令:mkfs. 然后用按TAB键来查看都有哪些文件类型

swap分区建立

在这里插入图片描述

1块硬盘上最多可以划分4个主分区,1个分区占用16个字节,但是当不够用时,我们可以建立第四个分区为扩展分区,在逻辑分区内可以建立多个逻辑分区。

主分区:真实存在的,Windows系统一般需要安装在这个主分区中,这样才能保证开机自动进入系统。简单来说,主分区就是可以引导电脑开机读取文件的一个磁盘分区,一块硬盘,最多可以同时创建4个主分区,当创建完四个主分区后,就无法再创建扩展分区和逻辑分区了。此外,主分区是独立的,对应磁盘上的第一个分区,目前绝大多数电脑,在分区的时候,一般都是将C盘分成主分区。

扩展分区是虚拟的。除了主分区外,剩余的磁盘空间就是扩展分区了。 是一个容器,为划分逻辑分区而存在,容器坏了,里面也就坏了。

选3分区为swap分区
在这里插入图片描述

同步分区
在这里插入图片描述
格式化swap分区
在这里插入图片描述
查看swap分区有哪些
在这里插入图片描述
删除swap分区
在这里插入图片描述

在这里插入图片描述

磁盘配额

在这里插入图片描述

磁盘配额:限制磁盘资源的使用,磁盘配额是系统对用户能使用磁盘资源的控制(或者说限制).在Linux中,磁盘配额可以对用户的空间使用情况,文件数量(实际上是inode的数量,文件数量是限制inode的结果)进行限制。如果超出此范围则用户不能再往磁盘里写入数据。

限制原因:因为资源不是无限的
限制对象:普通用户,限制用户组

新建一个空目录/pub,将一个磁盘挂载上去
在这里插入图片描述

在这里插入图片描述

建立quota的配额数据库 (EXT4文件系统 需要 )

-c必选项 create
-v显示详细信息
-u user建立“用户”配额数据库,会新建一个aquota.user文件
-g group建立“用户组”配额数据库,会新增一个aquota.group文件
-a all检测所有磁盘 (不加 -a 的话 ,需要明确指定分区设备 /dev/sdb1 )
-f原先已经有分区建立的配额数据库的话,想清空并重新建立, 需要加该参数选项强制重新检测
要先挂载再给权限(否则权限会变小)
quotacheck -cvuf   /dev/vdb2  会在相应的分区挂载目录下,创建 aquota.user 数据库文件。
quotaon -uv /dev/vdb2 数据库建立后,开启该分区的磁盘配额功能
edquota -u studnet 给用户student配置磁盘配额
repquota   -auvs 本地磁盘用户配额报表

给目录权限
在这里插入图片描述
在这里插入图片描述
单位要用小写字母

执行给用户配额后会出现一个文件,对额度进行设置,所以是非交互式命令

参数
blocks1028 用户在该分区下 “已经使用” 的空间 “K” 为单位。
soft磁盘空间的软限制:用户使用的空间达到该值的时候,会报警。
hard磁盘空间的硬限制:最大能使用的空间。
inodes用户 “已经创建的” 文件数量。
soft用户创建的文件数量,达到该值的时候,报警。(一般不进行限制,或者限制值很大)
hard用户最多只能创建多少个文件。

验证,当用户超过额度就会报错

https://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_linux_040_quota.html

在这里插入图片描述

磁盘加密

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

加密

必须是新的闲置设备,比如新建一个分区
加密了就不能挂载,要挂载需要先开放设备

cryptsetup luksFormat /dev/vdb6    给自己的硬盘设备加密,设置一个有强度的密码(YES要大写)
cryptsetup open /dev/vdb6 westos   开放这个设备,打开盖子,盖子名字随便写 ,输入YES
ls  /dev/mapper/                   此时出现了westos,即为你的加密文件
mkfs.xfs /dev/mapper/westos        格式化这个虚拟的设备
mount   /dev/mapper/westos  /mnt    挂载在/mnt下

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

在这里插入图片描述

磁盘解锁

umount  /mnt       卸载
cryptsetup  close  westos 或者 /dev/mapper/     关闭了wetos加密文件
mount   /dev/mapper/westos 或者 /dev/mapper/     /mnt    此时挂载不了。
cryptsetup  open /dev/vdb1    westos            解开(此时就可以挂载) 

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

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

加密磁盘永久挂载

vim   /root/diskpass       建立你的密码文件
chmod  600  /root/diskpass   #加可执行权限

vim   /etc/crypttab
westos     /dev/vdb1    /root/diskpass

 vim /etc/fastab
/dev/mapper/westos      /mnt    xfs     defaults    0   0

reboot      #重启

5.reboot #重启

删除加密磁盘

vim  /etc/fstab         #删除刚才编写的内容
vim /etc/crypttab     #删除刚才编写的内容
rm -fr  /root/diskpass   #删除密码文件 
umount   /mnt        #卸载
cryptsetup     close   westos   #关闭解密文件
mkfs.xfs     /dev/vdb1    -f    #强制格式化

参考链接

https://www.cnblogs.com/Wolf-Dreams/p/10693115.html#auto-id-0

https://www.cnblogs.com/zhang-jun-jie/p/9266810.html
https://blog.csdn.net/a1766855068/article/details/84942745

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值