Mot Nut De Thanh Hub — Thiet Ke Ba Tang Cua xGrid Promote
Blog/
||||||

Mot Nut De Thanh Hub — Thiet Ke Ba Tang Cua xGrid Promote

Nang cap Spoke thanh Hub khong can SSH, laptop hay ky nang dong lenh. Quet ma QR de ket noi WiFi, mo PWA, nhan mot nut — ba buoc. Phia sau la kien truc Script, API, UI cho phep dieu duong thuc hien thao tac von cua quan tri he thong.

Ngo Nhan: "Ban Can SSH De Nang Cap"

Trong bai truoc, chung toi mo ta topo Hub-Spoke cua xGrid. Kha nang manh nhat cua no la bat ky Spoke nao cung co the tro thanh Hub — rut dien, mang di, bat nguon, nang cap.

Bai do cho thay lenh sau:

sudo xgrid-promote

Mot lenh shell qua SSH. Cau hoi tu nhien tiep theo: "Vay toi can laptop, ung dung SSH va ky nang dong lenh de lam dieu nay?"

Khong.

SSH la tang thap nhat — xay dung cho quan tri he thong va lap trinh vien. Nhung trong mot su co thuong vong hang loat, nguoi can nang cap Spoke co the la dieu duong, ky thuat vien cap cuu hoac chi huy hien truong. Ho co iPad, khong co laptop.

Vi vay, chuc nang promote cua xGrid khong chi la mot shell script. No la mot kien truc ba tang.

Ba Tang Cua Promote

TangKich hoatNguoi dungCong cu can thiet
Tang 1 — Scriptsudo xgrid-promoteQuan tri he thongSSH + laptop
Tang 2 — APIPOST /api/failover/promoteVan hanh nang caoBat ky HTTP client nao
Tang 3 — PWA UINut "Nang cap thanh Hub" tren banner doBat ky aiiPad / iPhone + trinh duyet

Tang 3 goi Tang 2. Tang 2 goi Tang 1. Moi tang them cac co che bao ve rieng:

  • Tang 1 — May trang thai nguyen tu 8 buoc voi kha nang hoan tac hoan toan khi co bat ky loi nao
  • Tang 2 — Kiem tra vai tro (da la Hub? tu choi), kiem tra trang thai (dang chuyen doi? tu choi), timeout 60 giay
  • Tang 3 — Hop thoai confirm() chong nhan nham, hoat hinh nhap nhay xanh chong nhan doi, phan hoi toast thanh cong/that bai

Ba tang co nghia la: do phuc tap cua thao tac duoc xac dinh boi nguoi dung, khong phai boi he thong. Quan tri he thong co the SSH de kiem soat chi tiet. Dieu duong chi can nhan mot nut.

Quy Trinh Ma QR — Tu Khong Den Nang Cap

Moi RPi duoc giao kem mot the ma QR ep plastic, gan canh thiet bi. The chua hai ma:

┌─────────────────────────────────────────┐
│  DNO-HC02 Connection Card                │
│                                          │
│  ┌──────────┐    ┌──────────┐           │
│  │ WiFi QR  │    │ MIRS QR  │           │
│  │          │    │          │           │
│  │  Quet de │    │  Quet de │           │
│  │  ket noi │    │  mo he   │           │
│  │  WiFi    │    │  thong   │           │
│  └──────────┘    └──────────┘           │
│                                          │
│  WiFi: DNO-HC02                          │
│  MIRS: http://10.0.0.1:8000             │
└─────────────────────────────────────────┘

Buoc 1 — Quet ma QR WiFi. Camera iPhone va iPad ho tro san ma QR WiFi (dinh dang: WIFI:T:WPA;S:{SSID};P:{password};;). Quet se hien loi nhac "Ket noi mang". Mot cham va thiet bi ket noi vao hotspot cua RPi. Khong can nhap SSID hay mat khau thu cong.

Buoc 2 — Quet ma QR MIRS hoac nhap URL. Safari mo PWA MIRS. Service Worker luu cache ngay lap tuc — cac lan truy cap sau hoat dong offline.

