Linux 磁盘

Linux 磁盘

拿到一块硬盘一般分为四步进行操作

  1. 分区
  2. 格式化
  3. 挂载
  4. 存放数据

1. 分区介绍

计算机中存放信息的主要存储设备就是硬盘,但是硬盘不能直接使用,必须对硬盘进行分割,分割成一块一块的硬盘区域就是磁盘的分区。

在传统的磁盘管理中,将一个硬盘分为两大类分区:主分区扩展分区。如果说有划分多个主分区,那么启动时则会去查找带有启动标识的分区

  • 主分区:是能够安装操作系统,能够进行计算机启动的分区,这样的分区可以直接格式化,然后安装系统,直接存放文件。
  • 扩展分区无法直接使用,必须在扩展分区中再次划分获取驱动器才可以格式化,格式化之后存储数据。

在这里插入图片描述

2. fdisk 分区

Linux fdisk 是一个创建和维护分区表的程序,它兼容 DOS 类型的分区表、BSD 或者 SUN 类型的磁盘列表

语法:

fdisk [命令选项] [参数]

必要命令选项:

-l 列出所有分区表

参数:

可以是磁盘名称,例:sda sdb …

在这里插入图片描述

3. fdisk 分区练习

需求:将新添加的 sdc 磁盘分出一个主分区,一个扩展分区,两个逻辑分区,一个交换分区

# 查看当前磁盘信息
fdisk -l

在这里插入图片描述

  • /dev/sdc 进行分区
[root@node01 ~]# fdisk /dev/sdc
欢迎使用 fdisk (util-linux 2.23.2)。

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

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

