linux系统中的磁盘管理

本文详细介绍Linux系统下的磁盘管理技巧,包括设备识别、挂载与卸载、磁盘分区、文件系统安装、swap分区管理、配额设置以及磁盘加密等关键操作。深入解析各种场景下的解决方案,如解决设备忙的问题、实现开机自动挂载加密磁盘等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.本地存储设备的识别

fdisk  -l        //真实存在的设备
注意:实验必须切换到root用户下

在这里插入图片描述

cat   /proc/partitions    //系统识别的设备,系统不一定能用

在这里插入图片描述

blkid                     //系统可使用的设备,系统不一定正在挂载

在这里插入图片描述

>df                        //系统正在挂载的设备

在这里插入图片描述
二.设备的挂载和卸载
(1)设备名称

>/dev/xdx    ##/dev/hd0 /dev/hd0 /dev/hd1 /dev/sda /dev/sda1 /dev/sda2 /dev/sdb1

>/dev/sr0    ##光驱

>/dev/mapper/*    ##虚拟设备

(2)设备的挂载

mount 设备 挂载点

mount /dev/sdc1 /mnt //挂载sdc1到/mnt下

在这里插入图片描述

umount /mnt | /dev/sdc1  //卸载

在这里插入图片描述

mount  -o ro /dev/sdb1 | /mnt  //只读挂载,
>注意:在设置之前必须把以前的挂载卸载掉

问题及解决:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

mount //查看挂载信息

在这里插入图片描述
检测:
在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述
检测:
在这里插入图片描述
注意:当挂载设备到/mnt/下时不能在/mnt/的目录下对其进行卸载,应到家目录下对其进行卸载。
在这里插入图片描述
(3).解决设备正在忙的情况

出现问题:umount /dev/sdb1
umount: /mnt: target is busy.<有程序在使用的设备>

在这里插入图片描述
解决方法1:

fuser -v  /mnt     ##查看那是哪个程序正在占用
fuser -vm  /mnt   ##更详细的查看是哪个程序正在占用
fuser  -kvm /mnt   ##查看并结束占用的程序
umount  /mnt/      ##再卸载

在这里插入图片描述
注意:用该命令的时候kill了使用该设备的程序会回到普通用户,因此要再次切到root用户下进行卸载

解决方法2:

lsof /mnt/      ##用该命令查出pid,然后用kill命令结束该进程
kill -9 277446
umount /mnt 

三.磁盘分区

  1. 概念:磁盘分区是使用编辑器再次盘上划分几个逻辑部分,盘片一旦划分成数个分区,不同类的目录和文件可以存储进不同的部分一个MBR分区表类型中的硬盘最多只能存在四个主分区,如果一个人硬盘上需要超过四个以上的磁盘分块的话,那么就需要扩展分区。如果使用扩展分区,那么一个物理硬盘上最多只能有3个主分区和一个扩展区。且扩展区不能直接使用,它必须经过第二次分割成为一个个逻辑分区,然后才可以使用。
  2. 目的:分区允许在一个磁盘上有多个文件系统。

(1)硬盘0磁道1扇区的512个字节中记录的信息如下
512=446 + 64 + 2

<table> 
   <thead>
       <tr> 
            <th>446</th> 
            <th>64</th> 
            <th>2</th> 
   </tr>
</thead>
<tbody>
     <tr>
             <td>mbr(主引导记录)</td>
             <td>mpt(主分区标)</td>
             <td>55aa(硬盘有效性标识)</td> 
        </tr>
     </tbody>
</table>

首个512字节后跟的是硬盘分区标
64B
1个分区占用16个字节
1块硬盘上最多可以划分4个主分区
(2)分区步骤:

fdisk  -l    ##查看硬盘的分区情况

在这里插入图片描述

fdisk  /dev/vdb    ##编辑该分区

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 ##保存并退出

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

  • 建立主分区
    在这里插入图片描述
  • 当系统已经有三个主分区时

在这里插入图片描述
在这里插入图片描述
四.给设备安装文件系统
1.ext3 rhel5及之前的版本

  • 最多支持32TB的文件系统和2t文件,实际2tb文件系统,16G文件
  • ext3目前只支持32000个子目录
  • ext3文件系统使用32位空间记录块数量和节点数量
  • 当数据写到ext3文件系统中时,ext3的数据分配器每次只能分配一个4KB的块

2.ext4 rhel6版本

  • ext4的文件系统容量达到1EB,而文件内容则达到16TbB
  • 理论上支持无限数量的子目录
  • ext4文件系统使用64位空间记录块数量和节点数量
  • ext4的多块分配器支持一次调用分配多个数据块

3.xfs rhel7版本

  • xfs为日志文件系统
  • 根据所记录的日志在很短的时间内迅速恢复磁盘文件的内容
  • 采用优化算法,日志记录对整体文件操作影响非常小
  • 是一个64-bit的文件系统,它可以支持上百万T字节的存储空间
  • 能以接近裸设备I/O的性能存储数据

xfs文件系统的特性:

  • 数据完全性
  • 传输特性
  • 可扩展性

mkfs.xfs

在这里插入图片描述
实验:本例格式化文件系统

  • 准备工作:首先在分区下再建立一个扩展分区/dev/vdb5假设分1000M
    在这里插入图片描述
mkfs.xfs    /dev/vdb5  //将/dev/vdb5格式化使其成为xfs文件系统
 

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

  • mount /dev/vdb1 /mnt //挂载
    在这里插入图片描述
  • vim /etc/fstab //编辑该文件系统reboot之后仍然会自动挂载
    在这里插入图片描述
    在这里插入图片描述系统重启之后发现挂载不生效
    在这里插入图片描述
    mount -a //使编写文件内容生效
    在这里插入图片描述
    检测:
    reboot虚拟机后发现挂在点仍旧存在,则永久更改生效
    在这里插入图片描述
    五.swap分区管理
    swap分区的作用:我们在安装系统的时候已经区建立了swap分区,swap分区是Linux系统的交换分区,当内存不够用的时候,我们使用swap分区存放内存中暂时不用的数据。也就是说,当内存不够用时,我们使用swap分区来暂时代替。
  • 1.swap分区建立

建议swap分区的大小是内存的两倍,但不超过2GB。但是有时候服务器的访问量确实很大,有可能出现swap分区不够用的情况,所以我们需要学习swap分区的建立方法。

划分分区并设定分区标签为82
在这里插入图片描述
在这里插入图片描述

  • mkswap /dev/vdb6 //将swap分区格式化
    在这里插入图片描述

  • swapon -a /dev/vdb6 ##加载vdb6为虚拟内存分区

  • swapon -s ##查看虚拟内存分区
    在这里插入图片描述

  • vim /etc/fstab //永久建立swap分区
    在这里插入图片描述
    2.swap分区删除

  • vim /etc/fstab //删除所加的分区建立的相应内容

  • swapoff /dev/vdb6 //关闭swap分区

  • swapon -s //查看
    在这里插入图片描述
    六配额
    配额是针对分区的,管理员可以为用户所能使用的磁盘空间进行配额限制,每一位用户只能使用最大配额范围内的磁盘空间。即可对用户存储文件数量限制,也可对用户存储文件大小做限制。

(1)创建一个设备

  mkdir    /pub             ##新建一个目录
  chmod  1777 /pub    ##	赋予权限,便于测试  

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

  • 新建一个分区,并且同部分区列表,如果分区没有显示,则可以使用partprobe命令(同部分区列表)
    在这里插入图片描述
  • mkfs.xfs /dev/vdb5 ##分区格式化
    在这里插入图片描述
  • mount -o usrquota /dev/vdb5 /pub //挂载,并打开用户配额,usrquota----->用户配额
    在这里插入图片描述
    在这里插入图片描述
    (2)激活配置参数
  • 打开配置文件
    在这里插入图片描述
    设置student用户最大额度为20M(20480k=20M)
    在这里插入图片描述
  • 编辑挂载策略文件
    在这里插入图片描述
    在这里插入图片描述
  • 测试
    20M没有超过最大限额,可以正常截取
    在这里插入图片描述
    21M超过最大额度提示,提示超过配额限制,则其真实截取大小仍为21M
    在这里插入图片描述
    七.磁盘加密
    将计算机用户的磁盘进行加密以防止信息泄露。
  • 对所需要加密的磁盘进行加密

cryptsetup luksFormat /dev/vdb5

在这里插入图片描述
注意:由于用到的是rhel7.0系统,因此在输入yes时要大写,且密码要输入俩次

  • 将加密磁盘用新目录打开

cryptsetup open /dev/vdb5 westos ##westos为新目录(自定义),该目录的名字是临时的每次打开可以起的名字任意
ll /dev/mapper #查看加密文件

在这里插入图片描述

  • 格式化新目录westos,然后挂载

mkfs.xfs /dev/mapper/westos
mount /dev/mapper/westos /mnt/

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

  • 验证加密成功
    touch /mnt/file
    vim /mnt/file
    在这里插入图片描述
umount /mnt/
cryptsetup close westos  //关闭加密认证

注意:若只是umount /mnt/那么再次挂载还是能看到内容
在这里插入图片描述

umount /mnt/
cryptsetup close westos //关闭加密认证
在这里插入图片描述再次打开加密文件的时候:
在这里插入图片描述
2.加密磁盘开机自动挂载

vim /etc/fstab    ##设置开机挂载
/dev/mapper/hehehe  /mnt/    xfs defaults  0  0

在这里插入图片描述

vim /etc/cryttab    ##连接vdb5到密码文件
hehehe    /dev/vdb5    /root/hehehe_key   

在这里插入图片描述

vim /root/hehehe_key    ##创建密码文件
westos2019

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

cryptsetup luksAddKey  /dev/vdb5   /root/hehehe_key    ##加载该钥匙

在这里插入图片描述
验证:
当reboot虚拟机之后
在这里插入图片描述
3.删除开机自动挂载

vim  /etc/fatab    ##删除开机挂载
umount  /mnt   ##卸载
cryptsetup  close  hehehe    ##关闭加密
mkfs.xfs   /dev/vdb5             ##格式化vdb5

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值