Linux------磁盘管理

一、查看

复制代码
# 1.查看分区表
fdisk -l /dev/sdb

# 2.查看文件系统类型、UUID
blkid

# 3.查看当前挂载列表
mount

# 4.查看磁盘使用容量
df -h

二、新增硬盘:不重启识别新盘

1.先查看有几个控制器

复制代码
ls /sys/class/scsi_host/
# 输出 host0 host1 host2

2.逐个执行扫描

复制代码
sudo echo "- - -" > /sys/class/scsi_host/host0/scan
sudo echo "- - -" > /sys/class/scsi_host/host1/scan
sudo echo "- - -" > /sys/class/scsi_host/host2/scan

三、磁盘分区

1.fdisk,MBR 格式

最多 4 主分区、单盘≤2T

复制代码
fdisk  /dev/sdb

交互指令:n 新建分区

p 查看分区

w 保存并退出

d 删除分区

t 修改分区

2.parted, GTP格式

支持超过 2TB 的分区

复制代码
parted  /dev/sdb

mklabel gpt 建立一个新的GTP分区,清空原有的分区,所有数据。如果是MBR分区表则输 入 mklabel msdos

print 查看分区表

mkpart 创建新的分区

rm 删除分区

parted -s /dev/xxx rm 1 # 删除第一个分区,这个需要是从 parted -s /dev/xxx print 中获取的

分区修改后内核不会自动识别新分区,执行:

复制代码
partprobe /dev/sdb

四、格式化分区(创建文件系统)

分区仅仅划分空间,格式化创建文件系统,Linux 才能读写数据。

文件系统类型:xfs(不支持缩容),ext4,swap

区分:swap 分区格式化命令:mkswap

复制代码
mkfs.ext4  /dev/sdb1

五、挂载磁盘

1.先创建一个空目录

mkdir /opt/test1

2.挂载

mount /dev/sdb1 /opt/test1

3.卸载

umount /opt/test1

umount /dev/sdb1

六、开机自动挂载

复制代码
# 使用UUID挂载
# 查看分区UUID
[root@localhost ~]# blkid /dev/sdb1
/dev/sdb1: UUID="a1b2c3d4-e5f6-7890-abcd-ef1234567890" TYPE="ext4"

# 在fstab中写入UUID
[root@localhost ~]# vim /etc/fstab
# 添加如下行:
UUID=a1b2c3d4-e5f6-7890-abcd-ef1234567890  /data  ext4  defaults 0(不备份)0(开机不检查)

# 测试fstab配置是否正确(重要!避免重启无法开机)
[root@localhost ~]# mount -a
# 无报错说明配置正确

# 重新加载fstab
[root@localhost ~]# systemctl daemon-reload

# 检查分区是否挂载完成:
mount -l |grep "/data"
df -h |grep "/data"

七、LVM逻辑卷管理

LVM 基础三层结构

  1. PV 物理卷 = 单独的货箱

  2. VG 卷组 = 整个大仓库

  3. LV 逻辑卷 = 仓库里划分出的独立储物间

从这个大仓库(VG)里切一块空间出来,做成一间储物间(LV)。

1.创建pv

复制代码
pvcreate /dev/sdb1

# 查看PV
pvs
pvdisplay

给分区添加 LVM 标识,变为可加入 VG 的存储介质

2.创建vg

复制代码
# 默认PE=4M
vgcreate vg01 /dev/sdb1

# 指定PE=16M
vgcreate -s 16M vg01 /dev/sdb1

# 查看VG
vgs
vgdisplay

把 PV 整合为资源池,后续统一分配空间

3.创建lv

两种参数区分(极易踩坑)

  • -L 大写:指定容量大小(支持 G/M)
  • -l 小写:指定PE 块数量(只能纯数字)
复制代码
# 分配10G逻辑卷,命名lv_data
lvcreate -L 10G -n lv_data vg01

# 占用VG全部剩余空间
lvcreate -l 100%FREE -n lv_data vg01

# 查看LV
lvs
lvdisplay

4.扩容操作

场景 1:VG 有空闲空间,直接扩容 LV

XFS 文件系统(只能扩容,不可缩容)

复制代码
#查看 VG 空闲空间
vgs

# 增加5G空间
lvextend -L +5G /dev/vg01/lv_data

# 刷新文件系统生效
xfs_growfs /data

场景 2:VG 空间不足,新增硬盘扩容 VG

复制代码
# 1.分区
fdisk /dev/sdc1

# 2.加载到内核
partx /dev/sdc1

# 3.格式化
mkfs.xfs /dev/sdc1
查看卷组名:pvdisplay----卷子名为vg01

# 4.新磁盘做成PV
pvcreate /dev/sdc1

# 5.加入已有卷组vg01
vgextend vg01 /dev/sdc1

#扩容 LV
lvextend -l +100%FREE /dev/mapper/centos-root

#刷新文件系统生效
xfs_growfs /dev/mapper/centos-root

5.整套环境清理标准流程

  1. umount 卸载所有逻辑卷挂载目录
  2. vi /etc/fstab 删除对应挂载条目,防止开机启动失败
  3. lvremove 删除所有逻辑卷
  4. vgremove 删除卷组
  5. pvremove 删除物理卷标识
  6. 磁盘处理:dd if=/dev/zero of=/dev/sdb bs=1M count=10 清除分区表,恢复空白裸盘
相关推荐
数智工坊9 小时前
Zotero自建Ubuntu WebDAV附件同步方案(完美解决存储空间不足)
linux·运维·ubuntu
ltl10 小时前
HTTP/3 实战:从 QUIC 到 H3 的完整请求链路
linux
独隅10 小时前
GitHub Actions 自动化运维实战:CI/CD 流水线一体化效果展示
运维·自动化·github
ltl10 小时前
POSIX 文件锁:flock、fcntl 与 NFS 上的工程陷阱
linux
ltl11 小时前
CUDA 生态:cuBLAS、cuDNN、NCCL、Triton、CUTLASS
linux
饺子大魔王的男人11 小时前
CentOS部署Cockpit:图形化查看系统、日志与服务状态
linux·运维·centos
不会就选b11 小时前
Linux之信号(二)
linux·运维·服务器
我是小灰灰吖12 小时前
QT在线安装器使用指南:从下载到配置完整教程
linux·qt·ubuntu
GlueNa2SiO312 小时前
第十八章 Linux故障排查与恢复
linux·服务器·笔记·学习