命令(输入 m 获取帮助):l      	# 输入 l 查看分区类型

 024  NEC DOS         81  Minix / 旧 Linu bf  Solaris        
 1  FAT12           27  隐藏的 NTFS Win 82  Linux 交换 / So c1  DRDOS/sec (FAT-
 2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-
 3  XENIX usr       3c  PartitionMagic  84  OS/2 隐藏的 C:  c6  DRDOS/sec (FAT-
 4  FAT16 <32M      40  Venix 80286     85  Linux 扩展      c7  Syrinx         
 5  扩展            41  PPC PReP Boot   86  NTFS 卷集       da  非文件系统数据 
 6  FAT16           42  SFS             87  NTFS 卷集       db  CP/M / CTOS / .
 7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux 纯文本    de  Dell 工具      
 8  AIX             4e  QNX4.x 第2部分  8e  Linux LVM       df  BootIt         
 9  AIX 可启动      4f  QNX4.x 第3部分  93  Amoeba          e1  DOS 访问       
 a  OS/2 启动管理器 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O        
 b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor      
 c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad 休 eb  BeOS fs        
 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         ee  GPT            
 f  W95 扩展 (LBA)  54  OnTrackDM6      a6  OpenBSD         ef  EFI (FAT-12/16/
10  OPUS            55  EZ-Drive        a7  NeXTSTEP        f0  Linux/PA-RISC  
11  隐藏的 FAT12    56  Golden Bow      a8  Darwin UFS      f1  SpeedStor      
12  Compaq 诊断     5c  Priam Edisk     a9  NetBSD          f4  SpeedStor      
14  隐藏的 FAT16 <3 61  SpeedStor       ab  Darwin 启动     f2  DOS 次要       
16  隐藏的 FAT16    63  GNU HURD or Sys af  HFS / HFS+      fb  VMware VMFS    
17  隐藏的 HPFS/NTF 64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE 
18  AST 智能睡眠    65  Novell Netware  b8  BSDI swap       fd  Linux raid 自动
1b  隐藏的 W95 FAT3 70  DiskSecure 多启 bb  Boot Wizard 隐  fe  LANstep        
1c  隐藏的 W95 FAT3 75  PC/IX           be  Solaris 启动    ff  BBT            
1e  隐藏的 W95 FAT1 80  旧 Minix       
命令(输入 m 获取帮助)

参数信息参考:

参数说明
m显示菜单和帮助信息
a活动分区标记/引导分区
d删除分区
l显示分区类型
n新建分区
p显示分区信息
q退出不保存
t设置分区号
v进行分区检查
w保存修改
x扩展应用,高级功能

在这里插入图片描述

命令(输入 m 获取帮助):p			# p 查看分区信息

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

   设备 Boot      Start         End      Blocks   Id  System
命令(输入 m 获取帮助):n			# n 新建分区,注意:主分区和扩展分区最大不能超过四个
Partition type:
   p   primary (0 primary, 0 extended, 4 free)		# p 主分区;0 primary, 0 extended, 4 free 0个主分区,0个扩展分区,4个剩余
   e   extended			# e 扩展分区
Select (default p): p	# 新建一个主分区
分区号 (1-4,默认 1):1	# 分区号默认为 1 ,也可以自定义,但是最多只能由 4 个,所以一般按顺序来便于后期理解
起始 扇区 (2048-10485759,默认为 2048)# 起始扇区,默认即可
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-10485759,默认为 10485759):+500M		# 自定义第一个分区大小,如使用默认则是整个磁盘大小
分区 1 已设置为 Linux 类型,大小设为 500 MiB

命令(输入 m 获取帮助):p		# 查看分区信息

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

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdc1            2048     1026047      512000   83  Linux
命令(输入 m 获取帮助):n  	# 新建一个分区
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): e		# 新建一个扩展分区
分区号 (2-4,默认 2)# 使用默认分区号即可,也可以自定义
起始 扇区 (1026048-10485759,默认为 1026048)# 起始扇区位置,默认即可
将使用默认值 1026048
Last 扇区, +扇区 or +size{K,M,G} (1026048-10485759,默认为 10485759)# 结束扇区位置,如果是剩余的都分为扩展分区,使用默认即可,如不想将剩余的都分为扩展分区,也可以自定义扩展分区大小
将使用默认值 10485759
分区 2 已设置为 Extended 类型,大小设为 4.5 GiB

命令(输入 m 获取帮助):p

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

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdc1            2048     1026047      512000   83  Linux
/dev/sdc2         1026048    10485759     4729856    5  Extended

命令(输入 m 获取帮助)

在这里插入图片描述

命令(输入 m 获取帮助):n			# 新建分区
Partition type:
   p   primary (1 primary, 1 extended, 2 free)	# 新建主分区
   l   logical (numbered from 5)		# 新建逻辑驱动器
Select (default p): p		# 新建主分区
分区号 (3,4,默认 3)# 使用默认分区号
No free sectors available	# 提示没有剩余空间了,因为前面已经将剩余的空间都分给扩展分区了,所以这里只能新建逻辑驱动器

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

命令(输入 m 获取帮助):p			# 查看分区信息

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

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdc1            2048     1026047      512000   83  Linux
/dev/sdc2         1026048    10485759     4729856    5  Extended
/dev/sdc5         1028096     3125247     1048576   83  Linux

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

Calling ioctl() to re-read partition table.
正在同步磁盘。


在这里插入图片描述

# 查看分区信息
[root@node01 ~]# fdisk -l /dev/sdc

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

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdc1            2048     1026047      512000   83  Linux
/dev/sdc2         1026048    10485759     4729856    5  Extended
/dev/sdc5         1028096     3125247     1048576   83  Linux

在这里插入图片描述

以上只分了一个 主分区 一个 扩展分区 一个 逻辑驱动器 ,下面在分一个 逻辑驱动器 一个 交换分区

  • 增加一个逻辑驱动器
# 在增加一个逻辑驱动器,理论上是逻辑驱动器可以分无限个,不过在Linux下好像是可以分16个
[root@node01 ~]# fdisk /dev/sdc
欢迎使用 fdisk (util-linux 2.23.2)。

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


命令(输入 m 获取帮助):p

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

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdc1            2048     1026047      512000   83  Linux
/dev/sdc2         1026048    10485759     4729856    5  Extended
/dev/sdc5         1028096     3125247     1048576   83  Linux

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

命令(输入 m 获取帮助):p

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

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdc1            2048     1026047      512000   83  Linux
/dev/sdc2         1026048    10485759     4729856    5  Extended
/dev/sdc5         1028096     3125247     1048576   83  Linux
/dev/sdc6         3127296     5224447     1048576   83  Linux

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

Calling ioctl() to re-read partition table.
正在同步磁盘。

  • 增加一个交换分区
# 新建一个交换分区
[root@node01 ~]# fdisk /dev/sdc
欢迎使用 fdisk (util-linux 2.23.2)。

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


命令(输入 m 获取帮助):p		# 查看当前分区信息

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

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdc1            2048     1026047      512000   83  Linux
/dev/sdc2         1026048    10485759     4729856    5  Extended
/dev/sdc5         1028096     3125247     1048576   83  Linux
/dev/sdc6         3127296     5224447     1048576   83  Linux

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

命令(输入 m 获取帮助):t					# t 修改分区类型
分区号 (1,2,5-7,默认 7):7			# 选择需要被修改的分区号
Hex 代码(输入 L 列出所有代码):L		# 查看所有分区类型

 024  NEC DOS         81  Minix / 旧 Linu bf  Solaris        
 1  FAT12           27  隐藏的 NTFS Win 82  Linux 交换 / So c1  DRDOS/sec (FAT-
 2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-
 3  XENIX usr       3c  PartitionMagic  84  OS/2 隐藏的 C:  c6  DRDOS/sec (FAT-
 4  FAT16 <32M      40  Venix 80286     85  Linux 扩展      c7  Syrinx         
 5  扩展            41  PPC PReP Boot   86  NTFS 卷集       da  非文件系统数据 
 6  FAT16           42  SFS             87  NTFS 卷集       db  CP/M / CTOS / .
 7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux 纯文本    de  Dell 工具      
 8  AIX             4e  QNX4.x 第2部分  8e  Linux LVM       df  BootIt         
 9  AIX 可启动      4f  QNX4.x 第3部分  93  Amoeba          e1  DOS 访问       
 a  OS/2 启动管理器 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O        
 b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor      
 c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad 休 eb  BeOS fs        
 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         ee  GPT            
 f  W95 扩展 (LBA)  54  OnTrackDM6      a6  OpenBSD         ef  EFI (FAT-12/16/
10  OPUS            55  EZ-Drive        a7  NeXTSTEP        f0  Linux/PA-RISC  
11  隐藏的 FAT12    56  Golden Bow      a8  Darwin UFS      f1  SpeedStor      
12  Compaq 诊断     5c  Priam Edisk     a9  NetBSD          f4  SpeedStor      
14  隐藏的 FAT16 <3 61  SpeedStor       ab  Darwin 启动     f2  DOS 次要       
16  隐藏的 FAT16    63  GNU HURD or Sys af  HFS / HFS+      fb  VMware VMFS    
17  隐藏的 HPFS/NTF 64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE 
18  AST 智能睡眠    65  Novell Netware  b8  BSDI swap       fd  Linux raid 自动
1b  隐藏的 W95 FAT3 70  DiskSecure 多启 bb  Boot Wizard 隐  fe  LANstep        
1c  隐藏的 W95 FAT3 75  PC/IX           be  Solaris 启动    ff  BBT            
1e  隐藏的 W95 FAT1 80  旧 Minix       
Hex 代码(输入 L 列出所有代码):82		# 选择交换分区 ID
已将分区“Linux”的类型更改为“Linux swap / Solaris”

命令(输入 m 获取帮助):p		# 查看分区信息

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

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdc1            2048     1026047      512000   83  Linux
/dev/sdc2         1026048    10485759     4729856    5  Extended
/dev/sdc5         1028096     3125247     1048576   83  Linux
/dev/sdc6         3127296     5224447     1048576   83  Linux
/dev/sdc7         5226496     7323647     1048576   82  Linux swap / Solaris

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

Calling ioctl() to re-read partition table.
正在同步磁盘。

在这里插入图片描述

4. 格式化

格式化(format)是指对磁盘或者磁盘中的分区(partition)进行初始化的一种操作,这种操作通常会导致现有磁盘或者分区中的所有文件被清除。

格式化通常分为低级格式化和高级格式化,如果没有特别指明,对硬盘的格式化通常是指高级格式化。低级格式化现在基本不会使用,或者个人在使用时使用低级格式化对硬盘进行坏道修复使用。

4.1 文件系统

文件系统:负责管理和存储数据的系统(数据是以什么方式存在硬盘,又是以什么方式读出来的,这就是文件系统)

文件系统类型:fat ntfs ext2 ext3 ext4 xfs …

可以使用 man mount 查看有多少文件系统类型

[root@node01 ~]# man mount
# 使用 /-t 匹配查看
/-t

       -t, --types vfstype
              The argument following the -t is used to indicate the filesystem type.  The filesystem types which are currently supported include: adfs, affs, autofs, cifs, coda, coherent, cramfs, debugfs, devpts, efs, ext, ext2, ext3, ext4,  hfs,  hfsplus,  hpfs,
              iso9660,  jfs,  minix,  msdos,  ncpfs,  nfs, nfs4, ntfs, proc, qnx4, ramfs, reiserfs, romfs, squashfs, smbfs, sysv, tmpfs, ubifs, udf, ufs, umsdos, usbfs, vfat, xenix, xfs, xiafs.  Note that coherent, sysv and xenix are equivalent and that xenix and
              coherent will be removed at some point in the future — use sysv instead. Since kernel version 2.1.21 the types ext and xiafs do not exist anymore. Earlier, usbfs was known as usbdevfs.  Note, the real list of all  supported  filesystems  depends  on
              your kernel.

              The  programs  mount  and umount support filesystem subtypes.  The subtype is defined by '.subtype' suffix.  For example  'fuse.sshfs'. It's recommended to use subtype notation rather than add any prefix to the mount source (for example 'sshfs#exam‐
              ple.com' is depreacated).

              For most types all the mount program has to do is issue a simple mount(2) system call, and no detailed knowledge of the filesystem type is required.  For a few types however (like nfs, nfs4, cifs, smbfs, ncpfs) ad hoc code  is  necessary.  The  nfs,
              nfs4,  cifs,  smbfs,  and  ncpfs filesystems have a separate mount program. In order to make it possible to treat all types in a uniform way, mount will execute the program /sbin/mount.TYPE (if that exists) when called with type TYPE.  Since various
              versions of the smbmount program have different calling conventions, /sbin/mount.smbfs may have to be a shell script that sets up the desired call.

              If no -t option is given, or if the auto type is specified, mount will try to guess the desired type.  Mount uses the blkid library for guessing the filesystem type; if that does not turn up anything that looks familiar, mount will try to  read  the
              file  /etc/filesystems, or, if that does not exist, /proc/filesystems.  All of the filesystem types listed there will be tried, except for those that are labeled "nodev" (e.g., devpts, proc and nfs).  If /etc/filesystems ends in a line with a single
              * only, mount will read /proc/filesystems afterwards. All of the filesystem types will be mounted with mount option "silent".

              The auto type may be useful for user-mounted floppies.  Creating a file /etc/filesystems can be useful to change the probe order (e.g., to try vfat before msdos or ext3 before ext2) or if you use a kernel module autoloader.

              More than one type may be specified in a comma separated list.  The list of filesystem types can be prefixed with no to specify the filesystem types on which no action should be taken.  (This can be meaningful with the -a option.) For  example,  the
              command:

                     mount -a -t nomsdos,ext

              mounts all filesystems except those of type msdos and ext.

在这里插入图片描述

4.2 mkfs 命令

命令语法:

mkfs [options] device

命令选项:

-t 指定文件系统类型

练习:

  • 分一个主分区 格式化为 ext4
  • 分一个扩展分区,并分两个逻辑驱动器 将两个逻辑驱动器格式化为 xfs ext3
[root@node01 ~]# fdisk -l /dev/sdc

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

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdc1            2048     1026047      512000   83  Linux		# 将主分区格式化为 ext4
/dev/sdc2         1026048    10485759     4729856    5  Extended	# 扩展分区,不可以格式化
/dev/sdc5         1028096     3125247     1048576   83  Linux		# 逻辑驱动器,格式化为 xfs
/dev/sdc6         3127296     5224447     1048576   83  Linux		# 逻辑驱动器,格式化为 ext3
/dev/sdc7         5226496     7323647     1048576   82  Linux swap / Solaris	# 使用 mkswap 命令对交换分区进行格式化
	
  • 格式化主分区
[root@node01 ~]# mkfs -t ext4 /dev/sdc1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=1024 (log=0)
分块大小=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
128016 inodes, 512000 blocks
25600 blocks (5.00%) reserved for the super user
第一个数据块=1
Maximum filesystem blocks=34078720
63 block groups
8192 blocks per group, 8192 fragments per group
2032 inodes per group
Superblock backups stored on blocks: 
	8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409

Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (8192 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
  • 格式化 sdc5 逻辑驱动器
[root@node01 ~]# mkfs -t xfs /dev/sdc5
meta-data=/dev/sdc5              isize=512    agcount=4, agsize=65536 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=262144, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
  • 格式化 sdc6 逻辑驱动器
[root@node01 ~]# mkfs -t ext3 /dev/sdc6
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: 完成
  • 格式化 sdc7 交换分区(格式化交换分区有专门的命令 mkswap
[root@node01 ~]# mkswap /dev/sdc7
正在设置交换空间版本 1,大小 = 1048572 KiB
无标签,UUID=d6df7724-af47-4709-b60f-1bcace596e78

4.3 查看当前格式化分区信息

4.3.1 blkid

查看格式化分区 UUID 以及分区类型

[root@node01 ~]# blkid 
/dev/sr0: UUID="2017-09-06-10-51-00-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos" 
/dev/sdc1: UUID="306a94db-2fa3-4129-8e87-7bf90312bede" TYPE="ext4" 
/dev/sdc5: UUID="ca66b783-0122-499e-a744-89723c7bac3e" TYPE="xfs" 
/dev/sdc6: UUID="15541dd1-395a-4ac6-a984-803d2a1c31d7" SEC_TYPE="ext2" TYPE="ext3" 
/dev/sdc7: UUID="d6df7724-af47-4709-b60f-1bcace596e78" TYPE="swap" 
/dev/sda1: UUID="38f14b5c-4bb4-4c83-a7f0-2aa1c062fb7b" TYPE="xfs" 
/dev/sda2: UUID="5GG10T-zBoC-fD6U-0a12-Z6av-6rU4-isOdOG" TYPE="LVM2_member" 
/dev/sdb1: UUID="UDKWeA-kYkW-VVgy-Xw5l-xhSF-2u57-nH3b48" TYPE="LVM2_member" 
/dev/mapper/centos-root: UUID="b6b2817b-829c-4645-b573-dc490cc21515" TYPE="xfs" 
/dev/mapper/centos-swap: UUID="14d833c1-f14e-4127-b697-dac05b93fd7b" TYPE="swap" 
/dev/mapper/vg_data-lv_data: UUID="004d42e0-1428-4c2a-a058-57dfdab05786" TYPE="ext4" 

4.3.2 lsblk

查看分区大小及挂载信息

[root@node01 ~]# lsblk 
NAME                MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                   8:0    0   10G  0 disk 
├─sda1                8:1    0    1G  0 part /boot
└─sda2                8:2    0    9G  0 part 
  ├─centos-root     253:0    0    8G  0 lvm  /
  └─centos-swap     253:1    0    1G  0 lvm  [SWAP]
sdb                   8:16   0    5G  0 disk 
└─sdb1                8:17   0    5G  0 part 
  └─vg_data-lv_data 253:2    0    5G  0 lvm  /data
sdc                   8:32   0    5G  0 disk 
├─sdc1                8:33   0  500M  0 part 
├─sdc2                8:34   0    1K  0 part 
├─sdc5                8:37   0    1G  0 part 
├─sdc6                8:38   0    1G  0 part 
└─sdc7                8:39   0    1G  0 part 
sr0                  11:0    1  4.2G  0 rom  

5. 挂载

Linux 中的所有设备必须经过挂载才可以被用户使用。

挂载的方式其实是将某个设备挂载到文件系统中的某个文件夹。(也可以理解为将文件夹和设备映射在一起,对文件夹的操作就是对设备的操作)

5.1 mount

命令语法:

mount device dir

命令选项(常用):

-a 挂载所有文件系统,参考文件 /etc/fstab

-l 显示当前挂载

-t 文件系统类型

-o 指定挂载权限(ro 只读挂载、rw 读写)

  • 练习:

​ 将 /dev/sdc1 挂载到 /opt/data1

​ 将 /dev/sdc5 挂载到 /opt/data2

​ 将 /dev/sdc6 挂载到 /opt/data3,并设置只读挂载

[root@node01 ~]# 
[root@node01 ~]# mkdir /opt/data1
[root@node01 ~]# mkdir /opt/data2
[root@node01 ~]# mkdir /opt/data3
[root@node01 ~]# mount /dev/sdc1 /opt/data1
[root@node01 ~]# mount /dev/sdc5 /opt/data2
[root@node01 ~]# mount -o ro /dev/sdc6 /opt/data3
  • mount -l 查看当前挂载信息
[root@node01 ~]# mount -l
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,size=488804k,nr_inodes=122201,mode=755)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,mode=755)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_prio,net_cls)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct,cpu)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
configfs on /sys/kernel/config type configfs (rw,relatime)
/dev/mapper/centos-root on / type xfs (rw,relatime,attr2,inode64,noquota)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=30,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=13391)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime)
mqueue on /dev/mqueue type mqueue (rw,relatime)
/dev/sda1 on /boot type xfs (rw,relatime,attr2,inode64,noquota)
/dev/mapper/vg_data-lv_data on /data type ext4 (rw,relatime,data=ordered)
tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,size=99972k,mode=700)

