Linux 分区、格式化、挂载

硬件设备

Linux 将每一个硬件设备都当成一个文件,放在 /dev 目录下。这些文件有的对应着一个真实存在的物理设备,有的则代表一个虚拟设备,提供一些特定的功能。

物理设备:

/dev/hd[a-d] : IDE 硬盘,现在都不用 IDE 硬盘了
/dev/sd[a-p] : SATA 硬盘 / SCSI 硬盘 / U盘
/dev/cdrom : 光盘

sda: 第一块 SCSI 硬盘
sdb: 第二块 SCSI 硬盘
sda1: 第一块 SCSI 硬盘的第一个分区
sda2: 第一块 SCSI 硬盘的第二个分区

虚拟设备:

/dev/null : 黑洞,任何输入到这个“设备”的数据都将被直接丢弃,最常用的用法是把不需要的输出重定向到这个文件

echo 'hello world' > /dev/null

/dev/zero : 零设备,可以无限的提供空字符(0x00,ASCII代码NUL),常用来生成一个特定大小的文件

dd if=/dev/zero of=./output.txt bs=1024 count=1

拿到一块新的硬盘,需要按顺序进行以下工作之后才能使用:

  1. 分区:将一块硬盘划分出几个逻辑区域,每个分区相当于一个硬件设备

    # 查看分区
    fdisk -l
    # 将 sdb 硬盘分区
    fdisk /dev/sdb
    # 更新分区信息
    partprobe
    
  2. 格式化:对每个分区都要进行格式化,清除原有数据,写入文件系统

    # 将 /dev/sdb1 分区进行格式化
    mkfs.xfs /dev/sdb1
    
  3. 挂载:将硬件设备的文件系统和 Linux 系统中的文件系统,通过指定目录(作为挂载点)进行关联

    # 修改 /etc/fstab 文件,添加将新分区的挂载信息
    /dev/sdb1 /mnt/data  xfs defaults 0 0
    # 重新挂载
    mount -a
    # 查看挂载信息
    df -Th
    

磁盘分区

将一块物理硬盘划分出几个分区,每个分区相当于一个物理设备,每个分区都要有一个文件系统。

一块硬盘最多划分为 4 个主分区 sda1 - sda4,如果主分区不够用的,就拿出一个主分区作为扩展分区,该扩展分区可以再划分为若干个逻辑分区。

  • s scsi 硬盘 服务器硬盘 支持热插拔的那种
  • h ide 硬盘
  • d disk 磁盘
  • a 服务器中第一块磁盘
  • 1 第一块磁盘中第一个主分区

/dev/sda1 #服务器中第一块scsi硬盘中第一个主分区
/dev/hdb4 #服务器中第二块ide硬盘中第四个主分区
/dev/sda5 #服务器中第一块scsi硬盘中第一个逻辑分区

三分区:
/dev/sda1 /boot #放启动文件 #1G
/dev/sda2 / #根目录 #6G
swap分区 #swap分区,虚拟内存系统 #1G

命令

fdisk -l 查看磁盘分区
fdisk 磁盘名称 对磁盘进行分区,交互式命令
partprobe 更新分区信息,让所有软件都能知道这个新分区,并且知道文件系统

# 对 /dev/sdb 磁盘进行分区
fdisk /dev/sdb

选项列表:

  • m 帮助
  • n 新建分区(e 扩展分区,p 主分区 ,l逻辑分区)
  • p 查看分区
  • w 保存分区
  • t 改变分区文件系统(83 ext3日志文件系统,8e lvm逻辑卷,fd raid磁盘阵列) l
  • d 删除分区
# 更新分区信息
partprobe
# 查看分区信息
fdisk -l

格式化

删除物理设备的原始数据,并且写入指定的文件系统到物理设备中。新的分区如果不格式化,挂载的时候会报错。

命令

mkfs.系统类型 磁盘分区

# 将 /dev/sdb1 分区格式化为 xfs 文件系统
mkfs.xfs /dev/sdb1
# 将 /dev/sdb2 分区格式化为 ext4 文件系统
mkfs.ext4 /dev/sdb2

挂载

将硬件设备的文件系统和 Linux 系统中的文件系统,通过指定目录(作为挂载点)进行关联。挂载点一般为空目录。

/etc/fstab

系统启动时会读取 /etc/fstab 文件,将列出的文件系统自动挂载到对应目录。可以修改 /etc/fstab 文件来设置某个文件系统的自动挂载,修改了 /etc/fstab 文件之后,需要重启操作系统,或者使用 mount -a 命令。

/etc/fstab 文件内容:

/dev/mapper/centos-root /                          xfs     defaults        0 0
UUID=e29c5ef4-baa4-4821-a076-81209ad0985d /boot    xfs     defaults        0 0
/dev/mapper/centos-swap swap                       swap    defaults        0 0

各个字段的含义:

  1. 用来挂载每个文件系统的分区设备文件名或 UUID(用于指代设备名)
  2. 挂载点
  3. 文件系统的类型 ext4 xfs 等
  4. 各种挂载参数,和 mount 命令的特殊选项一致,一般填写 defaults
  5. 指定分区是否被 dump 备份,一般填写 0
  6. 指定分区是否被 fsck 检测,一般填写 0

命令

mount 查看挂载列表
mount 设备文件 挂载目录 临时挂载,重启之后不会自动挂载
umount 设备文件或挂载目录 临时取消挂载
mount -a 对 /etc/fstab 文件中的挂载列表进行挂载,常用于修改 fstab 文件之后不重启就进行挂载

mount /dev/sdb1 /mnt/data
mount /dev/cdrom /mnt/cdrom
# 查看挂载信息
df -Th
# 以下两个命令作用相同
umount /dev/cdrom
umount /mnt/cdrom

你可能感兴趣的:(Linux 分区、格式化、挂载)