首页 > 系统相关 >Linux 磁盘管理

Linux 磁盘管理

时间:2022-10-06 02:12:23浏览次数:76  
标签:管理 分区 扇区 dev 挂载 Linux 磁盘 root

导图

 

1.磁盘的结构

服务器硬盘大小

LFF:3.5寸,一般见到的那种台式机硬盘的大小

SFF:Small Form Factor 小形状因数,2.5寸,注意不同于2.5寸的笔记本硬盘

L、S分别是大、小的意思,目前服务器或者盘柜采用sff规格的硬盘主要是考内虑增大单位密度内的磁盘容量、增强散热、减小功耗

机械与固态

机械硬盘(HDD):Hard Disk Drive,即是传统普通硬盘,主要由:盘片,磁头,盘片转轴及控制电 机,磁头控制器,数据转换器,接口,缓存等几个部分组成。机械硬盘中所有的盘片都装在一个旋转轴 上,每张盘片之间是平行的,在每个盘片的存储面上有一个磁头,磁头与盘片之间的距离比头发丝的直 径还小,所有的磁头联在一个磁头控制器上,由磁头控制器负责各个磁头的运动。磁头可沿盘片的半径 方向运动,加上盘片每分钟几千转的高速旋转,磁头就可以定位在盘片的指定位置上进行数据的读写操 作。数据通过磁头由电磁流来改变极性方式被电磁流写到磁盘上,也可以通过相反方式读取。硬盘为精 密设备,进入硬盘的空气必须过滤

固态硬盘(SSD):Solid State Drive,用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单 元(FLASH芯片、DRAM芯片)组成。固态硬盘在接口的规范和定义、功能及使用方法上与普通硬盘的 完全相同,在产品外形和尺寸上也与普通硬盘一致 相较于HDD,SSD在防震抗摔、传输速率、功耗、重量、噪音上有明显优势,SSD传输速率性能是HDD 的2倍 相较于SSD,HDD在价格、容量占有绝对优势 硬盘有价,数据无价,目前SSD不能完全取代HHD

1.1硬盘的物理结构

 

  • 盘片:硬盘有多个盘片,每盘片有2面(正反两面)
  • 磁头:每面一个磁头,并不是只有一个磁头,磁头也不会碰到盘面,磁头等于盘片数量

读写行为发行时,磁头先要找到相应的位置,然后磁面旋转,完成读写。

一次读写消耗的时间通常包含以下几段:

  • 寻道:磁头找到对应的磁道。
  • 旋转:磁面旋转,找到对应的扇区。
  • 传输:数据读或写。

1.2硬盘的数据结构

 

  • 扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据(扇区越多容量越大)

  • 磁道:同一盘片不同半径的同心圆

  • 柱面:不同盘片相同半径构成的圆(柱面和磁道数量相同)

1.3硬盘的存储容量

  • 硬盘存储容量=磁头数(8个2进制)×磁道(柱面)数×每道扇区数(6个二进制)×每扇区字节数

    1柱面=512 * 扇区数/磁头数×磁道=51263255=7.84M

  • 可以用柱面/磁头/扇区来唯一定位磁盘上每一个区域

1.4硬盘的接口类型

  • IDE:133MB/s,并行接口,早期家用电脑

  • SCSI:640MB/s,并行接口,早期服务器

  • SATA:6Gbps,SATA数据端口与电源(长的电源,数据线短的)端口是分开的,即需要两条线,一条数据线,一条电源线

  • SAS:6Gbps,SAS是一整条线,数据端口与电源端口是一体化的,SAS中是包含供电线的,而SATA中不包含供电线。SATA标准其实是SAS标准的一个子集,二者可兼容,SATA硬盘可以插入SAS主板上,反之不行

  • M.2:为超极本量身定做的新一代接口标准,以取代原来的mSATA接口。无论是更小巧的规格尺寸,还是更高的传输性能,M.2都远胜于mSATA

  • 光纤接口:光纤接口是用来连接光纤线缆的物理接口,通常有SC、ST、FC等几种类型

