在Linux系统中新建磁盘并使其可用,通常涉及检测新硬件、分区、格式化、挂载及配置开机自动挂载等步骤,无论是物理服务器添加新硬盘,还是虚拟机扩容磁盘,核心流程基本一致,以下以常见场景为例进行详细说明。
第一步:检测新磁盘
系统识别新硬件后,需先确认磁盘是否被正确识别,通过lsblk
命令查看所有块设备信息,新磁盘通常会显示为未分区的设备(如/dev/sdb
,若已有sda
则新磁盘依次往后命名),若lsblk
未显示,可尝试fdisk -l
查看磁盘列表,重点检查“Disk”字段中是否有未分区的新设备(如“Disk /dev/sdb: 100 GiB, 107374182400 bytes”),对于SATA/SAS磁盘,dmesg | grep -i 'sd'
可查看内核识别日志,确认磁盘是否加载成功。
第二步:磁盘分区
Linux支持MBR(主引导记录)和GPT(GUID分区表)两种分区格式,GPT因支持更大磁盘和分区数量成为主流,使用parted
工具进行分区(推荐,支持GPT且操作直观):
- 进入分区工具:
parted /dev/sdb
(将sdb
替换为实际磁盘名)。 - 设置分区表:
mklabel gpt
(若需MBR则用mklabel msdos
)。 - 创建分区:
mkpart primary ext4 0% 100%
(创建一个主分区,文件系统为ext4,占用全部空间)。 - 打印分区信息确认:
print
,退出quit
。
若习惯fdisk
(仅支持MBR,但更轻量):
- 输入
fdisk /dev/sdb
,依次执行n
(新建分区)、p
(主分区)、1
(分区号)、回车(默认起始扇区)、回车(默认结束扇区)、w
(保存分区表)。
分区工具对比
| 工具 | 支持分区表 | 最大磁盘支持 | 适用场景 |
|——–|————|————–|————————|
| parted | GPT/MBR | 无限制 | 大磁盘、多分区、现代系统 |
| fdisk | MBR | 2TB | 小磁盘、兼容旧系统 |
第三步:格式化分区
分区后需格式化文件系统才能存储数据,常用文件系统有ext4(通用,支持日志)、xfs(高性能,适合大文件)、btrfs(支持快照和压缩),以ext4为例:mkfs.ext4 /dev/sdb1
(sdb1
为分区名,若为分区3则为sdb3
)。
若需xfs:mkfs.xfs /dev/sdb1
。
格式化完成后,可通过blkid /dev/sdb1
查看分区UUID(用于后续配置fstab,避免设备名变化导致问题)。
第四步:创建挂载点并挂载
挂载点是磁盘在文件系统中的访问入口,通常在/mnt
或/media
下创建自定义目录(如/data
):
- 创建目录:
mkdir /data
。 - 临时挂载:
mount /dev/sdb1 /data
,挂载后可通过df -h
确认是否成功(显示“/dev/sdb1 100G 1.1G 93G 2% /data”)。 - 验证数据:
touch /data/testfile
,确认文件创建成功。
第五步:配置开机自动挂载
为避免重启后挂载失效,需编辑/etc/fstab
文件实现自动挂载:
- 获取分区UUID:
blkid /dev/sdb1
,记录输出中的“UUID=”值(如UUID=a1b2c3d4-e5f6-7890-abcd-ef1234567890
)。 - 编辑fstab:
vim /etc/fstab
,添加以下行:UUID=a1b2c3d4-e5f6-7890-abcd-ef1234567890 /data ext4 defaults 0 0
字段含义:设备(UUID)、挂载点、文件系统、挂载选项(
defaults
包含rw、relatime等)、dump备份频率(0不备份)、fsck检查顺序(0不检查)。 - 测试配置:
mount -a
,若无报错则配置正确;若有报错,通过df -h
或journalctl -xe
排查。
相关问答FAQs
Q1:如何查看Linux系统中的磁盘分区和文件系统信息?
A:可通过以下命令组合查看:
lsblk -f
:显示块设备及其文件系统、挂载点(如“sdb1 ext4 /data”)。df -hT
:按人类可读格式(GB/MB)显示已挂载分区的使用率和文件系统类型(如“/dev/sdb1 100G 1.1G 93G 2% ext4 /data”)。fdisk -l
:显示所有磁盘的分区表信息,包括起始/结束扇区、分区类型。
Q2:新建磁盘后挂载失败,如何排查?
A:常见排查步骤:
- 检查分区是否存在:
lsblk /dev/sdb
,确认是否有sdb1
等分区。 - 检查文件系统格式化:
blkid /dev/sdb1
,确认是否有TYPE字段(如“TYPE=ext4”)。 - 检查挂载点:
ls /data
,确认目录存在且无其他进程占用。 - 检查fstab配置:
mount -a
测试,若报错则检查UUID是否正确、挂载选项是否合法(如ext4
不支持xfs
选项)。 - 检查磁盘错误:
dmesg | grep -i 'sdb'
查看内核日志,确认是否有硬件错误(如“read failed”)。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/29959.html