การปรับใช้
หากต้องการปรับใช้ Glasswall Halo ใน Proxmox VM คุณสามารถเลือกได้จากสองตัวเลือกต่อไปนี้:
โปรดดู การแก้ไขปัญหา & คำถามที่พบบ่อย หรือ เอกสารประกอบของ Proxmox สำหรับข้อมูลเพิ่มเติม
การปรับใช้จาก OVA/VMDK
ขั้นตอนที่ 1 - อัปเดตโฮสต์ Proxmox VE
ตรวจสอบให้แน่ใจว่าโฮสต์ Proxmox ของคุณเป็นเวอร์ชันล่าสุดโดยเรียกใช้คำสั่งต่อไปนี้เพื่อป้องกันปัญหาความเข้ากันได้

- การอัปเดตผ่านการเชื่อมต่อออนไลน์:
apt-get update
apt-get dist-upgrade
ขั้นตอนที่ 2 - สร้างเชลล์ VM ใหม่
- เข้าถึง Proxmox web UI แล้วคลิก Create Virtual Machine.

- ภายใต้แท็บ General ให้ระบุชื่อ VM (เช่น
Glasswall-Halo)

- ภายใต้แท็บ OS ให้เลือกประเภท Linux แบบทั่วไป (เช่น
Linux 5.x/6.x) คุณไม่จำเป็นต้องใช้ ISO

- System:
- BIOS: ตั้งค่าเป็น seaBIOS.
- SCSI controller: VirtIO SCSI.

- Hard disk: ลบดิสก์เริ่มต้นออก (เราจะเชื่อมต่อดิสก์ที่แปลงแล้วในภายหลัง)

- CPU: ตั้งค่าประเภทเป็น host เพื่อประสิทธิภาพสูงสุด; จัดสรรอย่างน้อย 16 คอร์

- Memory: จัดสรร 32–64 GB.

- Network: แนบ NIC เข้ากับ bridge ที่ต้องการ (เช่น
vmbr0) โดยทั่วไปใช้โมเดล VirtIO.

- ภายใต้แท็บ Confirm ให้ตรวจสอบสรุปแล้วคลิก Finish.
หมายเหตุ: อย่าเพิ่งเริ่มต้น VM.

ขั้นตอนที่ 3 - แตกไฟล์และถ่ายโอน OVA
-
แตกไฟล์ OVA บนระบบภายในเครื่องของคุณโดยรันคำสั่งต่อไปนี้:
tar -xvf Halo-FULL-<version>.ova

-
ระบุไฟล์
.vmdk(เช่นHalo-full-<version>-disk1.vmdk) -
อัปโหลด
.vmdkไปยัง proxmox เช่น:scp Halo-FULL-...disk1.vmdk root@<Proxmox-IP>:/root/

ขั้นตอนที่ 4 - เตรียม storage (LVM-Thin เป็นตัวเลือก)
ทำไมต้องใช้ LVM-Thin? โดยให้การจัดสรรพื้นที่แบบ thin provisioning และรองรับ snapshot จึงเหมาะอย่างยิ่งสำหรับดิสก์ VM ที่มีขนาดใหญ่หรือมีการอัปเดตบ่อย อย่างไรก็ตาม คุณยังสามารถแนบดิสก์เข้ากับ storage แบบ directory-based หรือประเภท storage อื่น ๆ ใน Proxmox ได้เช่นกัน
ตัวอย่างขั้นตอนในการสร้าง LVM-Thin:
# Identify a free disk, e.g. /dev/sdb
pvcreate /dev/sdb
vgcreate vg-halo /dev/sdb
# Create a thin pool consuming all space
lvcreate -l 100%FREE -T -n thin-halo vg-halo

หลังจากสร้าง thin pool แล้ว ให้เพิ่มผ่าน Datacenter -> Storage -> Add -> LVM-Thin เลือก vg-Halo เป็น volume group และ Thin-Halo เป็น thin pool