/dev/sdc1 on /opt/data1 type ext4 (rw,relatime,data=ordered)
/dev/sdc5 on /opt/data2 type xfs (rw,relatime,attr2,inode64,noquota)
/dev/sdc6 on /opt/data3 type ext3 (ro,relatime,data=ordered)	# /opt/data3 的文件权限是只读,是不能进行写操作的

  • 测试 /opt/data3 文件权限
[root@node01 ~]# cd /opt/data3
[root@node01 data3]# ll
总用量 16
drwx------ 2 root root 16384 87 23:16 lost+found
[root@node01 data3]# touch 123
touch: 无法创建"123": 只读文件系统

5.2 umount

卸载文件系统

语法:

umount 设备挂载点|设备源

参数:

-l 懒惰卸载(即表示有人在使用的时候是不可以卸载的,使用完成之后在自动进行卸载)

示例:

  • 卸载设备挂载点
[root@node01 ~]# umount /opt/data1
  • 卸载设备源
[root@node01 ~]# umount /dev/sdc5
  • 查看挂载信息
[root@node01 ~]# mount -l
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,size=488804k,nr_inodes=122201,mode=755)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,mode=755)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_prio,net_cls)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct,cpu)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
configfs on /sys/kernel/config type configfs (rw,relatime)
/dev/mapper/centos-root on / type xfs (rw,relatime,attr2,inode64,noquota)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=30,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=13391)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime)
mqueue on /dev/mqueue type mqueue (rw,relatime)
/dev/sda1 on /boot type xfs (rw,relatime,attr2,inode64,noquota)
/dev/mapper/vg_data-lv_data on /data type ext4 (rw,relatime,data=ordered)
tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,size=99972k,mode=700)
/dev/sdc6 on /opt/data3 type ext3 (rw,relatime,data=ordered)
# 此时已经没有 /dev/sdc1 和 /dev/sdc5 的挂载信息了

  • 使用 umount 进行卸载时遇到的问题
