资讯详情

六、Linux磁盘管理(一)

磁盘管理

一、磁盘基础知识

1.0 引入

  • 计算机中保存的大部分文件都保存在计算机硬盘中,文件也可以存储在网络磁盘中。网络磁盘中的文件只能用于备份,像本地硬盘上的数据那样随时使用。
  • 在学习存储管理时,主要学习的是如何管理计算机上的硬盘。目前,主流硬盘主要有两种形式,一种是机械硬盘(HDD),一种是固态硬盘(SSD)

1.1 磁盘分类

在这里插入图片描述

  • 固态硬盘(SSD):阵列存储由多个闪存芯片和主控和缓存组成,属于由固态电子存储芯片阵列制成的硬盘。

    • 固态硬盘依靠主控芯片将数据的二进制信息写入浮栅晶体管,实现数据的读写
    • 固态硬盘在读写数据时完全依靠数字电路实现,因此没有机械硬盘的机械磨损,磁盘上也没有定位读写延迟。因此,固态硬盘的数据读写效率远高于机械硬盘。
    • 然而,也有一些缺点。由于浮栅晶体管的设计原理,每次读写数据都会使浮栅晶体管所需的电压更高。固态硬盘在一定使用寿命后会失效。此外,如果固态硬盘损坏,数据恢复的难度大于机械硬盘。因此,为了可靠性,企业仍在大量使用机械硬盘。

1.2 硬盘接口类型

  • 个人PC机

    • IDE:并口,133MB/s

    • SATAIDE串行化,串口(一代二代三代)6Gbps

    • USB:串口,480MB/s

  • 服务器

    • SCSI:并口,640MB/s

    • SASSCSI串行化 ,串口6Gbps

1.3 磁盘设备的命名

  • 示例:/dev/sda2

    • /dev/:设备文件目录

    • s:硬件接口类型

    • d:disk硬盘

    • a:第一块硬盘(b 第二块 c 第三块 以此类推),不同的设备

    • 2:同一设备上的第二个分区

硬件设备 文件名称 备注
IDE设备 /dev/hd[a-d] centos6及以后中IDE变为/dev/sd[a-d]
SCSI/SATA/SAS/USB /dev/sd[a-p] 大部分都是这种类型
软驱 /dev/fd[0-1]
打印机 /dev/lp[0-15]
光驱 /dev/cdrom
鼠标 /dev/mouse
磁带机 /dev/st0或/dev/ht0

1.4 分区方式

  • MBR

    • 用32位表示扇区数,分区不超过2T(管理的硬盘尺寸不得超过2T)

    • 按柱面分区,4个主分区 或 3主分区 1扩展分区(N逻辑分区)。 扩展分区可以逻辑上划分多个区域,但在分区表中计算在一个分区内

    • 作为系统盘,必须设置激活分区,以存储系统的指导文件

    • MBR硬盘分区结构图

  • GPT

    • 管理硬盘尺寸不超过18EB,目前,人类还没有制造出如此大的单块硬盘
    • 理论上支持无限分区,win10系统上,最多可以分128个,分区使用64位,使用128位UUID(Universally Unique Identifier) 表示磁盘和分区。GPT在头部和尾部自动备份分区表。
    • 作为系统盘,必须创建一个EFI存储系统的指导文件分区
    • EFI可分为四个区域:EFI信息区(GPT头),分区表,GPT分区、备份区域
  • MBR&GPT比较

分区方式 分区大小 分区工具 分区方式
MBR <2TB fdisk 三个主分区 扩展分区(共四个主分区);扩展分区可分为几个逻辑分区
GPT >2TB (<2TB也可以分) gdisk 128个主分区
  • 注:从MBR转到GPT,或从GPT转换到MBR所有数据都会丢失

扩展:http://www.eassos.cn/jiao-cheng/ying-pan/mbr-vs-gpt.php

二、文件系统基础知识

