保姆级PVE装机教程

安装 PVE

制作 U 盘启动器

这里我选择的是 Ventoy ,解压缩,插入 U 盘,然后点击安装即可

Ventoy刷U盘.png

需要注意的是,不要勾选「安全启动支持」

Ventoy注意事项.png

准备 PVE ISO 镜像

下载安装 PVE 安装镜像: PVE ISO 镜像下载地址

将下载好的 ISO 镜像,放入 Ventoy 刷好的 U 盘根目录即可

pve镜像.png

安装 PVE 系统

  1. 将 U 盘插入 R730XD 的后置 USB 接口(经测试,前置的安装不成功,不确定是个例还是本身就是这么设计的)

  2. 启动系统,选择 U 盘启动

    按 F11 选择「Boot Manager」 - 「One-shot UEFI Boot Menu」 - 「Disk connect to back USBxxxxx」

    boot manager.png

    oneshot.png

    选择USB启动.png

    选择pve镜像.png

  3. 安装过程

    注意: 由于安装过程没有全程录像/截图,部分插图从其他地方后补,IP 地址可能会不一样,以实际设置为准

    常规安装就行,选择安装的硬盘、设置国家/时区、设置管理网卡口(推荐用 1G 的口当管理口)、设置 IP 地址等,想详细的了解安装过程,可以参考这个视频: r730xd 安装pve

    pve安装完成.png

  4. 安装成功后,可以通过之前设置的 IP 地址,来访问 PVE 后台,帐号是 root,密码是安装过程中设置的

    pve后台登录.png

  5. 也可以通过 22 端口,通过 SSH 登录 Shell

    pve shell.png

PVE 系统初始化常用配置

  1. 更换「系统软件源」

    1
    2
    3
    4
    
    cp /etc/apt/sources.list /etc/apt/sources.list.bak
    sed -i 's|^deb http://ftp.debian.org|deb https://mirrors.ustc.edu.cn|g' /etc/apt/sources.list
    sed -i 's|^deb http://security.debian.org|deb https://mirrors.ustc.edu.cn/debian-security|g' /etc/apt/sources.list
    systemctl restart pvedaemon
  2. 更换「LXC镜像源」

    1
    2
    
    sed -i.bak 's|http://download.proxmox.com|https://mirrors.ustc.edu.cn/proxmox|g' /usr/share/perl5/PVE/APLInfo.pm
    systemctl restart pvedaemon
  3. 去除「无有效订阅提示」

    1
    2
    3
    4
    
    sed -i.bak "s/data.status === 'Active'/true/g" /usr/share/pve-manager/js/pvemanagerlib.js
    sed -i.bak "s/if (res === null || res === undefined || \!res || res/if(/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
    sed -i.bak "s/.data.status.toLowerCase() !== 'active'/false/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
    systemctl restart pveproxy
  4. 禁用「企业源」

    1
    2
    3
    
    mv /etc/apt/sources.list.d/pve-enterprise.list /etc/apt/sources.list.d/pve-enterprise.list.bak
    mv /etc/apt/sources.list.d/ceph.list /etc/apt/sources.list.d/ceph.list.bak
    apt update
  5. 删除「lvm-local」(按需,可以使可用空间最大化)

    在 PVE 管理后台打开 Shell 终端,使用 lsblk 查看硬盘情况

    1
    2
    3
    4
    5
    6
    7
    
    NAME         MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
    sda            8:0    0  7.3T  0 disk 
    ├─sda1         8:1    0 1007K  0 part 
    ├─sda2         8:2    0    1G  0 part /boot/efi
    └─sda3         8:3    0  7.3T  0 part 
      ├─pve-swap 252:0    0    8G  0 lvm  [SWAP]
      └─pve-root 252:1    0  7.3T  0 lvm  /

    编辑 local-lvm,勾选所有内容

    lvm-thin.png

    使用命令移除 pve-data

    1
    2
    3
    4
    5
    
    lvremove /dev/pve/data
    
    ## 会提示如下,输入 y 继续
    Do you really want to remove active logical volume pve/data? [y/n]: y
      Logical volume "data" successfully removed.

    使用命令扩大 root 分区

    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    lvextend -rl +100%FREE /dev/pve/root
    
    # 提示如下
    # Size of logical volume pve/root changed from <39.56 GiB (10127 extents) to <110.24 GiB (28221 extents).
    #  Logical volume pve/root successfully resized.
    # resize2fs 1.47.0 (5-Feb-2023)
    # Filesystem at /dev/mapper/pve-root is mounted on /; on-line resizing required
    # old_desc_blocks = 5, new_desc_blocks = 14
    # The filesystem on /dev/mapper/pve-root is now 28898304 (4k) blocks long.

    编辑 local 选择所有内容

    local.png

    移除 lvm-thin

    移除local-lvm.png

  6. PVE 添加及显示标注

    添加标记

    添加标记.png

    显示标记

    显示标记.png