ขั้นตอนที่ 5 - แปลงและแนบดิสก์ Halo
ตัวเลือก A: qm importdisk
SSH เข้าไปยังโฮสต์ Proxmox ของคุณ
หากใช้ storage ที่รองรับการ import (เช่น directory หรือ LVM-Thin) ให้รัน:
qm importdisk <VM_ID> /root/Halo-FULL-...disk1.vmdk <StorageName> --format qcow2
<Vm_id>คือ ID ที่กำหนดให้กับ VM ของคุณ (เช่น 100)<Storagename>คือปลายทาง storage ของ Proxmox (เช่นlocal-lvm,Halo-lvmthin)- หลังจากเสร็จสิ้น ให้ไปที่ vm -> hardware ค้นหา “unused disk” จากนั้น edit และเลือก ide0
ตัวเลือก B (แนะนำ): การแปลงแบบ manual (qemu-img)
SSH เข้าไปยังโฮสต์ Proxmox ของคุณ
หาก qm importdisk พบข้อผิดพลาด (เช่น “zeroinit”) หรือหากคุณต้องการการจัดการที่ตรงไปตรงมามากกว่า:
-
สร้างโวลุ่มแบบ thin-provisioned สำหรับดิสก์ Halo:
lvcreate -n vm-<VM_ID>-disk-0 -V 200G --thinpool thin-halo vg-halo -
แปลง
.vmdkเป็นดิสก์ raw:qemu-img convert -f vmdk -O raw /root/Halo-FULL...disk1.vmdk /dev/vg-halo/vm-<VM_ID>-disk-0 -
แนบดิสก์เข้ากับ VM:
qm set <VM_ID> --ide0 halo-lvmthin:vm-<VM_ID>-disk-0

ขั้นตอนที่ 6 - การกำหนดค่า VM ขั้นสุดท้าย
- In VM -> Hardware:
- IDE0 ควรเป็นดิสก์ Halo หลักของคุณ
- ยืนยันว่า “Virtio SCSI” แสดงอยู่เป็นตัวควบคุม SCSI

-
ใน VM -> Options:
- ตรวจสอบให้แน่ใจว่า Boot order ตั้งค่า IDE0 เป็นลำดับแรก
- ตรวจสอบว่า BIOS คือ seaBIOS
- ควรเปิดใช้งาน KVM hardware virtualization และ ACPI
-
ทางเลือก: สามารถติดตั้ง QEMU guest agent ภายใน Halo VM เพื่อใช้ฟังก์ชันการทำงานขั้นสูง

ขั้นตอนที่ 7 - การบูตครั้งแรก
-
เริ่มต้น VM ใน Proxmox UI
-
เฝ้าดูคอนโซล; ในการบูตครั้งแรกอาจใช้เวลาถึงหนึ่งนาทีกว่าจะผ่าน “Probing EDD…”
-
กำหนดค่าเครือข่าย ภายใน Halo VM:
- สำหรับ static IP: ให้ทำตามคู่มือการกำหนดค่า Network Managerเพื่อดำเนินการตั้งค่า Halo ต่อ เมื่อเสร็จแล้วให้กลับมาที่นี่
- สำหรับ DHCP: ตรวจสอบให้แน่ใจว่าเซิร์ฟเวอร์ DHCP ของคุณทำงานอยู่
-
สรุปขั้นสุดท้าย การกำหนดค่าระดับแอปพลิเคชัน (เช่น start_halo.sh, syslog server, tls).

การปรับใช้จากข้อมูลสำรองของ Glasswall (.vma.zst)
หากทีม Glasswall ของเราได้จัดเตรียมข้อมูลสำรอง Proxmox ที่กำหนดค่าไว้ล่วงหน้าให้คุณแล้ว คุณสามารถข้ามขั้นตอน OVA/VMDK ได้
ขั้นตอนที่ 1 - การอัปโหลดและกู้คืนข้อมูลสำรอง
-
คัดลอกไฟล์ข้อมูลสำรอง
.vma.zstไปยังไดเรกทอรีข้อมูลสำรองของโฮสต์ Proxmox ของคุณ:scp glasswall-halo-backup.vma.zst root@<Proxmox-IP>:/var/lib/vz/dump/ -
ใน Proxmox UI ให้ไปที่ Node -> Local -> Backup.
-
ค้นหาไฟล์
.vma.zstแล้วเลือก Restore. -
กำหนด VM ID ใหม่ (เช่น 101) และที่เก็บข้อมูลเป้าหมาย

