Linux服务器之磁盘精讲

举报
tea_year 发表于 2025/07/29 23:34:18 2025/07/29
【摘要】 目标能够使用fdisk命令对磁盘进行分区熟悉设备的挂载方式(手动、开机自动、autofs自动)理解物理卷、卷组、逻辑卷的概念能够根据需求创建逻辑卷(重点)能够根据需求动态扩容逻辑卷(重点)熟练使用逻辑卷相关命令理论储备一、硬盘的基本知识1.了解硬盘的接口类型硬盘的接口类型是影响硬盘读取数据的一个因素IDE(并口的,已经被淘汰) SATA(串口的,现在笔记本一般用的事二代或三代) I/II/I...

目标

  • 能够使用fdisk命令对磁盘进行分区

  • 熟悉设备的挂载方式(手动、开机自动、autofs自动)

  • 理解物理卷、卷组、逻辑卷的概念

  • 能够根据需求创建逻辑卷(重点)

  • 能够根据需求动态扩容逻辑卷(重点)

  • 熟练使用逻辑卷相关命令

理论储备

一、硬盘的基本知识

1.了解硬盘的接口类型

硬盘的接口类型是影响硬盘读取数据的一个因素

IDE(并口的,已经被淘汰)

SATA(串口的,现在笔记本一般用的事二代或三代) I/II/III

个人pc机 -----SCSI

SAS------服务器上

2. 硬盘命名方式
OS(操作系统) IDE(并口) SATA(串口) SCSI
RHEL5 /dev/hda /dev/sda /dev/sda
RHEL6 /dev/sda /dev/sda /dev/sda
RHEL7 /dev/sda /dev/sda /dev/sda
3. 磁盘设备的命名

/dev/sda2

s=硬件接口类型(sata/scsi),d=disk(硬盘),a=第1块硬盘(b,第二块),2=第几个分区 /dev/hd h=IDE硬盘 /dev/hdd3 IDE硬盘的第4块硬盘第3个分区 /dev/vd v=虚拟硬盘 /dev/vdf7 虚拟硬盘的第6块硬盘第7个分区

4. HP服务器硬盘

/dev/cciss/c0d0 /dev/cciss/c0d0p1 c0第一个控制器, d0第一块磁盘, p1分区1 /dev/cciss/c0d0p2 c0第一个控制器, d0第一块磁盘, p2分区2

5. 硬盘的分区方式

MBR <2TB,也就是MBR 小于2TB使用fdisk(分区工具)进行分区,可以分为4个主分区或者3个主分区+1个扩展分区(扩展区下又可以分N个逻辑分区)

MBR(Master Boot Record)的缩写,由三部分组成,即:

  1. Bootloader(主引导程序)=446字节 硬盘第一个扇区=512字节(硬盘读取数据的最小单位就是扇区)

    • 引导操作系统的主程序

  2. DPT分区表(Disk Partition Table)=64字节

    • 分区表保存了硬盘的分区信息,操作系统通过读取分区表内的信息,就能够获得该硬盘的分区信息

    • 每个分区需要占用16个字节大小,保存有文件系统标识、起止柱面号、磁头号、扇区号、起始扇区位置(4个字节)、分区总扇区数目(4个字节)等内容

    • 分区表中保存的分区信息都是主分区与扩展分区的分区信息,扩展分区不能直接使用,需要在扩展分区内划分一个或多个逻辑分区后才能使用

    • 逻辑分区的分区信息保存在扩展分区内而不是保存在MBR分区表内,这样,就可以突破MBR分区表只能保存4个分区的限制

  3. 硬盘有效标志(校验位)=2个字节

GPT>2TB gdisk(parted) 128个主分区

注意:从MBR转到GPT,或从GPT转换到MBR会导致数据全部丢失!

二、基本分区管理

1. 磁盘划分思路
  • 进入分区表 新建分区 fdisk /dev/sdb

  • 更新分区表<刷新分区表>

  • 格式化分区——>格式化分区后产生文件系统

  • 挂载使用——>mount【开机自动挂载|autofs自动挂载】

