本文共 2934 字,大约阅读时间需要 9 分钟。
在与同学一起学习Linux系统管理时,我们最近聚焦于磁盘管理这一重要模块。通过本文逐步了解磁盘识别、磁盘分区以及文件系统的创建与管理。
在虚拟环境中管理磁盘,首先需要让系统识别新增的硬盘。在我的CentOS 7虚拟机中,我尝试通过以下步骤进行验证:
添加虚拟硬盘:在虚拟化管理工具中,添加一个新的硬盘磁盘。体系不需要详细解释每一步操作。
使用lsblk
命令查看设备:在终端输入lsblk
查看当前块设备,但发现新的磁盘并未被识别。原因在于lsblk
需要先更新内核分区信息。
手动触发设备扫描:作为一种临时解决方案,我尝试通过以下命令 manually 导致硬盘扫描:
echo '- - -' > /sys/class/scsi_host/host2/scan
注意:host2
的编号可能因CentOS版本不同而变化,如CentOS 7为host2
,CentOS 6则为host0
。
重新查看磁盘设备:执行lsblk
后,新磁盘已成功识别并显示在列表中。
磁盘(hard disk)分区是将大容量的物理磁盘划分为多个逻辑空间的过程。常见的分区方法有MBR(Master Boot Record)和GPT( GUID Partition Table)。
MBR(主分区表):
GPT(统一唯一标识符分区表):
在实践中,常用fdisk
工具管理磁盘分区。以下是fdisk
的基本操作:
查看分区信息:
fdisk -l /dev/sdb
返回当前分区情况,用于定位需要操作的分区。
新建分区:
fdisk /dev/sdb
进入fdisk
界面,输入以下命令创建新分区:
p
: 查看现有分区列表。t
: 更改分区类型(多时不需要更改分区类型,除非需要指定特定文件系统类型)。n
: 创建新分区,按提示输入分区大小。w
: 保存并退出保存分区信息。删除分区:
fdisk /dev/sdb
输入d
选择要删除的分区编号。
校验分区:
fdisk -v /dev/sdb
检查分区是否有误。
转换单位(有时需要):
fdisk /dev/sdb -u
挂载分区(后续操作准备):
mount /dev/sdb1 /mnt/usb
在完成分区操作后,为了确认内核是否正确识别新分区,可以执行以下命令:
cat /proc/partitions
在CentOS7及以后的版本中,使用partprobe
命令重新加载分区信息:
partprobe /dev/sdb
文件系统是Linux操作系统用于存储和组织文件的核心技术。在本节将介绍常用的文件系统类型及其管理工具。
ext2
:早期使用的双层文件系统,支持-read-only-。ext3
:基于ext2的开发版本,支持日志功能。ext4
: ext3的改进版,支持大型文件系统和更快的元数据性能。xfs
: elongation File System,由SGI开发,具有高性能和扩展性。swap
: 交换分区,用于虚拟内存管理。文件系统管理工具主要用于创建、格式化和维护文件系统。以下是常用的命令和工具:
创建文件系统:
mkfs.$FS_TYPE /dev/DEVICE
mkfs.ext4 /dev/sda1
(创建第一个分区为ext4文件系统)挂载文件系统:
mount /dev/sda1 /mnt/boot
-r
: 只读挂载。-w
: 读写挂载。-n
: 不更新/etc/mtab
,影响mount
和df
命令。查看文件系统信息:
df -h /dev/sda2
查看指定分区的存储情况。
修改文件系统属性:
tune2fs
: 调整文件系统参数。e2fsck
: 适用于ext系列文件系统的文件系统检查工具。搜索文件系统:
findfs LABEL=hello
查询挂载了指定卷标的分区。
文件系统偶尔可能因系统崩故或闪电等原因导致无法正常启动,需要通过检测和修复工具进行恢复。
检测文件系统状态:
tune2fs -l /dev/sda1
如果显示"no clean"
,表明文件系统在最后一次关闭时未正常退出。
修复文件系统:
fsck.ext4 /dev/sda1
-p
: 自动修复错误(推荐使用)。
e2fsck /dev/sda1 -y
选项-y
: 自动回答是。
强制修复(不推荐):
fsck -f /dev/sda1
挂载新文件系统是文件系统管理的重要步骤。以下是常用挂载选项和命令:
常见挂载选项:
ro
: 只读挂载。rw
: 读写挂载(默认)。exec
:Support执行权限(默认为root有权限)。noexec
:禁止执行权限。dev
:允许访问设备文件。nodev
:禁止访问设备文件。nosuid
:禁止suid/sgid权限生效。user
:允许普通用户挂载/卸载。async
/sync
: 同步模式(默认为异步)。挂载命令示例:
mount /dev/sda2 /mnt/root --options async,noatime
/dev/sda2
:挂载设备。/mnt/root
:挂载目录。--options async,noatime
: 挂载选项。查找挂载状态:
findmnt /mnt/root
查看指定挂载点对应的设备和挂载状态。
在某些情况下,系统内存不足需要扩展swap空间,以处理内存不足的场景。
手动扩展分区:
fdisk /dev/sdb
创建一个新的分区,并记住其分区编号。
扩展文件(物理内存):
dd if=/dev/zero of=/swap.img bs=1M count=512
创建一个大小为1GB的swap文件。
格式化swap文件:
mkswap /dev/sdb5
激活swap空间:
swapon /dev/sdb5
-p 0-32767
: 优先级(数字越大越高)。
挂载swap文件(可选):
mount /dev/sdb5 /mnt/swap
在/etc/fstab
中配置swap:
echo UUID=68ab2b89-f8e3-4bf0-9939-edc7a07aea03 swap defaults 0 0 >> /etc/fstab
通过本文的学习和实践,希望大家能够掌握磁盘管理的基本技能,能够熟练进行硬盘识别、分区管理以及文件系统的创建和维护。对于更深入的操作需要结合实际场景练习,并反复巩固。
转载地址:http://uwzfk.baihongyu.com/