当前位置: 首页 > news >正文

19.管理基本存储

一、添加分区,文件系统和持久挂载

分区是对磁盘(如/dev/sda/dev/vdb)的逻辑划分,常见分区表格式为 MBR 和 GPT。

(1)创建MBR分区

  • 特点:支持最大磁盘容量 2TB,最多 4 个主分区(或 3 个主分区 + 1 个扩展分区,扩展分区内可分多个逻辑分区)。

  • 工具fdisk(适用于 MBR 和 GPT,传统工具)。

  • 步骤及命令

    1. 进入磁盘分区工具:fdisk /dev/sdb(假设操作磁盘为/dev/sdb)。
    2. 输入命令交互:
      • n:新建分区(选择主分区p或扩展分区e,设置分区号、起始扇区、大小,如+10G表示 10GB)。
      • p:查看分区表。
      • w:保存并退出(q为不保存退出)。
    3. 生效分区表:partprobe /dev/sdb(无需重启刷新分区信息)。

例:在/dev/sdb创建 1 个 10GB 的主分区

fdisk /dev/sdb
# 输入n → p → 1(分区号)→ 回车(默认起始扇区)→ +10G → p(确认)→ w(保存)
partprobe /dev/sdb  # 刷新分区表

(2)创建GPT分区

  • 特点:支持超过 2TB 的磁盘,最多 128 个分区,支持 UEFI 启动。

  • 工具gdisk(GPT 专用,fdisk也可支持但gdisk更适配)。

  • 步骤及命令

    1. 进入工具:gdisk /dev/sdc(操作磁盘/dev/sdc)。
    2. 交互命令:
      • n:新建分区(设置分区号、起始扇区、大小,如+20G)。
      • p:查看分区表。
      • w:保存退出(需输入Y确认)。
    3. 生效分区表:partprobe /dev/sdc

例:在/dev/sdc创建 1 个 20GB 的 GPT 分区

gdisk /dev/sdc
# 输入n → 回车(默认分区号)→ 回车(起始扇区)→ +20G → 回车(默认类型)→ p → w → Y
partprobe /dev/sdc

(3)删除分区

  • 工具fdisk(MBR)或gdisk(GPT),操作类似。

  • 步骤

    1. 进入工具:fdisk /dev/sdb(或gdisk /dev/sdc)。
    2. 输入d → 选择要删除的分区号 → p确认删除 → w保存。

例:删除/dev/sdb的 1 号分区

fdisk /dev/sdb
# 输入d → 1(分区号)→ p(确认)→ w(保存)
partprobe /dev/sdb

(4)创建文件系统

分区需格式化为文件系统才能存储数据,常见文件系统:ext4(Linux 主流)、xfs(RHEL/CentOS 默认)、btrfs(高级特性)等。

  • 命令mkfs.文件系统类型 分区路径
  • 示例
    • 格式化/dev/sdb1为 ext4:mkfs.ext4 /dev/sdb1
    • 格式化/dev/sdc1为 xfs:mkfs.xfs /dev/sdc1(需安装xfsprogs工具)
    • 快速格式化(跳过检查):mkfs.ext4 -F /dev/sdb1

(5)持久挂载(重启不失效)

临时挂载用mount,但重启后失效;持久挂载需配置/etc/fstab文件。

步骤

  1. 创建挂载点:mkdir /data(目录需存在)。
  2. 获取分区 UUID(推荐用 UUID,避免设备名变动):blkid /dev/sdb1(输出类似UUID="xxx")。
  3. 编辑/etc/fstab,添加一行:
UUID=xxx  /data  ext4  defaults  0  0
  1.     字段含义:分区 UUID → 挂载点 → 文件系统类型 → 挂载参数(defaults包含rwsuid等)→ dump 备份(0 为不备份)→ fsck 检查(0 为不检查,根分区为 1)。
  2. blkid 命令,lsblk命令用于显示块设备(如硬盘分区、U 盘等)的属性,包括 UUID、文件系统类型等,需要 root 权限(或 sudo)。
  3. /etc/fstab 是持久化挂载配置文件,若分区已配置持久挂载,其中会记录 UUID(推荐用 UUID 配置)

      4.生效配置:mount -a(检查配置是否有误,无报错则成功)。

