Linux-添加硬盘:扫描、分区、初始化、挂载、卸载
2026/9/14 11:44:40 网站建设 项目流程

目录

  • 规范分类
  • 一、各类查询指令
    • 1.未分区时常用
    • 2.分区后常用
    • 3.分区且挂在后可见
    • 4.查看主机HBA端口WWN号
    • 5.查看目录、文件大小
  • 二、扫描硬盘
  • 三、多路径Multipath
  • 四、分区
  • 五、初始化
  • 六、挂载
    • 1.准备空目录
    • 2.挂载
      • (1)临时挂载
      • (2)永久挂载
  • 七、卸载
    • 1.服务器端卸载
    • 2.清理服务器中磁盘的残留记录
  • 八、扩展

学习自《linux中的如何进行磁盘分区》

规范分类

由于查询中会涉及到多个“类型”,所以在这里明确一下文中的各种分类。

设备类型

  • disk 磁盘
  • part 分区

分区架构

  • MBR
  • GPT

分区类型

  • primary partition 主分区
  • extension partition 扩展分区(逻辑分区的容器)
    • logical partition 逻辑分区

文件系统类型

  • Linux:ext3、ext4、XFS、…(可以用man 5 fs来查看所有类型)
  • Windows:FAT16、FAT32、NTFS…

一、各类查询指令

1.未分区时常用

lsblk

  • 设备磁盘结构、大小、挂载目录

multipath -ll

  • 查看多路径硬盘情况及WWN号

parted -lfdisk -l

  • 都可以磁盘及分区情况,parted -l更好用,多出来磁盘接口类型。

cat /proc/partitions

  • 系统中可被识别的设备>

2.分区后常用

blkid

  • 挂载文件(分区)UUID、路径、文件系统类型

3.分区且挂在后可见

df -Th

  • 挂载的文件(分区)容量使用情况及挂载目录

4.查看主机HBA端口WWN号

//(1)查看主机总线号[root@node/]# ls/sys/class/scsi_host/host0 host1......//查看主机fc总线号[root@node/]# ls/sys/class/fc_host/host7 host9//(2)查看不同主机线下的HBA卡端口WWN号[root@node/]# cat/sys/class/fc_host/host0/port_name0x1000001b329240d7

5.查看目录、文件大小

du -ah *

  • -a :列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已。
    -h :以人们较易读的容量格式 (G/M) 显示;
    -s :列出总量而已,而不列出每个各别的目录占用容量;
    -S :不包括子目录下的总计,与 -s 有点差别。
    -k :以 KBytes 列出容量显示;
    -m :以 MBytes 列出容量显示;

二、扫描硬盘

收集来四种扫描方法,推荐顺序如下:

1.rescan-scsi-bus.sh

  • 对于一些系统,可能有一个名为 rescan-scsi-bus.sh 的脚本,可以用来扫描SCSI总线。

2.sudo multipathd reconfigure

  • 如果你在使用多路径(multipath)存储,可以使用以下命令来重新扫描多路径设备。

3.通过查询主机总线号,然后一个个扫描SCSI总线来添加设备。

1)查看所有scsi主机线号[root@node/]# ls/sys/class/scsi_host/host0 host1 host2 host3 host4......2)查看FC占用的主机线号,缩小扫描范围[root@node/]# ls/sys/class/fc_host/host3 host4 (3)重新扫描SCSI总线来添加设备,可以只扫描FC占用的主机线[root@node/]# echo"- - -">/sys/class/scsi_host/host0/scan[root@node/]# echo"- - -">/sys/class/scsi_host/host1/scan......

4.系统重新扫描所有的设备(包括磁盘)
sudo udevadm trigger

  • 用来触发 udev 规则,以便系统重新扫描所有的设备,包括磁盘。

sudo udevadm settle

  • 这个命令通常与 udevadm trigger 一起使用,用于等待udev事件队列处理完毕。

三、多路径Multipath

参考文章→Multipath

四、分区

fdisk/dev/sdb##在设备sdb中建立分区##选项:n##建立分区p/e/l##选分区类型1##分区序号1024##开始扇区号(直接回车,默认接着扇区号继续分)+1G##分区大小(直接回车,默认剩余所有空间)p##查看分区情况wq##w表示保存q表示退出

partprobe

  • 这个命令可以用来更新内核的分区表信息。

五、初始化

mkfs.vfat /dev/sdb1##将分区sdb1文件系统类型初始化为vfatmkfs.xfs /dev/sdb1##将分区sdb1文件系统类型初始化为xfsmkfs.ext4 /dev/sdb1##将分区sdb1文件系统类型初始化为ext4mkfs.xfs-K/dev/sdb1##-K是为了提升初始化速度,忽视磁盘中的空白区域快速初始化

六、挂载

1.准备空目录

mkdir/data##在根目录下建立目录data

2.挂载

(1)临时挂载

临时挂载即服务器重启后不会自动挂载

mount/dev/sdb1 /data##将分区sdb1临时挂载到目录data

(2)永久挂载

vim/etc/fstab##在/etc/fstab中按以下格式编写设备名称 挂载目录 文件系统类型 挂载参数 是否备份 是否检测 wqmount-a##在编写完成后不会马上生效,需要mount -a重新读取/etc/fstab文件

七、卸载

1.服务器端卸载

vim/etc/fstab##在/etc/fstab删除/注释掉相应的挂载信息设备名称 挂载目录 文件系统类型 挂载参数 是否备份 是否检测 wqumount设备名称##例如umount /dev/sdb1

2.清理服务器中磁盘的残留记录

例如sda这个名字,multipath -ll查询出来的内容等。

使用rescan-scsi-bus.sh
这个脚本通常包含在 sg3_utils 软件包中,可以先确认一下是否已安装:

# 检查是否已安装,若无输出则需要安装rpm-qa|grepsg3_utils# 如果未安装,使用 yum 或 dnf 安装sudoyuminstallsg3_utils-y#安装后,执行以下命令即可一键清理所有已失效的FC映射残留设备:sudorescan-scsi-bus.sh--remove--flush#测试中发现使用简写参数:#rescan-scsi-bus.sh -r -f有时不生效#所以尽量使用`rescan-scsi-bus.sh --remove --flush`

⚠️ :这个命令会扫描整个SCSI总线,并自动移除所有被系统判定为“已失效”的设备。请务必确认当前系统中没有其他需要保留的、临时的或即将重新映射的存储设备。

  • –remove:移除已失效的设备。
  • –flush:清理失败的多路径设备映射。

八、扩展

mkdir
新建的目录(未挂载前)默认存储分区是其上一级目录所挂载的分区。如果在未挂载前就进入来目录,挂在后必须退出重新进入该目录,不然使用的依旧是挂载前默认的上级目录所在的存储分区。

  1. 这会造成一个现象,如果你在一个目录中写入数据123,然后对该目录挂在存储,重新进入后由于该目录所在存储分区不一致,该目录里是没有之前写入的数据123的,但123并未丢失。把新挂载的分区卸载后就会重连回默认的上级分区,原数据123仍在。
  2. 所以挂载时要小心,挂载到原有目录,会导致该目录原数据找不到。

lsblk

  • -s, --inverse:反向依赖关系(按逆序显示依赖)
  • -S, --scsi:输出有关 SCSI 设备的信息
  • –merge(或短选项 -M)是一个优化命令,主要用于将复杂存储配置(如 RAID 和多路径设备)的输出整理得更紧凑、更易读。
  • -p, --paths:打印完整设备路径

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询