1、磁盘的介绍

自动分区、手工分区、命令工具分区

1.1、磁盘分类

根据介质来区分:

  • 机械硬盘和固态硬盘

通过盘大小:

  • 3.5英寸和2.5英寸

通过接口分类:

  • SAS、SATA、FC scisi

根据功能:

  • 桌面和企业级别

1.2、磁盘类型

HDD(机械硬盘)

  • 磁盘容量:
    • 160G、500G、1TB等等
  • 构造:
    • 磁头组件、磁头驱动机构、盘⽚组、控制电路和接⼝等⼏个部分组成
  • 磁盘的转速:5400/5900/7200
    • 台式机:一般就是5400
  • 磁盘: 两个⾯都有磁性,表⾯环形数据磁道,存放⼆进制数据
    • 读写头:读取和写⼊
    • 轴承:支撑磁盘旋转
    • 电动机:
    • 数据线缆:
    • 磁盘不是真空状态的
    • 如果磁盘出现滋滋滋的声音代表着磁盘有坏道
    • 用途:备份数据、存放数据;

LiangGaRy-学习笔记-Day17-LMLPHP

SSD(固态硬盘)

  • 固态硬盘,相对与HDD硬盘来说,SSD硬盘的主要优势表现在稳定性好、存储和读取速度快、不产⽣磁盘碎⽚以及噪⾳⽐较⼩
  • 数据安全并且具有防护能力
  • 读取速度可以达到2100MB/S;写入速度达到1700m/s
  • 通常用于做
    • 系统盘、软件盘、游戏盘;
    • 提高系统的流畅度

LiangGaRy-学习笔记-Day17-LMLPHP

raid盘(阵列盘)

  • RAID磁盘阵列(Redundant Arrays of Independent Disks)也是现在⽐较常⻅到的⼀种磁盘,它是由众多价格便宜的磁盘组合成⼀个容量巨⼤的磁盘组,利⽤个别磁盘提供数据所产⽣加成效果,从⽽提升整个磁盘系统性能。

SAN磁盘

  • FC-SAN
  • IP-SAN

关于磁盘的总结:

  • 扇区:将圆形的盘⽚划分成若⼲个扇形区域,
  • 划分圆的线条:磁道
  • 磁盘有多少个磁道;就有多少个柱面
  • 每个面都要有一个磁头
  • 磁盘存储容量:磁头数X磁道×每道扇区数×每道扇区字节数
  • 文件存储在硬盘上;
    • 硬盘的最小存储单位:扇区
    • 每个扇区存储512个字节

磁盘的种类:

  • 希捷
  • 西数
  • 日立
  • HP
  • DELL
  • EMC
  • IBM等等

1.3、磁盘分区介绍

MBR概述:

  • 全称:Master Boot Record;
  • 就是硬盘的主引导记录
  • 硬盘的0柱面、0磁头、1扇区称为主引导扇区(同事也叫主引导记录MBR)
    • 主引导程序:446个字节
      • 0000H–01BDH结束
      • 扫描活动分区,寻找活动扇区;
    • 硬盘分区表DPT:64字节
      • 主分区:4个
      • 每个主分区占用16个字节
      • 主分区如果分了3个;有一个可以是拓展分区(逻辑分区)
    • 分区有效标志:55AA 结束就是AA55H
      • 主引导分区系统;
  • 分区编号:
    • 主分区1-4,
    • 逻辑分区从5开始
  • Linux规定:逻辑分区必须建立在扩展分区智商;而不是建立在主分区上
    • /boot分区,放在主分区
    • 扩展分区:作为逻辑分区的容器存在
    • 大量的数据存放在逻辑分区
    • GPT格式的分区没有这种的限制

2、磁盘分区实战

2.1、虚拟机添加硬盘教程;

双击打开虚拟机–>点击“编辑虚拟机设置”–>选择“添加”–>选择“硬盘”–>然后“下一步”

LiangGaRy-学习笔记-Day17-LMLPHP

然后选择“默认”–>一路下一步下一步下一步

