linux系统中的磁盘管理

本文详细介绍Linux系统下的磁盘管理技巧,包括设备识别、挂载与卸载、磁盘分区、swap分区管理、配额设定及磁盘加密流程。通过具体命令与实例,帮助读者掌握高效磁盘管理的方法。

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

linux系统中的磁盘管理

1.本地设备的识别

fdisk -l	     		##查看真实存在的设备
cat /proc/partitions	##查看系统能识别的设备
blkid					##系统可使用的设备
df						##系统正在挂载的设备

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

2.设备的挂载和卸载
(1)设备名称

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

(2)设备的挂载

mkfs.xfs 设备名						##挂载格式化

mount  设备       挂载点
mount /dev/sdb1  /mnt				##挂载sdb1到mnt
umount  /mnt | dev/sdb1				##卸载sdb1或mnt,都可起到卸载u盘的作用
mount -o ro /deb/sdb1  /mnt			##只读挂载
mount								##查看挂载信息
mount -o remount,rw dev/sdb1 | /mnt	##重新读写挂载

有时如果无法挂载,先将设备格式化后再操作
在这里插入图片描述
卸载
在这里插入图片描述
只读挂载
在这里插入图片描述
通过查看挂载信息可知道为只读挂载
在这里插入图片描述

(3)解决卸载时设备正忙情况
问题:

[root@foundation26 ~]# umount /mnt
umount: /mnt: target is busy.			##设备再被使用
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
解决方法1
fuser -kvm /mnt		##先停掉在使用设备的服务
umount /mnt		    ##这时便可以卸载

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

    lsof /mnt					##查询在使用设备的服务

 [root@server ~]# lsof /mnt
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
bash    10479 root  cwd    DIR 253,16        6  128 /mnt


kill -9 10479			    ##关闭在使用设备的服务
umount /mnt					##卸载

在这里插入图片描述

3.磁盘分区
mpt分区表 64字节 记录分区信息
mbr 446字节 引导磁头的读取方向
硬盘的有效性标示符 2字节 55aa

(1)磁盘0磁道1扇区的512字节中的记录信息如下

512=446			       +64		         +2
     ^			        ^		          ^
  mbr(主引导记录)	mpt(主分区表)	55aa(硬盘的有效性标识)

硬盘分区表共有64字节
通常1个分区占用16个字节
所以一块硬盘上最多可以划分4个主分区

主分区(根据分区表划分的分区)
扩展分区(划分了的主分区)
逻辑分区(划分后的分区)

(2)分区步骤(在虚拟机server端运行)

1.fdisk -l 			##查看硬件信息
2.fdisk /dev/vdb
m

1.查看命令信息

[root@server ~]# 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 0x297e3ba6.

Command (m for help): m			##按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	##修改分区id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit	##保存分区标时信息到硬盘
   x   extra functionality (experts only)

建立主分区
Command (m for help): n			##新建
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): 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): +500M			##分区大小
Partition 1 of type Linux and of size 500 MiB is set

Command (m for help): p			##显示分区信息

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
Disk label type: dos
Disk identifier: 0x297e3ba6

   Device Boot      Start         End      Blocks   Id  System
/dev/vdb1            2048     1026047      512000   83  Linux





##当系统中已经新建了三个分区时(将上面的步骤执行三次)
Command (m for help): n			##选择新建分区
Partition type:
   p   primary (3 primary, 0 extended, 1 free)
   e   extended
Select (default e): e			##因为已经出现三个分区。所以要先扩展分区
Selected partition 4
First sector (4098048-20971519, default 4098048): 
Using default value 4098048
Last sector, +sectors or +size{K,M,G} (4098048-20971519, default 20971519): 
Using default value 20971519
Partition 4 of type Extended and of size 8 GiB is set

Command (m for help): p			##显示分区信息

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
Disk label type: dos
Disk identifier: 0x297e3ba6

   Device Boot      Start         End      Blocks   Id  System
/dev/vdb1            2048     1026047      512000   83  Linux
/dev/vdb2         1026048     2050047      512000   83  Linux
/dev/vdb3         2050048     4098047     1024000   83  Linux
/dev/vdb4         4098048    20971519     8436736    5  Extended##把所有空间都给E

Command (m for help): wq

如果需要对扩展分区进行划分则
先fdisk /dev/vdb  再Command (m for help): n
或者直接 Command (m for help): n
这时划分时

Command (m for help): n
All primary partitions are in use		##这时不会提示选择分区类型
Adding logical partition 5
First sector (4100096-20971519, default 4100096): 
Using default value 4100096
Value out of range.
Last sector, +sectors or +size{K,M,G} (4100096-20971519, default 20971519): +500M
Partition 5 of type Linux and of size 500 MiB is set

Command (m for help): p

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
Disk label type: dos
Disk identifier: 0x297e3ba6

   Device Boot      Start         End      Blocks   Id  System
/dev/vdb1            2048     1026047      512000   83  Linux
/dev/vdb2         1026048     2050047      512000   83  Linux
/dev/vdb3         2050048     4098047     1024000   83  Linux
/dev/vdb4         4098048    20971519     8436736    5  Extended
/dev/vdb5         4100096     5124095      512000   83  Linux

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