注:

  • 分区表:MBR(小磁盘)、GPT(大磁盘 / UEFI),分别用fdiskgdisk管理。
  • 文件系统:mkfs.ext4mkfs.xfs等格式化分区。
  • 持久挂载:通过/etc/fstab配置 UUID 实现,避免依赖设备名。

二、挂载文件系统

挂载(Mount)是将分区或存储设备(如硬盘分区、U 盘、ISO 镜像等)关联到 Linux 系统目录树中的一个目录(称为 “挂载点”),使系统能够访问该设备中的数据。

  • 挂载点必须是已存在的空目录(若目录非空,挂载后原内容会被临时隐藏,卸载后恢复)。
  • 临时挂载:重启后失效;持久挂载:通过配置文件保存,重启后自动生效。

(1)手动挂载文件系统(临时生效)

使用 mount 命令手动挂载,适用于临时访问设备,重启后挂载关系会消失。

mount [选项] 设备路径 挂载点目录
  • 常用选项:
    • -t 文件系统类型:指定文件系统(如 ext4、xfs、ntfs 等,通常可省略,系统会自动识别)。
    • -o 挂载参数:设置挂载属性(如ro只读、rw读写、noatime禁用访问时间记录等)。
例:1)挂载分区到指定目录

假设将 /dev/sdb1(ext4 文件系统)挂载到 /data 目录:

# 1. 先创建挂载点(若不存在)
mkdir -p /data# 2. 挂载分区
mount /dev/sdb1 /data# 验证:查看挂载状态
df -h /data  # 显示挂载信息
mount | grep /data  # 过滤特定挂载点
2)只读挂载
mount -o ro /dev/sdc1 /backup  # 以只读方式挂载/dev/sdc1到/backup
30卸载手动挂载的文件系统

使用 umount 命令(注意不是unmount):

umount /data  # 通过挂载点卸载
# 或通过设备路径卸载
umount /dev/sdb1

(2)持久挂载文件系统

通过配置 /etc/fstab 文件实现持久挂载,系统启动时会自动读取该文件并挂载所有配置的设备。

1. /etc/fstab 文件格式

每行代表一个挂载配置,字段用空格或制表符分隔,格式如下:

设备标识  挂载点  文件系统类型  挂载参数  dump备份  fsck检查
  • 设备标识:推荐用 UUID(避免设备名变动,如/dev/sdb1可能变为/dev/sdc1),也可用设备路径或标签(LABEL)。
  • 挂载参数:常用defaults(包含rwsuiddevexecautonouserasync),按需添加其他参数(如noatime)。
  • dump 备份:0 表示不备份,1 表示备份(几乎不用,通常设 0)。
  • fsck 检查:0 表示不检查,1 表示优先检查(根分区/设 1),2 表示次优先检查(其他分区设 2)。
2)挂载步骤

(1)获取设备 UUID

blkid /dev/sdb1  # 假设输出:UUID="a1b2c3d4-1234-5678-90ab-cdef12345678" TYPE="ext4"

2)编辑 /etc/fstab

# 用文本编辑器打开(如vim、nano)
sudo vim /etc/fstab# 添加一行配置(以UUID为例)
UUID=a1b2c3d4-1234-5678-90ab-cdef12345678  /data  ext4  defaults  0  2

3)验证配置(关键步骤)

配置后必须执行以下命令,检查是否有错误(若有错误可能导致系统无法启动):

sudo mount -a  # 挂载所有/etc/fstab中未挂载的设备

4)生效验证

df -h /data  # 查看是否已挂载

例:挂载网络共享(NFS)

# 格式:服务器IP:共享路径  本地挂载点  nfs  挂载参数  0  0
192.168.1.100:/shared  /mnt/nfs  nfs  defaults  0  0
类型命令 / 工具特点关键文件 / 命令
手动挂载mount临时生效,重启消失umount 卸载,df -h 查看
持久挂载配置 /etc/fstab重启自动生效mount -a 验证配置

三、管理交换空间

(1)交换空间概念

