PVE安装后会默认将系统盘分出local和local-lvm。对于系统盘以外的其他磁盘,都需要挂载才可以用PVE进行管理。
我的主机是128G固态做PVE的系统盘,750G机械用做数据盘,可以看到PVE所在的128G系统盘nvme0n1是挂载到PVE下的local(我把local和local-lvm合并了,所以只有一个local),同时可以识别到750G机械盘sda的分区,但是这个sda是没有挂载到PVE下的,我需要做的就是把sda挂载到PVE下用PVE管理它。

任务明确之后,打开shell命令终端,之后和linux系统进行分区的操作一致[1]:
fdisk /dev/sda # /dev/sda是你要进行操作的分区
(可选步骤)我们可以键入m
查看帮助文档,会提示你键入什么字母表示什么含义:
Command (m for help): m
Help:
DOS (MBR)
a toggle a bootable flag
b edit nested BSD disklabel
c toggle the dos compatibility flag
Generic
d delete a partition
F list free unpartitioned space
l list known partition types
n add a new partition
p print the partition table
t change a partition type
v verify the partition table
i print information about a partition
Misc
m print this menu
u change display/entry units
x extra functionality (experts only)
Script
I load disk layout from sfdisk script file
O dump disk layout to sfdisk script file
Save & Exit
w write table to disk and exit
q quit without saving changes
Create a new label
g create a new empty GPT partition table
G create a new empty SGI (IRIX) partition table
o create a new empty MBR (DOS) partition table
s create a new empty Sun partition table
首先键入d
删除,然后按照提示,输入你要删除的分区号。我这里反复键入d
+回车,将所有存在的分区全部删除了:
Command (m for help): d
Partition number (1,2,5-7, default 7):
Partition 7 has been deleted.
Command (m for help): d
Partition number (1,2,5,6, default 6):
Partition 6 has been deleted.
Command (m for help): d
Partition number (1,2,5, default 5):
Partition 5 has been deleted.
Command (m for help): d
Partition number (1,2, default 2):
Partition 2 has been deleted.
Command (m for help): d
Selected partition 1
Partition 1 has been deleted.
Command (m for help): d
No partition is defined yet!
键入n
创建分区,按照提示键入p
创建主分区,按照提示选择主分区的数量,我这里直接默认创建1个:
Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1):
之后提示设置分区的起始位置和终止位置(默认是起始地址和最后地址),我这里直接把全部空间分配到这个分区,所以直接两次默认即可:
First sector (2048-1465149167, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-1465149167, default 1465149167):
Created a new partition 1 of type 'Linux' and of size 698.6 GiB.
(可选步骤)如果你不想把全部的空间全部分配到这一个分区,可以起始位置选择默认值,终止位置填写磁盘大小,如下所示:
First sector (2048-1465149167, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-1465149167, default 1465149167): +5G # 创建一个5G大小的分区
键入p
查看分区是否创建成功:
Command (m for help): p
Disk /dev/sda: 698.64 GiB, 750156374016 bytes, 1465149168 sectors
Disk model: ST9750420AS
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0xd907c71c
Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 1465149167 1465147120 698.6G 83 Linux
键入w
写入创建的分区,保存退出:
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
回看PVE中的磁盘,我们已经将sda原本的分区删除,合并成一个分区了:

接下来给分区格式化文件系统,我这里将分区格式化为ext4:
mkfs -t ext4 /dev/sda1
分区也弄好了,文件系统也弄好了,接下来要将这个分区挂载到系统的文件目录下,linux中有一个目录/mnt专门用来挂载各种U盘,硬盘等:
mkdir /mnt/seagate # 创建需要挂载到的文件目录,seagate这个目录名字可以自定义
mount -t ext4 /dev/sda1 /mnt/seagate # 将sda1分区挂载到/mnt/seagate下
设置开机自动挂载:
echo “mount -t ext4 /dev/sda1 /mnt/seagate” >> /etc/rc.local
之后就可以回到PVE后台,按照下图中步骤操作,添加刚刚挂载好的磁盘:

这里内容
选项,表示你可以放什么类型的东西,我全选了。
之后就可以通过PVE管理这个分区了:

总结一下全部步骤:
- 删除原有分区
- 创建新的分区
- 将创建的新分区格式化文件系统
- 将格式化好的分区挂载到系统目录下
- 设置开机自动挂载
- 回到PVE后台添加磁盘
参考
- ^linux 系统磁盘管理(主分区和逻辑分区) https://www.cnblogs.com/du-z/p/10870162.html
格式化(格式化为ext4格式)
mkfs -t ext4 /dev/sda1
创建/mnt/sda1目录
mkdir -p /mnt/sda1
将/dev/sda1分区挂载在/mnt/sda1上
mount -t ext4 /dev/sda1 /mnt/sda1
将/mnt/sda1挂载写入到系统启动项
echo /dev/sda1 /mnt/sda1 ext4 defaults 1 2 >> /etc/fstab