添加一个硬盘10GB

1、选中虚拟机右键设置

2、选中硬盘--添加

1.png

下一步

2.png

下一步

3.png

下一步

4.png

下一步

5.png


3、重启虚拟机

# reboot


2. fdisk分区

是一个典型的标准分区,一旦确定大小,后续很难改变。

2.1 使用fdisk分区
# lsblk
# df -h  查看正在挂载的设备情况
# fdisk -l      查看当前系统的所有设备分区情况
# fdisk /dev/sdb   可以开启分区
​
硬盘容量 = 柱面数 × 盘面数(磁头数) × 扇区数 × 扇区大小(一般为512字节)
Disk /dev/sda: 26.8 GB, 26843545600 bytes   磁盘空间
 255 heads, 63 sectors/track, 3263 cylinders
 255磁头    63个扇区 每 磁道   3263个圆柱体
Units = cylinders of 16065 * 512 = 8225280 bytes       单元
Sector size (logical/physical): 512 bytes / 512 bytes
扇区大小(逻辑/物理)  都是512字节。
I/O size (minimum/optimal): 512 bytes / 512 bytes
I/O 大小(最小/最大) 都是512字节。
Disk identifier: 0x00030124   设备识别码
​
 启动设备加*           起始         结束      块           id     系统
 Device Boot      Start         End      Blocks     Id  System
/dev/sda1   *           1        2497    20051968   83  Linux
/dev/sda2            2497        2611      916481    5  Extended    扩展分区
/dev/sda3            2612        3263     5237190   83  Linux
/dev/sda5            2497        2611      916480   82  Linux swap / Solaris
​
Command(m for help): m                                  输出帮助信息
Commandaction
   a  toggle a bootable flag                        设置启动分区
   b  edit bsd disklabel                            编辑分区标签
   c  toggle the dos compatibility flag
   d  delete a partition                                删除一个分区
   l  list known partition types                    列出分区类型
   m  print this menu                               帮助
   n  add a new partition                           建立一个新的分区
   o  create a new empty DOS partition table    创建一个新的空白DOS分区表
   p  print the partition table                 打印分区表
   q  quit without saving changes                   退出不保存设置
   s   createa new empty Sun disklabel              创建一个新的空的SUN标示
   t   changea partition's system id            改变分区的类型
   u   changedisplay/entry units                    改变显示的单位
   v   verifythe partition table                检查验证分区表
   w  write table to disk and exit              保存分区表
Command (m for help): n         创建新分区
Command action
   e   extended     扩展分区
   p   primary partition (1-4)   主分区
p
Partition number (1-4): 1       选择主分区编号
First cylinder (1-1305, default 1):     起始柱面默认即可(直接回车)
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-1305, default 1305): +1G  分区大小1G
​
Command (m for help): p       打印分区表
​
Disk /dev/sdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x31dd29ec
​
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         132     1060258+  83  Linux
​
Command (m for help): n         继续创建分区
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 2            
First cylinder (133-1305, default 133): 
Using default value 133
Last cylinder, +cylinders or +size{K,M,G} (133-1305, default 1305): +1G
​
Command (m for help): p
​
Disk /dev/sdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x31dd29ec
​
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         132     1060258+  83  Linux
/dev/sdb2             133         264     1060290   83  Linux
​
Command (m for help): w         保存退出
The partition table has been altered!
刷新分区
[root@bogon ~]# partx -a /dev/sdb
​
====查看分区
[root@bogon ~]# lsblk
如果上面命令看不到分区,使用下面命令。如果可以看到重启系统,分区才可以正常使用!
[root@bogon ~]# fdisk -l /dev/sdb