交换空间(Swap Space)是 Linux 系统中用于临时存储内存中不常用数据的区域,当物理内存(RAM)不足时,系统会将部分不活跃的内存数据转移到交换空间,释放物理内存供活跃进程使用。

  • 作用:避免内存溢出导致进程崩溃,提升系统稳定性(但性能低于物理内存)。
  • 形式:可以是交换分区(独立的磁盘分区)或交换文件(普通文件格式,更灵活)。
  • 大小建议:通常为物理内存的 1~2 倍(如 8GB 内存可配 8~16GB 交换空间,大内存服务器可适当减小比

(2)创建交换空间步骤(分区 / 文件两种方式)

方式一:创建交换分区(推荐用于物理机,需磁盘分区)
  1. 创建分区(使用fdiskgdisk,以fdisk为例):

# 操作磁盘(如/dev/sdb)
sudo fdisk /dev/sdb
# 输入n创建分区→选择分区类型(默认主分区)→设置大小(如+8G)→t修改类型为swap(编号82)→w保存

2、格式化交换分区(mkswap命令):

sudo mkswap /dev/sdb1  # /dev/sdb1为刚创建的交换分区

3.启用交换分区swapon命令):

sudo swapon /dev/sdb1

4.持久化生效(配置/etc/fstab):

# 获取交换分区UUID
blkid /dev/sdb1  # 假设UUID="abc123-def456"
# 添加到/etc/fstab
echo 'UUID=abc123-def456  none  swap  sw  0  0' | sudo tee -a /etc/fstab
方式二:创建交换文件(推荐用于虚拟机 / 云服务器,无需分区)
  1. 创建交换文件ddfallocatefallocate更高效):

# 创建8GB的交换文件(/swapfile)
sudo fallocate -l 8G /swapfile
# 若fallocate不可用,用dd:sudo dd if=/dev/zero of=/swapfile bs=1G count=8

2.设置权限(仅 root 可读写,避免安全风险): 

sudo chmod 600 /swapfile

3.格式化交换文件

sudo mkswap /swapfile

4.启用交换文件

sudo swapon /swapfile

5.持久化生效(配置/etc/fstab):

echo '/swapfile  none  swap  sw  0  0' | sudo tee -a /etc/fstab
验证与管理命令
  • 查看当前交换空间使用情况:
free -h  # 显示总内存和交换空间
swapon --show  # 列出已启用的交换空间

关闭交换空间(临时)

sudo swapoff /dev/sdb1  # 关闭交换分区
# 或 sudo swapoff /swapfile  # 关闭交换文件
方式适用场景核心命令持久化配置
交换分区物理机、固定磁盘环境fdiskmkswapswapon/etc/fstab中添加分区 UUID
交换文件虚拟机、云服务器、临时扩展fallocatemkswapswapon/etc/fstab中添加文件路径

四、知识点总结

  1. 对 Linux 磁盘进行分区时有哪两种方案?分别加以详细说明。

答:MBR(Master Boot Record,主引导记录)分区方案

支持的磁盘容量最大为 2TB。

最多可创建 4 个主分区,若需更多分区,需将其中一个主分区设为扩展分区,再在扩展分区内创建逻辑分区(逻辑分区数量受限于操作系统,通常最多 15 个)。32位制存储

分区信息存储在磁盘的第一个扇区(512 字节),包含引导程序和分区表,分区表占 64 字节,每个分区条目占 16 字节。

兼容性好,几乎所有操作系统都支持,但不支持超过 2TB 的磁盘和 UEFI 启动模式。

GPT(GUID Partition Table,全局唯一标识分区表)分区方案

支持的磁盘容量远超 MBR,理论上可支持 18EB(1EB = 1024PB)。

最多可创建 128 个主分区,无需扩展分区和逻辑分区。

分区信息存储在分区表头部和尾部,且有备份分区表,提高了数据安全性,能更好地抵抗磁盘错误。64位制存储

支持 UEFI 启动模式,适用于大容量磁盘和新型操作系统,但旧版操作系统可能不支持。

2.简单说下创建 MBR 磁盘分区涉及哪几个步骤?

答:1.识别磁盘设备(如 fdisk -l 查看磁盘名称,如 /dev/sdb)。

2.进入分区工具(如 fdisk /dev/sdb)。

3.创建分区(输入 n,选择主分区或扩展分区,设置分区编号、起始扇区和大小)。