PVE 一些不错的插件/脚本

  1. PVE 查看温度脚本

    1
    
    (curl -Lf -o /tmp/temp.sh https://raw.githubusercontent.com/a904055262/PVE-manager-status/main/showtempcpufreq.sh || curl -Lf -o /tmp/temp.sh https://mirror.ghproxy.com/https://raw.githubusercontent.com/a904055262/PVE-manager-status/main/showtempcpufreq.sh) && chmod +x /tmp/temp.sh && /tmp/temp.sh remod

    pve温度.png

  2. 综合脚本

    1
    
    wget -q -O /root/pve_source.tar.gz 'https://bbs.x86pi.cn/file/topic/2023-11-28/file/01ac88d7d2b840cb88c15cb5e19d4305b2.gz' && tar zxvf /root/pve_source.tar.gz && /root/./pve_source

    综合脚本.png

安装 Ubuntu(常规 ISO 镜像安装)

一般的 ISO 类型的镜像,都可以通过此种方式安装虚拟机

下载&上传镜像

下载地址: Ubuntu Server 24 LST ISO 镜像 ,我选择的是服务器版本的 Ubuntu 镜像,不需要 GUI 界面

可以通过上传功能,将本地的镜像上传到 PVE 上面,也可以通过在 PVE 上面粘贴下载链接直接下载

上传镜像.png

创建 Ubuntu 虚拟机

创建虚拟机.png

操作系统选择ubuntu.png

ubuntu系统默认.png

选择合适磁盘大小.pngcpu选择.pngimgimg

启动ubuntu.png

关于 CPU 型号

CPU 类型默认为 x86-64-v2-AES,选择与宿主机系统 CPU 相匹配的类型,一般默认即可。

如果想要完全匹配,可以将 CPU 类型设置为 host,这样虚拟机就会拥有与宿主机系统完全相同的 CPU 性能。

Ubuntu 安装过程

  1. 选择语言

    选择语言.png

  2. 选择键盘布局

    选择键盘布局.png

  3. 选择安装方式

    安装方式.png

  4. 配置网络(可以手动配置,也可以使用 DHCP 给自动分配(需要等一会儿))

    设置网络.png

  5. 配置代理(一般不需要)

    设置代理.png

  6. 配置存档镜像(建议修改成清华源: https://mirrors.tuna.tsinghua.edu.cn/ubuntu/

    设置源.png

  7. 存储方式(一路默认)

    存储设置.png

    存储方式2.png

    存储方式3.png

  8. 用户设置

    用户设置.png

  9. SSH 配置(选择安装 OpenSSH Server)

    安装ssh.png

  10. 软件包安装(按需,推荐全不选)

    10全不选.png

  11. 正常安装,如果安装过程中出现 CDROM 挂载错误,按回车继续就好

    安装失败.png

Ubuntu 常用初始化配置

  1. 修改引导顺序

    默认的启动引导顺序是: ide2 -> net0 -> scsi0(未启用)

    修改为 scsi0 为第一启动顺序且启用,否则可能会导致重启的时候卡在 (initramfs)界面无法启动

  2. 开启 root 用户

    1
    2
    
    sudo -i
    passwd root
  3. 允许 root 用户通过 SSH 登录

    1
    2
    3
    4
    5
    
    # 把 PermitRootLogin prohibit-password(也有可能是 PermitRootLogin without-password)改为 PermitRootLogin yes
    sudo vi /etc/ssh/sshd_config
    
    # 重启 ssh, 如果提示失败,就 sudo systemctl restart sshd
    sudo systemctl restart ssh
  4. 修改软件源

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    
    # 备份软件源
    sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
    
    #修改 sources.list 为以下内容
    
    ### 阿里的源
    deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
    
    # 阿里的和中科大的选一个就行
    
    ### 中科大的源
    deb http://mirrors.ustc.edu.cn/ubuntu/ focal main restricted universe multiverse
    deb http://mirrors.ustc.edu.cn/ubuntu/ focal-security main restricted universe multiverse
    deb http://mirrors.ustc.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
    deb http://mirrors.ustc.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
    
    
    # 更新 apt 缓存,升级包
    sudo apt update
    sudo apt upgrade -y
  5. / 可用空间和分配空间不匹配

    按照上述默认的存储方式安装,可能会出现明明分配了 100G 空间给 ububtu 系统,却只有50G(一半)分配给 /,可按下列方式进行修复

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    
    # 查看磁盘详细信息,可以看到总空间有 98G,但是只有 49G 分配给了 / 
    root@test:~# lsblk
    NAME                      MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
    sda                         8:0    0  100G  0 disk 
    ├─sda1                      8:1    0    1M  0 part 
    ├─sda2                      8:2    0    2G  0 part /boot
    └─sda3                      8:3    0   98G  0 part 
      └─ubuntu--vg-ubuntu--lv 252:0    0   49G  0 lvm  /
    sr0                        11:0    1    2G  0 rom  
    
    # 扩大逻辑卷(把所有剩余的可用空间分配给逻辑卷)
    sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
    
    # 扩大文件系统(保扩展后的逻辑卷可以使用)
    sudo resize2fs /dev/ubuntu-vg/ubuntu-lv
  6. 安装 docker / docker-compose

    docker 安装

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    
    # 更新包索引
    sudo apt update
    
    # 安装依赖
    sudo apt install apt-transport-https ca-certificates curl software-properties-common
    
    # 添加 Docker 的官方 GPG 密钥
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    
    # 设置稳定的存储库
    echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    
    # 再次更新包索引 & 安装 docker
    sudo apt update && sudo apt install docker-ce
    
    # 验证 docker 是否安装成功
    sudo docker --version

    docker-compose 安装

    1
    2
    3
    4
    5
    6
    7
    8
    
    # 下载 docker-compose 二进制文件
    sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    
    # 添加可执行权限
    sudo chmod +x /usr/local/bin/docker-compose
    
    # 验证 docker-compose 是否安装成功
    docker-compose --version
  7. 查看 IP 和 路由

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    
    # 查看 IP  信息
    ip addr show
    ---------------------------------
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host noprefixroute 
           valid_lft forever preferred_lft forever
    2: ens18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
        link/ether bc:24:11:72:ec:75 brd ff:ff:ff:ff:ff:ff
        altname enp0s18
        inet 192.168.1.102/24 metric 100 brd 192.168.1.255 scope global dynamic ens18
           valid_lft 5405sec preferred_lft 5405sec
        inet6 fe80::be24:11ff:fe72:ec75/64 scope link proto kernel_ll 
           valid_lft forever preferred_lft forever
    3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
        link/ether 02:42:38:be:27:4a brd ff:ff:ff:ff:ff:ff
        inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
           valid_lft forever preferred_lft forever
    
    # 查看路由信息
    ip route
    -------------------------------
    default via 192.168.1.1 dev ens18 proto dhcp src 192.168.1.102 metric 100 
    172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown 
    192.168.1.0/24 dev ens18 proto kernel scope link src 192.168.1.102 metric 100 
    192.168.1.1 dev ens18 proto dhcp scope link src 192.168.1.102 metric 100 
  8. 固定 IP

    /etc/netplan 目录,有类似于 50-cloud-init.yaml 的文件(没有的话就新建)

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    
    network:
      version: 2
      ethernets:
        ens18:
          dhcp4: no
          addresses:
            - 192.168.1.115/24
          routes:
            - to: default
              via: 192.168.1.1
          nameservers:
            addresses:
              - 8.8.8.8
              - 8.8.4.4

    重启服务

    1
    
    sudo netplan apply
  9. 修改 DNS

    有时候使用上面 sudo netplan apply 发现路由和IP地址是修改了,但是 DNS 服务却没有生效,比如,查出来的结果如下:

    1
    2
    3
    4
    5
    6
    7
    8
    
    $ nslookup github.com
    
    Server: 127.0.0.53
    Address: 127.0.0.53#53
    
    Non-authoritative answer:
    Name: github.com
    Address: 198.18.0.12

    原因是,系统有时仍然使用自带的 systemd-resolved 进行域名解析,这个时候可以通过修改 systemd-resolved 配置来解决这个问题。

    编辑: /etc/systemd/resolved.conf ,找到 [Resolve] 这一节,修改

    1
    
    DNS=192.168.1.113

    重启服务

    1
    
    sudo systemctl restart systemd-resolved

    使配置生效,删除原有的 /etc/resolv.conf

    1
    
    sudo rm /etc/resolv.conf

    然后创建新链接

    1
    
    sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf

    检查 DNS 设置

    1
    
    cat /etc/resolv.con

安装 Windows Server 2022

下载&上传镜像

我这里选择的是 WindowsServer2022

百度网盘: WindowsServer2022 ,提取码:pxmr

创建安装 Windows 虚拟机

目前没有遇到特别需要注意的地方,按照 Ubuntu ISO 镜像的安装过程进行就好

需要注意的是,Bios 和 总线/设备,最好按下列推荐的来设置(但是不这样好像也可以正常启动)

windows bios.png

windows 总线.png

安装 Openwrt(常规 img 镜像安装)

一般的,img 类型的镜像,都可以通过此种方式安装虚拟机

下载&上传镜像

我选择的是高大全版本的 Openwrt 镜像: bleachwrt-plus-20241014-x86-64-generic-squashfs-combined-efi.img.gz

电脑解压上传 img 文件

openwrt镜像上传.png

记录镜像路径

记录img镜像路径位置.png

忘记了也不用担心,可以在 Shell 里面查看

1
ls /var/lib/vz/template

img 镜像创建虚拟机

创建虚拟机,记住 VM ID(忘记也不要紧,在左侧侧边栏能看到)

openwrt创建虚拟机.png

其他步骤都跟上面安装 Ubuntu 系统类似,唯一需要注意的地方是,在安装操作系统的时候记得选择「不使用任何介质」

不使用介质.png

等虚拟机添加成功后,选择「分离」和「移除」硬盘

分离硬盘.png

移除硬盘.png

进入 PVE Shell,给刚刚创建的虚拟机,添加镜像磁盘

1
2
3
4
5
# 几个需要注意的点
# 1. VM ID 不要输错
# 2. 镜像要是 img 的,路径也不要写错
# 3. 最后一个参数是存储位置,根据实际情况填写(我的 local-lvm 已经被删除了,所以这里是 local)
qm importdisk 106 /var/lib/vz/template/iso/bleachwrt-plus-20241012-x86-64-generic-squashfs-combined-efi.img local

命令执行完成后,在虚拟机的硬件里面会出现一块「未使用的磁盘」,双击添加

openwrt添加硬盘.png

磁盘添加成功后,进入选项界面修改「引导顺序」(我们这里不需要使用 CD-ROM 启动,把这个勾选可以取消掉)

引导启动顺序.png

最后启动虚拟机,就可以进行系统的安装了

高大全版本 openwrt 设置

默认登录信息

IP:192.168.1.1

用户:root

密码:password

如果你想修改登录 IP 相关信息,可以通过修改 /etc/config/network 实现

1
2
3
4
5
6
7
8
9
# 修改 /etc/config/network,是 lan 口下面的配置(无论你是旁路由还是主路由模式,都是修改 lan 口)
config interface 'lan'
    option ipaddr '192.168.1.131'
    option netmask '255.255.255.0'
    option gateway '192.168.1.1'  # 网关
    option dns '8.8.8.8 8.8.4.4'  # DNS

# 然后重启
/etc/init.d/network restart

调整虚拟机磁盘大小

通过上述方式安装的 img 类型映象的虚拟机,磁盘空间大小等于 img 映象的大小,安装成功,磁盘占用就是 100%,所以我们需要重新调整下磁盘大小

我们需要的信息有两个,一个是虚拟机的 VM ID,一个是该虚拟机需要调整的 磁盘ID

调整磁盘大小.png

需要注意的是,并不是所有磁盘都是 scsi0 ,磁盘号和磁盘类型,跟你选择添加「未使用磁盘」时候的设置相关

磁盘id.png

在 PVE Shell 中使用下列命令调整磁盘大小

1
qm resize 106 scsi0 20G

安装黑群晖

下载&上传镜像

黑群晖的安装,需要用 rr 引导

百度网盘: rr 引导镜像 ,提取码:yra4

创建群晖虚拟机

  1. 整体步骤跟 Openwrt 一致

    …解压上传镜像

    …记录 VM ID / img 路径

    …不使用任何介质

    …分离/删除 未使用磁盘

    …qm importdisk 106 /var/lib/vz/template/iso/rr.img local

  2. 添加 qm 导入的 img 磁盘的时候有些不一样了,记得要将磁盘改成 sata 类型

    sata类型磁盘.png

    引导盘添加成功后,我们还需要添加一块数据盘(引导盘只是用来引导启动的,群晖还没有自己的磁盘), 有两种方式

    a. 将某块硬盘直通给群晖

    b. 增加一块虚拟磁盘

    添加sata硬盘.png

  3. 修改引导顺序

    rr引导顺序.png

  4. 因为我们后续安装群晖的时候需要在 rr 引导里面下载群晖的安装文件,默认的空间是不够用的,建议此时调整 rr 引导盘的大小

    1
    2
    
    # PVE Shell
    qm resize 106 sata0 4G
  5. 启动虚拟机进行群晖的安装

rr 引导安装过程

  1. 启动 rr

    启动安装.png

  2. 启动成功会提示

    rr启动成功.png

  3. 访问 http://192.168.2.193:7681 进行接下来的安装步骤,选择语言

    rr选择语言.png

  4. 选择型号,推荐 DS920+

    rr选择型号.png

  5. 选择版本,推荐 7.2

    rr选择版本.png

  6. 弹出页面,点击URL会自动下载当前引导的系统文件

    注意: 这个 URL 需要复制在浏览器再下一遍! rr 下载一遍,本机浏览器下载一遍!!后面要用!!!

    rr下载pac.png

  7. 选择编译引导

    rr编译引导.png

    rr引导下载pac.png

    如果下载一半失败,提示: 「检查网络或磁盘空间error 23:200」

    一般是 rr 引导的磁盘空间不够,按照本文中的「创建群晖虚拟机」章节中步骤 4 的操作即可解决

  8. rr 引导启动

    rr启动.png

    rr启动完毕.png

    启动完毕后,可以访问 5000 端口,进行群晖初始化设置

    补充说明:上图写的 ip地址不一定正确,可以使用 Synology Assistant 进行搜索

    百度网盘: Synology Assistant ,提取码:e2jj

    群晖助手.png

群晖安装过程

  1. 访问群晖管理页面

    群晖管理页面.png

  2. 选择「从计算机手动上传 .pat 文件」,文件为「rr 引导安装过程」步骤 6 中下载的 PAC 文件

    如果你上面忘记在浏览器下载了,也忘记保存 URL 链接了,也可以选择「自动从xxx下载」

    手动选择pac.png

  3. 清空数据

    清空数据1.png

    清空数据2.png

  4. 其他步骤就正常按照提示安装就行,需要注意的是关于更新的设置,选择手动更新

    群晖不更新.png

安装 CentOS

CentOS常用初始化配置

  1. 固定IP

    修改 /etc/sysconfig/network-scripts 目录下 ifcfg-eth0 文件,默认情况下该文件设置的为DHCP,内容如下

    默认情况.png

    修改为静态 IP

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    
    BOOTPROTO=static
    DEVICE=eth0
    ONBOOT=yes
    STARTMODE=auto
    TYPE=Ethernet
    USERCTL=no
    
    # 静态IP配置
    IPADDR=192.168.1.104 
    NETMASK=255.255.255.0
    GATEWAY=192.168.1.1
    DNS1=8.8.8.8
    DNS2=8.8.4.4

Proxmox VE(PVE)添加/挂载系统盘以外的磁盘

PVE安装后会默认将系统盘分出local和 local-lvm 对于系统盘以外的其他磁盘,都需要挂载才可以用PVE进行管理。

我的主机是128G固态做PVE的系统盘,750G机械用做数据盘,可以看到PVE所在的128G系统盘nvme0n1是挂载到PVE下的local(我把local和local-lvm合并了,所以只有一个local),同时可以识别到750G机械盘sda的分区,但是这个sda是没有挂载到PVE下的,我需要做的就是把sda挂载到PVE下用PVE管理它。

img

任务明确之后,打开shell命令终端,之后和linux系统进行分区的操作一致[ 1]

1
fdisk /dev/sda # /dev/sda是你要进行操作的分区

(可选步骤)我们可以键入m 查看帮助文档,会提示你键入什么字母表示什么含义:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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+回车,将所有存在的分区全部删除了:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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个:

1
2
3
4
5
6
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): 

之后提示设置分区的起始位置和终止位置(默认是起始地址和最后地址),我这里直接把全部空间分配到这个分区,所以直接两次默认即可:

1
2
3
4
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.

(可选步骤)如果你不想把全部的空间全部分配到这一个分区,可以起始位置选择默认值,终止位置填写磁盘大小,如下所示:

1
2
First sector (2048-1465149167, default 2048): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-1465149167, default 1465149167): +5G # 创建一个5G大小的分区

