Synology off-site backup ข้อมูลด้วย rsync

กฏการสำรองข้อมูลแบบ 3-2-1 เป็นการสำรองข้อมูลอย่างปลอดภัย โดยจะถูกแบ่งเป็น 3 ส่วน มีสำเนาข้อมูลของคุณอย่างน้อย 3 ชุด เก็บสำเนาเหล่านี้ไว้บนสื่อที่แตกต่างกัน 2 ชนิด จัดเก็บสำเนาไว้นอกไซต์อย่างน้อย 1 ชุด วันนี้เลยจะมาแนะนำวิธีการสำเนาข้อมูลไว้นอกไซต์ (off-site backup) ใช้งานผ่านทาง rsync ที่สามารถ setup บนเครื่อง linux ทั่วไปได้เลย วิธีตั้งค่า rsync (Linux) เครื่อง linux ที่ติดตั้งเป็น Debian 12 ติดตั้ง rsync apt install rsync สร้าง username และ password สำหรับใช้งาน rsync adduser rsync สร้าง folder สำหรับ backup จากนั้นกำหนดสิทธิ์ chown -R rsync:rsync /mnt/backupSynology ตั้งค่า rsync module nano /etc/rsyncd.conf [backup] path = /mnt/backupSynology comment = off-site backup synology read only = no list = yes uid = rsync #uid username rsync gid = rsync #gid username rsync auth users = rsync #username rsync secrets file = /etc/rsyncd.secrets สร้างไฟล์ rsyncd.secrets เพื่อเก็บ username และ password ...

November 16, 2023 · 1 min · Teera

วิธีย้าย 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

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