4.保存分区表(输入 w 写入并退出)。

5.重新读取分区表(如 partprobe /dev/sdb)。

3. 创建 GPT 分区与创建 MBR 分区有什么不同?

答:

分区工具:GPT 常用 gdisk 或 parted(需指定 gpt 格式),MBR 常用 fdisk。

分区数量:GPT 最多 128 个主分区,MBR 最多 4 个主分区(需更多分区需扩展分区 + 逻辑分区)。

磁盘容量支持:GPT 支持超 2TB 磁盘,MBR 最大支持 2TB。

分区表存储:GPT 有主分区表和备份分区表,MBR 分区表仅在磁盘首个扇区。

启动支持:GPT 通常配合 UEFI 启动,MBR 配合 BIOS 启动。

4. 在创建分区时就会在分区上创建文件系统吗?

答:不会。创建分区只是划分磁盘区域,文件系统需后续通过 mkfs 系列命令(如 mkfs.ext4、mkfs.xfs)单独创建。

5. 如何持久挂载文件系统?

答:(1)查看分区 UUID 或设备路径(用lsblk --fs命令)。

(2)编辑 /etc/fstab 文件,添加一行格式为 UUID=xxx 挂载点 文件系统类型 defaults 0 0 的条目(如 UUID=1234-ABCD /mnt/data ext4 defaults 0 0)。

(3)执行 mount -a 验证挂载配置是否生效。

6. Linux 为什么要使用 swap?

答:swap 作为交换空间,当物理内存不足时,系统可将部分不常用的内存数据暂存到 swap 中,释放物理内存供活跃进程使用,防止因内存不足导致进程崩溃,提高系统稳定性。

7. 过度使用 swap 有什么缺点?

答:swap 位于磁盘,读写速度远慢于物理内存,过度使用会导致系统响应迟缓、程序运行卡顿,甚至出现应用无响应,严重影响系统性能。

8. 如何持久激活交换空间?

答:(1)创建 swap 文件或分区(如 mkswap /dev/sdc1)。

(2)编辑 /etc/fstab,添加 UUID=xxx swap swap defaults 0 0(UUID 为 swap 分区 / 文件的 UUID)。

(3)执行 swapon -a 激活。

9. 使用哪个命令可以查看文件系统的 UUID?

答:lsblk -fp 

http://www.dtcms.com/a/526345.html

相关文章:

  • 建设网站公司兴田德润官方地址软件工程三要素
  • 网页设计中用div做网站例子在国外做购物网站
  • 如何做自动交易网站sem推广外包
  • 王磊网络网站建设做奢侈品网站有哪些
  • C语言?大小端!!!
  • 自己怎么给网站做优化排名百度关键词优化公司
  • 建设网站需要哪些手续网页设计超链接
  • 中小企业建网站哪个好框架网站怎么做
  • 宁海企业网站建设网络推广有哪些网站
  • Python之Turtle绘图-循环-分支-嵌套
  • 超酷网站电子商务网站建设 李洪心
  • Spring StateMachine 入门:从框架选型到环境实战
  • 代刷网站只做软件下载光谷做网站推广公司
  • 东莞建设通网站宁波网站设计
  • 量化指标解码02:RSI深度解码 - 从超买超卖到背离钝化的全面分析
  • 做公众号时图片的网站外贸饰品网站
  • 网站建设h5iis 网站显示建设中
  • 宝德科技专业嘉兴网站建设手机网站开发屏幕尺寸一般是多少
  • 教做凉拌菜的视频网站制作网页的方法
  • 上饶建网站公司国家开发银行助学贷款网站
  • 网站优化的作业及意义什么是网站什么是网页
  • C++引用陷阱:从内存泄漏到悬空引用,容易踩的坑
  • QT项目代码解释
  • 宛城区网站推广国际电商怎么做
  • 网站竞价 英文男女做暖网站是什么
  • STM32单片机PWM驱动无源蜂鸣器模块C语言程序
  • 光通信|高效动态的自由空间-光纤CVB通信
  • 柳州网站建设33展示型网站解决方案
  • 网站优化排名网站天猫网站建设论文
  • 建站平台在线提交表格功能百度官网认证申请