2.MBR与磁盘分区

2.1分区的原因(优点)

  • 优化I/O性能

  • 实现磁盘空间配额限制

  • 提高修复速度

  • 隔离系统和程序

  • 安装多个OS

  • 采用不同文件系统

2.2MBR分区

  • MBR磁盘采用MBR分区表,由于MBR用4个字节存储分区总扇区数,最大可以表示2的32次方,一个扇区512字节,那么分区的容量或者磁盘容量都不能超过2TB;
  • 常见的硬盘可以划分为主分区、扩展分区和逻辑分区,通常情况下主分区只有四个,而 扩展分区可以看成是一个特殊的主分区类型,在扩展分区中可以建立逻辑分区;
  • 主分区一般 用来安装操作系统,扩展分区则多用来存储文件数据。

MBR分区中一块硬盘最多有4个主分区,也可以3主分区+1扩展(N个逻辑分区)

MBR分区:主和扩展分区对应的1--4,/dev/sda3,逻辑分区从5开始,/dev/sda5

MBR(主引导记录):Master Boot Record,1982年,使用32位表示扇区数,分区不超过2T

 

  • 446bytes: boot loader 启动相关

 

  • 64bytes:分区表,其中每16bytes标识一个分区
  • 2bytes: 55AA

2.3GPT分区

GPT:GUID(Globals Unique Identifiers) partition table 支持128个分区,使用64位,支持8Z(512Byte/block )64Z ( 4096Byte/block)

使用128位UUID(Universally Unique Identifier) 表示磁盘和分区 GPT分区表自动备份在头和尾两份,并有CRC校验位UEFI (Unified Extensible Firmware Interface 统一可扩展固件接口)硬件支持GPT,使得操作系统可以启动

3.文件系统

文件系统的组成:

  • 内核中的模块:ext4, xfs, vfat

  • Linux的虚拟文件系统:VFS

  • 用户空间的管理工具:mkfs.ext4, mkfs.xfs,mkfs.vfat

3.1文件系统:

是操作系统用于明确存储设备或分区上的文件的使用方法和数据结构;即在存储设备上组织使用文件的 方法。操作系统中负责管理和存储文件信息的软件结构称为文件管理系统,简称文件系统 从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进 行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的 存取,安全控制,日志,压缩,加密等。

总结:用来管理(增删改查恢复)文件的程序

