Linux磁盘小知识分享

30 篇文章 0 订阅
15 篇文章 1 订阅

Linux磁盘分区、挂载

1 基础概念

硬盘分类

  • IDE Integrated Drive Electronics,电子集成驱动器。
    • 价格低、兼容强、性价比高
    • 数据传输速度慢、线缆长度过短、连接设备少
    • 包括小类
      • ATA Advanced Technology Attachment,高级技术附加装置
      • Ultra ATA
      • DMA
      • Ultra DMA
      • SATA Serial ATA,串口硬盘
      • PATA Parallel ATA,并口硬盘

  • SCSI [ˈskʌzi] Small Computer System Interface,小型计算机系统接口
    • SCSI接口是一个通用接口,在SCSI母线上可以连接主机适配器和八个SCSI外设控制器,外设可以包括磁盘、磁带、CD-ROM、可擦写光盘驱动器、打印机、扫描仪和通讯设备等
    • SCSI是个多任务接口,设有母线仲裁功能。挂在一个SCSI母线上的多个外设可以同时工作。SCSI上的设备平等占有总线
    • SCSI接口可以同步或异步传输数据,同步传输速率可以达到10MB/s,异步传输速率可以达到1.5MB/s
    • SCSI接口接到外置设备时.它的连接电缆可以长达6m
【文章福利】小编推荐自己的Linux内核源码交流群:【 869634926】整理了一些个人觉得比较好的学习书籍、视频资料共享在群文件里面,有需要的可以自行添加哦!

分区方式

  • MBR 分区
    • 最多支持 4 个主分区
    • 系统只能按照在主分区
    • 扩展分区要占一个主分区
    • 最大支持 2TB,但拥有最好的兼容性(最古老)

  • GPT 分区
    • 理论支持无限多主分区,但受操作系统限制(如 windows 下最大 128 个分区)
    • 最大支持 18 EB,B->K->M->G->T->P->E
    • windows7 64位开始支持GPT

windows 下常见分区
通常划分:

  • 主分区 C
  • 扩展分区 (概念)
    • 逻辑分区 D
    • 逻辑分区 E
    • 逻辑分区 F
    • ...

4个主分区和 1主3逻辑分区的区别:
方便区分系统盘和数据盘
4个主分区后无法再继续创建分区,使用逻辑分区则可以随便划分
存疑:windows7 64位开始支持 GPT,所以上面分析不太靠得住

2 Linux 分区及相关指令

§2.1 基本认知

独立唯一的文件系统
Linux 无论划分多少分区,分别分给哪个目录使用,最终都属于一个根目录,这保证逻辑上 Linux 具有一个独立且唯一的文件结构,操作系统中任意分区都是文件系统的一部分 。

挂载(mount) 和 卸载(umount)
Linux 采用 挂载(mount)/卸载(umount) 的方式处理分区。一个分区会联系到整个文件系统的一个目录中去。因此可以使用访问目录的形式访问分区。

2.2 Linux 下硬盘盘符

盘符通常为 hdx~ 或 sdx~
其中:

  • hd 代表 IDE 硬盘
  • sd 代表 SCSI 硬盘,现在基本都是此类型
  • x 是盘号,为 [abcd] 之一,每一个代表一块完整的硬盘,每个硬盘可以划分主分区、扩展分区、逻辑分区
    • a 基本盘
    • b 基本从属盘
    • c 辅助盘
    • d 辅助从属盘

  • ~ 是数字
    • 1-4 主分区或扩展分区
    • 5 以后是逻辑分区

§2.3 lsblk [查看块设备]

全称:list block devices
指令:lsblk 选项

选项说明

  • -a, --all 显示所有设备
  • -b, --bytes 以bytes方式显示设备大小
  • -d, --nodeps 不显示 slaves 或 holders
  • -D, --discard print discard capabilities
  • -e, --exclude 排除设备 (default: RAM disks)
  • -f, --fs 显示文件系统信息
  • -h, --help 显示帮助信息
  • -i, --ascii use ascii characters only
  • -m, --perms 显示权限信息
  • -l, --list 使用列表格式显示
  • -n, --noheadings 不显示标题
  • -o, --output 输出列
  • -P, --pairs 使用key="value"格式显示
  • -r, --raw 使用原始格式显示
  • -t, --topology 显示拓扑结构信息

§2.4 fdisk [分区指令]

指令:fdisk /dev/硬盘名/
说明:

动作说明作用
atoggle a bootable flag
bedit bsd disklabel
ctoggle the dos compatibility flag
ddelete a partition删除一个分区
llist known partition types列出分区类型
mprint this menu显示帮助手册
nadd a new partition创建新分区
ocreate a new empty DOS partition table
pprint the partition table列出分区表
qquit without saving changes退出不保存
screate a new empty Sun disklabel
tchange a partition's system id改变分区类型
uchange display/entry units
vverify the partition table
wwrite table to disk and exit写入磁盘并退出
xextra functionality (experts only)扩展应用,专家功能


