วิธีย้าย ZFS Storage ไปยังเครื่องอื่น

จากบทความที่แล้ว เราได้ทำสร้าง ZFS Storage มาใช้งาน ส่วนบทความนี้ เราจะพูดถึงวิธีการย้าย ZFS Storage จากเครื่องนึง ไปสู่อีกเครื่องนึง สร้าง ZFS Storage ใช้งานกันเถอะ Server: PVE1 ทำการ export zpool ออกจาก PVE1 ซึ่ง pool_name ของเราชื่อ “nas” zpool export <pool_name> zpool export nas ถอด usb เครื่องเก่าไปเสียบเครื่องใหม่ (PVE3) กรณีเป็น HDD internal ก็ทำการ shutdown server แล้วถอดไปเสียบเครื่องใหม่ได้เลย Server: PVE3 ทำการ import zpool zpool import root@pve3:~# zpool import no pools available to import กรณีเจอข้อความ “no pools available to import” ให้เพิ่มชื่อ pool_name ...

October 21, 2023 · 1 min · Teera

แนวทางการ tuning ZFS Proxmox

จากบทความที่แล้ว ได้พูดถึงการปรับ limit ZFS ARC ส่วนบทความนี้จะเป็นการ tuning performance หลังจากใช้งาน ZFS Storage แล้วเจอปัญหาหลักๆคือ เรื่องใช้งาน IO สูงผิดปกติ จนตัว Proxmox ค้างบ่อยครั้ง แนวทางการ limit ZFS ARC ถ้าติดตั้ง Proxmox ด้วยระบบ ZFS จะมี pool เริ่มต้นมาให้คือ rpool ซึ่งเราจะสามารถใช้งานได้ทั้ง local และ local-zfs สำหรับเป็น storage vm, container zfs list เรียกดู list NAME USED AVAIL REFER MOUNTPOINT rpool 27.8G 29.4G 96K /rpool rpool/ROOT 11.5G 29.4G 96K /rpool/ROOT rpool/ROOT/pve-1 11.5G 29.4G 11.5G / rpool/data 16.2G 29.4G 112K /rpool/data result zfs list ...

October 12, 2023 · 2 min · Teera

สร้าง ZFS Storage ใช้งานกันเถอะ

จากบทความที่แล้ว ACASIS 2-bay ซึ่งเป็น hard drive enclosure ที่รองรับการทำ raid hardware มันไม่มี tool สำหรับ monitor การทำงานของตัว raid ด้วยความไม่อยากเสี่ยงข้อมูลหาย และก็ความอยากลองวิชา อีกทั้ง ZFS สามารถทำ raid ได้เหมือนกัน เพราะงั้นเรามาสร้าง ZFS Storage ใช้งานกันเถอะ ACASIS 2-bay hard drive enclosure รองรับ raid hardware การสร้าง ZFS Storage ใช้งานผ่านทาง Proxmox GUI + Command line เริ่มต้นสร้าง ZFS Storage เมื่อเสียบ usb drive เข้าตัว proxmox ให้เข้าไปส่วนของ Disks จะเจอ disk เพิ่มมา 2 ตัว /dev/sdb กับ /dev/sdc (จำชื่อไว้นะ) ทำการ format โดยเลือก disk แล้วกดปุ่ม Wipe Disk การสร้าง ZFS Storage ผ่านทาง Proxmox GUI (Disks -> ZFS -> Create: ZFS) ...

October 8, 2023 · 2 min · Teera

แนวทางการ limit ZFS ARC

กรณีเราติดตั้ง proxmox ด้วยระบบ ZFS ค่าทำงานเริ่มต้นของระบบคือ ใช้งาน memory 50% ของทั้งระบบ เพราะว่า ARC (Adaptive Replacement Cache) จำเป็นต้องนำไปใช้งาน เพื่อประสิทธิภาพของ IO เราก็จะเห็น memory usage วิ่งอยู่ 80% - 90% ตลอดเวลา แนวทางแก้ไขคือ ต้องกำหนด max ARC แล้วจะกำหนดค่าเท่าไหร่? ค่าเริ่มต้น 2GB 1GB ต่อการใช้งาน storage 1TB ยกตัวอย่าง zfs pool ขนาด 2TB ก็ควรกำหนด 2GB+1GB+1GB = 4GB echo "$[4 * 1024*1024*1024]" >/sys/module/zfs/parameters/zfs_arc_max กำหนด zfs_arc_max cat /sys/module/zfs/parameters/zfs_arc_max เรียกค่าของ zfs_arc_max nano /etc/modprobe.d/zfs.conf แก้ไขไฟล์ zfs.conf options zfs zfs_arc_max=4294967296 นำค่าที่ได้จาก cat zfs_arc_max มาใส่ update-initramfs -u -k all ...

September 26, 2023 · 1 min · Teera

GK2 Mini Pc (Intel J4105) มาเพิ่ม Proxmox Cluster