3.1.1 XFS

  • 根据所记录的日志在很短的时间内迅速恢复磁盘文件内容

  • 用优化算法,日志记录对整体文件操作影响非常小

  • 是一个全64-bit的文件系统,最大可以支持8EB的文件系统,1EB=1024PB1PB=1024TB(这里才到TB1TB=1024GB

  • 而支持单个文件则达到8EB能以接近裸设备I/O的性能存储

3.1.2 swap

swap交换分区是系统RAM的补充,swap 分区支持虚拟内存。当没有足够的 RAM 保存系统处理的数据 时会将数据写入 swap 分区,当系统缺乏 swap 空间时,内核会因 RAM 内存耗尽而终止进程。配置过 多 swap 空间会造成存储设备处于分配状态但闲置,造成浪费,过多 swap 空间还会掩盖内存不足。

3.1.3 FAT16和FAT32

最大只能支持32GB分区,单个文件也只能支持最大4GB。

3.1.4 NTFS(xfs)

NTFS文件系统所具备3个功能:错误预警功能、磁盘自我修复功能和日志功能,单个文件64GB

3.1.5 EXT4

Extended file system 适用于那些分区容量不是太大,更新也不频繁的情况,例如 /boot 分 区是 ext 文件系统的最新版。提供了很多新的特性,包括纳秒级时间戳、创建和使用巨型文件 (16TB)、最大1EB的文件系统,以及速度的提升1EB=1024PB=1024TB

3.1.6 JFS

主要是为满足服务器的高吞吐量和可靠性需求而设计、开发的。单个文件最大限制16TB,该文件系统最大支持1PB的容量。1PB=1024TB

4.分区工具

lsblk  //列出块设备
fdisk  //管理MBR分区
gdisk  //管理GPT分区
parted  //高级分区操作,可以是交互或非交互方式   #parted的操作都是实时生效的,小心使用
partprobe  //重新设置内存中的内核分区表版本,适合于除了CentOS 6 以外的其它版本 5,7,8

 

4.1fdisk

格式: fdisk   -l   [磁盘设备]         //查看磁盘设备
      fdisk   [磁盘设备]              //对该磁盘进行分区管理

 

进行分区管理:

 

#1.分区
#2.创建文件系统(格式化)
#3.挂载

#进行第一步:创建分区
[root@localhost data]# lsblk  //查看硬盘
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   60G  0 disk 
├─sda1            8:1    0    5G  0 part /boot
└─sda2            8:2    0   54G  0 part 
  ├─centos-root 253:0    0   50G  0 lvm  /
  └─centos-swap 253:1    0    4G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk 
sdc               8:32   0   20G  0 disk 
sdd               8:48   0   20G  0 disk 
sde               8:64   0   20G  0 disk 
sr0              11:0    1 1024M  0 rom  
[root@localhost data]# fdisk /dev/sdb   //对sdb硬盘进行分区管理
欢迎使用 fdisk (util-linux 2.23.2)。

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

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

命令(输入 m 获取帮助):m  //打印菜单
命令操作
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   g   create a new empty GPT partition table
   G   create an IRIX (SGI) partition table
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)

命令(输入 m 获取帮助):n   //创建分区
Partition type:
   p   primary (0 primary, 0 extended, 4 free)  //p为主分区,最多为4个,e扩展分区为特殊的主分区
   e   extended    //扩展分区
Select (default p): p     //创建主分区
分区号 (1-4,默认 1):      //默认主分区号为1
起始 扇区 (2048-41943039,默认为 2048):    //默认起始扇区
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+5G   //给第一个主分区5G容量
分区 1 已设置为 Linux 类型,大小设为 5 GiB

命令(输入 m 获取帮助):P        //打印该磁盘分区情况

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

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    10487807     5242880   83  Linux

命令(输入 m 获取帮助):W   //保存分区   q为不保存退出
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@localhost data]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

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


命令(输入 m 获取帮助):n      //对磁盘sdb在进行分区
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): e      //选择扩展分区类型   
分区号 (2-4,默认 2):       //默认分区号为2
起始 扇区 (10487808-41943039,默认为 10487808):
将使用默认值 10487808
Last 扇区, +扇区 or +size{K,M,G} (10487808-41943039,默认为 41943039):+10G    //给扩展分区分容量,扩展分区不能直接使用,要在扩展分区里建立逻辑分区再进行使用
分区 2 已设置为 Extended 类型,大小设为 10 GiB

命令(输入 m 获取帮助):P   //打印

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

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    10487807     5242880   83  Linux
/dev/sdb2        10487808    31459327    10485760    5  Extended

命令(输入 m 获取帮助):W   //保存
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@localhost data]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

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


命令(输入 m 获取帮助):n       //再对sdb磁盘分区
Partition type:
   p   primary (1 primary, 1 extended, 2 free)
   l   logical (numbered from 5)
Select (default p): l    //逻辑分区,创建了扩展分区才出现
添加逻辑分区 5             //主分区最多4,默认逻辑分区号从5开始
起始 扇区 (10489856-31459327,默认为 10489856):
将使用默认值 10489856         
Last 扇区, +扇区 or +size{K,M,G} (10489856-31459327,默认为 31459327):+2G
分区 5 已设置为 Linux 类型,大小设为 2 GiB

命令(输入 m 获取帮助):P  //打印

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

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    10487807     5242880   83  Linux
/dev/sdb2        10487808    31459327    10485760    5  Extended
/dev/sdb5        10489856    14684159     2097152   83  Linux