2.1 介绍文件系统

  • 文件系统(file system)
    • 操作系统用于明确存储设备(磁盘也是常见的)NAND Flash固态硬盘)或分区文件的方法和数据结构;即储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。
    • 文件系统由三部分组成:文件系统的接口,对对象操纵和管理的软件集合,对象及属性。
    • 从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,当用户不再使用时撤销文件等。

2.2 格式化介绍

  • 格式化后会发生如下事情

    • Linux创建一个硬盘地图superblock,记录此filesystem的整体信息,包括inode/block的总量、使用 量、剩余量, 以及文件系统的格式与相关信息等;

    • inode:记录文件的属性,一个文件占用一个inode,同时记录此文件的数据所在的block号码,默认一个 inode表格128字节,一个block记录消耗4B,记录满了后会新建inode用于扩展。

      • 该文件的访问权限(read、write、execute)

      • 该文件的所有者与所属组(owner、group)

      • 该文件的大小(size)

      • 该文件的创建或内容修改时间(ctime)

      • 该文件的最后一次访问时间(atime)

      • 该文件的修改时间(mtime)

      • 文件的特殊权限(SUID、SGID、SBIT)

      • 该文件的真实数据地址(point)

    • block:用于存储数据

  • 计算机系统在发展过程中产生了众多的文件系统,为了使用户在读取或写入文件时不用关心底层的硬盘结构, Linux内核中的软件层为用户程序提供了一个VFSVirtual File System,虚拟文件系统)接口,这样用户实际 上在操作文件时就是统一对这个虚拟文件系统进行操作了。

2.3 常见文件系统

  • Linux系统支持数十种的文件系统,而最常见的文件系统如下所示
文件系统 说明
ext3 是一款日志文件系统,能够在系统异常宕机时避免文件系统资料丢失,并能自动修复数据的不一致与错误。然而,当硬盘容量较大时,所需的修复时间也会很长,而且也不能百分之百地保证资料不会丢失。它会把整个磁盘的每个写入动作的细节都预先记录下来,以便在发生异常宕机后能回溯追踪到被中断的部分,然后尝试进行修复
ext4 Ext3的改进版本,作为RHEL 6系统中的默认文件管理系统,它支持的存储容量高达1EB(1EB=1,073,741,824GB),且能够有无限多的子目录。另外,Ext4文件系统能够批量分配block块,从而极大地提高了读写效率
XFS 是一种高性能的日志文件系统,而且是RHEL 7中默认的文件管理系统,它的优势在发生意外宕机后尤其明显,即可以快速地恢复可能被破坏的文件,而且强大的日志功能只用花费极低的计算和存储性能。并且它最大可支持的存储容量为18EB,这几乎满足了所有需求

三、常用查看命令

3.1 lsblk命令

  • 列出可用块设备,
