iT邦幫忙

2024 iThome 鐵人賽

DAY 0
0
自我挑戰組

30 天homelab實做練習系列 第 12

Day-12- 外接 USB硬碟櫃 (二) 多顆磁碟分割、ZFS 建置練習

  • 分享至 

  • xImage
  •  

前言

每天實作、生文章遇到撞牆就有點糗。

這篇目標是把硬碟櫃的硬碟組成 ZFS RAID ,測看看讀寫效能

直覺試試 Proxmox 的功能

Proxmox 在 Web UI 點選功能: Disk -> ZFS -> Create ZFS

https://ithelp.ithome.com.tw/upload/images/20240927/20092552skXJ2sJaYG.png

因為 節儉 分散風險用了不同廠商不同大小的硬碟,
直接顯示錯誤

https://ithelp.ithome.com.tw/upload/images/20240927/200925528K0cNOXfEl.png

參考一些文章的作法,要先分割硬碟、切出同大小的來組 RAID

看來做分割後再並整的考量沒做進去。
(對應不同容量硬碟要組起來用的產物是 Unraid、mergerfs )

Linux 磁碟分割工具

Debian 體系下常用的有 fdisk、sfdisk

sfdisk 在處理多顆磁碟的應用

過去維運時的情境會是換一顆新磁碟,所以:

  • 先找切好的磁碟當範本,輸出
sfdisk -d /dev/sdX > parttable
  • 再拿這輸出的範本寫進另一顆
sfdisk /dev/sdY < parttable

這次練習找到其它作法來處理多顆硬碟的新分割 (這也可用VM加掛多個虛擬磁碟練習)

fdisk 搭配迴圈處理多顆磁碟

  • 先複習一下 fdisk 的操作
Help:

  GPT
   M   enter protective/hybrid MBR

  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
   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
  • 把切割順序、大小確定下來。試完可以按
  • F 確認餘下的空間
  • p 看切出了哪些分割區
  • d 清掉
  • 或直接 q 不做更動離開
  • 然後試試組成 script :
  • 直接整顆切來用大致長這樣
echo -e "g\nn\np\n1\n\n\nw" | fdisk /dev/sdX
  • 試一試切一塊、餘下的再切出第二塊
echo -e "n\n1\n\n+1000G\nn\n\n\n+10G\n\nw" | fdisk /dev/sdX
  • 然後試一下迴圈
 for disk in `fdisk -l | grep "^Disk \/dev\/sd[W-Z]" | awk '{print $2}' | cut -d: -f1`;do echo $disk ; done;
  • 組合在一起,對要施作的硬碟下手 (危險行為,特別是 Proxmox 直接是用 root 登 SSH )
for disk in `fdisk -l | grep "^Disk \/dev\/sd[W-Z]" | awk '{print $2}' | cut -d: -f1`;do   echo -e "n\n1\n\n+1000G\nn\n\n\n+10G\n\nw" | fdisk $disk  ;done;

然後 Proxmox 在 Web UI 點選功能: Disk -> ZFS -> Create ZFS
就可以看到切出來的分割區、並且可以成功組出 RAID
https://ithelp.ithome.com.tw/upload/images/20240927/20092552Kw2pHOxWM3.png

餘下的其它空間也切出來,可以另外再組 RAID
https://ithelp.ithome.com.tw/upload/images/20240927/20092552CuCUt82eh2.png


  • 練習到 script 。
  • 在 Proxmox 的操作介面裡,初看除了安裝時,web 介面都是整顆磁碟拿來用。還沒找到對「磁碟再分割」的 web 介面功能。
  • Proxmox web 介面下的 ZFS,只有 RAID LevelCompressionashift 可選。
  • 看 ZFS 的專文還有不少功能,不曉得能不能也適用在 Proxmox 底下的 ZFS

參考資料


上一篇
Day-11- Proxmox 下安裝 TrueNAS
下一篇
Day-13- 系統監控 glances 初探
系列文
30 天homelab實做練習16
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言