命令(输入 m 获取帮助):W  //保存
The partition table has been altered!

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

4.2blkid

查看块设备属性信息

[root@localhost data]# blkid  //路径: uuid  文件类型
/dev/sda1: UUID="b3e3bf0a-fdea-4edc-8373-9eefad5833ef" TYPE="xfs" 
/dev/sda2: UUID="uBDsAS-Fcf8-XTJT-IsBt-rW59-TI0A-0AMJ6u" TYPE="LVM2_member" 
/dev/mapper/centos-root: UUID="f5d73ff9-2622-498b-8002-44b902358a69" TYPE="xfs" 
/dev/mapper/centos-swap: UUID="e507a1cd-d062-4c4d-b7ac-fef88bb863a4" TYPE="swap" 

4.3mkfs

创建文件系统(格式化)

选项:

选项 作用
-t 指定文件系统类型(ext4/xfs...)
-b 指定块block大小
-L LABEL 设置卷标
-i 为数据空间中每个字节创建一个inode,不应小于block大小
-N 指定分区去创建多少个inode
-I 一个inode记录占用的磁盘空间大小
-m 为管理人员愉快空间占总空间的百分比,,默认5%
-O 启用指定特性-O   关闭指定^FEATURE
-j 相当于 -t ext3, mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3-i
#文件系统检测和修复
fsck.FS_TYPE
fsck -t FS_TYPE

-a 自动修复
-r 交互式修复错误

e2fsck:ext系列文件专用的检测修复工具
xfs_repair:xfs文件系统专用检测修复工具

 

4.4mkswap

swap

特殊的文件系统,缓解内存不足,为了个别应为程序加内存有点浪费

添加交换分区的空间

mkswap + 分区

swapon +分区 开启 -a 全部

swapoff +分区 关闭 -a 全部

[root@localhost data]# lsblk   //查看块设备
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   60G  0 disk 
├─sda1            8:1    0    5G  0 part /boot
└─sda2            8:2    0   54G  0 part 
  ├─centos-root 253:0    0   50G  0 lvm  /
  └─centos-swap 253:1    0    4G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk 
├─sdb1            8:17   0    5G  0 part 
├─sdb2            8:18   0    1K  0 part 
└─sdb5            8:21   0    2G  0 part 
sdc               8:32   0   20G  0 disk 
sdd               8:48   0   20G  0 disk 
sde               8:64   0   20G  0 disk 
sr0              11:0    1 1024M  0 rom  

[root@localhost data]# fdisk /dev/sdb      //对sdb磁盘进行分区
欢迎使用 fdisk (util-linux 2.23.2)。

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


命令(输入 m 获取帮助):n   //建分区
Partition type:
   p   primary (1 primary, 1 extended, 2 free)
   l   logical (numbered from 5)
Select (default p): p   //主分区
分区号 (3,4,默认 3): //编号3
起始 扇区 (31459328-41943039,默认为 31459328):
将使用默认值 31459328
Last 扇区, +扇区 or +size{K,M,G} (31459328-41943039,默认为 41943039):+3G   
分区 3 已设置为 Linux 类型,大小设为 3 GiB

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

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

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    10487807     5242880   83  Linux
/dev/sdb2        10487808    31459327    10485760    5  Extended
/dev/sdb3        31459328    37750783     3145728   83  Linux
/dev/sdb5        10489856    14684159     2097152   83  Linux

命令(输入 m 获取帮助):t   //更改id
分区号 (1-3,5,默认 5):3    //选择更改的区
Hex 代码(输入 L 列出所有代码):L    //列出代码

 0  空              24  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 列出所有代码):8e    //8e为swap分区代码