# 提示忙,不能卸载
[root@node01 ~]# umount /dev/sdc6
umount: /opt/data3:目标忙。
        (有些情况下通过 lsof(8) 或 fuser(1) 可以
         找到有关使用该设备的进程的有用信息)
         
# 使用 fuser 命令查看,如果提示没有 fuser 命令,可以使用 yum install psmisc.x86_64 -y 安装
[root@node01 ~]# fuser -mv /opt/data3
                     用户     进程号 权限   命令
/opt/data3:          root     kernel mount /opt/data3
                     root       1022 f.... sftp-server

# 终止当前进程,然后卸载
[root@node01 ~]# kill -9 1022
[root@node01 ~]# umount /opt/data3

5.3 自动挂载

自动挂载是将挂载信息写入到 /etc/fstab 文件中,开机就会加载这个文件将文件中的磁盘自动挂载,关机就会自动卸载

  • /etc/fstab 文件字段说明

设备 挂载点 文件系统 权限 备份 检测

设备、挂载点、文件系统,这里就不过多介绍了

权限:

参数说明
auto系统自动挂载,fstab 默认是这个选项
defaultsrw , suid , dev , exec , auto , nouser , and async(默认情况下都是用 defaults)
noauto开机不自动挂载
nouser只有超级用户可以挂载
ro按只读权限挂载
rw按可读可写权限挂载
user任何用户都可以挂载