键入p查看分区是否创建成功:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
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写入创建的分区,保存退出:

1
2
3
4
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

回看PVE中的磁盘,我们已经将sda原本的分区删除,合并成一个分区了:

img

接下来给分区格式化文件系统,我这里将分区格式化为ext4:

1
mkfs -t ext4 /dev/sda1

分区也弄好了,文件系统也弄好了,接下来要将这个分区挂载到系统的文件目录下,linux中有一个目录/mnt专门用来挂载各种U盘,硬盘等:

1
2
mkdir /mnt/seagate # 创建需要挂载到的文件目录,seagate这个目录名字可以自定义
mount -t ext4 /dev/sda1 /mnt/seagate # 将sda1分区挂载到/mnt/seagate下

设置开机自动挂载:

1
echo “mount -t ext4 /dev/sda1 /mnt/seagate” >> /etc/rc.local

之后就可以回到PVE后台,按照下图中步骤操作,添加刚刚挂载好的磁盘:

img

这里内容选项,表示你可以放什么类型的东西,我全选了。

之后就可以通过PVE管理这个分区了:

img

总结一下全部步骤:

  1. 删除原有分区
  2. 创建新的分区
  3. 将创建的新分区格式化文件系统
  4. 将格式化好的分区挂载到系统目录下
  5. 设置开机自动挂载
  6. 回到PVE后台添加磁盘