โจทย์ก็คือต้องการหา mini pc มาสำหรับ join proxmox cluster เพิ่มอีกตัวนึง เพื่อจะทำ Proxmox High Availability Cluster โดยตั้งใจว่าจะหาของใหม่ ในงบประมาณ 3,xxx บาท เนื่องจาก pve1, pve2 เป็นแบบมือสอง spec ของตัวเครื่อง gk2 mini pc น่าสนใจอยู่ 3 จุด CPU Intel J4105 RAM DDR4 12GB SSD 120GB หลังจากกดสั่งสินค้าไป รอประมาณ 7 วัน เนื่องจากสั่งสินค้าจากจีน เมื่อสินค้ามาถึง หน้าตากล่องสินค้าดูธรรมดา พร้อมมีตัวอักษร “Mini PC” เมื่อเปิดข้างในจะเจอตัวเครื่อง แล้วข้างล่างมี adapter 12v, สาย hdmi และ mount ยึดหลังจอคอม เปิดใช้งานตัวเครื่อง เพื่อเข้าไปยัง bios โดยไม่ค่อยมีเมนูอะไร memory 12288MB speed 2133MHz สามารถตั้ง auto power (จ่ายไฟแล้วตัวเครื่องทำงานทันที) ต่อไปเรามาดูรอบๆตัวเครื่องกันบ้าง โดยด้านหน้าจะมีแค่ไฟแสดงสถานะการเปิดเครื่อง กรณีเปิดใช้งานจะเป็นสีน้ำเงิน ด้านซ้ายของตัวเครื่องจะมีปุ่ม power ช่องระบายความร้อน cpu ข้างในมีพัดลมเป่าออกมา และก็จะมี port usb2.0 usb3.0 ด้านขวาไม่มีอะไร ย้ายไปดูด้านหลังเลยแระกัน hdmi 2 ช่อง lan แบบ gigabit โดยตัวเครื่องสามารถใช้ wifi ได้ทั้งแบบ 2.4GHz และ 5.0GHz มีช่อง usb2.0 มาแอบไว้นี้อีกช่อง แล้วก็ช่องจ่ายไฟ dc 12v ส่วนข้างบนที่เป็นตัวโยก ไว้สำหรับเปิดฝาใส่ hdd sata ได้อีกตัวนึง ตัวเครื่องจะมี windows 11 pro มาให้พร้อมใช้งาน แต่สำหรับเราทำการ format แล้วติดตั้ง proxmox ไปแล้วทำการ join cluster เรียบร้อย ข้อสังเกต ...

September 9, 2023 · 1 min · Teera

Ghost 5.x ใช้งาน SQLite

Ghost 5.x จะทำการ default database เป็น MySQL ซึ่งสมัยก่อนโน้น default database คือ sqlite BREAKING CHANGE: Switch from sqlite3 to MySQL by default by tianon · Pull Request #323 · docker-library/ghost แต่ถ้าเราอยากติดตั้ง ghost 5.x + sqlite ก็สามารถติดตั้งได้เหมือนกัน Configuration - Adapt your publication to suit your needs version: "3.8" services: ghost: image: ghost:latest container_name: ghost restart: always ports: - "2368:2368" environment: url: http://localhost:2368 database__client: sqlite3 database__connection__filename: "content/data/ghost.db" database__useNullAsDefault: true database__debug: false volumes: - ~/ghost:/var/lib/ghost/content docker-compose.yml “~/ghost/content/data/ghost.db” จะเป็น path สำหรับเก็บข้อมูล sqlite กรณีเราอยากย้าย database ก็แค่ copy file ghost.db ...

August 18, 2023 · 1 min · Teera

ย้าย Cloudflare Tunnel ไปเครื่องใหม่

เครื่องเก่า เริ่มต้นเราต้องหาไฟล์ cert.pem เพื่อจะทำการโยนไปเครื่องใหม่ โดยปกติจะอยู่ที่ path ~/.cloudflared กรณีหาไม่เจอให้ใช้คำสั่ง find . -name *.pem โดยใน forder .cloudflared จะมีไฟล์ .json และ cert.pem เราก็ทำการ copy ไปเครื่องใหม่ ด้วยคำสั่ง scp -r .cloudflared [email protected]:/root กรณีไฟล์ config.yml อยู่ใน folder .cloudflared ข้ามขั้นตอนนี้ไปได้เลย ต่อไปมาย้ายไฟล์ config.yml ซึ่งของเราอยู่ใน path /etc/cloudflared/config.yml แต่เราจะย้ายไปเครื่องใหม่ ให้อยู่ folder .cloudflared ด้วยคำสั่ง scp config.yml [email protected]:/root/.cloudflared เครื่องใหม่ หลังจากเราย้ายไฟล์เรียบร้อย ต่อไปจะเป็นขั้นตอนการ setup เครื่องใหม่ โดยทำการติดตั้ง cloudflared wget -q https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb && dpkg -i cloudflared-linux-amd64.deb ทดสอบเรียกใช้งาน cloudflared โดยการเช็คเวอร์ชั่น และก็เรียก tunnel list ถ้าสามารถเรียกใช้งานได้ แสดงว่าไฟล์ cert.pem ที่เราย้ายมาเครื่องใหม่ถูกต้อง ...

