2023年7月14日 星期五

Ubuntu 22.04 Netplan setup Network

Ubuntu 22.04 Netpaln setup Network

基本設定

使用Ubuntu autoinstall 安裝完成後,發現Ubuntu 22.04 的網路設定方式已變更為netplan
設定檔是 /etc/netplan/00-installer-config.yaml
cat /etc/netplan/00-installer-config.yaml
netplan-00-installer-config.yaml



可以直接修改原檔或者將原檔更名,建立新的檔案
修改完成後,執行指令檢查
# sudo netplan try
沒有問題就會開始到數,在 120 秒以後還原設定,也可以直接按鍵生效。
或直接幸行指令啟用
# sudo netplan apply
netplan command





其它設定

參考官網 examples 有很多設定都可以直接使用.列出需要的做一下紀錄。

多筆路由設定

# source_routing.yaml 
---
network:
  version: 2
  renderer: networkd
  ethernets:
    ens192:
      addresses:
       - 192.168.3.30/24
      dhcp4: no
      routes:
       - to: 192.168.3.0/24
         via: 192.168.3.1
         table: 101
      routing-policy:
       - from: 192.168.3.0/24
         table: 101
    ens224:
      addresses:
       - 192.168.5.24/24
      dhcp4: no
      routes:
       - to: default
         via: 192.168.5.1
       - to: 192.168.5.0/24
         via: 192.168.5.1
         table: 102
      routing-policy:
        - from: 192.168.5.0/24
          table: 102
---

bonding active-backup 模式

# bonding.yaml  

---

network:
  version: 2
  renderer: networkd
  ethernets:
    ens192: {}
    ens224: {}
  bonds:
    bond0:
      dhcp4: yes
      interfaces:
        - ens192
        - ens224
      parameters:
        mode: active-backup
        primary: ens192
---


使用NetworkManager

在過程中去看到洪朝貴老師的介紹,了解到netplan是可以使用networkd和NetworkManager。Ubuntu 22 預設是使用networkd,也可以更改為NetworkManager。
因為Ubuntu autoinstall是使用最小安裝,預設沒有安裝NetworkManager,要更改前先安裝並啟動服務。
# sudo apt install network-manager
# sudo systemctl enable NetworkManager --now
systemctl enable NetworkManager --now


systemctl status NetworkManager









將原有設定檔修改,並在增改官網的範例,新增network_manager.yaml
# sudo nano network_manager.yaml
# sudo mv 00-installer-config.yaml 00-installer-config.yaml
network_manager.yaml








執行netplan apply,就可以轉換成NetworkManager,可以使用nmcli或nmtui來設定網路,指令可參考網頁

參考資料

2023年7月7日 星期五

Proxmox VE problem ipcc_send_rec[1] failed on Debian

Proxmox VE install problem ipcc_send_rec[1] failed Unable to load access control list: Connection refused on Debian


安裝Proxmox VE 7.4 至原有運作中Debain 11的主機中,官網有提供Install Proxmox VE on Debian 11 Bullseye,先用全新vm測試安裝,再安裝至實際主機


Proxmox VE測試安裝

# echo "deb [arch=amd64] http://download.proxmox.com/debian/pve bullseye pve-no-subscription" > /etc/apt/sources.list.d/pve-install-repo.list

# wget https://enterprise.proxmox.com/debian/proxmox-release-bullseye.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bullseye.gpg

# apt update && apt full-upgrade

# apt install pve-kernel-5.15

# systemctl reboot

# apt install proxmox-ve postfix open-iscsi

# apt remove linux-image-amd64 'linux-image-5.10*'

# update-grub

# apt remove os-prober

在vmware 環境下全新的vm安裝Proxmox VE 7.4-15成功。

Proxmox VE實際安裝

1.在主機實際安裝過程中,發生問題無法正常安裝 
apt install pve fail

2.檢查訊息錯誤服務 pvestatd.service
# systemctl pvestatd.service
systemctl pvestatd.service check