ขั้นตอนที่ 2 - การตรวจสอบการแนบดิสก์
- หลังจากกู้คืนแล้ว ให้เปิด VM -> Hardware.
- ยืนยันว่าดิสก์หลักถูกแนบกับ IDE0.
- ตรวจสอบให้แน่ใจว่า BIOS ถูกตั้งค่าเป็น seaBIOS ภายใต้ VM -> Options.
ขั้นตอนที่ 3 - การเริ่มต้น VM
- เปิดเครื่อง VM.
- ตรวจสอบคอนโซลเพื่อดูข้อผิดพลาดต่างๆ
- กำหนดค่าการตั้งค่าเครือข่าย หากยังไม่ได้ตั้งค่า
- ดำเนินการตามขั้นตอนการกำหนดค่าขั้นสุดท้ายภายใน Halo

การแก้ไขปัญหาและคำถามที่พบบ่อย
ข้อผิดพลาด zeroinit
สิ่งนี้อาจเกิดขึ้นเมื่อใช้ qm importdisk กับประเภทพื้นที่จัดเก็บบางประเภทหรือ QEMU เวอร์ชันที่เก่ากว่า
วิธีแก้ไข: ใช้การแปลงแบบแมนนวลด้วย
qemu-img.
ปัญหาการกำหนดค่าเครือข่าย
- หากอินเทอร์เฟซของ VM มีชื่อแตกต่างออกไป (เช่น
ens18เทียบกับeth0) ให้ปรับไฟล์ifcfg-ของคุณให้สอดคล้องกัน - ใช้
nmcli device showหรือip aเพื่อยืนยันชื่ออินเทอร์เฟซ
ทำไมต้องใช้ IDE + seaBIOS?
- อิมเมจ RHEL ที่เสริมความปลอดภัยตาม STIG ต้องใช้ BIOS แบบดั้งเดิมสำหรับการกำหนดค่าการบูตบางแบบ
- IDE ช่วยให้มั่นใจได้ถึงความเข้ากันได้ในวงกว้างและหลีกเลี่ยงปัญหาที่ทราบแล้วกับไดรเวอร์เสมือนบางตัว
แนวทางปฏิบัติที่ดีที่สุดเพิ่มเติม
- Snapshots: ใช้ประโยชน์จาก snapshots ของ Proxmox หรือ snapshots ของ LVM-Thin เพื่อย้อนกลับได้อย่างรวดเร็ว
- การสำรองข้อมูล: ใช้
vzdumpเป็นประจำเพื่อสร้างไฟล์สำรองแบบบีบอัด (.vma.zst) - การตรวจสอบทรัพยากร: คอยติดตามการใช้งาน CPU และหน่วยความจำสำหรับโหลดงานจริง
เริ่มบริการ Glasswall Halo
- รันคำสั่งต่อไปนี้เพื่อเปิดใช้งาน Glasswall Halo:
sudo start_halo.sh
- เมื่อสคริปต์ทำงานเสร็จแล้ว ให้ยืนยันว่าบริการและ pods ของ Glasswall Halo ทั้งหมดกำลังทำงานอยู่โดยใช้คำสั่งต่อไปนี้:
kubectl get pods
เข้าถึง Glasswall Portal
-
ขึ้นอยู่กับการกำหนดค่าเครือข่ายและ/หรือการกำหนดค่าโดเมนของคุณ ตอนนี้คุณสามารถทำความสะอาดไฟล์ได้โดยเข้าถึง Glasswall portal ผ่านชื่อโดเมนและ/หรือ ip address ที่กำหนดให้กับ virtual machine ของคุณ
-
รันคำสั่งต่อไปนี้เพื่อยืนยันสถานะเครือข่าย:
sudo netstat -tlnp