July 31, 2023 · 1 min · Teera

ติดตั้ง Frigate NVR โดยใช้ OpenVINO Detector ผ่านทาง Proxmox LXC

Frigate คือ NVR ที่มีการติดตั้ง AI object detection มาให้พร้อมใช้งาน โดยปกติแล้วการติดตั้ง Frigate เขาจะแนะนำให้ใช้ Google Coral TPU ซึ่งจะมีราคาค่อนข้างแพง และหาซื้อค่อนข้างยาก แต่ถ้าเราไม่มีก็สามารถใช้ CPU Detector ได้นะ ขั้นต่ำประมาณ 3 threads ทำงาน 100% ตลอดเวลา ฟังดูโหดร้ายมาก! แต่สำหรับบทความนี้เราจะใช้ OpenVINO Detector โดยเจ้าตัว OpenVINO จะสามารถใช้งานกับ CPU intel เจนเนอเรชั่น 6 ขึ้นไปเท่านั้น! และติดตั้งผ่านทาง Proxmox LXC วิธีเช็คว่าเครื่องเรารองรับ OpenVINO ให้เข้าไปที่ shell Proxmox จากนั้นใช้คำสั่ง lscpu | grep -e avx2 สามารถใช้คำสั่ง lscpu | grep -o avx หรือ lscpu | grep -o avx2 ถ้าเจอ Flags: avx2 แสดงว่าเครื่องรองรับ OpenVINO ...

July 29, 2023 · 2 min · Teera

Monitor Proxmox ด้วย Glances

หลังจากย้าย home assistant มาติดตั้ง VM บนตัว proxmox ก็ใช้งานได้ดี แต่สิ่งที่อยากได้เพิ่มเติมคือการ monitor proxmox ซึ่งถ้าใช้งานผ่านทาง web ui ของ proxmox ก็จะมี monitor dashboard ให้เราดูอยู่แล้ว แต่ถ้าเราอยากดูผ่านทาง home assistant ?! สำหรับตัว monitor tool ที่เราเลือกใช้คือ Glances เพราะมันสามารถเชื่อม integrations เข้ากับ home assistant ได้ง่ายมาก และมี entity sensor ที่จำเป็นมาเยอะพอสมควร เริ่มต้นให้เข้าไป shell ของ proxmox เพื่อจะทำการติดตั้ง glances rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED กรณีใช้งาน Proxmox PV 8 ให้รันคำสั่งข้างบนก่อน curl -L https://bit.ly/glances | /bin/bash การติดตั้ง glances ใช้เวลาพอสมควร เมื่อติดตั้งเสร็จ ให้ทำการสร้าง username และ password glances -w --username --password กำหนด username, password และทำการยืนยัน password อีกครั้ง จากนั้นตอบ yes เพื่อทำการ save password ทดสอบเข้าใช้งาน glances ผ่านทาง web ui ด้วย http://{IP_HOST}:61208/ ...

July 21, 2023 · 1 min · Teera

Upgrade Proxmox 7.4 to 8.0 อย่างง่ายๆ

ตอนนี้ Proxmox ได้ออกเวอร์ชั่นใหม่ 8.0 สำหรับคนอยากลองของใหม่ (อย่างเรา) ก็คงจะไม่รอช้าที่อัพเกรด โดยไฮไลท์หลักของเวอร์ชั่น 8.0 มีดังนี้ Debian 12 (Bookworm) Linux kernel 6.2 QEMU 8.0.2 LXC 5.0.2 ZFS 2.1.12 Ceph Quincy 17.2.6. อ่านเพิ่มเติม สำหรับ Server: pve3 เป็นเครื่องโน๊ตบุ๊คเก่าๆ ที่ปัจจุบันก็ยังใช้งานได้ดีอยู่ แต่มันค่อนข้างช้า โดยเราจะใช้เครื่องนี้ละ ทำการอัพเกรดไปเป็นเวอร์ชั่น 8.0 เริ่มการอัพเกรด Proxmox 8.0 ทำการ copy script ไปวางที่ shell จากนั้นก็ enter bash -c “$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/pve8-upgrade.sh)" พิมพ์ y จากนั้น enter เลือก yes แล้วก็ enter จากนั้นก็เลือก yes แล้ว enter ไปเรื่อยๆ จากนั้นก็รอ… (ใช้เวลาพอสมควร) จนถึงหน้าจอ Reboot Proxmox VE 8 now? เลือก yes แล้ว enter ...

July 16, 2023 · 1 min · Teera