磁盘分区与管理
识别磁盘
一块硬盘的“艺术”之旅(硬盘空间使用,经历的步骤)
•识别硬盘 => 分区规划 => 格式化 => 挂载使用
Unix/Linux的基本哲学理念:一切皆文件
/dev:存放设备(键盘、鼠标、光驱、硬盘……)相关的数据,硬盘接口
/dev/sda:SCSI接口的硬盘,第一块
/dev/sdb:SCSI接口的硬盘,第二块
/dev/sdc:SCSI接口的硬盘,第三块
………
真机为Linux平台:
KVM虚拟机硬盘的接口类型:独有的接口类型为vd
可以利用命令lsblk查看识别的硬盘
lsblk
#查看识别的硬盘
分区规划
•分区方案(分区模式): MBR、GPT(新技术)
•MBR(msdos)分区模式
-
–分区类型:主分区、扩展分区(占用所有剩余空间)、逻辑分区
-
–最多只能有4个主分区(64/16=4)
#MBR分区模式,会有一个64字节分区表,给系统传递分区区域
#一个分区信息至少需要16字节
-
–扩展分区可以没有,至多有一个
-
–1~4个主分区,或者 3个主分区+1个扩展分区(n个逻辑分区)
#扩展分区只是用来产生扩展分区,不能存放数据
#逻辑分区与主分区都可以存放数据,区别是传输速率快慢(逻辑分区慢)
#逻辑分区的产生实际上是逻辑上划分n个(n>=4)存储区域
-
–最大支持容量为 2.2TB 的磁盘(MBR过时的主要原因)
-
–扩展分区不能格式化,空间不能直接存储数据
-
–可以用于存储数据的分区:主分区与逻辑分区
fdisk划分MBR分区模式
-
m 列出指令帮助
-
p 查看现有的分区表(存放分区信息的表格)
-
n 新建分区
-
d 删除分区
-
q 放弃更改并退出
-
w 保存更改并退出
[root@localhost ~]# fdisk /dev/vdb n 创建新的分区----->分区类型 回车----->分区编号 回车---->起始扇区 回车----->在上一扇区 +2Gp 查看分区表n 创建新的分区----->分区类型 回车----->分区编号 回车---->起始扇区 回车----->在上一扇区 +1Gw 保存并退出 [root@localhost ~]# lsblk [root@localhost ~]# ls /dev/vdb[1-2]
#输入w之后才会写入到分区表中
划分扩展分区(3主+1扩)
[root@localhost ~]# fdisk /dev/vdc p 查看分区表n 创建主分区--->回车--->回车--->回车--->在last结束时 +2Gn 创建主分区--->回车--->回车--->回车--->在last结束时 +2Gn 创建主分区--->回车--->回车--->回车--->在last结束时 +2Gp 查看分区表n 创建扩展分区 --->回车--->起始回车--->结束回车 #将所有剩余空间给扩展分区p 查看分区表n 创建逻辑分区----->起始回车------>在last结束时+2Gn 创建逻辑分区----->起始回车------>在last结束时+2Gn 创建逻辑分区----->起始回车------>在last结束时回车p 查看分区表w 保存并退出[root@localhost ~]# lsblk[root@localhost ~]# parted /dev/vdc print #查看分区类型
补充命令partprobe #刷新分区表,划分分区之后,linux系统可能会没有立即识别到划分分区
格式化分区
#赋予空间文件系统的过程【文件系统:数据在空间中,存放的规则】
Windows常见的文件系统:NTFS (精装、性能强)、FAT(简单装修、兼容性强)
Linux常见的文件系统:ext4(linux6系列) 、xfs(liunx7系列以上) 、FAT
#ext4适用与数量多、单个文件小 ;xfs适用与单个文件大
mkfs创建Linux文件系统
#mkfs---make file system
#blkid命令 查看文件系统类型
[root@localhost ~]# mkfs.(tab)(tab) #连续按两次tab键[root@localhost ~]# mkfs.ext4 /dev/vdb1 #格式化文件系统ext4[root@localhost ~]# mkfs.xfs /dev/vdb2 #格式化文件系统xfs[root@localhost ~]# blkid /dev/vdb1 #查看文件系统类型 [root@localhost ~]# blkid /dev/vdb2 #查看文件系统类型[root@localhost ~]# mkfs.xfs -f /dev/vdb2 #强制格式化文件系统xfs
访问文件系统
#通过挂载访问
mount [设备目录] [挂载点] #临时挂载
#df -h [挂载点] #显示正在挂载设备的使用情况 -h(以易查看方式显示容量)
#df 显示的已用的大小是不包括文件系统的
[root@localhost ~]# mkdir /mypart1[root@localhost ~]# mount /dev/vdb1 /mypart1[root@localhost ~]# df -h /mypart1 #显示正在挂载设备的使用情况显示[root@localhost ~]# mkdir /mypart2[root@localhost ~]# mount /dev/vdb2 /mypart2[root@localhost ~]# df -h /mypart1 /mypart2#显示正在挂载的设备信息,使用情况的显示
永久挂载(开机自动挂载)
在/etc/fstab 配置文件加入配置
设备路径 挂载点 文件系统类型 挂载参数 备份标记 检测顺序
[root@localhost ~]# blkid /dev/vdb1 #查看文件系统类型[root@localhost ~]# blkid /dev/vdb2 #查看文件系统类型[root@localhost ~]# vim /etc/fstab #vmware虚拟机/dev/sdb1 /mypart1 ext4 defaults 0 0/dev/sdb2 /mypart2 xfs defaults 0 0[root@localhost ~]# vim /etc/fstab #KVM虚拟机/dev/vdb1 /mypart1 ext4 defaults 0 0/dev/vdb2 /mypart2 xfs defaults 0 0
启动自动挂载 mount -a
#取消mount的操作:umount -a
[root@localhost ~]# mount -a #启动自动挂载 检测/etc/fstab开机自动挂载配置文件,格式是否正确检测/etc/fstab中,书写完成,但当前没有挂载的设备,进行挂载 root@localhost ~]# df -h /mypart1 /mypart2
小总结
识别硬盘 => 分区规划 => 格式化 => 挂载使用
识别硬盘 lsblk分区规划 MBR分区模式 fdisk格式化 mkfs.ext4 mkfs.xks blkid挂载 mount df -h(显示设备使用情况)
GPT分区模式(进阶)
GPT,GUID Partition Table
-
–全局唯一标识分区表
-
–突破固定大小64字节的分区表限制
-
–可支持4个以上的主分区,最大支持18EB容量 【1 EB = 1024 PB = 1024 x 1024 TB】
parted常用分区指令
–help //查看指令帮助–mktable gpt //建立指定模式分区表–mkpart 分区的名称 文件系统类型 start end //指定大小或百分比%作为起始、结束位置–print //查看分区表–rm 序号 //删除指定的分区–quit //退出交互环境
案例:
[root@localhost ~]# parted /dev/vdd (parted) mktable gpt #指定分区模式(parted) mkpart #划分新的分区 分区名称? []? haha #随意写,不写也可以文件系统类型? [ext2]? ext4 #随意写,不会进行格式化起始点? 0 结束点? 5G 忽略/Ignore/放弃/Cancel? Ignore #选择忽略,输入i(tab)补全(parted) print #查看分区表信息(parted) unit GB #使用GB作为单位(parted) print (parted) mkpart #划分新的分区分区名称? []? haha 文件系统类型? [ext2]? ext4 起始点? 5G #为上一个分区的结束结束点? 100% #全部空间(parted) print (parted) quit #退出[root@localhost ~]# lsblk
在vdd使用part进行分区-->mktable指定分区模式-->mkpart 划分新的分区-->quit
【parted是十进制,1G=1000MB】
分区扩展Swap空间
利用硬盘的空间,充当内存的空间
比如:CPU(喝水)----->内存(水缸)----->硬盘(水井)
当物理内存占满了,可以将内存的中数据,暂时放入交换空间中,缓解真实物理内存的压力
利用硬盘分区制作交换空间
mkswp 制作交换空间
mkswp [硬盘空间] #格式化交换文件系统
swapon #查看交换空间组成的成员信息
swapon [硬盘空间] #启用交换分区
swapoff #停用交换分区
free -h #查看交换空间的大小
[root@localhost ~]# ls /dev/vdc1 [root@localhost ~]# mkswap /dev/vdc1 #格式化交换文件系统[root@localhost ~]# blkid /dev/vdc1 #查看文件系统类型[root@localhost ~]# swapon #查看交换空间组成的成员信息[root@localhost ~]# swapon /dev/vdc1 #启用交换分区[root@localhost ~]# swapon #查看交换空间组成的成员信息[root@localhost ~]# free -h #查看交换空间的大小[root@localhost ~]# swapoff /dev/vdc1 #停用交换分区[root@localhost ~]# swapon #查看交换空间组成的成员信息[root@localhost ~]# free -h #查看交换空间的大小