总结:

  1. 最多只能分4个主分区,主分区编号1-4

  2. 逻辑分区大小总和不能超过扩展分区大小,逻辑分区分区编号从5开始

    创建扩展分区,并创建逻辑分区。

    逻辑分区必须在扩展分区下,且所有逻辑分区的大小必须小于扩展分区。删除扩展分区后,逻辑分区会自动删除。

    # fdisk /dev/sdb
    命令(输入 m 获取帮助):n       创建分区
    Partition type:
       p   primary (2 primary, 0 extended, 2 free)
       e   extended
    Select (default p): e       创建扩展分区
    分区号 (3,4,默认 3):3   
    起始 扇区 (6293504-20971519,默认为 6293504):  直接按enter键使用默认值
    将使用默认值 6293504
    Last 扇区, +扇区 or +size{K,M,G} (6293504-20971519,默认为 20971519):+3G       设置分区大小
    分区 3 已设置为 Extended 类型,大小设为 3 GiB
    命令(输入 m 获取帮助):p                         打印分区表
    ​
    磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
    Units = 扇区 of 1 * 512 = 512 bytes
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    磁盘标签类型:dos
    磁盘标识符:0xc6b3550a
    ​
       设备 Boot      Start         End      Blocks   Id  System
    /dev/sdb1            2048     2099199     1048576   83  Linux
    /dev/sdb2         2099200     6293503     2097152   83  Linux
    /dev/sdb3         6293504    12584959     3145728    5  Extended
    ​
    命令(输入 m 获取帮助):n
    Partition type:
       p   primary (2 primary, 1 extended, 1 free)
       l   logical (numbered from 5)
    Select (default p): l    l为逻辑分区
    添加逻辑分区 5              
    起始 扇区 (6295552-12584959,默认为 6295552):
    将使用默认值 6295552
    Last 扇区, +扇区 or +size{K,M,G} (6295552-12584959,默认为 12584959):+2G
    分区 5 已设置为 Linux 类型,大小设为 2 GiB
    命令(输入 m 获取帮助):p
    ​
    磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
    Units = 扇区 of 1 * 512 = 512 bytes
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    磁盘标签类型:dos
    磁盘标识符:0xc6b3550a
    ​
       设备 Boot      Start         End      Blocks   Id  System
    /dev/sdb1            2048     2099199     1048576   83  Linux
    /dev/sdb2         2099200     6293503     2097152   83  Linux
    /dev/sdb3         6293504    12584959     3145728    5  Extended
    /dev/sdb5         6295552    10489855     2097152   83  Linux
    ​
    命令(输入 m 获取帮助):n
    Partition type:
       p   primary (2 primary, 1 extended, 1 free)
       l   logical (numbered from 5)
    Select (default p): l
    添加逻辑分区 6
    起始 扇区 (10491904-12584959,默认为 10491904):
    将使用默认值 10491904
    Last 扇区, +扇区 or +size{K,M,G} (10491904-12584959,默认为 12584959):+1G
    值超出范围。               ==>>>逻辑分区的总大小不能超出扩展分区。此时添加900M可以


  3. 如果删除扩展分区,下面的逻辑卷分区也被删除

  4. 扩展分区的分区编号(1-4)

任务1:

添加一块硬盘,需要将其分两个分区,分别格式化成ext4格式文件系统使用,最终需要使用2G空间。

思路:
1. 增加一块硬盘
2. 使用fdisk命令进行分区
3. 格式化指定分区
4. 创建一个空的目录作为挂载点
5. 挂载使用
​
步骤:
1. 增加硬盘
增加完硬盘记得重启系统
# lsblk 查看硬盘是否添加成功
...
sdb                       8:16   0   10G  0 disk
[root@web ~]# fdisk -l /dev/sdb
Disk /dev/sdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
2. 使用fdisk命令分区
[root@web ~]# fdisk /dev/sdb
Command (m for help): p         打印分区表信息
​
Disk /dev/sdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x31dd29ec
​
   Device Boot      Start         End      Blocks   Id  System
​
Command (m for help): n         创建新分区
Command action
   e   extended     扩展分区
   p   primary partition (1-4)   主分区