–>看到如下页面即可完成

LiangGaRy-学习笔记-Day17-LMLPHP

到这就完成了添加硬盘的操作;这里仅仅用于练习使用;

2.2、fdisk分区工具

作用:用于磁盘分区,以及查询磁盘分区状态

语法:fdisk + 选项 + 磁盘

选项:

  • -l:查看磁盘分区表
  • -s:指定分区块的大小
#查看磁盘状态;-l
[root@Node1 ~]# fdisk  -l /dev/sdc 

Disk /dev/sdc: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

#查看磁盘分区的几种方法
[root@Node1 ~]# ls /dev/sd*
/dev/sda  /dev/sda1  /dev/sda2  /dev/sdb  /dev/sdc

[root@Node1 ~]# lsblk 
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk 
├─sda1            8:1    0  500M  0 part /boot
└─sda2            8:2    0 19.5G  0 part 
  ├─centos-root 253:0    0 18.5G  0 lvm  /
  └─centos-swap 253:1    0    1G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk 
sdc               8:32   0   20G  0 disk 
sr0              11:0    1  4.3G  0 rom  

2.3、磁盘分区实战

  • 这里使用的MBR 的分区工具fdisk;
    • 添加一块新的硬盘;然后查看一下在系统中识别的名字
  • 创建好分区
#查看硬盘-->随便用sdb磁盘来做
[root@Node1 ~]# ls /dev/sd*
/dev/sda  /dev/sda1  /dev/sda2  /dev/sdb  /dev/sdc

#使用命令fdisk命令
[root@Node1 ~]# fdisk /dev/sdb 
..........
Command (m for help): 				#这里是输入你想要的操作
	#这里就使用的是m-->先查看有什么功能
Command (m for help): m
Command action
   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)

	#新建一个分区
Command (m for help): n						#新建一个分区
Partition type:
   p   primary (0 primary, 0 extended, 4 free)		#主分区-->这里是默认选项
   e   extended										#扩展分区

	#这里我们直接输入p主分区
Select (default p): p						#指定主分区
Partition number (1-4, default 1): 1		#分区编号默认从1开始
First sector (2048-41943039, default 2048): #第一个分区编号
	#这里就直接指定分区的大小
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): 
	#打印出来查看
Command (m for help): p
..................
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    10487807     5242880   83  Linux

Command (m for help): w				#这里是保存退出

#查看一下刚做好的分区
[root@Node1 ~]# lsblk /dev/sdb
NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb      8:16   0  20G  0 disk 
└─sdb1   8:17   0   5G  0 part

#fdisk删除分区
Command (m for help): d					#d代表删除
Partition number (1,2, default 2): 2
Partition 2 is delete
  • 创建文件系统
  • 挂在使用
#创建文件系统
[root@Node1 ~]# mkfs.xfs  /dev/sdb1
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@Node1 ~]# mkdir /sdb1
#挂在分区
[root@Node1 ~]# mount /dev/sdb1  /sdb1/

#到这里就可以直接使用了
[root@Node1 ~]# cd /sdb1/
[root@Node1 sdb1]# touch aa.txt
[root@Node1 sdb1]# touch {1..3}.txt
[root@Node1 sdb1]# ll
total 0
-rw-r--r-- 1 root root 0 Jun 28 11:05 1.txt
-rw-r--r-- 1 root root 0 Jun 28 11:05 2.txt
-rw-r--r-- 1 root root 0 Jun 28 11:05 3.txt
-rw-r--r-- 1 root root 0 Jun 28 11:05 aa.txt

如果暂时不用了可以卸载分区

  • 卸载分区需要注意:
    • 先退出目录,不然就会报错
#如果你不退出就卸载就会报错
[root@Node1 sdb1]# umount  /dev/sdb1
umount: /sdb1: target is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))

#退出了当前目录就可以卸载
[root@Node1 sdb1]# cd
[root@Node1 ~]# umount  /dev/sdb1

2.4、parted分区工具

作用:用于GPT分区表的分区工具

  • 它支持多种分区表格式,包括MS-DOS和GPT

