(五)Linux储存的基本管理

本文详细介绍了Linux系统中的磁盘管理,包括设备识别、查看、分区(MBR与GPT)、文件系统对比、挂载、设备查找、swap分区的作用与设置,以及磁盘配额的配置。通过实例演示了如何使用fdisk、parted等工具进行分区,以及如何设置和管理swap空间。此外,还讲解了如何设定和调整用户磁盘配额,以限制用户对特定设备的使用。

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

目录

###1.设备识别###

###2.设备查看###

 ###3.分区###

##MBR分区方式

##GPT分区方式

##分区方法

 ##3.常用文件系统对比##

###4.设备挂载###

###5.设备中文件的查找###

 ###6.swap分区###

##swap分区的作用

##swap分区的建议:

###7.磁盘配额###


##实验环境的设定
#添加一块硬盘(SATA) --> 10GB     SATA ---->机械硬盘
#添加一块硬盘 (NVMe) -->10GB    NVMe ---->固态硬盘


###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         ##mmcblk卡

###2.设备查看###

fdisk -l                      ##查看磁盘分区情况

 lsblk                          ##设备使用情况

 blkid                          ##设备管理方式及设备id


df                               ##查看正在被系统挂载的设备
df -h                          ##查看被挂载设备的同时 把它的容量按相应的单位进行显示  
df -H                          ##H和h的容量显示方式不同      

   
cat /proc/partitions   ##查看系统识别设备
 

 ###3.分区###

#分区方式

分区方式(位数)分区表大小支付分区个数支持单个分区大小
legacy(MBR)32    64byte主分区4个2.2TB   所有分区16个
UEFI(GPT)64    128byte理论上无限制8ZiB     Windows 128

##MBR分区方式

主分区
主分区表记录分区的信息并可以直接使用的分区
扩展分区
作为一个容器记录主分区以外的所有容量
主分区表记录的分区,不可直接使用,只是逻辑分区容器
逻辑分区
扩展分区之上划分的分区叫做逻辑分区

##GPT分区方式

分区表
首先会建立一个EFI的分区
后面建立的所有分区都由EFI来记录


##分区方法

#交互式划分磁盘分区
ot@rhel8_node1 mnt]# fdisk /dev/sdb

Welcome to fdisk (util-linux 2.32.1).
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.
Created a new DOS disklabel with disk identifier 0x4018d2a4.
Command (m for help): m                        ##获得帮助
d                                                               ##删除
l                                                                ##列出所有分区类型
n                                                               ##新建
p                                                               ##显示分区表
t                                                                ##更改分区类型
w                                                               ##保存更改 
q                                                                ##退出
g                                                                ##设定分区方式为GPT
o                                                                ##设定分区方式为mbr
Command (m for help): n                                                    ##新建
Partition type
 p   primary (0 primary, 0 extended, 4 free)                         ##主分区
 e   extended (container for logical partitions)                     ##扩展分区
Select (default p): p                                                             ##建立主分区
Partition number (1-4, default 1):1                                       ##分区表位置
First sector (2048-20971519, default 2048):                       ##分区起始位置推荐使用默认
Last sector, +sectors or +size{K,M,G,T,P} (2048-20971519, default 20971519): +100M 
                                                                                             ##分区结束位置
Command (m for help):wq                                                   ##退出保存,如果直接q表示退出不保存

 udevadm settle                                                      ##同步分区表


dd if=/dev/zero of=/dev/sdb bs=1M count=1          ##清空磁盘 

 
#非交互式划分磁盘分区
parted /dev/sda mklabel  gpt(msdos)                     ##设定分区的方式gpt(msdos)
parted /dev/sda mkpart primary 1 100                   ##设定主分区1大小为100MB


parted /dev/sda rm 1                                              ##删除建立的主分区1 

 ##3.常用文件系统对比##

文件系统FAT16NAT32NTFSEXT3EXT4XFS
最大卷2GB4GB256TB256TB32TB1EB
最大单个文件4GB8TB16TB2TB16TB8EB
最大文件个数655364177920429496729532000个子目录32000个子目录无限子目录
代表系统DOS/Win95Win98Win2000以上RHEL5

RHEL

6

RHE

EL7

mkfs.xfs -K /dev/sdb1           ##格式化设备为xfs文件系统(相当于载/dev/sda1上安装设备管理软件)
                                              ##-K 不丢弃空数据块

###4.设备挂载###

在系统中有id的设备是可以被系统使用的
挂载命令:
mount -o  挂载参数  device  挂载点
mount  /dev/sdb2 /mnt/             ##将/dev/sdb2挂载到/mnt/
umount     设备/挂载点                 ##卸载
umount /dev/sdb2
mount                                           ##查看挂载信息
mount -o ro /dev/sdb2 /mnt/         ##只读挂载信息
mount -o remount,rw /mnt/           ##读写挂载信息

”注意:以上设备挂载都是临时挂载“
##设备永久挂载
vim /etc/fstab                ##设备策略挂载文件
设备          挂载点            文件系统类型       挂载参数     是否备份     是否检测
/dev/sdb2    /mnt                  xfs              defaults          0                   0
此文件在编写完成后不会马上生效
mount -a                        ##重新读取/etc/fstab文件
此文件内容编写错误会导致系统启动失败
解决方法:按照提示在操作界面输入超级用户密码
注释错误行
重启系统即可


##设备卸载
在卸载时当出现设备正忙,
fuser -kvm  设备| 挂载点        ##-k 结束进程, -v 现实详细信息 -m 显示进程
fuser -vm /mnt/             ##查看设备上运行的shell
fuser -Kvm /mnt/           ##结束设备上运行的shell
umount /mnt

