在CentOS服务器的日常运维与管理中,合理规划磁盘空间和目录结构至关重要,当系统盘空间不足,或需要为特定应用(如数据库、文件服务)提供独立、高性能的存储区域时,增加一个新的目录(例如/data
)并将其挂载到独立的磁盘上,是一种标准且高效的做法,本文将详细介绍在CentOS系统中,如何将一块新磁盘格式化并挂载到/data
目录的完整流程。
第一步:识别磁盘并创建挂载点
我们需要确认新添加的磁盘设备名称,CentOS系统通常使用/dev/sda
、/dev/sdb
等来命名SCSI或SATA磁盘。
可以使用lsblk
或fdisk -l
命令来列出当前系统中的所有块设备。
lsblk
执行后,您会看到类似以下的输出,假设新磁盘为/dev/sdb
:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 49G 0 part
├─centos-root 253:0 0 45G 0 lvm /
└─centos-swap 253:1 0 4G 0 lvm [SWAP]
sdb 8:16 0 100G 0 disk
从输出中可以清晰地看到,/dev/sdb
是一块未分区、未挂载的100G新磁盘。
创建我们需要的挂载点目录/data
。
sudo mkdir /data
第二步:磁盘分区与格式化
对新磁盘进行分区,我们使用fdisk
工具来操作。
sudo fdisk /dev/sdb
进入fdisk
交互界面后,依次输入以下命令:
n
:创建一个新分区。p
:选择主分区。1
:分区号设为1。- 按两次回车:使用默认的起始扇区和结束扇区(即使用整个磁盘)。
w
:将分区表写入磁盘并退出。
分区完成后,/dev/sdb
下会出现一个名为/dev/sdb1
的新分区。
我们需要对这个分区进行格式化,CentOS 7及以后版本默认推荐使用XFS文件系统,它性能优异且稳定。
sudo mkfs.xfs /dev/sdb1
此过程会根据磁盘大小耗时不同,完成后,/dev/sdb1
就拥有了可用的XFS文件系统。
第三步:挂载文件系统并设置开机自动挂载
将新格式化的分区临时挂载到/data
目录,以验证其是否正常工作。
sudo mount /dev/sdb1 /data
使用df -hT
命令查看挂载结果:
df -hT /data
输出应显示/data
目录已成功挂载,文件系统类型为xfs
。
为了让系统在每次重启后都能自动挂载该分区,我们需要编辑/etc/fstab
文件,推荐使用分区的UUID(通用唯一标识符)进行挂载,因为它比设备名(如/dev/sdb1
)更加稳定。
获取/dev/sdb1
的UUID:
sudo blkid /dev/sdb1
输出类似:/dev/sdb1: UUID="a1b2c3d4-e5f6-7890-1234-567890abcdef" TYPE="xfs"
使用vi
或nano
编辑器打开/etc/fstab
文件,在末尾添加一行:
UUID=a1b2c3d4-e5f6-7890-1234-567890abcdef /data xfs defaults 0 0
fstab文件各字段含义
字段 | 含义 | 示例 |
---|---|---|
设备文件 | 要挂载的设备,推荐使用UUID | UUID=… |
挂载点 | 挂载到的目录 | /data |
文件系统类型 | 分区的文件系统格式 | xfs |
挂载选项 | 挂载参数,defaults 包含默认选项 | defaults |
备份频率 | dump 工具备份频率,0为不备份 | 0 |
开机自检 | fsck 磁盘检查顺序,0为不检查 | 0 |
保存文件后,执行sudo mount -a
命令,该命令会重新挂载/etc/fstab
中定义的所有文件系统,如果没有报错,说明配置无误。
第四步:设置目录权限
新挂载的/data
目录默认所有者是root
,根据实际需求,可能需要将其所有权和权限修改给特定的用户或应用程序。
将其所有权交给用户appuser
和组appgroup
:
sudo chown -R appuser:appgroup /data
并设置合适的权限,如755
(所有者可读可写可执行,组和其他用户可读可执行):
sudo chmod -R 755 /data
至此,您已成功在CentOS系统中增加了一个/data
目录,并将其与一块新磁盘关联,实现了数据存储的扩展与隔离。
相关问答FAQs
Q1: 为什么在/etc/fstab
中推荐使用UUID而不是设备名(如/dev/sdb1
)?
A: 设备名在特定情况下可能会发生变化,如果您在系统中添加或移除了其他磁盘,内核可能会重新分配设备名,导致原来的/dev/sdb1
变成/dev/sdc1
,如果/etc/fstab
中使用的是设备名,系统启动时将无法找到正确的分区进行挂载,可能导致启动失败或数据丢失,而UUID(Universally Unique Identifier)是分区的全局唯一标识符,无论设备名如何变化,它都不会改变,因此使用UUID挂载更加可靠和安全。
Q2: 如何安全地卸载/data
目录?
A: 卸载目录前,请确保没有进程正在使用该目录下的任何文件,可以使用fuser -mv /data
命令查看占用该目录的进程,在确认无进程占用后,执行以下命令进行卸载:sudo umount /data
如果目录繁忙(”target is busy”),可以尝试延迟卸载:sudo umount -l /data
若要永久移除,还需编辑/etc/fstab
文件,删除或注释掉之前添加的挂载行,以防止系统下次启动时尝试挂载它。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复