已将分区“Linux”的类型更改为“Linux LVM”

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

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

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    10487807     5242880   83  Linux
/dev/sdb2        10487808    31459327    10485760    5  Extended
/dev/sdb3        31459328    37750783     3145728   8e  Linux LVM          //更改成功
/dev/sdb5        10489856    14684159     2097152   83  Linux

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

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

 

tops:
#查看当前硬盘是什么模式   固态 机械     1为机械        0为固态
[root@localhost data]# lsblk -d -o name,rota
NAME ROTA
sda     1
sdb     1
sdc     1
sdd     1
sde     1
sr0     1

 

#1.分区
#2.创建文件系统(格式化)
#3.挂载

#进行第二步
[root@localhost data]# lsblk  //查看块设备
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   60G  0 disk 
├─sda1            8:1    0    5G  0 part /boot
└─sda2            8:2    0   54G  0 part 
  ├─centos-root 253:0    0   50G  0 lvm  /
  └─centos-swap 253:1    0    4G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk 
├─sdb1            8:17   0    5G  0 part   //主分区1
├─sdb2            8:18   0    1K  0 part   //扩展分区2,不能直接使用
├─sdb3            8:19   0    3G  0 part   //swap分区3
└─sdb5            8:21   0    2G  0 part   //扩展分区下的逻辑分区5,可以直接使用
sdc               8:32   0   20G  0 disk 
sdd               8:48   0   20G  0 disk 
sde               8:64   0   20G  0 disk 
sr0              11:0    1 1024M  0 rom  
[root@localhost data]# mkfs.
mkfs.btrfs   mkfs.cramfs  mkfs.ext2    mkfs.ext3    mkfs.ext4    mkfs.fat     mkfs.minix   mkfs.msdos   mkfs.vfat    mkfs.xfs     
[root@localhost data]# mkfs.xfs /dev/sdb1        //格式化主分区1
meta-data=/dev/sdb1              isize=512    agcount=4, agsize=327680 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=1310720, 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
[root@localhost data]# mkfs.xfs /dev/sdb5        //格式化逻辑分区5
meta-data=/dev/sdb5              isize=512    agcount=4, agsize=131072 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=524288, 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
[root@localhost data]# mkswap /dev/sdb3         //格式化swap分区3
正在设置交换空间版本 1,大小 = 3145724 KiB
无标签,UUID=012e763b-b012-4663-bbe0-3010c559af1e

5.挂载与解挂

5.1挂载

mount

格式:

mount   [ 选项 ]       存储设备            挂载点/目录

mount    -o loop      ISO镜像文件      挂载点/目录

选项 作用
-t fstype 指定要挂载的设备上的文件系统类型,如:ext4,xfs
-r readonly,只读挂载
-w read and write, 读写挂载,此为默认设置,可省略
-n 不更新/etc/mtab,mount不可见
-a 自动挂载所有支持自动挂载的设备(定义在了/etc/fstab文件中,且挂载选项中有auto功能)
-L  'LABEL' 以卷标指定挂载设备
-U 'UUID' 以UUID指定要挂载的设备
-B bind 绑定目录到另一个目录上
-o options:(挂载文件系统的选项),多个选项使用逗号分隔

 

 async   异步模式,内存更改时,写入缓存区buffer,过一段时间再写到磁盘中,效率高,但不安全
 sync   同步模式,内存更改时,同时写磁盘,安全,但效率低下
 atime/noatime 包含目录和文件
 diratime/nodiratime 目录的访问时间戳
 auto/noauto 是否支持开机自动挂载,是否支持-a选项
 exec/noexec 是否支持将文件系统上运行应用程序
 dev/nodev 是否支持在此文件系统上使用设备文件
 suid/nosuid 是否支持suid和sgid权限
 remount 重新挂载
 ro/rw 只读、读写   
 user/nouser 是否允许普通用户挂载此设备,/etc/fstab使用
 acl/noacl 启用此文件系统上的acl功能
 loop 使用loop设备
 _netdev   当网络可用时才对网络资源进行挂载,如:NFS文件系统
 defaults 相当于rw, suid, dev, exec, auto, nouser, async

 