服務狀態出現以下訊息
ipcc_send_rec[1] failed: Connection refused
ipcc_send_rec[2] failed: Connection refused
ipcc_send_rec[3] failed: Connection refused
Unable to load access control list: Connection refused
3.檢查其它訊息
# pve-firewall status
pve-firewall status




# /var/log/syslog 有fail 
 pveproxy[1907]: /etc/pve/local/pve-ssl.key: failed to load local private key (key_file or key) at /usr/share/perl5/PVE/APIServer/AnyEvent.pm line 1998. 
failed to load local private key




Proxmox VE 修復過程

在官網的安裝網頁中有提到 ipcc_send_rec[1] failed錯誤,要檢查主機/etc/hosts是否有增加相關設定。
1.確認本機/etc/hosts
local /etc/hosts

 原有就有增加相關紀錄,
使用 # hostname --ip-address ,才發現不同,多一筆127.0.0.1
2.修改本機/etc/hosts
edit local /etc/hosts








先註解相關紀錄,使用 # hostname --ip-address ,符合官網條件
3.重新啟動,PVE服務正常啟動
pve service success


2023年7月6日 星期四

Ubuntu Server 22.04 cloud-init autoinstall

Ubuntu Server 22.04 use cloud-init autoinstall


Ubuntu 從20.04開始使用cloud-init 製作自動化安裝程序,不再使用Debian Preseeds。後續將使用cloud-init配置安裝設定,再通過 NoCloud 安式提供用戶資料。

測試環境

VMware esxi 7.0u2
ubuntu-22.04.2-live-server-amd64.iso

建立ISO過程使用ubuntu-22.04.2-live-server-amd64.iso示範

Ubuntu Server Autoinstall ISO制作流程

1.安裝相關套件
# sudo apt install p7zip-full wget curl xorriso vim
安裝相關套件








2.下載 Ubuntu Server 22.04.2 ISO
# wget https://releases.ubuntu.com/22.04.2/ubuntu-22.04.2-live-server-amd64.iso
下載 Ubuntu Server 22.04.2



3.將Ubuntu Server ISO 解壓縮至目錄 source-files
# mkdir ~/source-files
# 7z -y x ubuntu-22.04.2-live-server-amd64.iso -osource-files
將Ubuntu Server ISO 解壓縮至目錄 source-files




4.移除Ubuntu Server ISO 現有 MBR 和 EFI 分區(1-Boot-NoEmul.img 2-Boot-NoEmul.img)
# cd source-files/
# mv  '[BOOT]' ../BOOT
移除Ubuntu Server ISO 現有 MBR 和 EFI 分區映像











5.新增ISO開機Autoinstall 選項
新增ISO開機Autoinstall 選項

# vim ~/source-files/boot/grub/grub.cfg

開機選項指定cloud-init使用nocloud,直接存取iso的/server目錄資料(user-data)
menuentry "Autoinstall Ubuntu Server" {
    set gfxpayload=keep
    linux   /casper/vmlinuz quiet autoinstall ds=nocloud\;s=/cdrom/server/  ---
    initrd  /casper/initrd
}
grub.cfg add autoinstall










6.建立cloud-init的user-data和meta-data
create user-date meta-date
# mkdir ~/source-files/server
# touch ~/source-files/server/meta-data
# vim ~/source-files/server/user-data
user-data 為標準yaml格式,可以依需求編輯。也可以在已安裝的Ubuntu Server 主機中獲取,位置為 /var/log/installer/autoinstall-user-data,直接更名為user-data,放置於~/source-files/server
autoinstall-user-data




可以直接使用user-data,分別依BIOS或UEFI檔案下載,更名為user-data使用

7.驗證的user-data和meta-data
可以使用 cloud-init schema --config-file 驗證user-data和meta-data
# sudo cloud-init schema --config-file server/user-data
cloud-init schema --config-file server/user-data







# sudo cloud-init schema --config-file server/meta-data
cloud-init schema --config-file server/meta-data













在驗證meta-data過程時,有發生error,直接依需求加入"#cloud-conifg",就無error