语法:parted + 选项 + 磁盘

选项:

  • -l:列出所有法恩去
  • -a:表示添加一个分区
#命令行查看分区列表
[root@Node1 ~]# parted  /dev/sdb print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  5370MB  5369MB  primary  xfs
 2      5370MB  5370MB  1536B   primary

#交互式使用parted
[root@Node1 ~]# parted 
GNU Parted 3.1
Using /dev/sda				#这里表示正在使用/dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) help  				#输入help获取帮助

(parted) select /dev/sdb       	#先指定分区表  
Using /dev/sdb

#查看一下剩余的空间
(parted) print free       		#print是打印的意思                  
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
        32.3kB  1049kB  1016kB           Free Space
 1      1049kB  5370MB  5369MB  primary  xfs
 2      5370MB  5370MB  1536B   primary
        5370MB  21.5GB  16.1GB           Free Space

#创建一个分区
(parted) mkpart							#创建分区
Partition type?  primary/extended? primary     #是否创建主分区      
File system type?  [ext2]? xfs               #指定文件系统类型   
Start? 3									#起始分区号
End? 5G                                  #给多大的分区                     
Warning: You requested a partition from 3000kB to 5000MB (sectors
5859..9765625).
The closest location we can manage is 5370MB to 5370MB (sectors
10487811..10487811).
Is this still acceptable to you?
Yes/No? Yes						#是否同意
	#一个警告信息-->Ignore
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel?     

#查看分区
(parted) print              #查看分区
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  5370MB  5369MB  primary  xfs
 2      5370MB  5370MB  1536B   primary
 3      5370MB  5370MB  512B    primary


#删除分区--->rm + 分区号
(parted) rm                                                               
Partition number? 3

#把标签改为GPT格式-->改为MBR也是一样的(只是MBR是msdos)
(parted) mklabel gpt                                                      
Warning: 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   

2.5、partx命令

作用:给磁盘进行分区

语法:partx+ 选项 + 分区

选项:

  • -a:添加分区
  • –show:显示分区信息
  • -v:列出详细信息
#添加分区
[root@Node1 ~]# partx  -a /dev/sdb 

#查看分区情况
[root@Node1 ~]# partx --show /dev/sda
NR   START      END  SECTORS  SIZE NAME UUID
 1    2048  1026047  1024000  500M      
 2 1026048 41943039 40916992 19.5G  

#列出分区信息
[root@Node1 ~]# partx  -a -v /dev/sdb

2.6、Linux开机自动挂载

/etc/fstab文件是涉及开机自动挂载的文件;

#编辑/etc/fstab文件
[root@Node1 ~]# vim /etc/fstab 
/dev/mapper/centos-root /                       xfs     defaults        0 0
/dev/sr0	/mnt/cdrom	iso9660	defaults	0	0

#详细信息解释如下:
	/dev/sr0:表示需要挂载的分区设备
	/mnt/cdrom:表示挂载点;具体挂载到哪儿
	ISO9660:代表的就是文件系统类型
	defaults:表示挂载选项
	0:表示是否备份
	0:表示是否检测

#defaults挂载选项说明
Async/sync:设置是否为同步方式运行,默认为async
auto/noauto:当下载mount -a 的命令时,此文件系统是否被主动挂载。默认为auto
rw/ro:是否以以只读或者读写模式挂载
exec/noexec:限制此文件系统内是否能够进行"执行"的操作
user/nousee:是否允许用户使用mount命令挂载
suid/nosuid:是否允许SUID的存在
Usrquota:启动文件系统支持磁盘配额模式
Grpquota:启动文件系统对群组磁盘配额模式的支持
Defaults:同事具有rw,suid,dev,exec,auto,nouser,async等默认参数的设置

Linux查看UUID

  • 使用的就是blkid命令
[root@Node1 ~]# blkid 
/dev/sda1: UUID="9868d0c2-69fa-4d85-8a58-9e74cbb773cc" TYPE="xfs" 
...........
05-29 14:39