[2022/07/21] Một số thay đổi cho Giọt Đắng

Webserver

– Cập nhật phiên bản mới cho những package sử dụng cho Webserver: HAProxy, Apache, PHP, MariaDB, Redis
– Thêm PHP 8.1 và sử dụng PHP 8.1 làm phiên bản PHP mặc định
– HTTP/3 QUIC
– HAProxy OCSP Stapling
– Sử dụng ECC Certificate thay thế cho RSA
– Chỉ sử dụng Strong TLS Ciphers, tuy việc này làm cho một số Web Browser cũ kỹ không tương thích

[2022/05/18] Thay đổi CPU cho Ivy

Thay đổi CPU của Ivy từ AMD Ryzen™ 7 3700X sang AMD Ryzen™ 7 5700G, là CPU có Radeon™ Graphics đi kèm nhằm hỗ trợ tốt hơn cho Ivy-NAS. 5700G sử dụng kiến trúc Zen 3 với Codename Cezanne, có hiệu năng CPU tương tự 3700X tuy nhiên tiết kiệm điện năng hơn một chút.

Sau khi thay thế CPU, máy chủ Proxmox của Ivy và Debian của Ivy-NAS được cài lại để tránh những trục trặc không đáng có. Quá trình trên đã tiến hành và hoàn thiện vào 21/05/2022.

[2021/11/07] Hoàn thiện Webserver Giọt Đắng mới

Sau 2 tuần làm việc miệt mài, Webserver Giọt Đắng mới hoàn thiện việc xây dựng lại với nhiều phần mềm cập nhật, và tối ưu hóa tốt hơn so với trước khi bị mất dữ liệu.

Hardware

– 8 vCPUs
– RAM 16GB / 48GB

OS

– Debian 11 Bullseye

HAProxy

– Sử dụng HAProxy làm TLS Termination cho Apache
– Bật HTTP Compression, sử dụng algo SLZ

Apache

