Home Assistant (簡稱 HA)是可以統合各種不同智慧家庭裝置以統一控制的軟體, 有多種版本可以安裝在不同的裝置上, 如Raspberry Pi 或是一般 PC 等,也有不同的安裝方式與版本, 包括 Container 或虛擬機等。
個人採用 HA OS 在 Linux 的虛擬機(KVM)上運作,安裝至今數個月,大致都正常. 但有時遇到核心更心時, 有時就會更新不了, 一開始並不知道原因, 安裝失敗沒有明顯的說明, 後來才知道是儲存空間不足, 每次要升級時, 總是要把 3X MB的備份資料砍到剩一個才能順利更新完成。
但今天收到 2023.2.0 的更新通知時, 怎麼也無法更新, 系統顯示還有 1.3GB 的空間, 但記錄檔卻一直顯示至少需要 1.3GB, 也就是下載更新資料後, 儲存空間就不足。火大! 來擴充儲存空間看看。
HA OS 中可以查到預設的資料存放區在第8個分割區(/dev/sda8)
下載的 HA OS 虛擬機磁碟檔並不大, 掛到虛擬機時則共有 6GB 儲存空間, 為了查詢與變更資料, 首先務必將所用的磁碟檔案名稱與儲存位置記住, 同時關閉虛擬機。個人使用 Ubuntu Linux Server 22.04.1作業系統, 以下所有指令皆是在此作業系統中。
首先用查看虛擬機磁碟檔的狀態 (檔名請依照自己環境更動)
sudo qemu-img info haos_generic-x86-64-9.3.qcow2
可以看到相關的資訊
這個虛擬磁碟內部共分割成8個分割區, 第8個分割區即為資料區
接下來擴充虛擬磁碟容量, 多個1GB應該就夠, 但避免未來又要再搞一次, 直接先加個 5GB 看看
sudo qemu-img resize haos_generic-x86-64-9.3.qcow2 +5G
再看一下資訊
sudo qemu-img info haos_generic-x86-64-9.3.qcow2
容量有變了, 但分割區尚未變變, 所以仍只用了相同的容量, 接下來就要擴充分割區容量, 這時就要先將虛擬磁碟檔先掛到系統當中, 請執行以下相關指令
sudo modprobe nbd max_part=8
掛載至系統中
sudo qemu-nbd --connect=/dev/nbd0 haos_generic-x86-64-9.3.qcow2
用 fdisk 看看
sudo fdisk /dev/nbd0
將所有未使用的空間分配至第八個分割區
sudo growpart /dev/nbd0 8
再用 fdisk 看看是不是有變動
sudo fdisk -l /dev/nbd0
接下來檢查分割區檔案系統
sudo e2fsck -f /dev/nbd0p8
再變更分割區檔案系統大小
sudo resize2fs /dev/nbd0p8
確定完成後將虛擬機磁碟檔卸載
sudo qemu-nbd --disconnect /dev/nbd0
完成後再重新啟動 HA OS 虛擬機, 開機完成後就可以看到系統儲存空間增加了
應該可以撐一陣子了
Be the first to comment on "增加 Home Assistant OS 虛擬機儲存空間"