挂载规则:

  • 一个挂载点同一时间只能挂载一个设备

  • 一个挂载点同一时间挂载了多个设备,只能看到最后一个设备的数据,其它设备上的数据将被隐藏

  • 一个设备可以同时挂载到多个挂载点

  • 通常挂载点一般是已存在空的目录

#1.分区
#2.创建文件系统(格式化)
#3.挂载

#进行第三步:挂载
[root@localhost /]# ls
bin  boot  data  data1  data2  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  test  tmp  usr  var
[root@localhost /]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   60G  0 disk 
├─sda1            8:1    0    5G  0 part /boot
└─sda2            8:2    0   54G  0 part 
  ├─centos-root 253:0    0   50G  0 lvm  /
  └─centos-swap 253:1    0    4G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk 
├─sdb1            8:17   0    5G  0 part 
├─sdb2            8:18   0    1K  0 part 
├─sdb3            8:19   0    3G  0 part 
└─sdb5            8:21   0    2G  0 part 
sdc               8:32   0   20G  0 disk 
sdd               8:48   0   20G  0 disk 
sde               8:64   0   20G  0 disk 
sr0              11:0    1 1024M  0 rom  
[root@localhost /]# mount /dev/sdb1 /data   //把sdb1挂载到/data下
[root@localhost /]# lsblk     //查看
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   60G  0 disk 
├─sda1            8:1    0    5G  0 part /boot
└─sda2            8:2    0   54G  0 part 
  ├─centos-root 253:0    0   50G  0 lvm  /
  └─centos-swap 253:1    0    4G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk 
├─sdb1            8:17   0    5G  0 part /data   //挂载成功
├─sdb2            8:18   0    1K  0 part 
├─sdb3            8:19   0    3G  0 part 
└─sdb5            8:21   0    2G  0 part 
sdc               8:32   0   20G  0 disk 
sdd               8:48   0   20G  0 disk 
sde               8:64   0   20G  0 disk 
sr0              11:0    1 1024M  0 rom  

 

 

选项功能
rw/ro 是否对挂载的文件系统拥有读写权限,rw 为默认值,表示拥有读写权限;ro 表示只读权限。
async/sync 此文件系统是否使用同步写入(sync)或异步(async)的内存机制,默认为异步 async。
dev/nodev 是否允许从该文件系统的 block 文件中提取数据,为了保证数据安装,默认是 nodev。
auto/noauto 是否允许此文件系统被以 mount -a 的方式进行自动挂载,默认是 auto。
suid/nosuid 设定文件系统是否拥有 SetUID 和 SetGID 权限,默认是拥有。
exec/noexec 设定在文件系统中是否允许执行可执行文件,默认是允许。
user/nouser 设定此文件系统是否允许让普通用户使用 mount 执行实现挂载,默认是不允许(nouser),仅有 root 可以。
defaults 定义默认值,相当于 rw、suid、dev、exec、auto、nouser、async 这 7 个选项。
remount 重新挂载已挂载的文件系统,一般用于指定修改特殊权限。

 

####查看是否为挂载点
# findmnt  查看 设备的详细信息
[root@localhost opt]# findmnt /sdb1 
TARGET SOURCE    FSTYPE OPTIONS
/sdb1  /dev/sdb1 xfs    rw,relatime,seclabel,attr2,inode64,noquota

 

#重新挂载
[root@localhost data]#mount -o ro /dev/sdc1 /mnt/
[root@localhost data]#mount
/dev/sdc1 on /mnt type xfs (ro,relatime,seclabel,attr2,inode64,noquota)


#如果有人在使用  挂载文件夹 无法先解挂载再去挂载
[root@localhost data]#mount -o remount,ro /mnt/

 

5.2解卦

umount  设备名|挂载点
解卦时:可使用设备,也可以使用挂载点
fuser -v MOUNT_POINT
查看正在访问指定文件系统的进程
fuser -km MOUNT_POINT
终止所有在正访问指定的文件系统的进程

 

