目录
- 目录
- 磁盘管理命令
- 向服务器添加硬盘
- 磁盘分区
- 分区模式之MBR分区
- 分区模式之GPT分区
- 分区操作
- Linux中的MBR分区
- Linux中的GPT分区
- 分区格式化操作
- 挂载分区
- Linux中的swap分区
磁盘管理命令
(1)查看磁盘分区使用状况
df
命令
选项:
l 仅显示本地磁盘(默认)
a 显示所有文件系统的磁盘使用情况,包含比如/proc/
h 以1024进制计算最合适的单位显示磁盘容量
H 以1000进制计算最合适的单位显示磁盘容量
T 显示磁盘分区类型
t 显示指定类型文件系统的磁盘分区
x 不显示指定类型文件系统的磁盘分区
(2)统计磁盘上的文件大小
du
命令
选项:
b 以byte为单位统计文件
k 以KB为单位统计文件
m 以MB为单位统计文件
h 按照1024进制以最适合的单位统计文件
H 按照1000进制以最适合的单位统计文件
s 指定统计目标
如:
du -h /etc
向服务器添加硬盘
在实际生产中,我们可能会遇到服务器硬盘空间不够用的问题,较好的解决方案是我们向服务器添加一块或多块新的硬盘,增加存储空间。
一般情况下,我们需要关闭服务器后才可以新增新的硬盘。但是如果支持热插拔,即可带电添加新的硬盘。
当我们添加完新的硬盘,开机进入Linux系统后,此时还不能使用新的硬盘空间,我们必须对硬盘进行分区、格式化、挂载后才能使用。
磁盘分区
分区模式之MBR分区
- 主分区和扩展分区总数不能超过4个
- 扩展分区最多只能有一个
- 扩展分区不能直接存取数据
- 单个分区容量最大2TB
分区模式之GPT分区
- 主分区个数“几乎”没有限制(在GPT的分区表中最多可以支持128个主分区,但是由于我们一般不会分这么多个分区,且相对于MBR分区来说,所以可以看成是“几乎”没有限制)
- 单个分区容量“几乎”没有限制(在GPT的分区模式中,每个分区的大小突破了MBR分区的2TB限制。单个分区的容器的限制为18EB。其中
1EB = 1024PB,1PB = 1024TB,1TB = 1024GB
,可想而知18EB是有多大,几乎可以看成是没有限制呀!) - GPT分区不适合安装在X86架构的系统(32位系统)
分区操作
Linux中的MBR分区
-
fdisk -l
命令可以查看当前各硬盘的分区情况。然后针对新加入的硬盘进行分区。(GPT分区表类型的分区是无法通过fdisk -l
命令查看分区情况的,需要使用parted
分区工具中的print
命令。下面将提到。) -
fdisk 需要分区的设备文件名
执行该命令对硬盘进行分区。如:
fdisk /dev/sdb
执行该命令后进入操作的交互界面。通过输入:
n 表示增加新的分区,根据提示进一步输入新增分区的类型,如 p表示主分区;e表示扩展分区;l表示逻辑分区。
p 表示查看硬盘的分区情况。
d 删除某个分区。
w 通过n命令新增的分区实际上还未生效,最后还需要输入w命令进行保存,保存当前的分区方案。
Linux中的GPT分区
- GPT分区无法采用
fdisk
命令实现分区操作,需要使用parted
分区工具。 - 输入
parted
命令,进入分区操作。默认分区目标硬盘是第一块硬盘,需要通过select
命令选择新的分区目标硬盘。 - 通过
select 需要分区的设备文件名称
,对某个新添加的硬盘进行分区。 - 指定分区表类型为GPT:
mklabel gpt
(如果是MBR类型分区的话,是命令mklabel msdoc
)。 - 使用
print
命令可以查看当前硬盘的分区类型和分区情况,使用print all
命令可以查看所有硬盘的分区类型和分区情况。 - 直接使用
mkpart
命令,可以进入交互形式的分区操作,根据提示进行分区。 - 或者采用如
mkpart test 2000 3000
,一次性以参数的形式指定分区的命令,分区的开始位置(指第几MB位置开始),分区的结束位置(指第几MB位置结束,不包括这个第几MB)。 - 通过
rm 分区的Number值(可以通过print命令查看到)
删除指定分区。 - 分区完毕后,可以使用
quit
命令退出分区工具。
分区格式化操作
mkfs
命令,如:
mkfs.文件系统 设备文件名
mkfs.ext4 /dev/sdb1
或者 mkfs -t 文件系统 设备文件名
,如:
mkfs -t ext4 /dev/sdb2
挂载分区
分区默认的挂载目录是/mnt
目录。
通过mount
命令进行分区的挂载,前提是挂载点存在(即作为挂载点的目录被创建)。mount 设备文件名 挂载点
,如:
mount /dev/sdb1 /mnt/doc
可以使用umount /mnt/doc
卸载已挂载的分区。
需要注意的是通过mount
进行的挂载只是临时生效,重启计算机后将不会自动重新挂载。如果需要计算机在重启之后自动挂载,需要在/etc/fstab
文件中进行配置。
vim + /etc/fstab
在文件的最后插入:
设备文件名 挂载点 文件系统类型 defaults 0 0
如:
/dev/sdb1 /mnt/doc ext4 defaults 0 0
Linux中的swap分区
额外补充:在Linux中我们还可以添加swap分区(相当于虚拟内存。交换分区,在生产环境下电脑内存不超过4个G时,swap分区的大小应该是内存2倍,电脑内存超过4个G,swap分区的大小跟内存大小一致就可以了;在实验环境下swap分区不超过2GB就足够了)。
那么如何为硬盘添加swap交换分区呢?
1. 建立一个普通的Linux分区;
2. 修改分区类型的16进制编号;(一个普通Linux分区的分区类型为83,而交换分区的16进制编号为82)
3. 格式化交换分区;
4. 启用交换分区。
注:swap分区不需要被挂载。因为这不是给用户使用的分区。我们没必要提供一个“入口”(或者盘符)给用户。
具体操作如下:(这里以MBR分区类型为例)
-
fdisk 设备文件名
,如:这里表示选择了第二块硬盘。
fdisk /dev/sdb
- 输入命令
t
进行分区类型编号的修改操作,选择第几块分区,再设置类型编号为82。如这里设置第6个分区为swap分区。(输入命令L
可以查看所有16进制的类型编号。) - 输入命令
w
保存退出fdisk。 -
mkswap 设备文件名
:格式化swap分区。如:
mkswap /dev/sdb6
-
swapon 设备文件名
:启用该swap分区,如:
swapon /dev/sdb6
- 通过
free
命令可以查看swap分区的加载情况。 -
swapoff 设备文件名
可以停止某个swap分区,如:
swapoff /dev/sdb6