首页 > 技术文章 > PVE 虚拟机CPU不支持VT-d,有多个硬盘无法直通怎么办?

sharkwave 2020-06-28 17:02 原文

Proxmox(PVE)安装时候只有一块硬盘,我使用了ssd作为系统盘,并安装各种系统在ssd上面,但是想把数据存放在普通的机械硬盘上,这样我们就需要添加另一块硬盘了!

本文以PVE 5.3-8为例,首选你装好硬盘启动后查看下硬盘的名称

从节点-磁盘确定哪个是安装的系统盘,哪个是第二块硬盘。或者可以到终端内使用命令查看 ls /dev/sd*

如果你是IDE硬盘那就是hd* 

例如dev下有sdb没有sdb1,那么表示sdb还没分区,先把这个硬盘分区,并格式化为ext4格式

分区命令fdisk /dev/sdb

按下面方式操作

Select (default p): (主分区)      
 
Partition number (1-4, default 1): (分区数)      
 
First sector (2048-167772159, default 2048): (分区参数)      
 
Last sector, +sectors or +size{K,M,G} (2048-167772159, default 167772159): (分区参数)      
 
Command (m for help): w

上面的sector会根据你硬盘大小改变,我们分一个区,所以直接默认回车就可以

分区之后就会多出一个 /dev/sdb1,之后我们格式化为ext4格式

mkfs -t ext4 /dev/sdc1

之后我们要挂载到pve上面,先新建一个挂载目录

mkdir -p /mnt/sdb1

然后把硬盘挂载信息写入 /etc/fstab

echo /dev/sdb1 /mnt/sdc1 ext4 defaults 1 2 >> /etc/fstab

------------------------------------------------------------以下fstab示例与参数解释------------------------------------------------------------------------

使用cat命令查看 /etc/fstab 文件内容如下:

# This file is edited by fstab-sync – see 'man fstab-sync' for details 
LABEL=/                 /                       ext3    defaults        1 1 
none                    /dev/pts                devpts  gid=5,mode=620  0 0 
none                    /dev/shm                tmpfs   defaults        0 0 
none                    /proc                   proc    defaults        0 0 
none                    /sys                    sysfs   defaults        0 0 
LABEL=SWAP-sda2         swap                    swap    defaults        0 0 
/dev/sda3                /home                   ext3    defaults        1 1 
/dev/hdc                /media/cdrom            auto    pamconsole,exec,noauto,managed 0 0 
/dev/fd0                /media/floppy           auto    pamconsole,exec,noauto,managed 0 0

格式为:

第一行:设备名或 UUID 或 lable(设备卷标名)
第二行:挂载点(要求目录为空)
第三行:该分区文件系统格式,如 ext、ext2、msdos、iso9660、nfs、swap 等
第四行:文件系统参数,即 mount 时要设定的状态,常用参数有 default、ro、rw、 suid、dev、exec、auto、nouser、async 等
第五行:dump 备份设置 (0 不备份,1 每天进行 dump 备份,2 不定时进行 dump 备份)
第五行:系统启动使用fsck检验分区。因为有些挂载点是不需要检验的,比如:虚拟内存swap、/proc等。0:不检验,1:要检验,2要检验,但比1晚检验,一般根目录设置为1,其他设置为2就可以了。

------------------------------------------------------------以上fstab示例与参数解释------------------------------------------------------------------------

如果这里你操作错误,可能会导致PVE无法启动,需要在启动时候接上显示器,进入修复模式 repair filesystem ,直接输入root密码即可进入

如果修改完后提示无法保存(只读),这时需要将/目录重新挂载为可读写模式 ,用命令

mount -o remount,rw,auto /

然后再对/etc/fstab进行修改,重启后系统就正常了。

 

fstab添加挂在信息后PVE reboot

在数据中心-存储中添加目录,ID随便写,目录就是在fstab中挂载的路径 /mnt/sdb1,内容选项可以全部选中。添加完毕,就可以在节点里看到你刚刚添加的目录了,这样就可以在虚拟机中添加这个额外的磁盘。

推荐阅读