ข้ามไปยังเนื้อหาหลัก

การปรับใช้

หากต้องการปรับใช้ Glasswall Halo ใน Proxmox VM คุณสามารถเลือกได้จากสองตัวเลือกต่อไปนี้:

โปรดดู การแก้ไขปัญหา & คำถามที่พบบ่อย หรือ เอกสารประกอบของ Proxmox สำหรับข้อมูลเพิ่มเติม


การปรับใช้จาก OVA/VMDK

ขั้นตอนที่ 1 - อัปเดตโฮสต์ Proxmox VE

ตรวจสอบให้แน่ใจว่าโฮสต์ Proxmox ของคุณเป็นเวอร์ชันล่าสุดโดยเรียกใช้คำสั่งต่อไปนี้เพื่อป้องกันปัญหาความเข้ากันได้

01_Proxmox

  • การอัปเดตผ่านการเชื่อมต่อออนไลน์:
apt-get update
apt-get dist-upgrade

ขั้นตอนที่ 2 - สร้างเชลล์ VM ใหม่

  1. เข้าถึง Proxmox web UI แล้วคลิก Create Virtual Machine.

02_Proxmox

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

03_Proxmox

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

04_Proxmox

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

05_Proxmox

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

06_Proxmox

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

07_Proxmox

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

08_Proxmox

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

09_Proxmox

  1. ภายใต้แท็บ Confirm ให้ตรวจสอบสรุปแล้วคลิก Finish.

หมายเหตุ: อย่าเพิ่งเริ่มต้น VM.

10_Proxmox

ขั้นตอนที่ 3 - แตกไฟล์และถ่ายโอน OVA

  1. แตกไฟล์ OVA บนระบบภายในเครื่องของคุณโดยรันคำสั่งต่อไปนี้:

    tar -xvf Halo-FULL-<version>.ova

11_Proxmox

  1. ระบุไฟล์ .vmdk (เช่น Halo-full-<version>-disk1.vmdk)

  2. อัปโหลด .vmdk ไปยัง proxmox เช่น:

    scp Halo-FULL-...disk1.vmdk root@<Proxmox-IP>:/root/

12_Proxmox

ขั้นตอนที่ 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

13_Proxmox

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

14_Proxmox

ขั้นตอนที่ 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

SSH เข้าไปยังโฮสต์ Proxmox ของคุณ

หาก qm importdisk พบข้อผิดพลาด (เช่น “zeroinit”) หรือหากคุณต้องการการจัดการที่ตรงไปตรงมามากกว่า:

  1. สร้างโวลุ่มแบบ thin-provisioned สำหรับดิสก์ Halo:

    lvcreate -n vm-<VM_ID>-disk-0 -V 200G --thinpool thin-halo vg-halo
  2. แปลง .vmdk เป็นดิสก์ raw:

    qemu-img convert -f vmdk -O raw /root/Halo-FULL...disk1.vmdk /dev/vg-halo/vm-<VM_ID>-disk-0
  3. แนบดิสก์เข้ากับ VM:

    qm set <VM_ID> --ide0 halo-lvmthin:vm-<VM_ID>-disk-0

15_Proxmox

ขั้นตอนที่ 6 - การกำหนดค่า VM ขั้นสุดท้าย

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

16_Proxmox

  1. ใน VM -> Options:

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

17_Proxmox

ขั้นตอนที่ 7 - การบูตครั้งแรก

  1. เริ่มต้น VM ใน Proxmox UI

  2. เฝ้าดูคอนโซล; ในการบูตครั้งแรกอาจใช้เวลาถึงหนึ่งนาทีกว่าจะผ่าน “Probing EDD…”

  3. กำหนดค่าเครือข่าย ภายใน Halo VM:

    • สำหรับ static IP: ให้ทำตามคู่มือการกำหนดค่า Network Managerเพื่อดำเนินการตั้งค่า Halo ต่อ เมื่อเสร็จแล้วให้กลับมาที่นี่
    • สำหรับ DHCP: ตรวจสอบให้แน่ใจว่าเซิร์ฟเวอร์ DHCP ของคุณทำงานอยู่
  4. สรุปขั้นสุดท้าย การกำหนดค่าระดับแอปพลิเคชัน (เช่น start_halo.sh, syslog server, tls).

18_Proxmox

การปรับใช้จากข้อมูลสำรองของ Glasswall (.vma.zst)

หากทีม Glasswall ของเราได้จัดเตรียมข้อมูลสำรอง Proxmox ที่กำหนดค่าไว้ล่วงหน้าให้คุณแล้ว คุณสามารถข้ามขั้นตอน OVA/VMDK ได้

ขั้นตอนที่ 1 - การอัปโหลดและกู้คืนข้อมูลสำรอง

  1. คัดลอกไฟล์ข้อมูลสำรอง .vma.zst ไปยังไดเรกทอรีข้อมูลสำรองของโฮสต์ Proxmox ของคุณ:

    scp glasswall-halo-backup.vma.zst root@<Proxmox-IP>:/var/lib/vz/dump/
  2. ใน Proxmox UI ให้ไปที่ Node -> Local -> Backup.

  3. ค้นหาไฟล์ .vma.zst แล้วเลือก Restore.

  4. กำหนด VM ID ใหม่ (เช่น 101) และที่เก็บข้อมูลเป้าหมาย

19_Proxmox

ขั้นตอนที่ 2 - การตรวจสอบการแนบดิสก์

  1. หลังจากกู้คืนแล้ว ให้เปิด VM -> Hardware.
  2. ยืนยันว่าดิสก์หลักถูกแนบกับ IDE0.
  3. ตรวจสอบให้แน่ใจว่า BIOS ถูกตั้งค่าเป็น seaBIOS ภายใต้ VM -> Options.

ขั้นตอนที่ 3 - การเริ่มต้น VM

  1. เปิดเครื่อง VM.
  2. ตรวจสอบคอนโซลเพื่อดูข้อผิดพลาดต่างๆ
  3. กำหนดค่าการตั้งค่าเครือข่าย หากยังไม่ได้ตั้งค่า
  4. ดำเนินการตามขั้นตอนการกำหนดค่าขั้นสุดท้ายภายใน Halo

20_Proxmox


การแก้ไขปัญหาและคำถามที่พบบ่อย

ข้อผิดพลาด 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