แนวทางการ 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

ACASIS 2-bay hard drive enclosure รองรับ raid hardware

ACASIS 2-bay รุ่น EC-7352 คือกล่องใส่ HDD ขนาด 3.5 นิ้ว หรือ 2.5 นิ้ว สามารถใส่ HDD ได้ 2 ตัว และยังรองรับการทำ raid 4 modes จากนั้นก็นำมาใช้เป็น external HDD ผ่านทาง port usb นั้นเอง หลังจากเปิดตัวกล่องก็จะมีอุปกรณ์ตามรูป คู่มือเป็นภาษาจีน แต่สามารถไปอ่านคู่มือภาษาอังกฤษในตัวเว็บเขาได้ มีไขควงมาให้ด้วย เพราะจะมีน๊อตสำหรับยึด HDD เข้ากับตัวกล่อง สาย usb ที่แถมมาเป็นแบบ type-c ส่วนอีกฝั่งเป็น type-a และสามารถถอดออกเพื่อแปลงร่างเป็น type-c to type-c ได้เหมือนกัน adapter 12V/3A หูหิ้วไว้สำหรับดึงส่วนกลางของกล่องออกมาข้างนอก ส่วนช่องกลมๆนั้นคือพัดลมระบายความร้อน HDD แล้วก็ปุ่ม power ช่องเชื่อมต่อ usb type-c และก็ช่องเสียบไฟสำหรับ adaper เมื่อเราดึงหูหิ้วออกมา ตัวแกนกลางของตัวกล่องจะเป็นพลาสติก อุปกรณ์ที่เป็น hardware ทั้งหมดจะอยู่ส่วนนี้ ส่วนตัวกรอบภายนอกเป็นอลูมิเนียม งานค่อนข้างดีเลย switch สำหรับตั้ง raid mode ถ้ามองจากคู่มือจะสับสนนิดนึง เพราะว่าส่วนดำๆนั้นไม่ใช้ตำแหน่ง switch เพราะงั้นต้องระมัดระวังนิดนึง :D ...

September 24, 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

ติดตั้ง UPS ให้กับ Synology NAS

แน่นอนว่า NAS เราจะเปิดใช้งานกันแบบตลอด 24 ชั่วโมงอยู่แล้ว กรณีเกิดไฟตก ไฟดับ ส่งผลไม่ดีต่อข้อมูลใน HDD แน่นอน ซึ่งการจะมี UPS สำหรับ NAS ค่อนข้างเป็นสิ่งที่สำคัญ! เราเลือกใช้ UPS รุ่นที่มี USB Port เพื่อสามารถเชื่อมต่อกับ Synology ได้และประหยัดงบ เลยเลือกแบบมือสอง Eaton 5L800VA พร้อมแบตฯ ราคา 5xx บาท อุปกรณ์ต่อไปที่จำเป็นต้องมีคือสาย USB Type-A to Type-B หรือว่าสาย Printer นั่นเอง วิธีเชื่อมต่อสาย type-a เสียบเข้า Synology ส่วนฝั่งสาย type-b เสียบเข้า UPS จากนั้นเข้าไป Synology DSM เมนู Control Panel > Hardware & Power > UPS ติ๊ก Enable UPS support UPS type เลือก USB UPS Customize time เลือก 10 minute(s) เวลาตรงส่วนนี้คือเมื่อไฟดับครบ 10 นาที Synology จะเข้าสู่ระบบ Standby Mode ทดสอบการเชื่อมต่อ คลิกเลือกเมนู Device Information การเชื่อมต่อระหว่าง UPS กับ Synology ถือว่าเรียบร้อย ...

September 2, 2023 · 1 min · Teera

Zigbee Door Sensor หลังจากใช้งานมาเกือบ 2 ปี

วันนี้ (19/08/2023) zigbee door sensor แจ้งเตือน low battery หลังจากใช้งานมาเกือบ 2 ปี ซึ่งรุ่นที่เราใช้งานสามารถชาร์จ battery ได้ battery เหลือแค่ 5% โดยเราสั่งอุปกรณ์ตัวนี้จาก lazada เมื่อวันที่ 26/09/2021 ทุกครั้งที่มีการเปิด-ปิดประตู door sensor จะใช้งาน battery เพื่อส่งข้อมูลไปยัง zigbee2mqtt เราลองดึงข้อมูลย้อนหลัง 10 วัน เฉพาะการเปิดประตูอย่างเดียว จะอยู่ประมาณ 10-12 ครั้งต่อวัน type: custom:apexcharts-card graph_span: 10d span: end: day series: - entity: binary_sensor.front_door_sensor_contact transform: ‘return x === ‘‘on’’ ? 1 : 0;’ type: column group_by: func: sum duration: 1day ตัวอย่าง apexcharts-card

August 18, 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

รีวิว Silicon Power Ace A55 128GB SSD ราคา 3xx บาท

เนื่องด้วยโน๊ตบุ๊คเก่าใช้ HDD แบบจานหมุน 320GB SATA (5400 รอบต่อนาที) ก็เลยอยากเพิ่มความเร็วมันอีกนิดนึง โดยการมองหา SSD มาเปลี่ยนแทนของเดิม เลยไปเจอกับ Silicon Power Ace A55 รุ่นเริ่มต้น 128GB ราคาประมาณ 3xx บาท ซึ่งเพียงพอสำหรับการงาน สเปคคร่าวๆ ขนาด 2.5" sata 3 ความเร็วอ่าน 500 MB/s ความเร็วเขียน 450 MB/s ตัว ssd มีขนาดค่อนบาง สเปคบอกว่าประมาณ 7 มม. ถอด hdd ตัวเก่าออก แล้วก็ติดตั้ง ssd ตัวใหม่เข้าไปแทนของเดิม จากนั้นมาทดสอบกันเลย ตัวโน๊ตบุ๊คเราติดตั้งเป็น Linux Lite เพราะฉนั้นเราจะใช้ linux command ในการทดสอบ lsblk sudo hdparm -tT /dev/sda sudo hdparm -tT --direct /dev/sda สำหรับการอ่านแบบธรรมดา และ bypass cache disk ซึ่งผลออกมาประมาณ 200 MB/s ต่อไปทดสอบเขียนกันบ้าง ผลออกมาประมาณ 200 MB/s เหมือนกัน ...

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