1、分区类型
分区类型主要有两种,MBR方式和GPT方式。
分区类型 | 位数 | 分区表大小 | 支持分区个数 | 支持单个分区大小 |
---|---|---|---|---|
legacy(MBR) | 32 | 64byte | 主分区4个,所有分区16个 | 2.2TB |
UEFI (GPT) | 64 | 128byte | 理论上无限制,windows 128个 | 8ZiB |
MBR的方式,如下图:
主分区:主分区表记录分区的信息并可以直接使用的分区
扩展分区:主分区表记录的分区,不可直接使用,只是逻辑分区容器
逻辑分区:扩展分区之上划分的分区叫做逻辑分区
2、分区方法
为了测试,在真机输入以下命令
[root@westosstudent ~]# qemu-img create -f qcow2 /var/lib/libvirt/images/test.qcow2 10G -o lazy_refcounts=off
我们先给虚拟机添加一块动态硬盘。
进入虚拟机,fdisk -l
查看新添加的硬盘叫/dev/vdb
,10G,还没有进行过分区
(1)交互式
fdisk /dev/vdb
进行交互式设定分区,o表示设定分区方式为MBR,n表示新建,然后选择主分区,第一块,起始值和终止值。p表示显示分区表,最后wq表示退出保存,不懂得可以m帮助查看每个字母的含义。(如果刚开始不输入o,输入g,代表设定分区方式为GPT)
udevadm settle
同步分区表,再查看已经创建好第一块分区了,分区方式为dos即MBR。
建立好分区,还不能用,需要装文件系统来管理该分区,mkfs.xfs -K /dev/vdb1
,格式化设备为xfs文件系统(相当与在/dev/vdb1上安装设备管理软件),-K
表示不丢弃空数据块,现在就可以挂载/dev/vdb1
了。df
查看挂载成功了。
建立完成分区,如果不想要了,可以dd if=/dev/zero of=/dev/vdb bs=1M count=1
,再用parted -l
查看分区确实没了
(2)非交互式
parted
命令可以非交互式建立分区,先设定分区的方式为msdos。建立主分区,起始为1,终止为100。再建立一个主分区,起始为101,终止为200。查看都设定好了。
和前面一样,也需要装文件系统才可以使用。这里不赘述。如果建立的第二个分区不想要了,可以parted /dev/vdb rm 2
删除。
(3)文件系统的对比
文件系统名称 | FAT16 | FAT32 | NTFS | EXT3 | EXT4 | XFS |
---|---|---|---|---|---|---|
最大卷 | 2G | 4G | 256TB | 32TB | 1EB | 16EB |
最大单个文件大小 | 4GB | 8TB | 16TB | 2TB | 16TB | 8EB |
最大文件个数 | 65536 | 4177920 | 4294967295 | 32000个子目录 | 无限 | 无限 |
代表系统 | DOS | Win95 | Win98 | Win2000以后 | RHEL5 | RHEL6 及以后 |
3、swap分区
首先了解swap分区,程序在运行时所有数据是在内存RAM,当RAM使用量超过了限额,为了使系统更加稳定,我们在硬盘上划分一部分空间来作内存缓冲区swap,当内存使用超过限额,内核会把内存中闲置的数据存放到swap中,当程序需要swap分区中的数据时内核将swap分区中的数据在交还给内存进程处理。swap分区大小建议一般是物理内存的两倍。接下来测试如何创建swap分区。
首先输入dd if=/dev/zero of=/dev/vdb bs=1M count=1
,把这块硬盘恢复到最初的状态。swap管理,先fdisk /dev/vdb
,创建选大小等等和上面一致,这里分配了1G,标签t换为swap(19),p可以查看是否成功,wq退出保存。
现在有了分区,但是还没有文件系统,mkswap /dev/vdb1
格式化设备为swap格式,使用swap的分区,swapon /dev/vdb1 -p 1
指定/dev/vdb1的swap优先级为1,现在swapon -s
就可以查看到swap分区信息了。以上操作都是临时的
以上操作都是临时操作,如果永久添加swap分区,编辑/etc/fstab
文件,
swapon -a
重新读取/etc/fstab
设备挂载策略文件中的swap信息。想删除swap,可以使用swapoff /dev/vdb1
。
4、磁盘配额
如果不做任何的设定,硬盘可以被用户一直写入,假如用户A一直写,写满了,用户B没法用了,所以我们需要设定用户能写入指定设备的最大额度。
开始实验配额,建立一个分区vdb1和以前一样,装文件系统mkfs.xfs -K /dev/vdb1
,mount /dev/vdb1 /westos/ -o usrquota
挂载设备并激活配额参数,quotaon -uv /dev/vdb1
激活配额,edquota -u lee
设定用户lee的配额,
填入硬限的额度为10M,这里单位是KB。
检查效果,su - lee
切换到用户lee,dd if=/dev/zero of=/westos/westosfile bs=1M count=10
可以,dd if=/dev/zero of=/westos/westosfile bs=1M count=15
不可以,截取数据失败只能写入10M数据,因为限制的hard大小为10M。quotaoff -uv /dev/vdb1
关闭配额参数,就不限制用户写入的数据了。以上是临时的操作
永久开启配额,编辑 /etc/fstab
设备挂载策略文件,mount -a
重新读取设备挂载策略文件