[root@server1 ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   19G  0 part 
  ├─centos-root 253:0    0   17G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sr0              11:0    1  918M  0 rom  

3.2 df -Th命令

  • 列出的磁盘占用情况,也就是说,只显示的设备
[root@server1 ~]# df -Th
文件系统                类型      容量  已用  可用 已用% 挂载点
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs        17G   11G  6.1G  65% /
devtmpfs                devtmpfs  1.9G     0  1.9G   0% /dev
tmpfs                   tmpfs     1.9G     0  1.9G   0% /dev/shm
tmpfs                   tmpfs     1.9G   12M  1.9G   1% /run
tmpfs                   tmpfs     1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/sda1               xfs      1014M  146M  869M  15% /boot
tmpfs                   tmpfs     378M     0  378M   0% /run/user/0

3.3 fdisk -l命令

  • 列出磁盘情况

[root@server1 ~]# fdisk -l

磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x00020928

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200    41943039    19921920   8e  Linux LVM

磁盘 /dev/mapper/centos-root:18.2 GB, 18249416704 字节,35643392 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘 /dev/mapper/centos-swap:2147 MB, 2147483648 字节,4194304 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

3.4 du -sh命令

  • 查看磁盘空间占用情况
[root@server1 ~]# du -sh /usr
1001M	/usr

3.5 free -h命令

  • 查看系统内存情况,常用于
[root@server1 ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:           3.7G        299M        3.1G         11M        265M        3.1G
Swap:          2.0G          0B        2.0G

3.6 blkid命令

  • 查看具体设备的
[root@server1 ~]# blkid /dev/sda1
/dev/sda1: UUID="2a69fcf3-b92a-4059-82a7-84bc2be8f5f5" TYPE="xfs" 

四、磁盘分区

  1. 新建分区
  2. 刷新分区表
  3. 格式化分区
  4. 挂载

4.1 新建分区

4.1.1 fdisk命令

  • 语法:fdisk device
  • 对于一块硬盘来说最多管理15个分区
  • 子命令:管理功能
命令 说明
p(print) 显示已有分区
n(new) 创建
d(delete) 删除
w(write) 写入磁盘并退出
q(quit) 放弃更新并退出
m 获取帮助
l 列表所分区ID
t 调整分区类型

  • 示例
[root@server1 ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0xe6d1d525 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n #创建新分区
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p):  #回车,默认p:主分区
Using default response p
分区号 (1-4,默认 1): #回车
起始 扇区 (2048-10485759,默认为 2048): #回车,一般选择默认即可,不建议手动设置
将使用默认值 2048
Last 扇区, +扇区 or +size{ 
        K,M,G} (2048-10485759,默认为 10485759):+1G #设置分区大小
分区 1 已设置为 Linux 类型,大小设为 1 GiB

命令(输入 m 获取帮助):n #创建新分区
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): e #e:扩展分区
分区号 (2-4,默认 2): #回车
起始 扇区 (2099200-10485759,默认为 2099200):#回车
将使用默认值 2099200
Last 扇区, +扇区 or +size{ 
        K,M,G} (2099200-10485759,默认为 10485759):+4G #设置分区大小
将使用默认值 10485759
分区 2 已设置为 Extended 类型,大小设为 4 GiB

命令(输入 m 获取帮助):n #创建新分区
Partition type:
   p   primary (1 primary, 1 extended, 2 free)
   l   logical (numbered from 5)
Select (default p): l #:逻辑分区
添加逻辑分区 5
起始 扇区 (2101248-10485759,默认为 2101248):#回车
将使用默认值 2101248
Last 扇区, +扇区 or +size{ 
        K,M,G} (2101248-10485759,默认为 10485759):+2G
分区 5 已设置为 Linux 类型,大小设为 2 GiB

命令(输入 m 获取帮助):P #打印分区表

磁盘 /dev/sdb:5368 MB, 5368709120 字节,10485760 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xe6d1d525

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   83  Linux
/dev/sdb2         2099200    10485759     4193280    5  Extended
/dev/sdb5         2101248     6295551     2097152   83  Linux

命令(输入 m 获取帮助):w #保存退出
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@server1 ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   19G  0 part 
  ├─centos-root 253:0    0   17G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sdb               8:16   0    5G  0 disk 
├─sdb1            8:17   0    1G  0 part 
├─sdb2            8:18   0    1K  0 part 
└─sdb5            8:21   0    2G  0 part 
sr0              11:0    1  973M  0 rom  

注意事项:

  1. 最多只能分4个主分区,主分区编号1-4
  2. 逻辑分区大小总和不能超过扩展分区大小,逻辑分区分区编号从5开始
  3. 如果删除扩展分区,则逻辑分区也被删除
  4. 扩展分区的分区编号(1-4)
  5. 扩展分区不能进行格式化,挂载使用。只有1k,用来记录逻辑分区的信息
  6. 创建分区顺序1-2-3-4,删除分区顺序4-3-2-1
  7. 已经有数据的磁盘,不建议再进行磁盘划分

4.1.2 gdisk(扩展)

  • VMware新建一个虚拟磁盘
[root@server1 ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   19G  0 part 
  ├─centos-root 253:0    0   17G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sdb               8:16   0    5G  0 disk 
├─sdb1            8:17   0    2G  0 part 
└─sdb2            8:18   0    2G  0 part [SWAP]
sdc               8:32   0    5G  0 disk 
sr0              11:0    1  973M  0 rom  
[root@server1 ~]# gdisk /dev/sdc
GPT fdisk (gdisk) version 0.8.10

Partition table scan:
  MBR: not present
  BSD: not present
  APM: not present
  GPT: not present

Creating new GPT entries.

Command (? for help): ? 获取帮助信息
b	back up GPT data to a file
c	change a partition's name d delete a partition 删除分区 i show detailed information on a partition l list known partition types n add a new partition 创建新分区 o create a new empty GUID partition table (GPT) p print the partition table 打印分区表 q quit without saving changes 不保存退出 r recovery and transformation options (experts only) s sort partitions t change a partition's type code
v	verify disk
w	write table to disk and exit 保存分区表
x	extra functionality (experts only)
?	print this menu

Command (? for help): n
Partition number (1-128, default 1): 
First sector (34-10485726, default = 2048) or { 
        +-}size{ 
        KMGTP}: 
Last sector (2048-10485726, default = 10485726) or { 
        +-}size{ 
        KMGTP}: +2G
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): L
0700 Microsoft basic data  0c01 Microsoft reserved    2700 Windows RE          
3000 ONIE boot             3001 ONIE config           4100 PowerPC PReP boot   
4200 Windows LDM data      4201 Windows LDM metadata  7501 IBM GPFS            
7f00 ChromeOS kernel       7f01 ChromeOS root         7f02 ChromeOS reserved   
8200 Linux swap            8300 Linux filesystem      8301 Linux reserved      
8302 Linux /home           8400 Intel Rapid Start     8e00 Linux LVM           
a500 FreeBSD disklabel     a501 FreeBSD boot          a502 FreeBSD swap        
a503 FreeBSD UFS           a504 FreeBSD ZFS           a505 FreeBSD Vinum/RAID  
a580 Midnight BSD data     a581 Midnight BSD boot     a582 Midnight BSD swap   
a583 Midnight BSD UFS      a584 Midnight BSD ZFS      a585 Midnight BSD Vinum  
a800 Apple UFS             a901 NetBSD swap           a902 NetBSD FFS          
a903 NetBSD LFS            a904 NetBSD concatenated   a905 NetBSD encrypted    
a906 NetBSD RAID           ab00 Apple boot            af00 Apple HFS/HFS+      
af01 Apple RAID            af02 Apple RAID offline    af03 Apple label         
af04 AppleTV recovery      af05 Apple Core Storage    be00 Solaris boot        
bf00 Solaris root          bf01 Solaris /usr & Mac Z  bf02 Solaris swap        
bf03 Solaris backup        bf04 Solaris /var          bf05 Solaris /home       
bf06 Solaris alternate se  bf07 Solaris Reserved 1    bf08 Solaris Reserved 2  
bf09 Solaris Reserved 3    bf0a Solaris Reserved 4    bf0b Solaris Reserved 5  
c001 HP-UX data            c002 HP-UX service         ea00 Freedesktop $BOOT   
eb00 Haiku BFS             ed00 Sony system partitio  ed01 Lenovo system partit
Press the <Enter> key to see more codes: 
ef00 EFI System            ef01 MBR partition scheme  ef02 BIOS boot partition 
fb00 VMWare VMFS           fb01 VMWare reserved       fc00 VMWare kcore crash p
fd00 Linux RAID            
Hex code or GUID (L to show codes, Enter = 8300): 
Changed type of partition to 'Linux filesystem'

Command (? for help): n
Partition number (2-128, default 2): 
First sector (34-10485726, default = 4196352) or { 
        +-}size{ 
        KMGTP}: 
Last sector (4196352-10485726, default = 10485726) or { 
        +-}size{ 
        KMGTP}: +1G
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): 8200
Changed type of partition to 'Linux swap'

