Linux系统中的磁盘管理

本文详细介绍Linux系统下的磁盘管理操作,包括设备识别、挂载与卸载、分区、文件系统安装、swap分区管理、配额设定及磁盘加密等关键技术。通过具体步骤和实例演示,帮助读者掌握Linux磁盘管理和数据安全的基本技能。

##################################
1.本地存储设备的识别

fdisk -l##系统中存在的设备(存在的设备不一定能被识别)
cat /proc/partition##系统当中内核被识别的设备(内核被识别的设备不一定能用)
blkid##系统中可使用的设备
df##系统正在挂载的设备

例:
<1>将自己的U盘插在电脑上,df查看系统中正挂载的设备,含有U盘
在这里插入图片描述
<2>查看系统中存在的设备
在这里插入图片描述
<3>查看系统中被识别的设备
在这里插入图片描述
<4>查看系统中可使用的设备
在这里插入图片描述
2.设备的挂载和卸载
(1)设备名称

/dev/xdx##/dev/hd0 /dev/hd1 /dev/sda /dev/sdb /dev/sda1 /dev/sda2 /dev/sdb1
/dev/sr0##光驱
/dev/mapper/*##虚拟设备

(2)设备的挂载

mount 设备    挂载点
mount /dev/sdb1  /mnt     ##挂载/dev/sdb1到/mnt
umount /dev/sdb1 | /mnt   ##卸载
mount -o ro /dev/sdb1  /mnt  ##只读挂载
mount                         ##查看挂载信息
mount -o remount,rw /dev/sdb1   /mnt ##重新读写挂载

例:
<1>将U盘挂在到/mnt/目录下,查看/mnt/中的内容,是U盘中的内容
在这里插入图片描述
<2>mount 查看挂载信息,即挂载的状态
在这里插入图片描述
如图所示:U盘的挂载为读写挂载
在这里插入图片描述
<3>mount /dev/sdb1 将U盘从/mnt/下卸载
在这里插入图片描述
再次卸载,U盘不在系统正在挂载的设备中
在这里插入图片描述
<4>将U盘只读挂载到/mnt/下,mount查看挂在信息,U盘为只读挂载
在这里插入图片描述
在这里插入图片描述
<5>切换到该目录下,在其中建立文件,建立不了,因为是只读类型
在这里插入图片描述
<6>mount -o remount,rw /dev/sdb1 /mnt 将U盘重新读写挂载,挂在后查看信息
在这里插入图片描述
在这里插入图片描述
(3)解决设备正忙的问题
切换到/mnt/(设备挂载点)打开另一shell卸载设备,出现设备正忙的报错
解决方法1:
fuser -v /mnt ##查看占用设备的进程
fuser -vm /mnt##总进程和子进程都显示,更详细
fuser -kvm /mnt##查看并杀死进程
umount /mnt 卸载
解决方法2:
lsof /mnt
查看占用/mnt/的进程号
kill -9 pid 杀死进程后再次卸载
例:
<1>先切换到/mnt/目录下,打开另一个shell卸载U盘,系统提示,/mnt/正忙
在这里插入图片描述
<2>fuser -v /mnt 查看占用设备的进程的pid
fuser -vm /mnt 查看占用进程的总进程和子进程pid
在这里插入图片描述
<3>lsof /mnt 查看占用设备的进程的pid
在这里插入图片描述
<4>fuser -kvm /mnt 查看进程的pid并结束进程,也可以使用kill -9 pid杀死进程
在这里插入图片描述
在这里插入图片描述


注:虚拟设备 系统中模拟出来的设备
umount后可接设备也可接挂载点
可以在挂载点看到设备中的内容
默认是读写挂载
退出挂载点卸载
只读挂载  重新挂载可更改状态
vm总进程和子进程都显示,更详细
kvm查看并杀死进程

#########################################################
系统受硬盘管理
0磁道 磁头停止的位置
引导磁头到某一位置后自动读取哪一部分的文件
引导程序 长度446字节
mbr 0磁道的1扇区
记录分区信息 mbr分区方式最多划分四个主分区
mpt 主分区表 64字节
记录的分区数目由分区的信息决定
若一个分区一个字节 记录64 个
2 32
4 16
8 8
16 4
32 2
64 1

2字节 硬盘的有效标示符 55 aa
一共512字节
逻辑分区 不是由分区表记录的
扩展分区 分区由主分区表记录并且是容器
扩展分区被删除所有的逻辑分区都会失效
容器不能直接使用
#######################################
3.分区步骤
(1)硬盘0磁道1扇区的512个字节中记录的信息如下
512=446 + 64 +2

<1>fdisk -l 查看可用设备

[root@server_sshd ~]# fdisk -l

Disk /dev/vda: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x00013f3e

   Device Boot      Start         End      Blocks   Id  System
/dev/vda1   *        2048    20970332    10484142+  83  Linux

Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

在这里插入图片描述
<2>fdisk /dev/vdb 开始分区

[root@server_sshd ~]# fdisk /dev/vdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x6eba3973.

在这里插入图片描述
<3>按m查看帮助|用法

Command (m for help): m
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   g   create a new empty GPT partition table
   G   create an IRIX (SGI) partition table
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)


在这里插入图片描述
<4>按n建立分区,系统会提示要建立p(主分区)还是e(扩展分区),默认是p,直接回车即可,再次回车,到选择大小时+想要的大小,建立完了可以p查看主分区表

Command (m for help): n      ##新建
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p):           ##主分区
Using default response p
Partition number (1-4, default 1):    ##id用默认
First sector (2048-20971519, default 2048):     ##分区起始
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +200M    ##分区大小
Partition 1 of type Linux and of size 200 MiB is set

在这里插入图片描述
<5>重复以上建立步骤,建立三个分区后查看分区表,含有三个分区
在这里插入图片描述
查看分区表
在这里插入图片描述
<6>再次建立,系统只会提示e,只可以建立扩展分区,一直按回车,将剩下所有的大小分给扩展分区,保证所有的大小可用,建立后查看
在这里插入图片描述
在这里插入图片描述
<7>建立完扩展分区后继续建立,系统不会再提示类型,只可以建立逻辑分区
按回车继续,道选择分区大小时+输入自己想要的大小,建立完之后查看,现在有五个分区
在这里插入图片描述
在这里插入图片描述
<8>wq退出保存,如果只按q不会保存直接退出

Command (m for help): wq
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

<9>退出后fdisk -l 查看存在的设备,现在存在五个设备,是刚刚建立的五个分区
在这里插入图片描述
自动文件系统挂载策略

4.给设备安装文件系统
<1>blkid查看系统中的可用设备

[root@server_sshd ~]# blkid
/dev/vda1: UUID="9bf6b9f7-92ad-441b-848e-0257cbb883d1" TYPE="xfs" 

<2>mkfs.xfs /dev/vdb5格式化设备,格式化了才可用
在这里插入图片描述
<3>格式化之后再次查看可用设备,显示有两个
在这里插入图片描述
<4>将刚刚添加的可用设备挂载到/mnt/下,
(临时挂载,关机重启后自动消失)卸载后mount -a ,df查看设备没有被挂载
在这里插入图片描述
在这里插入图片描述
<5>编辑文件vim /etc/fstab,
写入/dev/vdb5 /mnt xfs defaults 0 0
在这里插入图片描述
mount -a 自动挂载,挂载后df查看,有/dev/vdb5 设备
在这里插入图片描述
###########################################
同步分区表
-a 激活
-s 扫描
5.swap分区管理
(1)swap分区建立
<1>划分一个分区
在这里插入图片描述
查看分区表
在这里插入图片描述
更改分区类型
在这里插入图片描述
<2>设定分区标签82
在这里插入图片描述
再次查看分区表,信息改变
在这里插入图片描述
<3>退出保存后出现报错
在这里插入图片描述
<4>同步分区表
[root@server_sshd ~]# partprobe
查看被识别的设备
[root@server_sshd ~]# cat /proc/partitions
在这里插入图片描述
<5>格式化swap分区,blkid查看可用设备
在这里插入图片描述
<6>swapon -s,扫描swap分区,扫描不到
swapon -a /dev/vdb6 激活新建的swap分区后再次扫描可以扫描到
在这里插入图片描述
<7>编辑文件,永久设定
/dev/vdb6 swap swap defaults 0 0
[root@server_sshd ~]# vim /etc/fstab
在这里插入图片描述
(2)删除swap分区
<1>关闭swap分区,再次扫描没有swap分区,从文件中也删除


[root@server_sshd ~]# swapoff /dev/vdb6
[root@server_sshd ~]# swapon -s
[root@server_sshd ~]# vim /etc/fstab

在这里插入图片描述
<2>查看系统中存在的设备,swap分区仍然在
在这里插入图片描述
<3>删除swap分区
在这里插入图片描述
<4>同步分区表再次查看系统中存在的设备,没有swap分区
在这里插入图片描述
#####################################################
6.配额

<1>建立一个新的公共目录/pub/
[root@server_sshd ~]# mkdir /pub/
在这里插入图片描述
<2>卸载/mnt/
从文件中也删除或者注释
在这里插入图片描述
<3>将/dev/vdb5这个设备挂载到新建目录上
在这里插入图片描述
<4>更改目录的权限

[root@server_sshd ~]# chmod 1777 /pub/
[root@server_sshd ~]# ls -ld /pub/
drwxrwxrwt. 2 root root 6 Jan 22 06:09 /pub/

在这里插入图片描述
<5>切换到student用户,切换到/pub/路径下,在/pub/中占用空间,几次占用后会提示满额
在这里插入图片描述
在这里插入图片描述
<6>退出student用户后超级用户删除刚刚建立的所有文件,查看挂载状态,没有用户配额
[root@server_sshd pub]# rm -fr /pub/*
[root@server_sshd pub]# mount
在这里插入图片描述
在这里插入图片描述
<7>先卸载/pub/,加入用户配额再次挂载
[root@server_sshd ~]# umount /pub/
[root@server_sshd ~]# mount -o usrquota /dev/vdb5 /pub/
在这里插入图片描述
<8>设定限额的用户可用的额度
[root@server_sshd ~]# edquota -u student /dev/vdb5
edquota: user /dev/vdb5 does not exist.
将文件中的hard硬限设为20480K即20M
<9>切换到student用户,占用20M空间可以成功,21M出现报错,因为给student用户的配额只有20M
在这里插入图片描述

注:
先挂载再该权限
挂载时激活用户配额
blocks 的大小由系统统计
soft 警告
hard 硬限 单位k
inodes 用户在设备上的文件个数
个数的软限和硬限
配额时针对设备的,只在设置过配额的设备生效
用户在没有设置配额的设备上写入不会受到限制

#########################################
7.磁盘加密
加密后会覆盖原来的内容
设定之前将配额卸载
解密后的形态,原来的设备不可用
(1)设备加密

<1>加密前卸载设备,删除配额,在pub目录下建立文件
在这里插入图片描述
在这里插入图片描述

<2>给/dev/vdb5设备加密,输入大写的yes,设置密码
在这里插入图片描述

<3>加密后查看可用设备/dev/vdb5显示被加密
在这里插入图片描述
<4>挂载设备显示无法挂载

<5>打开加密设备之前先查看/dev/mapper目录,只有一个文件

<6>打开时给/dev/vdb5设备一个代号hello,输入密码
改变形态打开

<7>查看/dev/mapper 有两个文件,其中包括刚刚解密的hello

<8>初始化刚刚新解密的设备/dev/mapper/hello
在这里插入图片描述
<9>将设备挂载到/pub/目录下
在这里插入图片描述
<10>在目录中建立文件并编辑,目录中加密前的文件被覆盖
在这里插入图片描述
在这里插入图片描述
<11>卸载设备,恢复原来的形态cryptsetup close hello
在这里插入图片描述
在这里插入图片描述
<12>再次解密,新的代号可以改变,输入设定的密码,查看/pub/目录下文件的内容,和上一次解密时写入的一致,所以说代号不会改变解密后设备中的内容
在这里插入图片描述
<13>卸载设备,再次查看目录下的文件,是加密之前的文件

(2)加密磁盘的开机自动挂载
加密过的文件开机启动时会开不了,为了解决这一问题,可以在系统中将设备密码写入一个文件中,设置加密磁盘开机自动挂载

<1>在文件中写入
[root@server_sshd ~]# vim /etc/fstab
/dev/mapper/hello /pub xfs defaults 0 0
在这里插入图片描述
<2>建立并编辑任意文件,在文件中写入加密设备的密码

<3>
在这里插入图片描述
<4>给加密设备加钥匙
在这里插入图片描述
<5>重启虚拟机
<6>开机后df直接查看,加密设备被自动挂载
在这里插入图片描述
(3)删除加密和开机自动挂载
<1>将三个文件中的内容删除或注释
[root@server_sshd ~]# vim /etc/fstab
[root@server_sshd ~]# vim /root/disk_passwd
[root@server_sshd ~]# vim /etc/crypttab
在这里插入图片描述
<2>卸载设备
[root@server_sshd ~]# umount /pub/
在这里插入图片描述
<3>关闭加密形态
[root@server_sshd ~]# cryptsetup close hello
在这里插入图片描述
<4>再次初始化设备,系统提示要加-f强制初始化

[root@server_sshd ~]# mkfs.xfs /dev/vdb5
mkfs.xfs: /dev/vdb5 appears to contain an existing filesystem (crypto_LUKS).
mkfs.xfs: Use the -f option to force overwrite.

[root@server_sshd ~]# mkfs.xfs /dev/vdb5 -f
meta-data=/dev/vdb5              isize=256    agcount=4, agsize=32000 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0
data     =                       bsize=4096   blocks=128000, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal log           bsize=4096   blocks=853, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

<5>reboot重启即可
###########################################

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值