p
Partition number (1-4): 1       选择主分区编号
First cylinder (1-1305, default 1):     起始柱面默认即可(直接回车)
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-1305, default 1305): +1G  分区大小1G
​
Command (m for help): p
​
Disk /dev/sdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x31dd29ec
​
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         132     1060258+  83  Linux
​
Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (133-1305, default 133): 
Using default value 133
Last cylinder, +cylinders or +size{K,M,G} (133-1305, default 1305): +1G
​
Command (m for help): p
​
Disk /dev/sdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x31dd29ec
​
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         132     1060258+  83  Linux
/dev/sdb2             133         264     1060290   83  Linux
​
Command (m for help): w         保存退出
The partition table has been altered!
​
Calling ioctl() to re-read partition table.
Syncing disks.
[root@bogon ~]# partx -a /dev/sdb     ----刷新文件系统
3. 再次查看分区情况
# lsblk
sdb                       8:16   0   10G  0 disk 
├─sdb1                    8:17   0    1G  0 part 
└─sdb2                    8:18   0    1G  0 part 
​
4. 刷新分区表信息。注意:如果刷新后lsblk还是看不到分区而使用fdisk -l /dev/sdb可以看到分区,则重启系统
[root@web ~]# partx -a /dev/sdb
BLKPG: Device or resource busy
error adding partition 1
BLKPG: Device or resource busy
error adding partition 2
​
5. 格式化分区
[root@web ~]# mkfs.ext4 /dev/sdb1     ====>>mkfs.ext4 命令用于在指定的设备上创建一个ext4文件系统
[root@web ~]# mkfs.ext4 /dev/sdb2     
​
6. 创建新的挂载点
[root@web ~]# mkdir /u01
[root@web ~]# mkdir /u02
​
7. 挂载使用
[root@web ~]# mount /dev/sdb1 /u01
[root@web ~]# mount /dev/sdb2 /u02

总结:

  1. 扩展分区的大小决定了所有逻辑分区的大小

  2. 删除扩展分区后下面的逻辑分区都被删除

  3. 分完区后需要手动刷新分区表,如果刷新不成功需要重启操作系统

  4. 创建分区的时候尽可能注意分区序号的连续性

2.2 挂载分区设备

注意:挂载设备有两个要求:

1、挂载点是空目录

2、一个挂载点只能挂载一个设备

查看设备现在的挂载方式

查看分区是否挂载:可以显示出来文件系统类型ext4,和读写模式--下面的rw就代表可读写
# mount
/dev/sdb1 on /u01 type ext4 (rw,relatime,data=ordered)
只显示是否挂载
# lsblk

卸载挂载

# umount  挂载点 

6.png

删除分区:

1.使用fdisk进行到操作命令
[root@bogon ~]# fdisk /dev/sdb
2.选择删除选项,然后选择分区,最后保存
命令(输入 m 获取帮助):d       ---------->>删除分区选项
分区号 (1,2,默认 2):2
分区 2 已删除
命令(输入 m 获取帮助):p       ---------->>打印分区表
​
命令(输入 m 获取帮助):w       ---------->>保存并退出
The partition table has been altered!
​
Calling ioctl() to re-read partition table.
正在同步磁盘。
3.更新分区
[root@bogon ~]# partx -a /dev/sdb
4.查看。如果依然存在,则重启。
[root@bogon ~]# lsblk
​
5.自行验证删除逻辑分区和删除扩展分区(删除扩展分区观察逻辑分区是否被删除!)

手动挂载:

手动挂载语法::
mount   [options]     需要挂载的设备     挂载点
特点:系统重启后需要重新挂载;手动卸载后需要手动挂载
​
-o:挂载选项 ro(只读),sync(同步),rw(读写),remount(重新挂载,原来必须挂载过)
-t:文件系统类型
mount -t nfs
mount -t cifs
​
​
[root@MissHou ~]# mount   //查看设备的挂载状态
​
remount:重新挂载一个正在挂载的设备
# mount -o remount,ro /dev/sdb1  //可以是挂载点也可以是设备:u02是挂载点,也可以是/dev/sdb1这是设备   
# mount -o remount,ro /u01
注意:后面可以根挂载点也可以跟设备本身
​
​
​
挂载设备:可以根据真实设备、设备UUID,设备的卷标
​
===>>>>查看设备的UUID和文件系统类型
[root@MissHou ~]# blkid /dev/sdb1               
/dev/sdb1: UUID="FD3A-F14D" TYPE="vfat" 
[root@MissHou ~]# blkid /dev/sdb2
/dev/sdb2: UUID="f1cc2198-7e5f-4408-9c74-9b93d4716d8d" TYPE="ext4"
===============>>>>根据真实设备进行挂载::
[root@web ~]# mount /dev/sdb1 /u01
===============>>>>根据UUID进行挂载::
1.查看挂载状态
[root@MissHou ~]# 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_bogon-root 253:0    0   17G  0 lvm  /
  └─centos_bogon-swap 253:1    0    2G  0 lvm  [SWAP]