5.3 df

ds   [选项]    [fle]

[root@localhost /]# df -Th
文件系统                类型      容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root xfs        50G  4.5G   46G    9% /
devtmpfs                devtmpfs  897M     0  897M    0% /dev
tmpfs                   tmpfs     912M     0  912M    0% /dev/shm
tmpfs                   tmpfs     912M  9.1M  903M    1% /run
tmpfs                   tmpfs     912M     0  912M    0% /sys/fs/cgroup
/dev/sda1               xfs       5.0G  179M  4.9G    4% /boot
tmpfs                   tmpfs     183M   12K  183M    1% /run/user/42
tmpfs                   tmpfs     183M     0  183M    0% /run/user/0
/dev/sdb1               xfs       5.0G   33M  5.0G    1% /data
[root@localhost /]# lsblk -f
NAME            FSTYPE      LABEL UUID                                   MOUNTPOINT
sda                                                                      
├─sda1          xfs               b3e3bf0a-fdea-4edc-8373-9eefad5833ef   /boot
└─sda2          LVM2_member       uBDsAS-Fcf8-XTJT-IsBt-rW59-TI0A-0AMJ6u 
  ├─centos-root xfs               f5d73ff9-2622-498b-8002-44b902358a69   /
  └─centos-swap swap              e507a1cd-d062-4c4d-b7ac-fef88bb863a4   [SWAP]
sdb                                                                      
├─sdb1          xfs               faed15fd-968d-448e-8167-59d5df5dce67   /data
├─sdb2                                                                   
├─sdb3          swap              012e763b-b012-4663-bbe0-3010c559af1e   
└─sdb5          xfs               f5cbe3a3-716d-4eb7-b4f6-05983a22b523   
sdc                                                                      
sdd                                                                      
sde                                                                      
sr0 

 

6.软raid

软RAID也必须在多磁盘系统中才能实现。实现RAID-1最少要拥有两块硬盘,而实现RAID-5则最少要拥有三块硬盘。通常情况下,操作系统所在磁盘采用RAID-1,而数据所在磁盘采用RAID-5

格式:

mdadm   [选项]   磁盘设备

选项 作用
-C 创建
-v 显示过程
-f 卸载
[root@localhost ~]# rpm -q mdadm   //查看是否安装软件
mdadm-4.0-5.el7.x86_64
[root@localhost ~]# 
[root@localhost ~]# mdadm -Cv /dev/md0 -l0 -n2 /dev/sd[b,c]1 
mdadm: chunk size defaults to 512K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
[root@localhost ~]# mdadm -D /dev/md0 
/dev/md0:
           Version : 1.2
     Creation Time : Wed Jul  7 01:10:25 2021
        Raid Level : raid0
        Array Size : 83818496 (79.94 GiB 85.83 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

       Update Time : Wed Jul  7 01:10:25 2021
             State : clean 
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

        Chunk Size : 512K

Consistency Policy : none

              Name : localhost.localdomain:0  (local to host localhost.localdomain)
              UUID : e8c161d8:d5bb980e:3086d44c:df5e9a7b
            Events : 0

    Number   Major   Minor   RaidDevice State
       0       8       17        0      active sync   /dev/sdb1
       1       8       33        1      active sync   /dev/sdc1
[root@localhost ~]# cat /proc/mdstat 
Personalities : [raid0] 
md0 : active raid0 sdc1[1] sdb1[0]
      83818496 blocks super 1.2 512k chunks
      
unused devices: <none>
[root@localhost ~]# mkfs.xfs /dev/md0   //格式化
meta-data=/dev/md0               isize=512    agcount=16, agsize=1309568 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=20953088, imaxpct=25
         =                       sunit=128    swidth=256 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=10232, version=2
         =                       sectsz=512   sunit=8 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@localhost ~]# mkdir /opt/md0
