对硬盘进行分区
1.为什么要对磁盘进行分区
- 优化I/O性能
- 隔离系统和应用程序
- 实现磁盘空间的配额限制
- 同一磁盘可采用不同的文件系统
- 同一磁盘上可以安装多个操作系统
MBR(Master Boot Record)扇区:使用位于磁盘的0号扇区(一扇区等于512字节),来表示整个磁盘的整体分区情况,整个0号扇区;由引导代码、MBR分区表、MBR结束标志3部分构成,一共占用512个字节。其中引导代码占用446个字节,MBR分区占用64个字节,MBR结束标志占用2个字节,MBR扇区一共占用512个字节。
引导代码:占MBR分区的前446字节,负责整个系统的启动。如果引导代码被破坏,系统将无法启动
MBR分区:占引导代码后面的64个字节,是整个硬盘的分区表。每个分区使用的字节为16个,所以这确定了MBR分区方式最多只有4个主分区(包含扩展分区在内)。
MBR结束标志:占用最后2个字节,一直为"55AA".
分区的规则:
- 一块磁盘上主分区和扩展分区的个数总和不能超过4个
- 一块磁盘上最多只能有1个扩展分区
- .扩展分区中可以创建逻辑分区,个数限制视磁盘类型而定
2.查看磁盘分区
命令为 <fdisk -l>
3.分区划分
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)
Command (m for help): n ##新建分区
Partition type:
p primary (0 primary, 0 extended, 4 free) ##分区类型位主分区
e extended ##分区类型位扩展分区
Select (default p): ##默认位主分区
Using default response p
Partition number (1-4, default 1): 1 ##主分区id
First sector (2048-20971519, default 2048): ##此分区起始位置
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +100M ##分区大小
Partition 1 of type Linux and of size 100 MiB is set
Command (m for help): p
Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 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
Disk label type: dos
Disk identifier: 0x193488c3
Device Boot Start End Blocks Id System
/dev/vdb1 2048 206847 102400 83 Linux
Command (m for help): wq ##保存推出,如果安q表示放弃更改退出
若出现下列问题:
WARNING:Re-raeding the partition table faile with error 16
Device or resource busy
如果fdisk不能呢个让磁盘上的分区表与内核保持同步,最可能的原因就是来自磁盘的某一分区仍然被挂载。卸载该分区,然后运行下面的命令,从而使磁盘分区表与内核保持同步
##partprobe /dev/vdb
虽然分区已经完成,但是新分区仍然无法使用。可以使用mkfs命令创建一个文件系统,为了能够使用新的文件系统,需要创建一个挂载点,并将其挂载到分区
可以使用df命令查看是否挂载成功
如果想要手动完成挂载过程,可以编辑/etc/fstab文件,并添加一行命令,表明挂载说呢么以及在何处挂载。
分区/dev/vdb1作为xfs文件系统被挂载到/mnt目录下。其中defaults关键字可以让分区在启动时被挂载。而数字0则告诉系统不要使用dump命令备份文件系统中的文件,最后一个0告诉系统在一定的挂载数量之后对分区不进行错误检查
4.swap分区
如果系统需要更多的内存资源,而物理内存已经用完,内存中不会活跃的页就会被转移到交换空间中。交换空间的总大小一般为计算机物理内存的1~2倍,计算机物理内存越大,倍数越小,但是速度低于内存
添加交换分区
之前已经建好了200M的/dev/vdb2,fdisk /dev/vdb ##分区,按t,然后会让你选哪个做交换分区,十六进制代码(类型L列出所有代码),发现82为修改的swap,之后退出保存,就会生成swap分区
创建交换分区
使用mkswap命令可以用来将磁盘分区或文件设置为linux系统的交换分区
用mkswap命令,命令的用法:mkswap [选项] [设备|文件]
选项 | 选项含义 |
-c | 建立交换分区前,先检查设备是否有损坏 |
-v0 | 建立旧版本交换分区 |
-v1 | 建立新版本交换分区 |
-p | 指定使用的页大小 |
-L | 指定一个卷,以后使用sawpon命令是可以使用这个卷标 |
-U | 指定使用的UUID |
启用交换分区
使用swapon命令可以用来启用linux系统的交换分区
swapon命令用法:swapon [选项] [设备]
选项 | 选项含义 |
-a | 将/etc/fstab文件中所有设置为swap的设备,启动为交换区 |
-v | 显示详细信息 |
-p | 指定交换分区的优先级 |
-s | 显示交换分区的使用情况 |
-L | 使用设备的卷标 |
-U | 使用设备的UUID |
注:卷标是一个磁盘的一个标识,不唯一。由格式化自动生成或人为设定。仅仅是一个区别于其他磁盘的标识而已。
如果需要在系统启动印度哦呵时启用交换分区,编辑/etc/fstab文件
删除交换分区
1)禁用交换分区
使用swapoff命令,命令的用法:swapoff [选项] [设备]
2)编辑/etc/fstab文件,删除上面添加的那一行,然后在系统下次引导时,就不会启用交换分区
5.磁盘加密
fdisk /dev/vdb 创建新的分区表
partprobe 同步分区表
cryptsetup luksFormat /dev/vdb3 加密/dev/vdb3
cryptsetup luksFormat /dev/vdb1 #加密/dev/vdb1 确认时候YES为大写
cryptsetup open /dev/vdb1 westos #打开加密的分区
mkfs.xfs /dev/mapper/westos #格式化分区为xfs格式
mount /dev/mapper/westos /mnt/ #挂载
如果不想让别人看到,可以:
如果要再次读取,就需要:
Enter passphrase for /dev/vdb3:2018westos
2.加密磁盘的永久挂载
加密清除
6.磁盘配额
linux系统可以限制用户使用磁盘空间的容量,使每个用户合理有效的使用分配空间,配额只是针对于设备
步骤:
新建一个分区
格式化分区为.xfs文件系统
将其以配额的方式挂载,用mount命令可以查看到其挂载方式为配额
给/mnt满权限
给用户配额
打开配置文件,给用户配额,最大额度为20M
这个方法为暂时性配额,开机自动配额可编辑配置文件:vim /etc/fstab
切换student用户进行测试
20M没有超过磁盘额度,分割结果正常,要是超过额度,不能进行分割