###5.设备中文件的查找###

##实验素材
touch /mnt/westosfile{1..5}
mkdir /mnt/westos
touch /mnt/westos/westostest{1..3}
useradd linuxrui
ls -lR /mnt/
chmod 600 westosfile1
chmod 660 westosfile2
chmod 444 westosfile3
chmod 440 westosfile4
chmod 000 westosfile5
chgrp westos westosfile1
chgrp  linuxrui westosfile2
chown westos westosfile3
chown linuxrui westosfile4
chown linuxrui.linuxrui westosfile5
dd if=/dev/ zero of=/mnt/westosfile1
dd if=/dev/ zero of=/mnt/westosfile2
dd if=/dev/ zero of=/mnt/westosfile3

watch -n 1 ls -Rl /mnt/

find /mnt/ -name westos            ##查找/mnt/下名称为westos的目录或文件
find /mnt/ -name westos*          ##查找/mnt/下名称为westos的所有目录或文件
find /mnt/ -maxdepth 1 -name westos*   ##查找/mnt/下名称为westos且深度为1的所有目录或文件
find /mnt/ -user root                  ##查找/mnt/属于超级用户的目录或文件
find /mnt/ -user linuxrui -group linuxrui
                                                     ##查找/mnt/下所有人和所有组都属于linuxrui的目录或文件
find /mnt/ -user linuxrui -not -group linuxrui
                                                     ##查找/mnt/下所有人属于linuxrui所有组不属于linuxrui的目录或文件
find /mnt/ -user linuxrui -o -group root
                                                  ##查找/mnt/下所有组属于linuxrui或者所有组是root的目录或文件
find /mnt/ -type d                       ##查找/mnt/下的目录
find /mnt -cmin -1                      ##查找/mnt/下在1分钟以内修改过的文件或目录
find /mnt -cmin +1                     ##查找/mnt/下超过1分钟修改的文件或目录
find /mnt -size 20M                    ##查找/mnt/大小为20M的文件或目录
find /mnt -size -20M                   ##查找/mnt/小于20M的文件或目录
find /mnt -size +20M                  ##查找/mnt/大于20M的文件或目录
find /mnt -perm 444                   ##查找/mnt/权限为444的文件或目录
find /mnt -perm -444                  ##查找/mnt/三个位置权限都为444(并列关系)的文件或目录
find /mnt -perm /444                 ##查找/mnt/三个位置权限有一个为4的文件或目录
find /mnt =perm /644                ##查找/mnt/ u位有读的权力,u位有写的权力,g位有读的权力,o位有读的权力的满足这四个权力其中一个的文件或目录
find /mnt =perm -644                ##查找/mnt/ u位有读的权力,u位有写的权力,g位有读的权力,o位有读的权力的满足这四个权力的文件或目录
  
-a        ##表示并且
-o       ##表示或者    

 
###6.swap分区###

##swap分区的作用

程序在运行是所有数据是在RAM
当RAM使用量超过了限额
为了使系统更加稳定
我们在硬盘上划分一部分空间来作内存缓冲区swap
当内存使用超过限额,内核会把内存中闲置的数据存放到swap中
当程序需要swap分区中的数据时内核将swap中的数据再交还给内存进程处理

##swap分区的建议:

内存大小                    swap分区建议大小               当允许HIBERNATE -->关机时讲书局保存在swap分区里
2GiB以下                        内存两倍                              内存3倍
2-8GiB                            等于物理内存                        物理内存2倍
8-64GiB                          4GiB                                     1.5倍物理内存
64GiB                              4GiB                                      HIBERNATE不开
#swap管理
swapon -s                ##查看swap分区信息

#创建swap分区

fdisk /dev/sdb                    ##创建分区
udevadm settle                  ##同步分区表
blkid                                   ##查看设备id
mkswap /dev/sdb1            ##格式化设备为swap格式         
swapon -a /dev/sdb1        ##激活设备/dev/sdb1
swapon -s 
 swapoff /dev/sdb1           ##关闭设备/dev/sdb1
 swapon -a /dev/sdb1 -p 1 ##指定设备/dev/sdb1的优先级为1

创建分并设定分区的类型为Linuxswap
mkswap /dev/sdb1          ##格式化设备为swap格式
swapon /dev/sdb1 -p 0-32767           ## -p表示指定swap的优先级

以上操作都为临时操作
如果永久添加swap分区
vim /etc/fstab
/dev/sdb1          swap          swap          pri=4          0     0
swapon -a


#删除swap
vim /etc/fstab
/dev/sdb1         swap           swap         pri=4           0      0          ##删除此行
reboot             ##重启后划分的swap分区仍然存在
 

###7.磁盘配额###


#作用:设定用户能写入指定设备的最大限额
#设定方法:
mount /dev/sda1 /pub/ -o usrquota ##挂载设备并激活配额参数
quotaon -uv /dev/sda1                      ##激活配额
edquota -u lee                                    ##设定用户lee配额
Disk quotas for user lee (uid 1001):
设备     用户已经创建数据      软限      硬限    用户已经创文件个数   软限    硬限
Filesystem   blocks              soft       hard        inodes                    soft   hard
/dev/sda1     20480                0         20480         1                           0       0

#永久开启配额

vim /etc/fstab
/dev/sda1 /pub xfs defaults,usrquota 0 0
测试:
su - lee
cd /pub
dd if=/dev/zero of=/pub/leefile bs=1M count=22     ##截取数据失败只能写入20M数据
#关闭配额:
quotaoff -uv /dev/sda1
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值