PVE下安装UNRAID

转载请注明出处

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镜像时同步创建分区,不分区直接写入仍然可行
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 162,825评论 4 377
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 68,887评论 2 308
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 112,425评论 0 255
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,801评论 0 224
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 53,252评论 3 299
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 41,089评论 1 226
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,216评论 2 322
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 31,005评论 0 215
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,747评论 1 250
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,883评论 2 255
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,354评论 1 265
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,694评论 3 265
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,406评论 3 246
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,222评论 0 9
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,996评论 0 201
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 36,242评论 2 287
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 36,017评论 2 281

推荐阅读更多精彩内容