1、磁盘的介绍
自动分区、手工分区、命令工具分区
1.1、磁盘分类
根据介质来区分:
- 机械硬盘和固态硬盘
通过盘大小:
- 3.5英寸和2.5英寸
通过接口分类:
- SAS、SATA、FC scisi
根据功能:
- 桌面和企业级别
1.2、磁盘类型
HDD(机械硬盘)
- 磁盘容量:
- 160G、500G、1TB等等
- 构造:
- 磁头组件、磁头驱动机构、盘⽚组、控制电路和接⼝等⼏个部分组成
- 磁盘的转速:5400/5900/7200
- 台式机:一般就是5400
- 磁盘: 两个⾯都有磁性,表⾯环形数据磁道,存放⼆进制数据
- 读写头:读取和写⼊
- 轴承:支撑磁盘旋转
- 电动机:
- 数据线缆:
- 磁盘不是真空状态的
- 如果磁盘出现滋滋滋的声音代表着磁盘有坏道
- 用途:备份数据、存放数据;
SSD(固态硬盘)
- 固态硬盘,相对与HDD硬盘来说,SSD硬盘的主要优势表现在稳定性好、存储和读取速度快、不产⽣磁盘碎⽚以及噪⾳⽐较⼩
- 数据安全并且具有防护能力
- 读取速度可以达到2100MB/S;写入速度达到1700m/s
- 通常用于做
- 系统盘、软件盘、游戏盘;
- 提高系统的流畅度
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
- 主引导分区系统;
- 主引导程序:446个字节
- 分区编号:
- 主分区1-4,
- 逻辑分区从5开始
- Linux规定:逻辑分区必须建立在扩展分区智商;而不是建立在主分区上
- /boot分区,放在主分区
- 扩展分区:作为逻辑分区的容器存在
- 大量的数据存放在逻辑分区
- GPT格式的分区没有这种的限制
2、磁盘分区实战
2.1、虚拟机添加硬盘教程;
双击打开虚拟机–>点击“编辑虚拟机设置”–>选择“添加”–>选择“硬盘”–>然后“下一步”
然后选择“默认”–>一路下一步下一步下一步
–>看到如下页面即可完成
到这就完成了添加硬盘的操作;这里仅仅用于练习使用;
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"
...........