Buoc 3 — Khi Hub mat ket noi, banner do tu dong xuat hien. PWA kiem tra trang thai Hub moi 30 giay. Sau 3 lan lien tiep that bai (90 giay), banner do truot vao tu dau man hinh:

Hub Offline (3 lan ket noi that bai)Nang cap thanh Hub

Buoc 4 — Nhan "Nang cap thanh Hub." Hop thoai xac nhan hien ra: "Ban co chac muon nang cap node nay thanh Hub?" Sau khi xac nhan, banner chuyen sang xanh voi hoat hinh nhap nhay: "Dang nang cap thanh Hub, vui long doi..."

Trong vong 60 giay, script hoan thanh 8 buoc. Khi thanh cong, trang tu dong tai lai voi toast xanh: "Nang cap hoan tat! Vai tro: HUB | Epoch: N".

Khong SSH. Khong laptop. Khong lenh nao can nho.

Phat Hien Tu Dong, Khong Phai Tim Thu Cong

Chu y lua chon thiet ke Tang 3: nut khong nam trong menu de nguoi dung tim. Thay vao do, khi Hub thuc su mat ket noi, banner xuat hien va hoi: "Hub da ngung. Ban co muon thay the?"

Day la co chu dich.

Promote khong phai thao tac thuong ngay. No la thao tac khan cap. Ban khong muon ai do nhan vi to mo — dieu do se tao ra Hub thu hai (split-brain). Vi vay nut chi xuat hien khi can thiet: Hub thuc su offline, node hien tai la Spoke, va co snapshot hop le de nap.

Ke ca khi do, co che bao ve dau tien la hop thoai confirm(). Thu hai la co che hub_epoch — neu ai do vo tinh kich hoat split-brain, Hub co epoch thap hon se tu dong ha cap khi hai mang tai ket noi.

Thiet ke khong lam cho loi khong the xay ra. No lam cho loi tu sua duoc.

Khi Nao Ban Van Can SSH

Tang 3 phu hop 95% tinh huong thuc dia. Nhung mot so truong hop van can SSH:

  • Che do --skip-network: Bo qua cau hinh hostapd/dnsmasq/static IP khi test localhost. Nut PWA khong ho tro co nay.
  • Che do --dry-run: Xem truoc nhung gi promote se lam ma khong thuc thi. Huu ich de kiem tra tinh kha dung cua snapshot.
  • Demote: Ha cap Hub tro lai Spoke. Day la thao tac quan tri — khong hien thi qua banner tu dong (tuy nhien PWA Quan Ly Tram cung cap giao dien thu cong).
  • Chan doan rollback: Khi promote that bai, kiem tra log de xac dinh nguyen nhan.

SSH la phuong an du phong, khong phai duong di chinh. Giong nhu dieu khien bay thu cong tren may bay — ban muon chung co san, nhung thiet ke sao cho hiem khi can dung.

iPhone / iPad Co The SSH Khong?

Co. App Store co Termius, Prompt va Blink Shell, deu la ung dung SSH toan nang.

Nhung diem mau chot la: ban khong can chung. Tang 3 ton tai dung de SSH tro thanh tuy chon thay vi bat buoc.

Trong mot su co thuong vong hang loat, ban se khong yeu cau dieu duong cai ung dung SSH. Ban dua ho mot the ma QR ep plastic: quet mot lan de ket noi WiFi, quet mot lan de mo he thong, nhan mot nut khi can nang cap.

Day la triet ly cot loi cua thiet ke ba tang: boc kha nang quan tri he thong trong giao dien ma bat ky ai cung co the van hanh.


Doc them: Rut va Di — Topo Hub-Spoke, Nang Cap Vai Tro va Chuyen Doi Trong Nam Phut · "Offline-First" Khong Phai "Chiu Duoc Offline" · Bai Kiem Tra Roi Di — He Thong Cua Ban Co Song Sot Khi Mat Ket Noi?