备份:

dump 备份设置,当其值为 1 时,将允许 dump 备份程序进行备份,设置为 0 时,忽略备份操作

检测:

fsck 磁盘检查设置,其值是一个顺序,当其值为 0 时,永远不检查,而 / 根目录分区永远为 1 ,其他分区从 2 开始,数字越小越先检查,如果两个分区的数字相同,则同时检查(一般默认情况下都设置为 0 ,不检查)

在这里插入图片描述

  • 练习

自动挂载一下分区

  1. 主分区 格式化为 ext4 挂载点为 /opt/data1
  2. 扩展分区的两个逻辑驱动器 分别格式化为 xfs ext3 挂载点为 /opt/data2
  3. 交换分区 swap
#
# /etc/fstab
# Created by anaconda on Fri May 27 20:35:41 2022
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=38f14b5c-4bb4-4c83-a7f0-2aa1c062fb7b /boot                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0
/dev/mapper/vg_data-lv_data   /data	ext4		defaults 0 0


# sdc
/dev/sdc1	/opt/data1	ext4	defaults	0 0
/dev/sdc5	/opt/data2	xfs	ro	0 0
/dev/sdc6	/opt/data3	ext3	rw	0 0
/dev/sdc7       swap            swap    defaults        0 0

修改好 /etc/fstab 文件之后就可以使用 mount -a 进行挂载了,但是 mount -a 是不能挂载 swap 分区的

[root@node01 ~]# mount -a
[root@node01 ~]# mount -l | grep sdc
/dev/sdc1 on /opt/data1 type ext4 (rw,relatime,data=ordered)
/dev/sdc5 on /opt/data2 type xfs (ro,relatime,attr2,inode64,noquota)
/dev/sdc6 on /opt/data3 type ext3 (rw,relatime,data=ordered)

使用 swapon -a 挂载 swap

[root@node01 ~]# free  -m
              total        used        free      shared  buff/cache   available
Mem:            976          82         565           6         328         727
Swap:          1023           0        1023
[root@node01 ~]# swapon -a
[root@node01 ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:            976          82         564           6         328         727
Swap:          2047           0        2047

 
 
 
 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值