PVE下安裝UNRAID

轉載請注明出處

1. 制作IMAGE磁盤鏡像

懶人專用可以直接看第六節(jié)

  • 下載unraid 6.10.2開心版-恩山無線論壇 (right.com.cn),解壓后,按照config/go文件里面的描述進行修改,修改后的內容如下

    # 需要硬盤啟動把下面三行注釋去掉,并把更下面行里的export FLASH_GUID行去掉,硬盤分區(qū)卷標命名為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
      
      • 創(chuàng)建的img的大小可以根據(jù)需要更改,4096即4個G,也可以在創(chuàng)建完成虛擬機后再去更改大小
    • 設置分區(qū)表為GPT并分區(qū)

      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掛載虛擬機磁盤分區(qū)

      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文件夾,并且分區(qū)/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. 創(chuàng)建虛擬機

  • General根據(jù)需要選擇即可,點擊NEXT
image.png
  • 選擇Do not user any media,點擊NEXT
image.png
  • System中Machine選擇q35,BIOS選擇OVMF(UEFI)
image.png
  • 磁盤界面全部刪除
image.png
  • CPU根據(jù)需要設置,Type記得選host即可
image.png
  • 內存也根據(jù)需要設置
image.png
  • 網(wǎng)絡Bridge選擇PVE管理對應的口,最后創(chuàng)建

3. 創(chuàng)建虛擬機磁盤

  • 方式1:使用importdisk導入

    • 將img鏡像導入為虛擬機磁盤

      feng@pve:~/work$ sudo qm importdisk 101 /var/lib/vz/template/iso/UNRAID.img local
      
      • 其中101 為創(chuàng)建虛擬機的id,根據(jù)需要修改
      • local為虛擬機的位置,根據(jù)需要選擇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
    • 擴容創(chuàng)建的創(chuàng)建的磁盤

    • 來到虛擬機界面,找到剛剛導入的虛擬機磁盤,點擊編輯,將Bus/Devices修改為Sata,點擊add

image.png
  • 方式2:創(chuàng)建一個虛擬磁盤然后寫入

    • 首先判斷是否安裝qemu-nbd,如果沒有安裝,則安裝qemu-utils

      • 判斷是否安裝

        qemu-nbd --version
        
      • 安裝軟件包 qemu-utils

        apt-get install qemu-utils
        
      • 開啟nbd(不開啟沒有nbd的設備)

        modprobe nbd max_part=4
        
    • 為虛擬機創(chuàng)建一個磁盤,選中創(chuàng)建的虛擬機,點擊Hardware>add>Hard Disk,如果使用的是SSD,可以勾選SSD emulation


      image.png
    • 掛載創(chuàng)建的磁盤

      如果創(chuàng)建虛擬機的時候,虛擬機硬盤選擇放在的了local-lvm,則不需要掛載,他會默認掛載在/dev/mapper下面,可以跳過此步驟,不過后續(xù)命令中注意將寫入的設備從/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,可以根據(jù)自己的需要進行更改

        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

    • 找到剛剛創(chuàng)建的虛擬機,注意使用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. 懶人專用:使用上面的虛擬磁盤文件直接啟動

  • 按照上面的流程,創(chuàng)建一臺不帶硬盤的虛擬機,點擊Hardware->Add->Hard Disk,隨便建立一個硬盤

    • 選中硬盤點擊Detech


      image.png
    • 將下載的可啟動硬盤文件上傳到PVE,假設地址為/root/,將其名字修改上面創(chuàng)建的虛擬硬盤的名字,比如這里為vm-104-disk-0,所以最后虛擬硬盤的名字為vm-104-disk-0.qcow2

    • 將修改號名字的文件替換掉剛剛創(chuàng)建的虛擬機的磁盤文件,比如虛擬機的id為104,則執(zhí)行

      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 創(chuàng)建
  • 2022/6/28 由于不分區(qū)會導致啟動盤的容量太小,所以增加創(chuàng)建img鏡像時同步創(chuàng)建分區(qū),不分區(qū)直接寫入仍然可行
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容