06_磁盘管理习题记录
06.磁盘管理课后习题详细解答
一、基础命令操作问题
1. 如何查看 /etc/ 目录大小
du -sh /etc/
参数解释:
du:磁盘使用情况统计命令-s:对目录进行汇总统计-h:以易读的格式显示(如 K、M、G)
使用场景:系统管理员需要监控 /etc/ 目录的大小,防止配置文件过多占用空间。
输出示例:
123M /etc/
2. 如何查看磁盘使用分区情况
df -h
参数解释:
df:显示文件系统的整体磁盘使用情况-h:以易读的格式显示(如 K、M、G)
使用场景:检查系统中各个分区的磁盘使用情况,监控是否有分区即将用满。
输出示例:
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda1 50G 20G 28G 41% /
/dev/sda2 10G 5G 4G 53% /data
3. 如何查看 inode 使用情况
df -i
参数解释:
df:显示文件系统的整体磁盘使用情况-i:显示 inode 使用情况
使用场景:当无法创建新文件时,可能是 inode 已用完,此时需要检查 inode 使用情况。
输出示例:
文件系统 Inode 总数 已用 Inode 可用 Inode 已用% 挂载点
/dev/sda1 1000000 50000 950000 5% /
/dev/sda2 500000 480000 20000 96% /data
4. 如何查看磁盘 block 使用情况
df
参数解释:
df:默认以 block(块)为单位显示磁盘使用情况
使用场景:查看系统默认的磁盘 block 使用情况。
输出示例:
文件系统 1K-blocks 已用 可用 已用% 挂载点
/dev/sda1 51200000 20480000 28672000 41% /
/dev/sda2 10240000 5120000 4096000 53% /data
说明:
- 默认以 1KB 为一个 block 单位显示磁盘使用情况
5. 如何查看分区使用格式
命令 1:
lsblk -f
参数解释:
lsblk:列出所有块设备信息-f:显示文件系统类型
命令 2:
blkid
参数解释:
blkid:显示块设备的 UUID 和文件系统类型
使用场景:需要了解分区的文件系统类型,例如在挂载分区或配置 /etc/fstab 时。
输出示例:
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 ext4 a1b2c3d4-e5f6-7g8h-9i0j-kl1mno2pq3r4 /
├─sda2 ext4 a5b6c7d8-e9f0-1g2h-3i4j-kl5mno6pq7r8 /data
6. 如何查看一个设备的 UUID
命令:
blkid /dev/sda1
参数解释:
blkid:显示块设备的 UUID 和文件系统类型/dev/sda1:指定要查询的分区设备
使用场景:在配置 /etc/fstab 时需要使用分区的 UUID 进行挂载。
输出示例:
/dev/sda1: UUID="a1b2c3d4-e5f6-7g8h-9i0j-kl1mno2pq3r4" TYPE="ext4"
说明:
- 显示指定分区的 UUID 和文件系统类型
7. 请解释 /etc/fstab 中每段含义
/etc/fstab 文件示例:
UUID=a1b2c3d4-e5f6-7g8h-9i0j-kl1mno2pq3r4 / ext4 defaults 0 1
UUID=a5b6c7d8-e9f0-1g2h-3i4j-kl5mno6pq7r8 /data ext4 defaults 0 2
字段解释:
- 第一列:分区的 UUID 或设备路径(推荐使用 UUID)
- 第二列:挂载点路径
- 第三列:文件系统类型(如 ext4、xfs 等)
- 第四列:挂载选项(如
defaults表示使用默认选项) - 第五列:备份选项(通常设置为 0,表示不备份)
- 第六列:文件系统检查顺序(根分区为 1,其他分区为 2)
使用场景:配置系统开机自动挂载分区。
#场景描述(系统启动时磁盘分区加载失败)
假设你在 /etc/fstab 中写入了一条磁盘挂载信息,但在实际操作中删除了该磁盘。系统在启动时会尝试挂载该磁盘,但由于磁盘不存在,导致启动失败。
#解决问题步骤
进入单用户模式:按照上述方法进入单用户模式,系统会直接进入root用户环境。
在单用户模式下需要编辑 /etc/fstab 文件来修复挂载问题,但文件系统默认为只读模式,你无法直接编辑文件。此时,你需要先将文件系统重新挂载为读写模式,然后才能进行编辑。
mount -o remount,rw /
确认问题:使用 mount 或 df -h 命令检查当前挂载的文件系统,确认问题。
编辑 /etc/fstab:使用文本编辑器(如 vi 或 nano)编辑 /etc/fstab 文件,删除或注释掉错误的磁盘挂载信息。例如:
# 备份文件:在编辑 /etc/fstab 文件之前,建议先备份该文件:
cp /etc/fstab /etc/fstab.bak
vi /etc/fstab
找到类似以下的行:
/dev/sdb1 /data ext4 defaults 0 0
删除或注释掉该行:
# /dev/sdb1 /data ext4 defaults 0 0
保存并退出:保存文件并退出编辑器。
重启系统:执行以下命令重启系统:
reboot
8. ext4 文件分区创建文件报磁盘已满,但 df -h 显示只用了 60%
可能原因:
- inode 已用完:
- ext4 文件系统不仅限制磁盘空间,还限制 inode 数量
- 每个文件都需要占用一个 inode,即使文件大小为 0
- 当 inode 用完时,无法创建新文件
排查方法:
df -i /挂载点
解决方法:
- 删除不必要的小文件释放 inode
- 如果经常存储大量小文件,可以重新格式化分区并指定更大数量的 inode
示例场景:
# 创建大量小文件
for i in {1..1000000}; do echo "test" > /data/test$i.txt; done
# 此时即使磁盘空间充足,也会因 inode 用完而无法创建新文件
二、磁盘分区方案
方案描述:
在虚拟机中添加一块 10GB 的 SCSI 磁盘,创建两个分区并挂载。
步骤:
-
添加磁盘:在虚拟机设置中添加一块 10GB 的 SCSI 磁盘(假设为
/dev/sdb) -
分区操作:
fdisk /dev/sdb- 创建一个 5GB 的主分区(分区 1)
- 创建一个 5GB 的主分区(分区 2)
-
格式化分区:
# 格式化为 ext4 mkfs.ext4 /dev/sdb1 # 格式化为 xfs mkfs.xfs /dev/sdb2 -
创建挂载目录:
mkdir /mnt/ext4_part mkdir /mnt/xfs_part -
挂载分区:
mount /dev/sdb1 /mnt/ext4_part mount /dev/sdb2 /mnt/xfs_part -
配置开机自动挂载:
编辑/etc/fstab文件,添加以下内容:# blkid /dev/sda1 UUID=分区1的UUID /mnt/ext4_part ext4 defaults 0 2 UUID=分区2的UUID /mnt/xfs_part xfs defaults 0 2
验证:
df -h
输出示例:
文件系统 容量 已用 可用 已用% 挂载点
/dev/sdb1 5G 50M 4.7G 2% /mnt/ext4_part
/dev/sdb2 5G 50M 4.7G 2% /mnt/xfs_part
三、LVM 磁盘管理方案
方案描述:
在虚拟机中添加两块 SCSI 硬盘,使用 LVM 技术创建逻辑卷并挂载,最后进行扩容操作。
步骤:
-
添加硬盘:
- 添加第一块硬盘(假设为
/dev/sdc) - 添加第二块硬盘(假设为
/dev/sdd)
- 添加第一块硬盘(假设为
-
创建物理卷:
pvcreate /dev/sdc /dev/sdd -
创建卷组:
vgcreate mbvg /dev/sdc /dev/sdd -
创建逻辑卷:
# 创建 1G 的 ext4 逻辑卷 lvcreate -L 1G -n box mbvg # 创建 1G 的 xfs 逻辑卷 lvcreate -L 1G -n xfs mbvg -
格式化逻辑卷:
mkfs.ext4 /dev/mbvg/box mkfs.xfs /dev/mbvg/xfs -
创建挂载目录:
mkdir /box mkdir /xfs -
挂载逻辑卷:
mount /dev/mbvg/box /box mount /dev/mbvg/xfs /xfs -
配置开机自动挂载:
编辑/etc/fstab文件,添加以下内容:/dev/mbvg/box /box ext4 defaults 0 2 /dev/mbvg/xfs /xfs xfs defaults 0 2 -
扩容逻辑卷:
-
扩展
/box到 2.8G:# 扩展逻辑卷 lvextend -L 2.8G /dev/mbvg/box # 扩展文件系统(ext4 需要先卸载) umount /box resize2fs /dev/mbvg/box mount /dev/mbvg/box /box -
扩展
/xfs到 2G:# 扩展逻辑卷 lvextend -L 2G /dev/mbvg/xfs # 扩展文件系统(xfs 无需卸载) xfs_growfs /xfs
-
验证:
df -h
输出示例:
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/mbvg-box 2.8G 50M 2.7G 2% /box
/dev/mapper/mbvg-xfs 2G 50M 1.9G 3% /xfs

浙公网安备 33010602011771号