4.给设备安装文件系统
ext3 rhel5及以前的版本 最多支持32TB的文件系统和2t文件,实际2tb文件系统,16G文件
ext4 rhel6 最多支持1EB文件系统和16TB文件
xfs rhel17 最多支持18EB和9EB文件

普通挂载
blkid						##查看可用设备
mkfs.xfs    /dev/vdb1		##初始化vdb1设备
mount  /dev/vdb1  /mnt		##挂载

自动挂载
vim  /etc/fstab
设备	   挂载点    文件系统	挂载参数     是否备份    是否检测
/dev/vdb1  /mnt	    xfs		defaults      0	         0

mkfs.xfs    /dev/vdb1		##初始化vdb1设备
mount -a					##自动挂载
df							##查看是否挂载成功

在这里插入图片描述
5.swap分区管理
(1)swap分区建立

fdisk /dev/vdb				##划分swap空间
划分分区并设定分区标签为82
partprobe					##重新加载
mkswap	 /dev/vdb5			##格式化为swap格式
swapon  -a  /dev/vdb5		##激活swap分区
swapon  -s					##查看swap分区

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

 vim  /etc/fstab		##使swap分区开机时仍然生效,消去临时性
内容: /dev/vdb5    swap     swap     defaults    0    0

在这里插入图片描述
(2)swap分区删除

a.  vim  /etc/fstab	##修改开机文件

b.  swapoff  /dev/vdb5  ##删除swap设备
    swapon   -s				##查看是否删除

在这里插入图片描述

c. fdisk /dev/vdb ##删除swap对应分区
d
5
在这里插入图片描述

6.配额
配额是针对设备分区的
du -sh 文件名 ##查看文件的大小

先挂载再更改权限
挂载时激活用户配额
blocks的大小由系统统计
inodes 用户再设备行的文件个数

(1)建立一个新公共目录/pub/
(2)新建一个内存为50M的设备
(3)将dev/vdb6(50M)这个设备挂载到新建/pub目录上
在这里插入图片描述
(4)更改目录的权限
在这里插入图片描述
(5)切换到普通用户,到/pub/目录下,再/pub/中划分空间,可以任意划分空间(但不能多于设备的大小)

dd if=/dev/zero of=/pub/studentfile bs=1M count=20 (coute欲为划分的空间)

在这里插入图片描述
(6)切换到超级用户,删除刚刚的文件,查看挂载状态,没有用户配额
在这里插入图片描述
(7)先卸载/pub/加入用户配额再次挂载

mount -o usrquota /dev/vdb6 /pub

在这里插入图片描述
(8)设定用户可用额度(配额)

edquota -u student /dev/vdb6

在这里插入图片描述
(9)切换到student用户,用于配额给每个用户只分配了20M(vdb5的空间为100M)占用20M空间可以成功,21M出现报错,
在这里插入图片描述
7.磁盘加密
(1)加密流程

cryptsetup  luksFormat	/dev/vdb1	##设备加密

在这里插入图片描述 输入大写的YES 密码应该有英文和数字

cryptsetup  open  /dev/vdb1  westos	##将加密设备更改成一个可以挂载(可做修改)形态,
									westos的默认路径为(/dev/mapper/westos)

在这里插入图片描述
加密的设备不可直接挂载

mkfs.xfs    /dev/mapper/westos  	##初始化更改的可修改文件

mount   /dev/mapper/westos  /mnt	##挂载加密磁盘的可修改文件

在这里插入图片描述

vim  /mnt/file						##新建一个文件并编辑内容

cat  /mnt/file						##这时可以看到文件内容

umount  /mnt/						##卸载

cat  /mnt/file						##这时文件不存在了就无法查看文件内容了

在这里插入图片描述

cryptsetup  close  westos			##恢复形态

cryptsetup  open  /dev/vdb1  westos	##转换形态

mount  /dev/mapper/westos  /mnt/	##挂载

cat /mnt/file						##更改形态之后又可以查看到文件内容

在这里插入图片描述
(2)加密磁盘开机自动挂载

vim /etc/fstab			##设置开机自启动文件
内容:/dev/mapper/westos    /mnt   xfs   defaults   0   0

在这里插入图片描述

vim /etc/crypttab		##设置加密文件的挂载形态,以及密码
内容:westos   /dev/vdb1	    /etc/westoskey

在这里插入图片描述

vim  /etc/westoskey		##设置挂载加密密码(如果不设置密码,会导致开机不稳定)
内容:westos19

在这里插入图片描述
cryptsetup luksAddKey /dev/vdb2 /etc/westoskey##设置挂载设置密码时自动读取/root/westoskey文件的内容

(3)删除磁盘加密

umount /mnt						##卸载
vim  /etc/fstab					##修改开机启动的文件
vim  /etc/crypttab
vim  /etc/westoskey
cryptsetup close westos			##恢复形态
mkfs.xfs   /dev/vdb1	-f		##初始化为xfs格式
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值