参考文档

几个概念:

  1. 什么是分区:对磁盘进行分割,建立可用的分区
  2. 什么是格式化:对分区格式化,以建立可用的文件系统
  3. 什么是挂载:在linux系统上建立挂载点,再将建立好的文件系统挂载上来。说白了就是将额外的分区与根文件系统上的某目录建立关联的过程,把该目录当作该分区的入口的意思,而这个目录就称为挂载点(根文件系统上的某目录)。

磁盘结构简介:

  1. 列举几种概念,不做深入介绍
    1. 扇区(sector)
    2. 磁道(track)
    3. 柱面(cylinder)
    4. MBR(master boot record):即主引导记录,512bytes,这个扇区又包括 boot loader、分区表和MBR有效性标记 3部分:
      1. boot loader:代码区,主引导程序(如grub),446bytes
      2. 分区表:记录整个磁盘分区的状态,64bytes,每16个字节标记一个分区,因此最多可记录4个分区,分区的单位是柱面,每个记录区记录了该分区从开始到结束的柱面号,分为:主分区(primary)或扩展分区(extend),扩展分区只能有一个,在扩展分区中再划分若干个逻辑分区
      3. MBR有效性标记:2bytes
    5. GPT分区表:支持最大18EB磁盘且分区数没有限制,只受操作系统限制。它和UEFI相相辅助相成,UEFI将逐渐取代BIOS,而GPT也将逐渐取代MBR

Linux设备文件:

  1. linux中一切皆文件,硬件设备也会被当作文件来对待
  2. 设备文件是一种特殊文件,只有inode而没有数据,它们关联至一个驱动程序,进而跟对应的硬件设备打交道。
  3. 设备文件一般在/dev目录下
  4. 在linux中,设备有“设备号”的概念,几种常见设备在linux系统中的命名:
    1. /dev/sd[a-p],a-p表示设备号,若有多个设备,按照读取顺序依次命名,如/dev/sda,/dev/sdb,设备名后加上数字表示该设备的分区
    2. 当前CD/DVD:/dev/cdrom,光盘的标准文件系统格式为iso9660

Linux文件系统(格式化):

  1. linux支持多种文件系统格式,有ext2,ext3,ext4,xfs,vfat等
  2. ext2是linux标准的文件系统格式,曾应用广泛,但没有日志,现已基本上被ext3和ext4取代
  3. ext4是ext3的再次升级版,现已成为主流格式
  4. xfs是centos 7的默认文件系统格式
  5. vfat能被windows和linux识别,一般用来在windows系统和linux系统之间共享数据外

Linux文件系统挂载:

  1. 什么是挂载:在linux系统上建立挂载点,再将建立好的文件系统挂载上来。说白了就是将额外的分区与根文件系统上的某目录建立关联的过程,把该目录当作该分区的入口的意思,而这个目录就称为挂载点(根文件系统上的某目录)。
  2. 挂载点:
    1. 根文件系统上有两个固定挂载点:/mnt,/media
    2. 使用mount命令挂载只是临时有效,若不想每次开机都手动挂载,可写入/etc/fstab文件
    3. /etc/fstab:开机自动挂载的配置文件,当系统启动时,会自动地从这个文件读取信息,并且自动地将此文件中指定的文件系统挂载到指定的目录
    4. /etc/fatab是开机挂载配置文件,而实际的文件系统挂载动作是记录到/etc/mtab和/proc/mounts文件中的
    5. /etc/fatab是开机挂载配置文件:一行一个挂载项,其格式为:

挂载的设备 挂载点 文件系统类型 挂载选项转储(dump)频率自检次序