Command (? for help): w

Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!

Do you want to proceed? (Y/N): 
Your option? (Y/N): Y
OK; writing new GUID partition table (GPT) to /dev/sdc.
The operation has completed successfully.
[root@server1 ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   19G  0 part 
  ├─centos-root 253:0    0   17G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sdb               8:16   0    5G  0 disk 
├─sdb1            8:17   0    2G  0 part 
└─sdb2            8:18   0    2G  0 part [SWAP]
sdc               8:32   0    5G  0 disk 
├─sdc1            8:33   0    2G  0 part 
└─sdc2            8:34   0    1G  0 part 
sr0              11:0    1  973M  0 rom 

4.1.3 parted命令

  • 语法:parted [选项]... [设备 [命令 [参数]...]...]
  • 功能:向设备发出命令进行分区管理
  • 操作命令
cp [FROM-DEVICE] FROM-MINOR TO-MINOR #将文件系统复制到另一个分区
help [COMMAND] #打印通用求助信息,或关于 COMMAND 的
信息
mklabel 标签类型 #创建新的磁盘标签 (分区表)
mkfs MINOR 文件系统类型 #在 MINOR 创建类型为“文件系统类型”的文
件系统
mkpart 分区类型 [文件系统类型] 起始点 终止点 #创建一个分区
mkpartfs 分区类型 文件系统类型 起始点 终止点 #创建一个带有文件系统的分区
move MINOR 起始点 终止点 #移动编号为 MINOR 的分区
name MINOR 名称 #将编号为 MINOR 的分区命名为“名称”
print [MINOR] #打印分区表,或者分区
quit #退出程序
rescue 起始点 终止点 #挽救临近“起始点”、“终止点”的遗失的分区
resize MINOR 起始点 终止点 #改变位于编号为 MINOR 的分区中文件系统的
大小
rm MINOR #删除编号为 MINOR 的分区
select 设备 #选择要编辑的设备
set MINOR 标志 状态 #改变编号为 MINOR 的分区的标志
  • 示例
# 查看分区情况
[root@server1 ~]# parted /dev/sda print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 53.7GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system 标志
1 1049kB 1075MB 1074MB primary xfs 启动
2 1075MB 53.7GB 52.6GB primary lvm
[root@server1 ~]# parted /dev/sdb print
错误: /dev/sdb: unrecognised disk label
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:

# 设置磁盘的分区表
[root@server1 ~]# parted /dev/sdb mklabel gpt
信息: You may need to update /etc/fstab.
[root@server1 ~]# parted /dev/sdb print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name 标志

# 对磁盘进行分区
[root@server1 ~]# parted /dev/sdb mkpart primary 1 200M
信息: You may need to update /etc/fstab.
[root@server1 ~]# parted /dev/sdb print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name 标志
1 1049kB 200MB 199MB primary

# 删除分区
[root@server1 ~]# parted /dev/sdb rm 1
信息: You may need to update /etc/fstab.
[root@server1 ~]# parted /dev/sdb print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name 标志

# 修改磁盘为mbr分区,注意会丢失所有数据
[root@server1 ~]# parted /dev/sdb mklabel msdos
警告: The existing disk label on /dev/sdb will be destroyed and all data on this
disk will be lost. Do
you want to continue?
是/Yes/否/No? yes
信息: You may need to update /etc/fstab.
  • 注意:parted的操作都是实时生效的,小心使用。

4.2 刷新分区表

  • 语法:partx ‐a /dev/DEVICE partprobe [/dev/DEVICE]
[root@server1 ~]# partprobe #刷新所有分区表
Warning: 无法以读写方式打开 /dev/sr0 (只读文件系统)。/dev/sr0 已按照只读方式打开。
[root@server1 ~]# partprobe /dev/sda #刷新指定分区表
[root@server1 ~]# partx -a /dev/sda #刷新指定分区表

# 查看内核是否已经识别新的分区:
[root@server1 ~]# cat /proc/partitions 
major minor  #blocks name

   8        0   20971520 sda
   8        1    1048576 sda1
   8        2   19921920 sda2
  11        0     940032 sr0
 253        0   17821696 dm-0
 253        1    2097152 dm-1

  • 注:如果刷新不成功,可以尝试重启操作系统

4.3 mkfs格式化分区

  • 格式化为ext4文件系统
[root@server1 ~]# mkfs.ext4 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 262144 blocks
13107 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376

Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (8192 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

4.4 挂载

4.4.1 mount临时挂载

  • 语法:mount [选项] 设备名 挂载目录
  • 选项:
    • -o:挂载选项,例如ro,sync,rw,remount
    • -t:文件系统类型
    • -a:挂载所有在/etc/fstab中定义的文件系统
# 创建挂载目录
[root@server1 ~]# mkdir /mnt/mount_sdb1

# 挂载
[root@server1 ~]# mount /dev/sdb1 /mnt/mount_sdb1/
[root@server1 ~]# mount -o remount,ro,sync /mnt/mount_sdb1/

# -t:文件系统类型
mount -t nfs=mount.nfs(NFS)
mount.nfs 192.168.226.10:/share /nfs_share
mount -t cifs=mount.cifs(SAMBA)
mount.cifs -o user=user01,password=1 //192.168.226.10/samba_share /samba_share

# 查看挂载选项信息
[root@server1 ~]# mount
/dev/sdb1 on /mnt/mount_sdb1 type ext4 (rw,relatime,data=ordered)

# 解挂
[root@server1 ~]# umount /mnt/mount_sdb1 
  1. 挂载点最好为空目录
  2. 多个设备不能挂载到同一个目录中
  3. 挂载目录的权限,不取决于挂载点原有的权限,而
  4. mount临时挂载,重启系统失效

4.4.2 /etc/fstab永久挂载

  • 永久挂载原因:

    • 启动操作系统后,系统会进行初始化。初始化文件/sbin/init会自动调用/etc/fstab文件。

    • 将挂载信息写入/etc/fstab文件,每次开机都会读取该文件,从而实现永久挂载

    • 挂载的设备(文件名或者UUID)+挂载点+文件系统类型+挂载选型+0(0表示不需要dump备份,1表示每天备份)+0(0是不要 fsck 检验扇区,1表示要且最先检验)

  • 挂载选项说明

选项 说明
async/sync 异步/同步
auto/noauto 自动/非自动
rw/ro 读写/只读
exec/noexec 可被执行/不可被执行
remount 新挂在一个已经挂载的文件系统,常用于修改挂载参数
user/nouser 允许/不允许其他普通用户挂载
suid/nosuid 具有/不具有suid权限:该文件系统是否允许SUID的存在。
usrquota 这个是在启动文件系统的时候,让其支持磁盘配额,这个是针对用户的。
grpquota 支持用户组的磁盘配额。
defaults 同时具有rw, suid, dev, exec, auto, nouser, async参数。
[root@server1 mount_sdb1]# vim /etc/fstab
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=1eb189c6-19c3-498d-ad51-06531bf2f1e2 /boot                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0
//192.168.226.10/samba_share /smb_share cifs user=user01,password=1 0 0
192.168.226.10:/share /nfs_share nfs ro 0 0
/dev/sdb1 /mnt/mount_sdb1 ext4 defaults 0 0

# 重新读取/etc/fstab文件内容
[root@server1 mount_sdb1]# mount -a
[root@server1 mount_sdb1]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   19G  0 part 
  ├─centos-root 253:0    0   17G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sdb               8:16   0    5G  0 disk 
├─sdb1            8:17   0    1G  0 part /mnt/mount_sdb1
├─sdb2            8:18   0    1K   

标签: sp2841a502角度传感器2sd965晶体管a502高精度电位计角度传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台