8.製作安裝 Ubuntu Server 22.04 Autoinstall ISO
列出ubuntu-22.04.2-live-server-amd64.iso 資料
# xorriso -indev ~/ubuntu-22.04.2-live-server-amd64.iso -report_el_torito as_mkisofs
# xorriso -as mkisofs -r   -V 'Ubuntu 22.04 LTS AUTO (EFIBIOS)'   -o ../ubuntu-22.04-autoinstall.iso   --grub2-mbr ../BOOT/1-Boot-NoEmul.img   -partition_offset 16   --mbr-force-bootable   -append_partition 2 28732ac11ff8d211ba4b00a0c93ec93b ../BOOT/2-Boot-NoEmul.img   -appended_part_as_gpt   -iso_mbr_part_type a2a0d0ebe5b9334487c068b6b72699c7   -c '/boot.catalog'   -b '/boot/grub/i386-pc/eltorito.img'     -no-emul-boot -boot-load-size 4 -boot-info-table --grub2-boot-info   -eltorito-alt-boot   -e '--interval:appended_partition_2:::'   -no-emul-boot   .
make autoinstall iso
























9.使用VM驗證開機





參考資料


2023年7月4日 星期二

Red Hat Linux 9 /Rocky Linux 9 use kickstart autoinstall

Red Hat Linux 9 /Rocky Linux 9 use kickstart autoinstall


使用kickstart製作專屬的Red Hat Linux/Rocky Linux/Alma Linux 自動化安裝 ISO,可以自行定義各項設定,安裝過程不需要再設定。

測試環境

VMware esxi 7.0u2
Rocky-9.1-x86_64-dvd.iso

建立ISO過程適用Red Hat Linux/Rocky Linux/Alma Linux,使用Rocky Linux 9.1示範

ISO制作流程

1.在主機中使用wget直接下載 Rocky-9.1-x86_64-dvd.iso,並掛載/mnt

# cd /tmp
# wget https://download.rockylinux.org/pub/rocky/9/isos/x86_64/Rocky-9.1-x86_64-dvd.iso
# mount -o loop /tmp/Rocky-9.1-x86_64-dvd.iso /mnt
下載iso,掛載至/mnt











2.將 DVD iso 解壓至/tmp/rocky9
# mkdir /tmp/rocky9
# tar cf - -C /mnt . | tar xf - -C /tmp/rocky9
將 DVD iso 解壓至/tmp/rocky9








3.產生kickstart文件,存放為/tmp/rocky9/ks.cfg
有幾個方法可以取得
a.直裝新安裝一台Rocky Linux,在/root/anaconda-ks.cfg就是安裝過程各項定義,更改為ks.cfg直接使用
b.可以在redhat網站access.redhat.com/labs/kickstartconfig/ 自行生成
c.直接下載ks.cfg , 可以修改設定使用
產生kickstart文件,存放為/tmp/rocky9/ks.cfg













4.開機選項新增kickstart啟動項目(BIOS)
# vim /tmp/rocky9/isolinux/isolinux.cfg
開機選項增加kickstart選項

增加 lable kickstart 項目,指定使用ks.cfg
開機選項增加kickstart選項01











5.開機選項新增kickstart啟動項目(UEFI)
# vim /tmp/rocky9/EFI/BOOT/grub.cfg
UEFI開機選項增加kickstart選項01









增加 lable kickstart 項目,指定使用ks.cfg
UEFI開機選項增加kickstart選項02










6.製作ISO
# mkisofs -o /tmp/rocky9m.iso -b isolinux/isolinux.bin -J -R -l -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -e images/efiboot.img -no-emul-boot -graft-points -joliet-long -V "Rocky-9-1-x86_64-dvd" .
製作ISO01











製作ISO02








# isohybrid --uefi /tmp/rocky9m.iso
isohybrid檢查




# implantisomd5 /tmp/rocky9m.iso
implantisomd5產出






製作ISO前,先安裝相關工具
# dnf install syslinux isomd5sum xorriso
dnf 工具







8.產出ISO檔,可以在vm環境測試




參考資料