Linux磁盘管理常用命令:

  1. 创建分区命令:MBR分区表使用fdisk命令,GPT分区表则使用gdisk命令

    1. fdisk -l [设备名]:查看所有磁盘或指定磁盘的分区表信息
    2. fdisk 设备名:在指定磁盘上创建分区,交互式界面有许多子命令,不常用
    3. parted:是一个同时支持MBR和GPT的分区命令,分命令行和交互式,不常用
  2. 创建文件系统(格式化)命令:

    1. mkfs:创建文件系统,需手动指定文件系统类型,不常用
    2. mke2fs:创建ext系列格式的文件系统,不常用
    3. mkswap [-L LABEL] DEVICE:格式化并启用swap分区

如:mkswap /dev/sda3

  1. 4. **swapon(swapoff) [-ap] DEVICE**:启用(禁用)某交换分区设备,

-a:all,启用所有交换分区
-p num:指定此交换设备的优先级
如:mkswap /dev/sda3

  1. 5. fsck:检查并修复一个或多个linux文件系统
  2. 5. e2fsck:专用于检测ext系列文件系统
  3. 5. tune2fs:调整/查看ext系列文件系统的属性
  1. 挂载文件系统命令:
    1. mount:查看所有已挂载的设备,直接使用mount命令,它实际上是读取/etc/mtab文件
    2. mount [options] DEVICE(要挂载的设备或分区) MOUNT_POINT(挂载点)

常用选项:
-a:挂载“/etc/fstab”中描述的所有文件系统
-r:只读挂载
-w:读写挂载
-L:以卷标方式指定设备
-U:以UUID的方式指定设备 mount UUID=’uuid’ 挂载点或mount -U uuid 挂载点
-n:挂载时,不更新/etc/mtab文件
-t FSTYPE:指定文件系统类型,通常不需指定,mount会自动选择
-o OPTION:指定加载文件系统时的选项
sync:同步I/O
async:异步I/O,数据写操作先在内存中完成,然后根据某种策略同步至持久设备中
atime/noatime:文件和目录被访问时更新时间戳
auto/noauto:设备是否支持mount的-a选项自动挂载
exec/noexec:是否允许执行此设备上的二进制程序文件
suid/nosuid:是否支持在些设备的文件上使用suid
remount:重新挂载,通常用于不卸载的情况下重新指定挂载选项
acl:在此设备上支持使用facl (默认情况下不支持)
dev/nodev:(不)可读文件系统上的字符或块设备
user/nouser:默认只有root才能挂载,该参数指定是否允许一般用户挂载该分区
defaults: 默认值为rw、suid,、dev,、exec,、auto,、nouser、async

  1. 3. **umount DEVICEumount MOUNT_POINT**:卸载
  2. 3. **fuser -v 挂载点:**查看哪些进程正在访问挂载的设备
  3. 3. **fuser -km 挂载点:**中止正在此挂载点的进程
  1. 查看磁盘或文件系统信息命令:
    1. fdisk -l [DEVICE]和cat /proc/partitions:查看磁盘分区信息
    2. blkid:查看块设备的文件系统类型、label、UUID等信息,不常用
    3. e2label:查看或设定卷标

如:

  1. [root@localhost ~]# e2label /dev/sda5
  2. mydata
  3. [root@localhost ~]# e2label /dev/sda5 mynote
  4. [root@localhost ~]# e2label /dev/sda5
  5. mynote
  1. 4. **df**:报告**磁盘分区**的使用情况:

用法:df [options] [DEVICE]
常用选项:
-h:以常见的格式显示分区使用信息
-i:显示inode 使用信息
-T: 显示文件系统类型
如:df -h

  1. du:查看文件和目录占用磁盘情况:

用法:du [option] [文件或目录]
不指定选项,则默认显示当前目录下的所有文件和子目录的磁盘使用情况
常用选项:
-s:显示总大小
-a:all,显示当前或指定目录、子目录下的所有文件和目录的磁盘使用情况
-h:在数字后附后单位,提高可读性
—max-depth: 指定目录深度
如:

  1. [root@localhost ~]# du -sh
  2. 110M .
  3. [root@localhost ~]# du -sh /tmp
  4. 52K /tmp
  1. dd命令:制作磁盘映像文件

参考文档:强大的磁盘备份工具diskcopy