Linux存储的基本管理

本文详细介绍了Linux环境下如何管理存储设备,包括识别设备、设备挂载、分区操作、文件查找以及磁盘配额设置。内容涵盖fdisk、parted等工具的使用,以及各种文件系统的比较。此外,还讲解了swap分区的作用和管理,以及如何通过quota限制用户磁盘使用额度。
摘要由CSDN通过智能技术生成

配置环境:先为虚拟机添加一块硬盘
在真机中建立一块10G的动态硬盘,添加到虚拟机B上
在这里插入图片描述
在这里插入图片描述

一.设备识别

外部存储设备接入系统后,都是以文件的形式存在
在这里插入图片描述
文件名词解释:

SATA/SAS/USB             /dev/sda,/dev/sdb         ##s=SATA,d=DISK a=第几块
IDE /dev/hd0,/dev/hd1                                       ##h=hard
VIRTTO_BLOCK /dev/vda,/dev/vdb                ##v=virtio,vda就表示第一块虚拟硬盘
M2 (SSD) /dev/nvme0,/dev/nvme1                ##nvme=m2
SD/MMC/EMMC dev/nmcblk0,/dev/nmblck1     ##nmclk=mmc卡
光驱         /dev/cdrom,/dev/sr0,/dev/sr1

当前设备查看

fdisk -l	  查看磁盘分区情况
lsblk		设备使用情况,可以看到当前硬盘有几个分区
blkid		设备管理方式及设备id
df 		查看正在被系统挂载的设备
cat /proc/partitions	查看系统识别设备

在这里插入图片描述

二.设备挂载

1 临时挂载

在系统中有设备ID的存储设备时可以被系统使用的,使用前需要先将其挂载到系统目录中才可以被读取

mount -o 挂载参数 device 挂载点
umount 设备|挂载点   ##卸载时,输入设备名称或者挂载点位置都可以卸载调
mount	##查看挂载信息(例如设备的权限查看)
mount -o rw /dev/vda1 /westos ##挂载的设备有读写权限
mount -o remount,ro /westos  ## 转换挂载参数,由读写变为只读

重新挂载boot分区到其他目录下
在这里插入图片描述
在卸载时当出现设备正忙
fuser -kvm 设备|挂载点 ## -k 结束进程 -v详细信息 -m 显示进程
注:在shell中以mount命令进行的挂载都是临时挂载,系统重启后会不会自动挂载。

2 设备永久挂载

编写设备挂载策略文件,可以实现设备的永久挂载

vim /etc/fstab ##编辑设备挂载策略文件

设备       挂载点			文件系统类型         挂载参数	    是否备份 是否检测
					 	                          
UUID=14b62de7-c160-4f82-9cb3-2187437c52ee / xfs defaults        0       0 
/dev/vdb        /erqian          xfs            defaults        0       0

在这里插入图片描述
此文件在编写完成后不会马上生效
mount -a重新获取fstab 文件后生效
此文件内容编写错误会导致系统启动失败,启动时根据提示输入密码,修改fstab文件为正确的后即可重启成功

三. 设备中文件的查找

find命令:

find
-name名称
-user用户
-group用户组
-typef d s b l
-perm111 /111 -111
-exec
-maxdepth 1最深目录
-mindepth 1最浅目录
-cmin1 -1 +1
-size+ - 1M
-oor
-aand
-not

用法:

在这里插入代码片

find /mnt/ -name passwd* ##在指定目录中查找以passwd开头的文件
find /mnt/ -maxdepth 4 -mindepth 2 -name passwd* ##在指定目录中查找以passwd开头的文件,查找深度最深为4,最浅为2
find /mnt/ -user westos ##查找拥有者为westos的文件
find /mnt/ -not -user westos##查找拥有者不为为westos的文件
find /mnt/ -user westos -o -group root ##查找拥有者为westos的文件或者拥有组为root
find /mnt/ -user westos -a -group root ##查找拥有者为westos的文件并且拥有组为root
find /mnt/ -type d ##查找目录
find /mnt/ -perm 644##权限为644
find /mnt/ -perm -444## 目标文件里面含有444就可以
find /mnt/ -perm /744## 目标文件任意ugo有744就可以
find /mnt/ -perm /744 -type f -exec chmod ugo-x {} \; ##查找目标文件任意ugo有744后,删除x权限 , {}表示find命令查找结果 \ 是为了转译";"

四 .存储设备的分区

分区方式位数分区表大小支持分区个数支持单个分区大小
legacy(mbr) 3264byte主分区4个,所有分区16个2.2TB
UEFI(gpt) 64128byte理论上无限制8ZiB

MBR分区方式:
**主分区:**主分区表记录分区信息并可以直接使用的分区
**扩展分区:**主分区表记录的分区,不可直接使用,只是逻辑分区容器
**逻辑分区:**扩展分区之上划分的分区叫做逻辑分区

MBR分区方式

分区方法

1)交互式新建分区:

[root@westoslinux Desktop]# fdisk /dev/vdb

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 0xb0239b02.