– Tắt .htaccess
– Cập nhật Security Headers (nguồn: https://webdock.io/en/docs/how-guides/security-guides/how-to-configure-security-headers-in-nginx-and-apache)

Redis

– Sử dụng Redis cho PHP Session Cache và PHP Object Cache

PHP

– PHP 8.0 with FPM
– Tất cả các Extensions build dạng Shared
– Zend OPcache
– Redis Session handler
– igbinary Serializer handler
– ImageMagick support

MariaDB

– Default charset utf8mb4, Default collation utf8mb4_vietnamese_ci
– Sử dụng MyRocks thay cho InnoDB

Thay đổi lớn nhất ở MariaDB với việc sử dụng RocksDB thay cho InnoDB để giảm IO khi truy xuất thông tin, tuy làm tăng 1 chút CPU Cycles. Đi theo đó là Aria sẽ được sử dụng thay thế cho MyISAM.

Kết cấu và sắp xếp phần config tách riêng vào 1 thư mục để dễ dàng hơn khi muốn sao lưu config của Webserver, phần này làm tốt hơn so với trước khi mất dữ liệu. Ngoài ra còn một số thay đổi nhỏ nhặt khác không nhớ kỹ.

[2021/10/23] NVMe mới cho Webserver Giọt Đắng

Sự cố mất dữ liệu Webserver Giọt Đắng xảy ra sau khi Nâng cấp phần cứng Ivy, đúng vào thời điểm phong tỏa do Covid nên nguồn hàng khan hiếm và giá cao, vì vậy sau 2 tháng mới kiếm được SSD mới cho Webserver Giọt Đắng.

Sau khi Ivy nâng cấp phần cứng là hàng loạt công việc cần xử lý với Proxmox và Ivy-NAS. Việc chuyển nền tảng từ Intel sang AMD không gây ra nhiều khó khăn với Proxmox của Ivy, nhưng Ivy-NAS thì có nhiều khác biệt so với trước. Đầu tiên là Ivy-NAS không tiếp tục sử dụng Ubuntu Desktop nữa mà sử dụng Debian minimal, rồi chọn lựa cài đặt các Packages hỗ trợ môi trường Desktop sau để giảm thiểu số lượng các Packages tới tối thiểu. Phiên bản Debian được chọn lựa cũng là phiên bản mới nhất Debian 11 Bullseye. Các Packages dành cho mục đích NAS cũng giảm và config tối ưu hơn.

Do vậy, có nhận được SSD cho Giọt Đắng sớm hơn cũng không đủ quỹ thời gian để triển khai cài đặt lại Giọt Đắng ngay được. Thêm nữa đúng lúc Covid làm hàng hóa trì trệ khan hiếm, lại rộ lên phong trào đào chia nên giá SSD tăng phi mã, việc kiếm được 1 Deal SSD dễ nuốt thời điểm này không phải dễ dàng. Mình lại khăng khăng muốn kiếm mã SM961 chứ không phải PM981a phổ biến, vì vậy phải mất một khoảng thời gian mới kiếm được deal eBay và chờ đợi hàng từ Mỹ về Việt Nam.

Webserver Giọt Đắng trước đó được xây dựng dựa trên Debian 10 Buster. Trùng hợp là đợt vừa rồi thử nghiệm Debian 11 Bullseye nhận thấy Debian 11 tốt hơn hẳn Debian 10, vậy nên Webserver Giọt Đắng sẽ được xây dựng lại với Debian 11 luôn. Cùng với đó việc sắp xếp dữ liệu và cầu hình cũng như tối ưu hóa hứa hẹn cũng sẽ tốt hơn so với trước. Không rõ thời gian hoàn thành sẽ là bao lâu, nhưng với tình hình chỉ ở nhà do phong tỏa vì Covid thế này, có lẽ sẽ không dông dài như trước mà sẽ sớm hoàn thành thôi. Chờ xem.

[2021/08/21] Nâng cấp phần cứng Ivy

Đây cũng là một Post trước khi xảy ra sự cố mất dữ liệu do SSD đột tử 25/08/2021, vì vậy nội dung Post này chỉ còn một chút trong trí nhớ.

Nâng cấp toàn diện phần cứng của Ivy lên nền tảng mới, sử dụng CPU AMD Ryzen™ 7 3700X cùng với Mainboard Gigabyte X570 Aorus Ultra. RAM hiện tại đang khan hàng nên đành sử dụng tạm 16GB Crucial Ballistix Sport LT 3200@16 hàng thửa do hủy dự án về ITX.

Ryzen™ 7 3700X sử dụng kiến trúc Zen 2 với Codename Matisse, tuy nhiên cái tên Ivy rất hay và ngoài việc thay đổi về mặt phần cứng ra thì mọi thứ vẫn giữ nguyên nên mình vẫn sẽ lấy Hostname là Ivy.

Sau khi nâng cấp phần cứng được vài ngày, Webserver Giọt Đắng bị mất hết dữ liệu. Chi tiết tại Post [2021/08/25] Mất dữ liệu Webserver

Project Ivy thành công tốt đẹp

Đợt mất dữ liệu 25/08/2021 làm một số Post thông báo về Server History và Network History bị mất, mình không nhớ nổi đã Post những gì, chỉ có thể nhớ là có một Post về vấn đề này.

Tính tới trước T08/2021 thì Project Ivy đã có thể coi là thành công tốt đẹp. Không tiếp bước Project Chaos và Project Titan bị hủy bỏ vì một số khó khăn nhất định, Project Ivy được xây dựng hoàn thiện và hoạt động ổn định trong một thời gian dài.

Project Ivy với Hostname Ivy, nền tảng phần cứng là Intel i7-3770 có Codename IvyBridge. Project Ivy chạy trên Proxmox VE, với 2 VM chính là NAS và Webserver Giọt Đắng.
VM NAS sử dụng Ubuntu 18 cùng GUI được cấu hình làm nơi lưu trữ và chia sẻ dữ liệu tới các thiết bị giải trí trong nhà. Chi tiết về NAS không có gì đáng nói vì cũng chỉ như mọi PC khác mà thôi.
VM Giọt Đắng sử dụng Debian minimal được cài thêm các package để sử dụng làm Webserver, hiện tại chỉ có 1 Host duy nhất chính là Giọt Đắng chạy WordPress mà thôi.

Chi tiết cụ thể hơn mình nhớ không rõ, do thời gian đã lâu và dữ liệu đã mất không lấy lại.

[2021/08/25] Mất dữ liệu Webserver

Do SSD SM961 chứa dữ liệu của Giọt Đắng bị đột tử nên Webserver Giọt Đắng ngừng hoạt động. Khả năng NAND vẫn còn sống và mọi dữ liệu trên đó vẫn còn nguyên vẹn, và có thể cứu được bằng việc thay thế Controller. Tuy nhiên sau khi cân nhắc kỹ càng thì mình không lựa chọn việc cứu dữ liệu, mà sẽ thay thế SSD khác và xây dựng lại Webserver từ đầu. SSD mới vẫn là SM961, dung lượng được nâng từ 256GB lên 512GB.

Xui xẻo cái là Webserver Giọt Đắng đã rất lâu rồi không Backup, dữ liệu Backup gần nhất từ tận cuối 2020 là thời điểm chuyển Webserver Giọt Đắng từ Docker trên Synology tới Ivy.

Từ đó đến nay, Giọt Đắng chỉ có thêm vài bài post History. Nhưng Webserver thì có nhiều thay đổi, được config tốt hơn và nhất là cấu trúc sắp xếp dữ liệu khoa học hơn rất nhiều, tiêu tốn nhiều thời gian cũng như công sức để hoàn thiện. Bây giờ xây dựng lại từ đầu, chắc cũng sẽ tốn không ít thời gian…

Nâng cấp nhẹ phần cứng Ivy

Nâng cấp RAM của Ivy từ 8GB lên 32GB, đảm bảo Ivy có đủ tài nguyên để chạy ít nhất 1 NAS và 1 Webserver. Hiện tại 32GB đã là dung lượng RAM tối đa mà Ivy có thể trang bị, chịu giới hạn bởi nền tảng phần cứng của Ivy Bridge.

RAM sử dụng cho Ivy là 4*8GB Corsair Dominator 2133c9, hiệu năng xấp xỉ G.Skill 2400c10 cũ nhưng tính tương thích tốt hơn. Toàn bộ 4 DIMM đều đã qua hàng loạt thử nghiệm để đảm bảo có thể chạy Stable 24/7.

Project Ivy

Lập ra Project Ivy với hướng đi mới, là một Cluster Server thay vì chỉ xây dựng duy nhất 1 Web Server như trước.

Vì Server này chạy trên nền tảng bộ vi xử lý Intel i7-3770 với Codename Ivy Bridge nên tên được chọn cho Project và Hostname là Ivy.

Hiện tại có 2 phương án chính đề ra để xây dựng Ivy là sử dụng VM (Proxmox) hoặc Container (LXC, LXD). Các thử nghiệm về kỹ thuật sẽ được thực hiện để xem phương án nào đem lại độ tiện dụng cao nhất, hiệu năng tốt nhất và tiết kiệm tài nguyên, đồng thời có khả năng mở rộng Project trong tương lai.

Với phương án sử dụng VM thì đã có các Project đi trước lót đường nên gần như không có khó khăn nào. Còn phương án sử dụng Container mới được đề ra và tiếp cận nên sẽ cần nhiều thời gian để tìm hiểu. Vì vậy trong khoảng thời gian này, Giọt Đắng vẫn sẽ chạy ké trên NAS Synology.

[2020/08/28] Tối ưu hóa Synology Web Server

Do sử dụng Docker, mọi Container sau khi cài đều ở tùy chỉnh mặc định nên cũng phải dành chút thời gian config mọi thứ để Web Server có thể chạy ngon lành. Tuy hiệu năng không thể đạt được như với Hades vì dù sao cũng thua kém về mặt phần cứng, nhưng chí ít cũng cố gắng ở mức tốt nhất có thể.

Hardware

– Add more RAM from 4GB to 8GB

HAProxy

– Newest version
– Easy config as TLS Termination for Apache

Apache

– Disable .htaccess, Rewrite Rules move into configuration files
– Enable brotli compress
– Optimize configurations

MariaDB

– Newest version 10.4
– Default charset utf8mb4, Default collation utf8mb4_vietnamese_ci
– Socket internal connection
– InnoDB Large Prefix

Redis

– Newest version
– Socket connection
– Using for PHP Session Cache and PHP Object Cache

PHP

– Newest version 7.4
– FPM with Socket connection
– php.ini customization
– Only install some necessary Extensions for WordPress: exif, gd, imagick, zip
– Zend Opcache (very important)
– igbinary as primary Serializer handler
– zstd compression support
– Redis is now storing PHP Sessions
– Redis Object Cache in combination with igbinary and zstd for WordPress