美文网首页
PVE下安装UNRAID

PVE下安装UNRAID

作者: 凨茗 | 来源:发表于2022-06-28 21:45 被阅读0次

    转载请注明出处

    1. 制作IMAGE磁盘镜像

    懒人专用可以直接看第六节

    • 下载unraid 6.10.2开心版-恩山无线论坛 (right.com.cn),解压后,按照config/go文件里面的描述进行修改,修改后的内容如下

      # 需要硬盘启动把下面三行注释去掉,并把更下面行里的export FLASH_GUID行去掉,硬盘分区卷标命名为UNRAID
      modprobe dummy_hcd
      modprobe g_mass_storage file=/boot/config/usb idVendor=0x1d6b idProduct=0x0104 iManufacturer=SanDisk iProduct=Ultra iSerialNumber=A11FAF09DD45C4A8
      export FLASH_GUID=1D6B-0104-A11F-AF09DD45C4A8
      
      # FLASH_GUID替换成unraid管理界面里看到的U盘GUID,也可以在启动进unraid后,通过shell终端修改/boot/config/go文件后重启生效
      # export FLASH_GUID=1D6B-0104-A11F-AF09DD45C4A8
      export REG_NAME=muziling
      LD_PRELOAD=/boot/config/BTRS.key /usr/local/sbin/emhttp &
      
    • 将修改后的UNRAID的启动文件上传到PVE上,这里是以 /home./work 为例,将UNRAID上传到该目录下

      feng@pve:~/work/UNRAID$ ls 
      bzfirmware  bzfirmware.sha256  bzImage  bzimage.sha256  bzmodules  bzmodules.sha256  bzroot  bzroot-gui  bzroot-gui.sha256  bzroot.sha256  changes.txt  config  EFI  license.txt  make_bootable.bat  make_bootable_linux  make_bootable_mac  memtest  syslinux
      
    • dd制作一个空的img镜像文件,并且格式为Fat32格式

      • 制作img镜像文件

        feng@pve:~/work$ dd if=/dev/zero of=UNRAID.img bs=1M count=4096
        1024+0 records in
        1024+0 records out
        1073741824 bytes (1.1 GB, 1.0 GiB) copied, 0.611998 s, 1.8 GB/s
        
        • 创建的img的大小可以根据需要更改,4096即4个G,也可以在创建完成虚拟机后再去更改大小
      • 设置分区表为GPT并分区

        root@pve:~/work# fdisk UNRAID.img
        
        Welcome to fdisk (util-linux 2.36.1).
        Changes will remain in memory only, until you decide to write them.
        Be careful before using the write command.
        
        Device does not contain a recognized partition table.
        Created a new DOS disklabel with disk identifier 0xc08265bd.
        
        Command (m for help): g
        Created a new GPT disklabel (GUID: 1AAE89AD-C608-574F-8EE7-4268C3719098).
        
        Command (m for help): n
        Partition number (1-128, default 1):
        First sector (2048-8388574, default 2048):
        Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-8388574, default 8388574):
        
        Created a new partition 1 of type 'Linux filesystem' and of size 4 GiB.
        
        Command (m for help): w
        The partition table has been altered.
        Syncing disks.
        
        
      • 使用kpartx挂载虚拟机磁盘分区

        root@pve:~/work# losetup /dev/loop0 UNRAID.img
        root@pve:~/work# kpartx -av /dev/loop0
        add map loop0p1 (253:2): 0 8386527 linear 7:0 2048
        
      • 格式化为Fat32格式

        root@pve:~/work# mkfs.vfat -F 32 /dev/mapper/loop0p1
        mkfs.fat 4.2 (2021-01-31)
        
    • /mnt下新建UNRAID文件夹,并且分区/dev/mapper/loop0n1,挂载到/mnt/UNRAID目录下,然后把上传的UNRAID安装文件复制到/mnt/UNRAID目录下

      • 新建 /mnt/UNRAID 文件夹

        feng@pve:~/work$ sudo rm -rf /mnt/UNRAID && sudo  mkdir /mnt/UNRAID
        
      • 挂载/dev/mapper/loop0n1到/mnt/UNRAID

        root@pve:~/work# mount /dev/mapper/loop0p1 /mnt/UNRAID/
        
      • 复制UNRAID的安装文件到/mnt/UNRAID

        root@pve:~/work# cp -rf UNRAID/* /mnt/UNRAID/
        
      • 最后/mnt/UNRAID的目录结构如下

        feng@pve:~/work$ ls /mnt/UNRAID/
        bzfirmware  bzfirmware.sha256  bzImage  bzimage.sha256  bzmodules  bzmodules.sha256  bzroot  bzroot-gui  bzroot-gui.sha256  bzroot.sha256  changes.txt  config  EFI  license.txt  make_bootable.bat  make_bootable_linux  make_bootable_mac  memtest  syslinux
        
    • 卸载设备

      root@pve:~/work# umount /mnt/UNRAID/
      root@pve:~/work# kpartx -dv /dev/loop0
      del devmap : loop0p1
      root@pve:~/work# losetup -d /dev/loop0
      
    • 将最后修改好的UNRAID.img文件复制到 /var/lib/vz/images 文件夹(不移动也行,为了local中方便看到,还是移动吧)

      feng@pve:~/work$ sudo cp UNRAID.img /var/lib/vz/template/iso/
      

    2. 创建虚拟机

    • General根据需要选择即可,点击NEXT
    image.png
    • 选择Do not user any media,点击NEXT
    image.png
    • System中Machine选择q35,BIOS选择OVMF(UEFI)
    image.png
    • 磁盘界面全部删除
    image.png
    • CPU根据需要设置,Type记得选host即可
    image.png
    • 内存也根据需要设置
    image.png
    • 网络Bridge选择PVE管理对应的口,最后创建

    3. 创建虚拟机磁盘

    • 方式1:使用importdisk导入

      • 将img镜像导入为虚拟机磁盘

        feng@pve:~/work$ sudo qm importdisk 101 /var/lib/vz/template/iso/UNRAID.img local
        
        • 其中101 为创建虚拟机的id,根据需要修改
        • local为虚拟机的位置,根据需要选择local还是local-lvm,这里因为删除了ThinPoolLV所以选的local
      • 修改虚拟机的lable为UNRAID(UNRAID要判断磁盘的标签)

        feng@pve:~/work$ sudo dosfslabel /var/lib/vz/images/101/vm-101-disk-0.raw UNRAID
        feng@pve:~/work$ sudo dosfslabel /var/lib/vz/images/101/vm-101-disk-0.raw
        UNRAID
        
        • /var/lib/vz/images/101/vm-101-disk-0.raw 为刚刚导入虚拟机磁盘的位置,/var/lib/vz/images/为存放虚拟机的文件,101虚拟机的标识号,vm-101-disk-0.raw为importdisk导入的时候硬盘的名字
        • 修改完后,使用dosfslabel可以查看修改的磁盘的label
      • 扩容创建的创建的磁盘

      • 来到虚拟机界面,找到刚刚导入的虚拟机磁盘,点击编辑,将Bus/Devices修改为Sata,点击add

    image.png
    • 方式2:创建一个虚拟磁盘然后写入

      • 首先判断是否安装qemu-nbd,如果没有安装,则安装qemu-utils

        • 判断是否安装

          qemu-nbd --version
          
        • 安装软件包 qemu-utils

          apt-get install qemu-utils
          
        • 开启nbd(不开启没有nbd的设备)

          modprobe nbd max_part=4
          
      • 为虚拟机创建一个磁盘,选中创建的虚拟机,点击Hardware>add>Hard Disk,如果使用的是SSD,可以勾选SSD emulation


        image.png
      • 挂载创建的磁盘

        如果创建虚拟机的时候,虚拟机硬盘选择放在的了local-lvm,则不需要挂载,他会默认挂载在/dev/mapper下面,可以跳过此步骤,不过后续命令中注意将写入的设备从/dev/nbd0换成/dev/mapper下对应的设备

        • 查看可用的nbd设备

          feng@pve:~/work$ ls /dev/nbd*
          /dev/nbd0  /dev/nbd1  /dev/nbd10  /dev/nbd11  /dev/nbd12  /dev/nbd13  /dev/nbd14  /dev/nbd15  /dev/nbd2  /dev/nbd3  /dev/nbd4  /dev/nbd5  /dev/nbd6  /dev/nbd7  /dev/nbd8  /dev/nbd9
          
        • 先挂载硬盘到nbd设备上,这里用的是nbd0,可以根据自己的需要进行更改

          feng@pve:~/work$ sudo qemu-nbd -c /dev/nbd0 /var/lib/vz/images/103/vm-103-disk-0.qcow2
          
      • 挂载好的虚硬盘有两种方式将UNRAID安装文件写入

        • 方式1:使用IMG镜像写入

          • 使用dd命令将URAID.img写入到挂载的设备里

            root@pve:~# dd if=/var/lib/vz/template/UNRAID.img of=/dev/nbd0
            
          • 查看写入的后的结果

            root@pve:~# mount /dev/nbd0 /mnt/UNRAID/
            root@pve:~# ls /mnt/UNRAID/
            bzfirmware  bzfirmware.sha256  bzImage  bzimage.sha256  bzmodules  bzmodules.sha256  bzroot  bzroot-gui  bzroot-gui.sha256  bzroot.sha256  changes.txt  config  EFI  license.txt  make_bootable.bat  make_bootable_linux  make_bootable_mac  memtest  syslinux
            
        • 方式2:格式化后挂载

          • 然后格式化设备格式,注意这里仍然只能选择vfat,否则无法启动

            feng@pve:~/work$ sudo mkfs.vfat -F 32 /dev/nbd0
            mkfs.fat 4.2 (2021-01-31)
            
          • 挂载格式化后的硬盘

            feng@pve:~/work$ sudo mount /dev/nbd0 /mnt/UNRAID/
            
          • 将UNRAID的内容复制进去

            feng@pve:~/work$ sudo cp -rf UNRAID/* /mnt/UNRAID/
            feng@pve:~/work$ ls /mnt/UNRAID/
            bzfirmware  bzfirmware.sha256  bzImage  bzimage.sha256  bzmodules  bzmodules.sha256  bzroot  bzroot-gui  bzroot-gui.sha256  bzroot.sha256  changes.txt  config  EFI  license.txt  make_bootable.bat  make_bootable_linux  make_bootable_mac  memtest  syslinux
            
      • 设置磁盘的label

        feng@pve:~/work$ sudo dosfslabel /dev/nbd0 UNRAID
        feng@pve:~/work$ sudo dosfslabel /dev/nbd0
        UNRAID
        
      • 卸载设备:

        feng@pve:~/work$ sudo umount /mnt/UNRAID
        feng@pve:~/work$ sudo qemu-nbd -d /dev/nbd0
        

    4. 启动URAID

    • 方式1:使用plopkexec启动

      • PlopKexec - Download下载plopKexec,然后解压,找到里面的ISO文件,在PVE点击local>ISO Images,选择上传,如果没有删除local-lvm也可以上传到local-lvm,哪里空间足,上传到哪

        image.png
      • 找到刚刚创建的虚拟机,注意使用plopKexec启动的时候,只能使用BIOS模式启动(不知道plopKexec是否有efi启动方式-_-),所以需要将BIOS改成SEASBIOS


        image.png
      • 点击Hardware>Add,添加一个CD/DVD磁盘驱动器,找到刚刚上传的plopKexec文件,点击确定

    image.png
    • 点击Options>Boot Order修改启动顺序,取消net,然后将plopKexec调到第一个,UNRAID的安装盘为第二个,取消net启动
    image.png
    • 设置完成后点击启动,即可

    • 方式2:使用UEFI启动

      • 将BIOS设置为OVMF,然后点击启动即可


        image.png
      • 启动界面


        image.png
      • 启动完成

    5. 参考文档及资源

    6. 懒人专用:使用上面的虚拟磁盘文件直接启动

    • 按照上面的流程,创建一台不带硬盘的虚拟机,点击Hardware->Add->Hard Disk,随便建立一个硬盘

      • 选中硬盘点击Detech


        image.png
      • 将下载的可启动硬盘文件上传到PVE,假设地址为/root/,将其名字修改上面创建的虚拟硬盘的名字,比如这里为vm-104-disk-0,所以最后虚拟硬盘的名字为vm-104-disk-0.qcow2

      • 将修改号名字的文件替换掉刚刚创建的虚拟机的磁盘文件,比如虚拟机的id为104,则执行

        root@pve:~# rm -f /var/lib/vz/images/104/*
        root@pve:~# cp vm-104-disk-0.qcow2 /var/lib/vz/images/104/
        
      • 点击然后重新双击刚刚Detech的虚拟机硬盘,进行配置


        image.png
      • 调整虚拟机的Boot Order以及Bios为OVMF即可启动

    7. 变更日志

    • 2022/6/27 创建
    • 2022/6/28 由于不分区会导致启动盘的容量太小,所以增加创建img镜像时同步创建分区,不分区直接写入仍然可行

    相关文章

      网友评论

          本文标题:PVE下安装UNRAID

          本文链接:https://www.haomeiwen.com/subject/geezvrtx.html