Command (m for help): n  ##新建
| m | 获得帮助  
|-- |--      
| d | 删除  
| l | 列出所有分区类型
| n | 新建
| p | 显示分区表
| t | 更改分区类型
| w | 保存更改  
| q | 退出
| g | 设定分区方式为GPT
| O | 所设定分区方式为MBR

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):            ##分区表位置
First sector (2048-20971519, default 2048):      ##分区起始位置,一般为默认,否则跳过的区间会被浪费
Last sector, +sectors or +size{K,M,G,T,P} (2048-20971519, default 20971519): +100M     ##分区结束位置

Created a new partition 1 of type 'Linux' and of size 100 MiB.

Command (m for help): wq           ##退出并保存
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

[root@westoslinux Desktop]# 

2)分区格式化
udevadm settle##同步分区表
mkfs.xfs -K /dev/vdb1 ##格式化 -K 不丢弃数据块分区后的设备不能被直接使用,格式化相当于安装设备管理软件
3)挂载分区
mount /dev/vdb1 /mnt/
vim /etc/fstab##编辑配置文件长久挂载
在这里插入图片描述在这里插入图片描述

2.parted

parted是一个预装的操作硬盘分区的程序,支持多种分区表类型,可以使用单条命令来新建分区

parted /dev/vdb mklabel msdos  设定分区表类型
parted /dev/vdb mkpart primary 1 100  ##新建第二块分区时要从101开始
parted /dev/vdb rm 2  ##删除第二块分区
分区后的设备不能被直接使用,因为文件类型错误,此时要格式化设备(系统默认文件系统为xfs)
mkfs.xfs /dev/vdb1 #格式化设备为xfs文件系统,格式化之后即可正常挂载
mkfs.xfs /dev/vdb1 -f  #若设备上有内容,则需要强制格式化磁盘,但磁盘上的文件都会丢失

在这里插入图片描述删除第二块分区:
在这里插入图片描述

常用的文件系统对比

文件系统FAT16FAT32NTFSEXT3EXT4XFS
最大卷2GB4GB256TB32TB1EB16EB
最大单个文件4GB8TB16TB2TB16TB8EB
最大文件个数655364177920429496729532000个子目录无限字母录无限字母录
代表系统DOS,Win95Win98Win2000以后RHEL5RHEL6RHEL7~

在这里插入图片描述

设备删除

dd if=/dev/zero of=/dev/vdb bs=1M count=1

##mbr转换成gpt
rhel8.0中可以直接使用fdisk /dev/vdb
g #g表示把/dev/vdb设备的分区调整为gpt
在这里插入图片描述

六 swap 分区

作用:程序在运行时所有数据是在RAM。当RAM超过了限额,为了使系统更加稳定,我们在硬盘上划分一部分空间来作内存缓冲区swap。当内存使用超过限额,内核会把内存中闲置的数据存放到swap中。当程序需要swap分区中的数据时,内核将swap分区中的数据再交还给内存进程处理。
swap分区大小建议:
内存大小 swap分区建议大小 当允许HIBERNATE
2GiB以下 内存两倍 内存3倍
2-8GiB 等于物理内存 物理内存2倍
8-64GiB 4GiB 1.5倍内存
64GiB以上 4GiB HIBERNATE不开

swap管理

swapon -s查看swap分区信息
在这里插入图片描述
fdisk /dev/vdb 新建swap分区,新建分区后转换为SWAP模式
在这里插入图片描述
udevadm settle
mkswap /dev/vdb2 #格式化设备为swap分区
swapon -a /dev/vdb2 -p 1 #指定优先级(范围位:0-32767),临时挂载操作
在这里插入图片描述
vim /etc/fstab##编辑挂载策略文件,设置永久挂载
在这里插入图片描述
删除swap
swapoff /dev/vdb1
fdisk /dev/vdb ##用d进行删除分区
在这里插入图片描述udevadm settle##删除分区后,更新分区表

七 磁盘配额

通过设定当前磁盘可以被使用的最大份额,限制指定用户能写入的最大磁盘额度。
设定方法:

1)fdisk /dev/vdb ##新建分区
mkfs.xfs /dev/vdb1 ## 格式化分区

  1. mkdir /pub ##新建共享目录
    chmod 777 /pub
    mount /dev/vdb1 /westosdir/ -o usrquota 挂载设备并激活配额参数
    quotaon -uv /dev/vdb1 激活配额
    edquota -u westos 设定westos用户配额,设定最大为10M,
设备用户已创建数据软限制kb最大限制/kb用户已创建文件个数软限制硬限制
Filesystemblockssofthardinodessofthard
/dev/vdb10010240000

~
在这里插入图片描述
vim /etc/fstab ##编辑挂载策略文件,永久开启配额
在这里插入图片描述
测试:

su - westos
cd /westosdir
dd if=/dev/zero of=/westos/westosfile bs=1M count =20 失败,只能写入10M数据
在这里插入图片描述
关闭配额后没有限制:
quotaoff -uv /dev/vdb1 ##关闭配额参数usrquota
vim /etc/fstab在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值