sdb                     8:16   0   10G  0 disk 
├─sdb1                  8:17   0    1G  0 part /u01
├─sdb2                  8:18   0    2G  0 part 
├─sdb3                  8:19   0    1K  0 part 
├─sdb5                  8:21   0    2G  0 part 
└─sdb6                  8:22   0 1022M  0 part 
sr0                    11:0    1  4.3G  0 rom 
​
2.发现/dev/sdb1的挂载点为/u01,卸载挂载点
[root@MissHou ~]# umount /u01
3.再次查看挂载状态
[root@bogon ~]# lsblk
4.查看设备/dev/sdb1的UUID
[root@bogon ~]# blkid /dev/sdb1
/dev/sdb1: UUID="767cbae1-69de-40af-b639-63e56a166ec0" TYPE="ext4"
5.根据设备的UUID进行挂载
[root@bogon ~]# mount UUID="767cbae1-69de-40af-b639-63e56a166ec0" /u01
6.再次查看挂载状态,是否挂载成功
[root@bogon ~]# 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_bogon-root 253:0    0   17G  0 lvm  /
  └─centos_bogon-swap 253:1    0    2G  0 lvm  [SWAP]
sdb                     8:16   0   10G  0 disk 
├─sdb1                  8:17   0    1G  0 part /u01
├─sdb2                  8:18   0    2G  0 part 
├─sdb3                  8:19   0    1K  0 part 
├─sdb5                  8:21   0    2G  0 part 
└─sdb6                  8:22   0 1022M  0 part 
sr0                    11:0    1  4.3G  0 rom  
​
为设备设置别名/标签的语法::
e2label 设备 别名
[root@server ~]# e2label /dev/sdb1 DISK1
​
===============>>>>根据设备别名为设备进行挂载
1.给设置设置别名
[root@bogon ~]# e2label /dev/sdb1 DISK1
2.查看所有设备别名
[root@bogon ~]# blkid
/dev/sda2: UUID="u0uCg8-U1V2-ytBW-1RF7-wtWR-JPif-jyPp3w" TYPE="LVM2_member" 
/dev/sdb1: LABEL="DISK1" UUID="767cbae1-69de-40af-b639-63e56a166ec0" TYPE="ext4"  ===>>LABEL就是别名
/dev/sda1: UUID="f79405af-1ec8-42e8-8aea-846f348c5f41" TYPE="xfs" 
3.查看指定设备别名
[root@bogon ~]# blkid /dev/sdb1
/dev/sdb1: LABEL="DISK1" UUID="767cbae1-69de-40af-b639-63e56a166ec0" TYPE="ext4"  ===>>LABEL就是别名
3.卸载挂载设备
[root@bogon ~]# umount /u01
4.根据别名给设备挂载
[root@bogon ~]# mount LABEL="DISK1" /u01
5.查看是否挂载成功
[root@bogon ~]# 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_bogon-root 253:0    0   17G  0 lvm  /
  └─centos_bogon-swap 253:1    0    2G  0 lvm  [SWAP]
sdb                     8:16   0   10G  0 disk 
├─sdb1                  8:17   0    1G  0 part /u01
├─sdb2                  8:18   0    2G  0 part 
├─sdb3                  8:19   0    1K  0 part 
├─sdb5                  8:21   0    2G  0 part 
└─sdb6                  8:22   0 1022M  0 part 
sr0                    11:0    1  4.3G  0 rom  
​
说明:e2label只能够对ext2~ext4的文件系统设置卷标
​
​
卸载设备:umount
[root@MissHou ~]# umount /u01
[root@MissHou ~]# umount /dev/sdb2
​
​