[root@localhost ~]# mount /dev/md0 /opt/md0/   //挂载
[root@localhost ~]# df -h      //查看
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   37G  6.3G   31G   18% /
devtmpfs                 977M     0  977M    0% /dev
tmpfs                    993M     0  993M    0% /dev/shm
tmpfs                    993M  9.1M  984M    1% /run
tmpfs                    993M     0  993M    0% /sys/fs/cgroup
/dev/sr0                 4.3G  4.3G     0  100% /mnt
/dev/sda1               1014M  161M  854M   16% /boot
tmpfs                    199M     0  199M    0% /run/user/0
tmpfs                    199M   12K  199M    1% /run/user/42
/dev/md0                  80G   33M   80G    1% /opt/md0
[root@localhost ~]# mdadm -Cv /dev/md0 -l0 -n2 /dev/sd[b,c]1 -x1 /devsde1

 

7.总结:

磁盘空间的管理,使用硬盘三步

  1. 分区:

  2. 文件系统:格式化

  3. 挂载:

    磁盘损坏数据没了,容错,提高性能raid

    逻辑卷空间动态化扩容,空间变大变小

标签:管理,分区,扇区,dev,挂载,Linux,磁盘,root
From: https://www.cnblogs.com/suoluo212/p/16734585.html

相关文章

  • 02#用户管理:删除用户
    -f-f,--forceuserdel指令默认情况下,也就是不加入任何的选项,它并不会删除用户的主目录,只是删除了/etc/group以及/etc/passwd的信息。-f选项强制性删除所有与该用户有关......
  • 01#Linux 用户管理:添加用户
    认识passwd文件/etc/passwd是用来存储用户基本信息的文件,它类似于电子表格,一共有7列。useradd指令在创建用户时可以默认指定一些列的信息,例如:shell类型、GID(组ID)。-......
  • Mesa 新补丁大幅缩短 CS:GO for Linux 的启动时间
    AMD Linux 图形驱动程序工程师Pierre-Eric对Mesa的通用代码进行了改进,为Valve的CS:GO游戏带来更快的启动时间。早在2016年,很多Linux用户就发现CS:GO......
  • 2.iptables规则管理
    1.什么是iptables规则数据包的过滤是基于规则,规则是由“匹配条件”+“动作”组成。我们对规则的操作是增删改查操作规则的语法:iptables[-t][表名]选项[链名][规则]......
  • linux驱动移植-linux块设备驱动Nand Flash
    在介绍NandFlash块设备驱动之前,我们首先要了解Mini2440开发板所使用的K9F2G08U0C型号芯片,具体可以参考之前我们介绍的两篇博客:Mini2440裸机开发之NandFlash基础Mini2......
  • 通过cmd和Powershell管理Windows服务
    cmd添加服务:sccreate"YourServiceName"binpath="<yourproject>.exe"启动服务:scstart"YourServiceName"停止服务:scstop"YourServiceName"删除服务:scdelete"You......
  • Linux新建用户设置root权限
    一、建立新用户1.登录root用户suroot2.创建新用户sudouseradd-r-m-s/bin/bash用户名其中参数的意义如下:        -r:建立系统账号        -m:......
  • linux --- 虚拟文件系统
    Linux内核包含了文件管理子系统组件,它主要实现了虚拟文件系统(VirtualFileSystem,VFS),虚拟文件系统屏蔽了各种硬件上的差异以及具体实现的细节,为所有的硬件设备提供统一的......
  • Linux系列
    入门到精通​01-Linux发展介绍​02-Linux系统安装​03-Linux-Shell​04-Linux文件管理​05-Linux文件编辑​06-Linux用户管理​07-Linux基本权限​08-Linu......
  • 如何将linux设置成网关
    如何将linux设置成网关打开网关linux的端口转发功能:echo'1'>/proc/sys/net/ipv4/ip_forward在VMWare中创建一个仅主机的内网:进入本机配置该网络IP分配为DHCP:......