一、静态分区管理
静态的分区方法不可以动态的增加或减少分区的容量。
1、磁盘分区-fdisk
该命令是用于查看磁盘分区情况,和分区管理的命令
命令格式:fdisk [选项] 设备文件名
常用命令:
- -h:查看分区信息
fdisk系统常用命令:
l
:显示设备的分区表信息。n
:创建一个新的分区。d
:删除一个分区。p
:打印分区表的内容。t
:更改分区的类型。u
:以扇区单位显示分区信息。w
:将分区表写入磁盘。
同时也可以不带参数进入fdisk命令模式,退出可以使用ctrl + C,以下是fdisk的命令模式。
案例:新增一个编号为1、容量为512MB、类型为xfs的主分区。
进入系统!
输入n,创建分区!(p是主分区,e是拓展分区)!
指定卷标1和大小512M!
输入t指定分区类型(可以输入L查看分区类型,这里指定为83)!
最后存盘退出 w ,结束后可以输入fdisk -l查看
二、动态分区管理LVM
动态分区管理,即逻辑卷管理器LVM,则可以让用户在不破坏分区数据的前提下,随意根据需求调整分区大小。
相关名词:
- PV:物理卷。可以是单独磁盘,也可以是磁盘分区。
- VG:卷组,即是物理卷的组合,可以看成单独的逻辑磁盘。
- LV:逻辑卷,逻辑磁盘(卷组)的分区。
- PE:物理层面上,VG的组成单元。
- LE:逻辑层面上,LV的组成单元,大小为PE的倍数。
1、PV创建-pvcreate
bash
命令格式:pvcreate [option] 物理磁盘/分区
常用选项:
- -f:强制创建物理卷
- -u:指定uuid
- -y:所有问题都回答yes
案例:硬盘创建物理卷
bash
pvcreate /dev/sda
2、PV显示-pvscan和pvdisplay
pvscan:是扫描物理卷
pvdisplay:是显示物理卷的详细信息
bash
命令格式:pvscan [option]
命令格式:pvdisplay [option]
3、PV删除-pvremove
bash
命令格式:pvremove [option] 物理磁盘/分区
常用选项:
- -f:强制删除物理卷
- -y:所有问题都回答yes
案例:删除物理卷
bash
pvremove /dev/sda
4、PV移动-pvmove
源PV和目标PV必须处于同一个VG中,且目标PV的大小不能小于源PV
bash
命令格式:pvmove [option] 源PV 目标PV
常用选项:
-
-b:在后台运行守护进程。
-
-i:设置报告进度的间隔时间。
-
--abort:中止进行中的移动操作。
案例:删除物理卷
bash
pvmove /dev/hda1 /dev/sdb1
4、VG创建-vgcreate
在VG中添加PV!
bash
命令格式:vgcreate [option] VG名称 PV名称
常用选项:
- -f:强制创建物理卷
- -y:所有问题都回答yes
案例:硬盘创建物理卷
bash
vgcreate rhel /dev/sda /dev/sdb
5、VG显示-vgscan和vgdisplay
vgscan:是扫描物理卷
vgdisplay:是显示物理卷的详细信息
bash
命令格式:vgscan [option]
命令格式:vgdisplay [option]
6、VG删除-vgremove
删除VG
bash
vgremove [option] VG名称
常用选项:
- -f:强制删除。
7、LV创建-lvcreate
bash
命令格式:lvcreate [option] [-L <LV 容量> ] [-n <LV 名称> ] VG名称
常用选项:
- -L:指定逻辑分区容量。
- -n:指定逻辑分区名称
案例:在rhel8的VG中创建一个2GB的LV,名称为lvlinux
bash
lvcreate -L 2GB -n lvlinux rhel8
8、LV显示-lvscan和lvdisplay
vgscan:是扫描物理卷
vgdisplay:是显示物理卷的详细信息
bash
命令格式:lvscan
命令格式:lvdisplay
9、LV删除-lvremove
删除前需要确保LV没有装载,否则会删除失败!
bash
命令格式:lvremove [option] LV名称
案例:删除名为/dev/rhel8/lvlinux
bash
lvremove /dev/ehel8/lvlinux
三、磁盘阵列RAID
这是一种把多块独立的硬盘按不同方式组合形成一个硬盘组(相当于一个逻辑硬盘),从而提供比单个磁盘更高的存储性能和提高数据冗余的的技术。
组成磁盘阵列的不同方式就是RAID级别,以下是常见的RAID级别以及它的特点。
**RAID0:**无差错控制的带区组,需要至少2块硬盘。
**RAID1:**镜像结构,需要至少2块硬盘。
**RAID2:**带海明码校验,需要至少3块硬盘。
**RAID3:**带奇偶校验码的并行传送,需要至少3块硬盘。
**RAID4:**带奇偶校验码的独立磁盘结构,需要至少3块硬盘。
**RAID5:**分布式奇偶校验的独立磁盘结构,需要至少3块硬盘。
**RAID6:**带有两种分布存储的奇偶校验码的独立磁盘结构,需要至少4块硬盘。
RAID7:优化的高速数据传送磁盘结构
1、创建RAID设备-mdadm
bash
命令格式:mdadm [option] 设备 [option] 需要加入RAID分区或硬盘
常用参数:
- -A 激活磁盘阵列
- -C 创建一个新的阵列
- -D 输出一个或多个
- -S 停止磁盘阵列
- -s 扫描系统中的所有RAID设备,并输出当前活动 RAID 设备的信息。
- -V 显示细节
- -c 设置阵列条带大小
- -l 设置磁盘阵列的级别
- -n 指定阵列可用的RAID 硬盘数量
- -x 指定初始阵列的富余RAID 硬盘数量
- -f 将设备状态设定为故障
- -r 移除设备
案例:创建RAID设备文件
该RAID设备使用了四个硬盘sdb,sbc,sdd,sde
bash
mdadm -C /dev/md5 -l 5 -n 3 -x 1 /dev/sd{b,c,d,e}
前三部分介绍的都是分区管理的方式,分别是静态分区fdisk,动态分区LVM,RAID设备(它相当于多个硬盘合成一个逻辑硬盘,可以直接格式化使用或者分区使用)
2、开机挂载RAID设备
在/etc/fstab文件内写入以下内容:
bash
设备名称 挂载点目录 文件系统类型 选项 检查标志 检查顺序标志
/dev/md5 /mnt ext4 default 0 0
将RAID设备信息写入/etc/mdadm.conf(这是mdadm的配置文件,需要写入RAID的相关消息,如果没有,则RAID设备无法正常工作)
bash
mdadm -D -s >> /etc/mdadm.conf
后面会详细介绍 /etc/fstab文件内容
四、分区挂载
1、分区挂载-mount
分区挂载,将分区入口引导到目录上,如果不进行挂载则无法访问分区。
bash
命令格式:mount [option] 目标分区 挂载目录
常用选项:
- -t :指定设备的文档系统类型
案例:挂载SATA硬盘
bash
mount /dev/sda1 /sl/sl1
案例:通过光盘,挂载NVME硬盘
挂载Nvme磁盘的方法和SATA盘有些不同,光盘的内核通常不能直接挂载,因为其使用了逻辑分区LVM,需要激活。查看LVM的VG名称的命令是vgdisplay,查看其激活状态的命令是lvscan,最后通过lvchange -ay VGname 进行激活,这样在/dev/nvme0n1就可以发现其下面多了两个文件root和swap。
获得VGname
激活lvchange -ay VGname
挂载成功!
2、挂载卸载-unmount
该命令可以用来卸载分区的挂载点。
命令格式:unmount [option] 设备名称/挂载点
常用选项:
- -v :显示详细信息
案例:通过设备名卸载挂载
bash
umount -v /dev/sda1
3、永久挂载-/etc/fstab文件
/etc/fstab文件主要用来设置在Linux启动自动挂载的设备和挂载点信息,在linux启动过程中systemd进程会自动读取/etc/fstab配置文件的内容,并挂载相应的文件系统。
/etc/fstab每一行代表一个文件系统,每个文件系统用六个字段来表示,从左到右顺序对每个字段:
- 设备名称,none表示与设备无关的文件系统。
- 挂载点目录
- 文件系统类型,如果设置auto,则按文件系统本身类型进行挂载。
- 选项,多个选项之间必须用逗号分隔。
选项 | 说明 |
---|---|
auto | 启动时自动挂载 |
default | 使用默认值挂载,即启动时自动挂载,可读可写 |
gquota | 设定该文件系统支持组配额管理 |
noauto | 不自动挂载 |
ro | 以只读方式挂载 |
rw | 以读/写方式挂载 |
uquota | 设定该文件系统支持用户配额管理 |
- 检查标志:0表示不做检查,1表示需要文件系统检查。只有ext3/ext4/xfs需要文件系统检查
- 检查顺序标志:有0,1,2三种值,0代表不检查(检查标志为0,该值必为0)。
案例:挂载RAID设备
bash
/dev/md5 /mnt ext4 default 0 0
组配额和用户配额将在下面详细讲解。
五、文件系统
1、创建文件系统-mkfs
给分区进行文件系统创建的操作。
命令格式:mkfs -t 分区类型 分区设备
分区类型:它可以通过man 5 fs获得其详细介绍。
分区设备:它可以通过fdisk -l 来查看。
案例:设置分区的文件系统为ext4
bash
mkfs -t ext4 /dev/sha1
2、查看文件系统信息-df
bash
命令格式:df [option]
常用选项:
-a, --all
:显示所有文件系统,包括虚拟文件系统。-B, --block-size=SIZE
:指定块大小,以特定单位显示磁盘空间信息(如 MB、GB)。-h, --human-readable
:以人类可读的格式显示输出结果。-H, --si
:以 1000 作为基数,以 SI 单位显示输出结果(例如,MB、GB)。-i, --inodes
:显示 inode 使用情况而不是块使用情况。-k, --kilobytes
:以 KB 作为单位显示磁盘空间信息。-n, --no-sync
:不执行文件系统同步操作。-t, --type=TYPE
:仅显示指定类型的文件系统。-T, --print-type
:显示文件系统的类型。-x, --exclude-type=TYPE
:排除指定类型的文件系统。--sync
:在显示文件系统信息之前执行文件系统同步操作。--total
:在输出的最后一行显示总计。-v, --verbose
:详细显示文件系统信息。-l, --local
:仅显示本地文件系统。
案例:显示文件系统类型
六、磁盘配额管理
磁盘配额管理,是为了限制用户或组在某个特定文件系统中能使用的最大空间,来保证每个用户的空间的正常使用。它可以保证所有用户都拥有自己独占的文件系统空间,从而确保用户使用系统的公平性和安全性。
磁盘配额特性不同,还分为硬配额和软配额,硬配额是用户和组可使用空间的最大值,超出界限,无法写入文件 ,并发出警告信息。而软配额允许一段时期内被超过,默认为7天,到期后,如果用户使用空间还超过软配额,则无法写入文件。
配额管理命令-edquota
bash
命令格式:edquota [option] [用户名|组]
常用选项:
- -g 设置组配额
- -p 设置
- -u 设置用户配额