指令执行后磁盘多了新的分区,但尚未格式化

§2.5 mkfs [格式化]

全称:make file system 制作文件系统
指令:mkfs -t ext4 /dev/硬盘分区名/
执行后完成格式化,具有格式和 id,但尚未挂载

§2.6 mount [挂载]

全称:make file system 制作文件系统
指令:mount /dev/硬盘分区名 挂载目录
执行后分区具有挂载点,但重启后挂载点断开,尚未自动(永久)挂载

指令:mount -a 是自动挂载生效,每次重启从 /etc/fstab 中自动挂载

§2.7 umount [卸载]

指令:umount /dev/硬盘分区名
说明:
提示 device is busy,多为被挂载目录正在被使用,检查是否工作目录就是此目录,退出即可

§2.8 /etc/fstab [自动挂载配置]

全称:make file system 制作文件系统

3 Linux 磁盘健康及相关指令

§3.1 df [查看系统整体磁盘使用]

全称:disk free
指令:==df -lh ==

§3.2 du [查看磁盘占用]

全称:disk usage
指令:du 参数 目录 查看指定目录磁盘占用情况,不指定目录时,默认查看当前目录
说明:
参数

  • -h human,阅读友好的格式展示结果
  • -s 指定目录大小汇总,只显示一个大小,单位是K
  • -a 显示目录下磁盘占用,包含文件
  • --max-depth 指定显示的目录最大深度
  • -c 同时显示明细和汇总

§3.3 其他常用只用

文件数:ls -l 目标目录 | grep "^-" | wc -l
含子目录下文件数:ls -Rl 目标目录 | grep "^d" | wc -l
子目录数:ls -l 目标目录 | grep "^d" | wc -l
含子目录下子目录数:ls -Rl 目标目录 | grep "^d" | wc -l
树状结构显示目录:tree 目录

Linux磁盘扩容

环境: Debian 11
虚拟硬盘: 原MBR格式1T容量, 最新重新又多分配了1T空间

目标:
把重新分配的磁盘空间分配到对应的分区和根目录中.

基础知识

  1. MBR最多只支持2T的空间,超过2T则需要使用GPT分区. 其MBR可以无损转为GPT分区格式.
  2. 扩容时, 无法跨分区进行扩容. 空间磁盘空间只能分配在相邻的磁盘分区上.
  3. 虚拟机物理内存足够的时候,日常占用比较少的时候, 默认的swap空间可以删除
  4. 磁盘分区的工具有很多, 选择自己喜欢使用的就可以

磁盘分区工具及命令

层级类型命令说明
0硬盘/分区lsblk查看硬盘与分区信息
1分区操作fdisk用来创建MBR分区(也可以创建GPT分区,但是支持的并不是特别完美)
1分区操作gdisk用来创建GPT分区(如果要创建GPT分区,就来使用这个命令吧)
1分区操作cfdisk图形化操作,较fdisk更直观简单的分区工具
1分区操作cgdisk图形化操作,较gdisk更直观简单的分区工具
1分区操作parted高级分区操作(注意操作,很多命令一键完成,没有提示,所以也就不存在后悔的余地,功能强大)
1分区操作growpart可以非常方便的把磁盘空间进行扩容的工具, 需要下载
2分区表操作partprobe当分区表进行修改调整之后, 需要重新读取分区表
3文件系统resize2fs在调整的磁盘空间之后, 重新对文件系统进行分配.

实际操作

1. 转化GPT分区

此处: /dev/vda是需要操作的硬盘, /dev/vda1是需要扩容的分区
# gdisk 后跟主硬盘设备路径,不是分区路径
gdisk /dev/vda
w
y

2. 删除swap与其他分区

此处: 为了让空闲空间和扩容分区之间直接连接
# 清除swap分区配置信息, 关闭swap服务
## 查看磁盘加载情况
parted -l /dev/vda
tail -n 3 /etc/fstab
## 打开文件系统表, 将swap信息删除
vi /etc/fstab
tail -n 3 /etc/fstab
## 关闭swap
swapoff -a

# 删除其他分区
## 进入分区操作界面
parted /dev/vda
## (操作)打印分区信息
p
## (操作)删除对应分区
rm 2
## (操作)再次打印分区信息
p
## (操作)退出
quit

3. 扩容工具groupart安装及使用

# 安装
apt update;apt install -y cloud-utils cloud-initramfs-growroot
# 扩容
growpart /dev/vda 1
# 查看扩容后的磁盘空间
lsblk
磁盘空间扩容后, 文件系统需要对应扩容

4. 文件系统

# 查看
df -h
# 调整
resize2fs /dev/vda1
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值