开机自动挂载:

操作系统启动流程:

  1. 硬件初始化 硬盘、内存...

  2. 系统初始化 读取加载初始化文件/sbin/init===>>>/etc/fstab

开机自动挂载文件
# vim /etc/fstab       
重新读取/etc/fstab文件内容
# mount -a
特点:系统重启后自动挂载;手动卸载后重启会自动挂载或者使用mount -a自动挂载
​
/etc/fstab文件:
格式:
要挂载的资源路径    挂载点 文件系统类型  挂载选项    dump备份支持  文件系统检测
UUID=289370eb-9459-42a8-8cee-7006507f1477   /      ext4    defaults        1 1
1段:挂载的设备(磁盘设备的文件名或设备的卷标或者是设备的UUID)
2段:挂载点(建议用一个空目录),建议不要将多个设备挂载到同一个挂载点上
3段:文件系统类型(ext3、ext4、vfat、ntfs(安装软件包)、swap等等)
4段:挂载选项
async/sync  异步/同步:
auto/noauto     自动/非自动:默认是auto
rw/ro   读写/只读:
exec/noexec     可被执行/不可被执行:也就是挂载点如果有可执行文件,会控制挂载点的可执行文件是否可以执行
remount     重新挂在一个已经挂载的文件系统,常用于修改挂载参数
user/nouser     允许/不允许其他普通用户挂载:
suid/nosuid     具有/不具有suid权限:该文件系统是否允许SUID的存在。
usrquota    这个是在启动文件系统的时候,让其支持磁盘配额,这个是针对用户的。
grpquota    支持用户组的磁盘配额。
....
defaults 同时具有rw, dev, exec, acl, async,nouser等参数。
​
5段:是否支持dump备份。//dump是一个用来备份的命令,0代表不要做dump备份,1代表要每天进行dump的动作,2也代表其他不定日期的dump备份。通常这个数值不是0就是1。数字越小优先级越高。
​
6段:是否用 fsck 检验扇区。//开机的过程中,系统默认会用fsck检验文件系统是否完整。0是不要检验,1表示最先检验(一般只有根目录会设定为1),2也是要检验,只是1是最先,2是其次才进行检验。
​
说明:
要挂载的资源路径可以是文件系统的UUID,设备路径,文件系统的标签 ,光盘镜像文件(iso),亦或是来自网络的共享资源等
​
===========>>>>>设置开机自动挂载
1.编写开机自动挂载文件/etc/fstab  
[root@bogon ~]# vim /etc/fstab
2.在最后一行添加自动挂载内容,然后保存并退出,内容的含义分别是:挂载设备 挂载点 文件系统 读写,自动挂载,不执行 不做备份 不检验扇区
/dev/sdb1   /u01   ext4   rw,auto,noexec   0 0
3.重新读取/etc/fstab文件
[root@bogon ~]# mount -a
4.查看挂载状态
[root@bogon ~]# lsblk 
5.重启系统
[root@bogon ~]# reboot 
6.查看重启后是否自动挂载
[root@bogon ~]# lsblk 

自动挂载 Automount:

特点:挂载是由访问产生,只要访问就自动挂载;卸载是由超时产生,也就是不用的时候过段时间就自动卸载;依赖于后台的autofs服务
思路:
1. 所有的监控都是由一个程序完成  autofs
2. 服务启动后才会监控挂载的设备
3. 修改配置文件来指定需要监控的设备
​
​
需求1:让系统自动挂载/dev/sdb2设备到/u02,如果2分钟没有被用自动卸载
​
步骤:
1)前提必须保证/dev/sdb2格式化,下面设置格式化:
[root@server ~]# mkfs.ext4 /dev/sdb2 
​
2)安装autofs软件
[root@server ~]# rpm -q autofs
package autofs is not installed
如果没有则安装autofs,有的话不用安装
[root@server ~]# yum -y install autofs
​
[root@server ~]# rpm -q autofs
autofs-5.0.5-88.el6.x86_64
3)修改配置文件(指定需要监控的设备和挂载的目录)
定义一级挂载点/u02和子配置文件
[root@server ~]# vim /etc/auto.master
在第7行下面添加如下配置内容,然后保存并退出:
/u02    /etc/auto.test  --timeout=120  单位秒   (设置超时时间去卸载)
子配置文件自己创建,定义二级挂载点和需要挂载的设备
[root@server ~]# vim /etc/auto.test 
添加如下配置内容,分别标识:二级挂载点名称  文件系统类型  挂载设备
test -fstype=ext4,rw :/dev/sdb2
​
​
4)重启服务
[root@MissHou ~]# systemctl restart autofs
​
5)测试验证
访问/u02后,访问test,访问后自动挂载
[root@server ~]# cd /u02
[root@server ~]# cd test
查看是否自动挂载
[root@server ~]# df -h
​
​
​
​
需求2:将10.1.1.1(node1)上的共享目录/share/nfs挂载到10.1.1.2(server)本地的/notes下面
​
环境,重新克隆两个服务器分别是node1和server:
node1:10.1.1.1  搭建NFS服务,共享/share/nfs/xxx
server:10.1.1.2   使用autofs自动挂载server上共享目录
步骤:
1. node1端共享文件
1)修改/etc/exports文件
[root@node1 ~]# mkdir /share/nfs -p
[root@node1 ~]# touch /share/nfs/file{1..5}
将共享目录发布出去:
[root@node1 ~]# vim /etc/exports 
配置内容的含义是将/share/nfs目录共享给server10.1.1.2
/share/nfs  server服务器IP/24(rw)
[root@node1 ~]# cat /etc/exports 
/share/nfs  10.1.1.2/24(rw)
2)重启nfs服务
[root@node1 ~]# systemctl restart rpcbind
[root@node1 ~]# systemctl restart nfs
​
2. server端使用autofs方式自动挂载
1)创建/u01目录
[root@server ~]# mkdir /u01
2)安装autofs软件
[root@server ~]# yum -y install autofs
3)修改配置文件(指定需要监控的设备和挂载的目录)
定义一级挂载点/u01和子配置文件
[root@server ~]# vim /etc/auto.master
在第7行下面添加如下配置内容,然后保存并退出:
/u01  /etc/auto.notes   --timeout=120  单位秒   (设置超时时间去卸载)
子配置文件自己创建,定义二级挂载点和需要挂载的设备
[root@server ~]# vim /etc/auto.notes    
添加如下配置内容,分别标识:二级挂载点名称  文件系统类型  挂载设备
notes -nfs,rw node1服务器IP:/share/nfs
4)重启服务
[root@MissHou ~]# systemctl restart autofs
5)测试是否自动挂载
[root@MissHou ~]# ls /u01
如果报错,可以试试systemctl stop autofs,然后执行systemctl start autofs
[root@MissHou ~]# ls /u01/notes/
file1  file2  file3  file4  file5
[root@MissHou ~]# df -h
​

总结:挂载设备的三种方式

  1. 设备要被挂载,必须要有文件系统类型(mkfs.类型)

  2. 手动挂载mount mount -o 挂载选项(ro,rw,auto,noexec...) 需要挂载设备 挂载点

    • 重启需要再次重新挂载

  3. 开机自动挂载

    • /etc/fstab

    • 修改/etc/rc.local文件 启动后最后读取文件,执行该文件必须要有可执行权限

  4. autofs自动挂载

    • 使用时触发自动挂载

    • 超时自动卸载

    • 如何配置设备的autofs自动挂载

      1)安装autofs软件

      2)修改/etc/auto.master文件 定义1级挂载点和超时时间,子配置文件

      3)创建刚刚定义的子配置文件 二级挂载点和需要挂载设备以及文件系统类型及挂载方式

      4)启动服务,测试验证

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。