温故Linux 操作系统10.1:磁盘管理与分区划分
1.磁盘管理
先介绍下一些常用的磁盘管理命令:
1.1 本地存储设备的识别
fdisk -l ##真实存在的设备
cat /proc/partitions ##系统识别的设备
blkid ##系统可使用的设备
df ##系统正在挂载的设备
fdisk -l
:
cat /proc/partitions
:
blkid
:
df
:
1.2 设备的挂(卸)载和格式化
1.2.1设备名称
/dev/xdx
/dev/hd* ##表示老式的IDE设备
/dev/sd* ##表示sata硬盘
/dev/vd* ##表示虚拟硬盘,一般出现在虚拟机里
/dev/sr0 ##表示系统中的光驱
/dev/mapper/* ##表示系统中的虚拟设备
/dev/vdb1 ##1代表第一个分区
1.2.2设备挂载与卸载相关命令
设备挂载通俗的理解就是,把设备想象成一个光盘,然后挂载就是读取光盘,挂载在哪个目录里,就可以在哪个目录里读取
**注意:**设备挂载前要进行格式化处理
mount /dev/vdb1 /mnt ##(临时)挂载vdb1到mnt
umount /mnt | /dev/vdb ##卸载
mount -o ro /dev/vdb1 /mnt ##只读挂载
mount ##查看挂载信息
mount -o remount,rw /dev/vdb1 | /mnt ##重新读写挂载
vim /etc/fstab ##系统启动默认读取挂载位置(永久挂载)
-------------------------------------------------------------------------------
以上,/dev/vdb1为设备, /mnt为目录,设备和目录都可以更换
在vim里添加的信息:
两个0分别代表不检测不备份
**注意:**有时卸载时显示设备正忙的原因:是因为你就在挂载目录下,此时退出挂载目录,就可以正常卸载了
1.2.3格式化的一些格式
磁盘格式化相当于给磁盘添加一个文件系统,我们可以使用它
(通过mkfs+两次Tab键即可查看):
最常用的为 mkfs.vfat
、mkfs.ext4
和mkfs.xfs
- vfat支持包括一系列相关文件系统(VFAT/FAT16,FAT32),这些文件系统针对较旧版本的Microsoft Windows开发,在大量的系统和设备上受支持,简单理解vfat就是可以Linux和Windows通用,在Linux内往其内存储数据,在Windows上也可以读取。
- ext4是Red Hat Enterprise Linux 6 的标准文件系统。他非常强大可靠,具有多项可以提高现代工作量处理性能的功能。
- xfs是Red Hat Enterprise Linux 7 的标准文件系统,其具备数据完全、性能稳定、扩展性强(8eb-1byte)、传输速率高(7G/s)的特点。
2.MBR分区划分
2.1 MBR分区简介
MBR分区时,磁盘被分为两部分,MBR部分和磁盘分区部分
主引导记录(Master Boot Record,缩写:MBR),MBR早在1983年IBM PC DOS 2.0中就已经提出,又叫做主引导扇区。之所以叫“主引导记录”,是因为它是存在于驱动器开始部分的一个特殊的启动扇区。这个扇区包含了已安装的操作系统的启动加载器和驱动器的逻辑分区信息。是计算机开机后访问硬盘时所必须要读取的首个扇区,它在硬盘上的三维地址为(柱面,磁头,扇区)=(0,0,1)。
它由三个部分组成,主引导记录MBR、硬盘分区表DPT和硬盘有效标志。在总共512字节的主引导扇区里MBR占446个字节,偏移地址0000H–0088H),它负责从活动分区中装载,并运行系统引导程序;第二部分是Partition table区(DPT分区表),占64个字节;第三部分是Magic number,占2个字节。
在Linux系统中,硬盘分区命名为sda1-sda4或者hda1-hda4(其中a表示硬盘编号可能是a、b、c等等)。在MBR硬盘中,分区号1-4是主分区(或者扩展分区),逻辑分区号只能从5开始。
从度娘那里拿张图,以便理解:
在这里我们只需要理解,一块硬盘上最多可以划分4个主分区,一个分区用16个字节记录(2^n)
主分区:主分区表记录的分区;
扩展分区:是一个容器并由分区表记录的分区;
逻辑分区:扩展分区下的分区(不能直接使用)
MBR分区缺点: 在MBR分区表中,一个分区最大的容量为2T。
2.2 划分MBR分区步骤
MBR分区的划分大致按以下步骤:
1. fdisk -l ##查看一下系统真实存在的设备,选择合适的分区设备
2. fdisk /dev/vdb ##开始在/dev/vdb下创建分区,进入command模式
3. m ##查看帮助(查看command的参数与其作用,如熟练则不必进行这一步)
4. n ##新建分区
5. 依次按照提示进行
6. wq ##保存退出command模式
7. partprob ##同步分区表(重要!!!)
8. mkfs.vfat /dev/vdb2 ##按照需求进行格式化(重要!!!)
9. blkid ##查看系统可使用的设备
10. mount /dev/vdb2 /mnt ##将此分区挂载到mnt,(临时挂载,reboot后失效)
11. vim /etc/fstab ##系统启动默认读取挂载位置
12. mount -a ##激活设备(重新读取该文件,使其挂载)
第3步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 ##修改分区功能id
u change display/entry units
v verify the partition table
w write table to disk and exit ##保存更改到分区表中
x extra functionality (experts only)
2、3、4、5步:
图中:
Command (m for help): n ##新建分区
Partition type:
p primary (1 primary, 0 extended, 3 free) ##分区类型位主分区
e extended ##分区类型位扩展分区
Select (default p): ##默认位主分区(直接回车会选择默认参数)
Using default response p
Partition number (2-4, default 2): ##主分区id
First sector (2099200-20971519, default 2099200): ##此分区起始位置
Using default value 2099200
Last sector, +sectors or +size{K,M,G} (2099200-20971519, default 20971519): +1G
##分区大小设置为1G
然后wq保存退出
之后进行同步分区表和挂载操作:
为了验证我们的挂载是有效的,进行如下测试:
我们可以看到,分区创建成功,也挂载成功
3.gpt分区划分
GUID磁碟分割表(GUID partition Table ,缩写:GPT)其含义为**“全局唯一标识磁盘分区表”**,与MBR最大四个分区表项的限制相比,GPT对分区数量没有限制
Windows最大仅支持128个GPT分区
GPT可管理硬盘大小达到了18EB
ext3最多支持32tb
ext4最多支持1EB
gpt分区划分的方式与MBR差不多,只是把fdisk
命令换成了parted
,然后按照提示进行
(parted) mklabel gpt ##此时可以直接在mklabel后面添加gpt,表示添加gpt分区标记
(parted)mkpart primary 0% 100% ##分区的范围
(parted)print ##查看当前分区
剩余操作部分同MBR
4.swap
Swap分区在系统的物理内存(这里应该是运行内存)不够用的时候,把物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。
swap分区的划分步骤:
1.fdisk /dev/vdb ##选定分区
2.fdisk 中修改swap分区标识
command: t ##转化分区
Hex cpde (type L to list all codes):82 ##82为转化为swap分区
3.mkswap /dev/vdb2 ##格式化swap
4.swapon -a /dev/vdb2 ##开启swap分区
5.vim /etc/fstab ##永久的swap分区
/dev/vdb2 swap swap defaults,pri=1 0 0
6.swapoff /dev/vdb2 ##关闭swap分区
注:swapon -s ##查看可用的swap分区
swap分区不需要挂载!
free -m为查看内存使用,-m为显示单位为兆字节
永久的swap分区,vim内:
swap分区的删除
swapoff /dev/vdb2 ##关闭分区设备
vim /etc/fsta ##删除swap设定
fdisk /dev/vdb
command:d ##执行此命令删除创建的swap分区,同样要输入partprobe