เชฌเชจเชพเชจเชพ เชชเซ 64 เช เชฐเชพเชธเซเชชเชฌเซเชฐเซ เชชเซ เชเซเชตเซเช เช เชธเชฟเชเชเชฒ-เชฌเซเชฐเซเชก เชเซเชฎเซเชชเซเชฏเซเชเชฐ เชเซ, เชชเชฐเชเชคเซ เชเซเชเชฒเชพเช เชเชฅเชฐเชจเซเช เชชเซเชฐเซเช เชธเชพเชฅเซ, เชเซ เชคเซเชจเซ เชธเชพเชฎเชพเชจเซเชฏ เชนเซเชคเซเชจเชพ Linux เชตเชฟเชคเชฐเชฃเชจเชพ เชเชงเชพเชฐเซ เชฐเชพเชเชเชฐเชฎเชพเช เชซเซเชฐเชตเชตเชพเชจเซเช เชถเชเซเชฏ เชฌเชจเชพเชตเซ เชเซ.
เชนเชพ, เชคเซเชฏเชพเช เชชเชนเซเชฒเซเชฅเซ เช Openwrt เชเซ, เชชเชฐเชเชคเซ เชคเซเชจเซ เชชเซเชคเชพเชจเซ เชธเชฎเชธเซเชฏเชพเช เชเซ, เชคเซเชจเซ GUI เช เชจเซ CLI; เชฎเชฟเชเซเชฐเซเชเชฟเช เชเซ, เชชเชฐเชเชคเซ เชซเชฐเซเชฅเซ เชคเซเชจเซเช เชชเซเชคเชพเชจเซเช GUI/CLI เชเซ, เช เชจเซ เชตเชพเชฏเชฐเชเชพเชฐเซเชก เชฌเซเชเซเชธเชจเซ เชฌเชนเชพเชฐ เชเชพเชฎ เชเชฐเชคเซเช เชจเชฅเซ... เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ, เชฎเชจเซ เชธเซเชเชพเชจเซเชกเชฐเซเชก เชฒเชฟเชจเชเซเชธเชจเชพ เชฎเชพเชณเชเชพเชฎเชพเช เชฐเชนเซเชจเซ, เชฒเชตเชเซเช เชธเซเชเชฟเชเชเซเชธ เชธเชพเชฅเซเชจเซเช เชฐเชพเชเชเชฐ เชเซเชเช เชเซ, เชเซ เชคเชฎเซ เชเชพเชฎ เชเชฐเซ เชเซ. เชฆเชฐเซเช เชฆเชฟเชตเชธ เชธเชพเชฅเซ.
BPI, R64, เชธเชฟเชเชเชฒ-เชฌเซเชฐเซเชก เชจเชพเชฎเซ เชนเซเช เชณเชจเชพ เชฒเซเชเชฎเชพเช, เชฎเชพเชฐเซ เช เชฐเซเชฅ เช เช เชนเชถเซ - เชฌเชจเชพเชจเชพ เชชเซ R64 เชธเชฟเชเชเชฒ-เชฌเซเชฐเซเชก เชชเซเชคเซ.
เชเช เชเชฌเซ เชชเชธเชเชฆ เชเชฐเซ เชฐเชนเซเชฏเชพ เชเซเช. eMMC เชฆเซเชตเชพเชฐเชพ เชกเชพเชเชจเชฒเซเชก เชเชฐเซ
เชเชพเชฎ เชเชฐเชคเซ เชตเชเชคเซ เชคเชฎเชพเชฐเซ เชเซ เชชเซเชฐเชฅเชฎ เชเซเชถเชฒเซเชฏ เชชเซเชฐเชพเชชเซเชค เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ
USB-UART เชฆเซเชตเชพเชฐเชพ R64 เชฅเซ เชเชจเซเชเซเช เชเชฐเชตเชพ เชฎเชพเชเซ เช เชฒเซเชเซเชฐเชฟเชงเชฎ:
- เช เชฎเซ เชฏเซเชเชธเชฌเซ-เชฏเซเชเชเชฐเชเซ เชเซเชฌเชฒ (PL2303, เชธเซเชฐเซเชฏเชฒ-เชเซ-เชฏเซเชเชธเชฌเซ) เชฎเชพเชเซ เชฐเซเชกเชฟเชฏเซ เชชเชพเชฐเซเชเซเชธ เชธเซเชเซเชฐ เชชเชฐ เชฆเซเชกเซเช เชเซเช.
- เชเช USB เชเซเชกเชพเชจเซ เชเชฎเซเชชเซเชฏเซเชเชฐ เชธเชพเชฅเซ เช เชจเซ เชฌเซเชเชพ, UART เชจเซ R64 เชธเชพเชฅเซ, เชเชพเชฐเชฎเชพเชเชฅเซ เชคเซเชฐเชฃ เชตเชพเชฏเชฐ เชธเชพเชฅเซ, เชจเซเชเซ เชเชชเซเชฒเชพ เชเชฟเชคเซเชฐเชจเซ เชเซเชฎ เชเชจเซเชเซเช เชเชฐเซ
- เชเชฎเซเชชเซเชฏเซเชเชฐ เชเชจเซเชธเซเชฒเชฎเชพเช เชเชฒเชพเชตเซ
sudo minicom
เช เชชเชเซ, เชฎเซเชเชพเชญเชพเชเชจเชพ เชเชฟเชธเซเชธเชพเชเชฎเชพเช เชธเชฟเชเชเชฒ-เชฌเซเชฐเซเชก เชเชจเซเชธเซเชฒ เชฆเซเชเชพเชถเซ = เชธเชซเชณเชคเชพ.
เชคเชฎเซ เชตเชงเซ เชตเชฟเชเชคเซ เชเซเช เชถเชเซ เชเซ
เชเชเชณ, SD เชเชพเชฐเซเชกเชฎเชพเชเชฅเซ เชเชชเชฐเซเชเชฟเชเช เชธเชฟเชธเซเชเชฎ เชฒเซเชก เชเชฐเชตเชพเชจเซ เชธเซเชฅเซ เชธเชนเซเชฒเซ เชฐเชธเซเชคเซ เชเซ: เชฆเซเชตเชพเชฐเชพ เชกเชพเชเชจเชฒเซเชก เชเชฐเซ
unzip -p 2019-08-23-ubuntu-16.04-lite-preview-bpi-r64-sd-emmc.img.zip | pv | sudo dd of=/dev/mmcblk0 bs=10M status=noxfer
เช เชฎเซ เชเชพเชฐเซเชกเชจเซ R64 SD เชธเซเชฒเซเชเชฎเชพเช เชฆเชพเชเชฒ เชเชฐเซเช เชเซเช, เชคเซเชจเซ เชเชพเชฒเซ เชเชฐเซเช เชเซเช เช เชจเซ เชเชจเซเชเซเชเซเชก เชเชจเซเชธเซเชฒ เชฒเซเชกเชฟเชเชเชจเซ เชชเชนเซเชฒเชพ uboot, เชชเชเซ เชชเซเชฐเชฎเชพเชฃเชญเซเชค Linux เชฒเซเชกเชฟเชเชเชจเซเช เช เชตเชฒเซเชเชจ เชเชฐเซเช เชเซเช.
เชตเซเชเชฒเซเชชเชฟเช เชฌเซเช เชตเชฟเชเชฒเซเชช R64 เชฎเชพเช เชชเชนเซเชฒเซเชฅเซ เช เชฌเชจเซเชฒ 8Gb เชเชพเชฐเซเชกเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชฐเชนเซเชฏเซ เชเซ, เชเซเชจเซ eMMC เชเชนเซเชตเชพเชฏ เชเซ. เชตเชฟเชเชฟเชฎเชพเชเชจเซ เชธเซเชเชจเชพเช เช
เชจเซเชธเชพเชฐ, เช
เชฎเซ เชเชชเชเชฐเชฃ เชชเชฐ เชเชฌเซเชจเซ เชจเชเชฒ เชเชฐเซเช เชเซเช
/dev/mmcblk0 เชฅเซ BPI, เชฐเซเชฌเซเช เชเชฐเซ, SD เชเชพเชฐเซเชก เชฆเซเชฐ เชเชฐเซ, BPI เชซเชฐเซเชฅเซ เชเชพเชฒเซ เชเชฐเซ... เช
เชจเซ เชคเซ เชเชพเชฎ เชเชฐเชคเซเช เชจเชฅเซ. เชเซเชตเซ เชฐเซเชคเซ เชเชเชณ เชชเชพเชเชณ เชเชตเซเช Boot select
เชชเชฐเซเชถเชพเชจ เชเชฐเชถเซ เชจเชนเซเช.
เชนเชเซเชเชค เช เชเซ เชเซ เชเชเชพเชฎเชพเช เชเชเชพ BPI เชฎเชพเชเซ เชคเชฎเชพเชฐเซ เชเชเชคเชฐเชฟเช เชซเซเชฒเซเชถ เชกเซเชฐเชพเชเชตเชฎเชพเชเชฅเซ เชฌเซเช เชเชฐเชตเชพ เชฎเชพเชเซ เชธเชเซเชทเชฎ เชฅเชตเชพ เชฎเชพเชเซ เชเชพเชธ เชซเซเชฒเซเช เชธเซเช เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ:
root@bpi-r64:~# ./mmc extcsd read /dev/mmcblk1 | grep 'PARTITION_CONFIG'
Boot configuration bytes [PARTITION_CONFIG: 0x00]
root@bpi-r64:~# ./mmc bootpart enable 1 1 /dev/mmcblk1
root@bpi-r64:~# ./mmc extcsd read /dev/mmcblk1 | grep 'PARTITION_CONFIG'
Boot configuration bytes [PARTITION_CONFIG: 0x48]
เชเชเชณ, เชคเชฎเชพเชฐเซ เชตเชฟเชถเชฟเชทเซเช เชฌเซเช เชชเชพเชฐเซเชเซเชถเชจเชฎเชพเช เชชเซเชฐเซเชฒเซเชกเชฐ เชฒเชเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ
root@bpi-r64:~# echo 0 > /sys/block/mmcblk0boot0/force_ro
root@bpi-r64:~# dd if=preloader_evb7622_64_foremmc.bin of=/dev/mmcblk0boot0
เชเชคเซเชชเชพเชฆเช R64 (เชเซเชจ) เช เช เชฌเชพเชเชจเชฐเซ เชชเซเชธเซเช เชเชฐเซ เชเซ
เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ, เช เชชเชเซ, เชเชฌเซเช eMMC เชฅเซ เชฒเซเชก เชฅเชตเชพเชจเซเช เชถเชฐเซ เชฅเชพเชฏ เชเซ. เชเซ เชคเชฎเซ เชคเซเชจเซ เชถเซเชงเชตเชพ เช
เชจเซ เชถเชฐเซเชเชคเชฅเซ เชเชฎเซเชเซ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเชเชคเชพ เชนเซ, เชคเซ เชชเชเซ เชฌเชเชจเซ เชเซเชธ (SD/eMMC) เชฎเชพเชเซ เชคเชฎเชพเชฐเซ เชเชฐเซเชจเชฒ เชฒเซเชก เชเชฐเชตเชพ เชฎเชพเชเซ เชเชฃเซ เชตเชงเซ เชซเชพเชเชฒเซ (SD เชเชพเชฐเซเชก, ATF, u-boot เชฎเชพเชเซ เชชเซเชฐเซเชฒเซเชกเชฐ) เชฒเชเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ. เช เชตเชฟเชทเชฏ เชนเชเซ เชชเชฃ เชเซ
เชนเชตเซ เชนเซเช eMMC เชฆเซเชตเชพเชฐเชพ เชกเชพเชเชจเชฒเซเชก เชเชฐเซเช เชเซเช, เชชเซเชฐเชฎเชพเชฃเชฟเชเชชเชฃเซ, เชนเซเช เชคเซเชจเซ เชเชชเชฏเซเช เชเชฐเชคเซ เชจเชฅเซ, เชเช SD เชเชพเชฐเซเชก เชชเซเชฐเชคเซเช เชเซ, เชชเชฐเชเชคเซ เชฎเซเช เชคเซเชจเซ เชเชพเชฎ เชเชฐเชตเชพ เชฎเชพเชเซ เชเชฃเซ เชธเชฎเชฏ เชชเชธเชพเชฐ เชเชฐเซเชฏเซ, เชคเซเชฅเซ เชคเซเชจเซ เชฒเซเชเชฎเชพเช เชฐเชนเซเชตเชพ เชฆเซ.
เชเชชเชฐเซเชเชฟเชเช เชธเชฟเชธเซเชเชฎ เชชเชธเชเชฆ เชเชฐเซ เชฐเชนเซเชฏเชพ เชเซเช. เชเชฐเซเชฎเซเชฌเชฟเชฏเชจ
เชชเซเชฐเชฅเชฎ เชเชชเซเชฒเชฟเชเซเชถเชจ เชเชพเชฐเซเชฏ VPN, เชเซเชฆเชฐเชคเซ เชฐเซเชคเซ เชตเชพเชฏเชฐเชเชพเชฐเซเชก เชฒเซเชจเซเช เชเชฐเชตเชพเชจเซเช เชเซ. เชคเซ เชคเชฐเชค เช เชถเซเชงเซ เชเชพเชขเชตเชพเชฎเชพเช เชเชตเซเชฏเซเช เชนเชคเซเช เชเซ เชเชฐเซเชจเชฒ เชฌเชพเชเซ เชชเชฐ เชคเซ เชเชธเซเชฎเซเชฌเชฒ เชเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเซเช เชจ เชนเชคเซเช เช เชจเซ เชคเซเชฏเชพเช เชเซเช เชนเซเชกเชฐเซ เชจเชฅเซ. เชฎเซเช เชเชฐเซเชจเชฒ เชซเชฐเซเชฅเซ เชฌเชจเชพเชตเซเชฏเซเช เช เชจเซ, x86 เชธเชพเชฅเซ เชฎเชพเชฐเซ เชเชฆเชคเชจเซ เชเซเชฎ, DKMS เชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเชฐเซเชจเชฒ เชฎเซเชกเซเชฏเซเชฒเชจเซ เชเชธเซเชฎเซเชฌเชฒ เชเชฐเซเชฏเซเช. เชเซ เชเซ, เชเชฐเซเชฎ 64 เชชเชฐ เชชเชฃ เชจเชพเชจเซ เชเชชเชฏเซเชเชฟเชคเชพเช เชฌเชจเชพเชตเชตเชพเชจเซ เชเชคเชฟเช เชฎเชจเซ เช เชชเซเชฐเชฟเชฏ เชฐเซเชคเซ เชเชถเซเชเชฐเซเชฏเชเชเชฟเชค เชเชฐเซเชฏเซเช. เช เชจเซ เชชเชเซ เชฌเซเชเชพ เชเชฐเซเชจเชฒ เชฎเซเชกเซเชฏเซเชฒเชจเซ เชเชฐเซเชฐ เชนเชคเซ, เชตเชเซเชฐเซ. เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ, เชคเซ เชคเชพเชฐเชฃ เชเชชเซ เชเซ เชเซ เชเชฐเซเชจเชฒเชจเซ เชฒเชเชคเซ เชฆเชฐเซเช เชตเชธเซเชคเซ เชเชฐเชฎ x86 เชฒเซเชชเชเซเชช เชชเชฐ เชถเซเชฐเซเชทเซเช เชฐเซเชคเซ เชเชธเซเชฎเซเชฌเชฒ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชชเชเซ เชธเชฐเชณ เชจเชเชฒ, เชฐเซเชฌเซเช เช เชจเซ เชชเชฐเซเชเซเชทเชฃ เชฆเซเชตเชพเชฐเชพ R64 เชฎเชพเช เชธเซเชฅเชพเชจเชพเชเชคเชฐเชฟเชค เชฅเชพเชฏ เชเซ.
เชฌเซเชเซ เชตเชธเซเชคเซ เชฏเซเชเชฐเชธเซเชชเซเชธ เชญเชพเช เชเซ. เชกเซเชฌเชฟเชฏเชจเชจเซ เชชเชธเชเชฆ เชเชฐเชตเชพเชจเชพ เชฎเชพเชฐเชพ เชเชฟเชธเซเชธเชพเชฎเชพเช, arm64 เชเชฐเซเชเชฟเชเซเชเซเชเชฐ เชฎเชพเชเซ เชฌเชงเซเช เชชเชนเซเชฒเซเชฅเซ packages.debian.org เชชเชฐ เชเซ เช เชจเซ เชเชเชเชชเชฃ เชซเชฐเซเชฅเซ เชฌเชจเชพเชตเชตเชพเชจเซ เชเชฐเซเชฐ เชจเชฅเซ.
เชฌเซเชเซ เชธเชพเชฏเชเชฒเชจเซเช เชเชคเซเชชเชพเชฆเชจ เชจ เชเชฐเชตเชพ เชฎเชพเชเซ, เชเช
เช
เชฅเชตเชพ เชคเซเชจเชพ เชฌเชฆเชฒเซ, เช: เชฏเซเชเชฐเชธเซเชชเซเชธ เชญเชพเช เชเชฐเซเชฎเซเชฌเชฟเชฏเชจ เชเซ, เช
เชจเซ เชเชฐเซเชจเชฒ เชฐเซเชชเซเชเซเชเชฐเซเชฎเชพเชเชฅเซ เชฒเซเชตเชพเชฎเชพเช เชเชตเซ เชเซ
R64 เชจเชพ เชธเซเชซเซเชเชตเซเชฐ เชญเชพเชเชจเชพ เชตเชฟเชเชพเชธ เชชเชฐเชจเซ เชคเชฎเชพเชฎ เชชเซเชฐเชตเซเชคเซเชคเชฟ เชนเชพเชฅ เชงเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ
เชเชพเชฐเซเชฏเชธเซเชฅเชณ เชธเชเชธเซเชฅเชพ: เชตเชพเชฏเชฐ
เช เชฒเชเชฅเซ, เชนเซเช เชคเชฎเชจเซ เชเชฃเชพเชตเชตเชพ เชฎเชพเชเชเซ เชเซเช เชเซ เชเซเชตเซ เชฐเซเชคเซ, เชตเชฟเชเชพเชธ/เชชเชฐเซเชเซเชทเชฃ เชฆเชฐเชฎเชฟเชฏเชพเชจ, เชเซเชฌเชฒ เชชเชฐ SBC (เชฎเชพเชคเซเชฐ BPI เชจเชนเซเช) เชฎเซเชเซ เชเซเชฅเซ เชเชฐเซเชจเซ เชธเชฎเชเซเชฐ เชฐเซเชฎ/เชเชซเชฟเชธเชฎเชพเช เชเชจเซเชเชฐเชจเซเช เชธเซเชคเซเชฐเซเชคเชฎเชพเชเชฅเซ เชเชฅเชฐเชจเซเช เชเซเชฌเชฒ เชจ เชเชฒเชพเชตเซ เชถเชเชพเชฏ. เชนเชเซเชเชค เช เชเซ เชเซ, เชเช เชคเชฐเชซ, เชคเชฎเชพเชฐเซ เชเชจเซเชเชฐเชจเซเช เชธเชพเชฅเซ เชนเชพเชฐเซเชกเชตเซเชฐเชจเซ เชเซเชเชกเซ เชชเซเชฐเชฆเชพเชจ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ, เชชเชฐเชเชคเซ เชฌเซเชเซ เชฌเชพเชเซ, เชนเชพเชฐเซเชกเชตเซเชฐเชจเชพ เชคเซ เชญเชพเชเชฎเชพเช เชฌเชงเซเช เชคเซเชเซ เชถเชเซ เชเซ, เช เชจเซ เชธเซ เชชเซเชฐเชฅเชฎ เชตเชพเชเชซเชพเช.
เชชเซเชฐเชฅเชฎ, เชฎเซเช เชธเชธเซเชคเซ USB-Wifi โเชตเซเชนเชฟเชธเชฒโ เชเชฐเซเชฆเชตเชพเชจเซเช เชจเชเซเชเซ เชเชฐเซเชฏเซเช, เชคเซเชจเซ BPI เชชเชฐเชจเชพ เชเชเชฎเชพเชคเซเชฐ เชชเซเชฐเซเชเชฎเชพเช เชชเซเชฒเช เชเชฐเซ เช เชจเซ เชตเชพเชฏเชฐ เชตเชฟเชถเซ เชญเซเชฒเซ เชเชพเชต. เช เชเชฐเชตเชพ เชฎเชพเชเซ, เชฎเซเช เชเช เชธเชธเซเชคเซเช TP-LINK TL-WN725N USB 2.0 เชเชฐเซเชฆเซเชฏเซเช, เชชเชฐเชเชคเซ เชเซเชฌ เช เชเซเชเช เชธเชฎเชฏเชฎเชพเช เชคเซ เชธเซเชชเชทเซเช เชฅเช เชเชฏเซเช เชเซ เชคเซ เชเชชเชกเชถเซ เชจเชนเซเช: เชตเซเชนเชฟเชธเชฒ เชเชพเชฎ เชเชฐเชตเชพ เชฎเชพเชเซ, เชคเชฎเชพเชฐเซ เชเชฐเซเชจเชฒ เชกเซเชฐเชพเชเชตเชฐเชจเซ เชเชฐเซเชฐ เชเซ, เชเซ, เช เชฒเชฌเชคเซเชค, เชคเซเชฏเชพเช เชจ เชนเชคเซ. (เชฌเชพเชฆเชฎเชพเช เชฎเซเช เชเชฐเซเชฐเซ RTL8XXXU เชกเซเชฐเชพเชเชตเชฐเชจเซ เชเชธเซเชฎเซเชฌเชฒ เชเชฐเซเชฏเซเช, เชชเชฐเชเชคเซ เชคเซ เชนเชเซ เชชเชฃ เช เชตเซเชฏเชตเชนเชพเชฐเซ เชเซ). เช เชจเซ เชเชฅเชฐเชจเซเช เชเซเชฌเชฒเซ เชฅเซเชกเชพ เชธเชฎเชฏ เชฎเชพเชเซ เชฐเซเชฎเชจเซ เชฆเซเชเชพเชต เชฌเชเชพเชกเซเชฏเซ.
เชชเชฐเชฟเชฃเชพเชฎเซ, เชฎเซเช Tenda MW3 (Wifi เชฎเซเชถ เชธเชฟเชธเซเชเชฎ) เชจเซ เชฎเชฆเชฆเชฅเซ เชเซเชฌเชฒเชฎเชพเชเชฅเซ เชเซเชเชเชพเชฐเซ เชฎเซเชณเชตเชตเชพเชฎเชพเช เชตเซเชฏเชตเชธเซเชฅเชพเชชเชฟเชค เชเชฐเซเชฏเซเช: เชฎเซเช เชเซเชฌเชฒเชจเซ เชจเซเชเซ เชเชพเชฒเซ เชเช เชเซเชฏเซเชฌ เชฎเซเชเซเชฏเซเช เช เชจเซ BPI เชจเซ เชชเชเซเชจเชพ LAN เชชเซเชฐเซเช เชธเชพเชฅเซ เชฎเซเชเชฐ-เชฒเชพเชเชฌเชพ เชเชฅเชฐเชจเซเช เชเซเชฌเชฒ เชธเชพเชฅเซ เชเชจเซเชเซเช เชเชฐเซเชฏเซเช. เชธเชซเชณเชคเชพ.
เชตเชพเชฏเชฐเชเชพเชฐเซเชก, เชเชฐเชเซเชเชจ, เชฌเชฐเซเชก
เชนเซเช เชเซ เชฎเชพเชเซ เชฌเชจเชพเชจเชพ PI เชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพ เชฎเชพเชเชเซ เชเซเช เชคเซเชฎเชพเชเชจเซ เชเช RKN เชฆเซเชตเชพเชฐเชพ เช
เชตเชฐเซเชงเชฟเชค เชธเชพเชเชเซเชธเชจเซ เชฎเชซเชค เชเชเซเชธเซเชธ เชเซ, เชเชพเชธ เชเชฐเซเชจเซ, เชเซเชฅเซ เชเซเชฒเชฟเชเซเชฐเชพเชฎ เช
เชจเซ เชธเซเชฒเซเช เชเซเชฒเซเชธ เชเชพเชฎ เชเชฐเซ เชถเชเซ. เช เชตเชฟเชทเชฏ เชชเชฐ เชนเซเชฌเซเชฐเซ เชชเชฐเชจเชพ เชฒเซเชเซ เชชเชนเซเชฒเซเชฅเซ เช เชชเซเชฐเชธเซเชคเชพเชตเชฟเชค เชเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเชพ เชเซ:
เชฎเซเช Ansible เชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชฌเชฐเชพเชฌเชฐ เช เชธเซเชฒเซเชฏเซเชถเชจ เชเชฎเชพเชตเซเชฏเซเช:
VPS เช เชเชฌเซเชจเซเชเซ 18.04 เชเชฒเชพเชตเซ เชฐเชนเซเชฏเซเช เชนเซเชตเชพเชจเซเช เชฎเชพเชจเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เชฎเซเช เชฏเซเชฐเซเชชเชฎเชพเช เชฌเซ เชนเซเชธเซเชเชฐเซเชธ เชชเชฐ เชเชพเชฐเซเชฏเชเซเชทเชฎเชคเชพ เชคเชชเชพเชธเซ: Amazon เช เชจเซ Digital Ocean.
เชคเซเชฅเซ, เช
เชฎเซ R64 เชชเชฐ เชเชชเชฐเซเชเซเชค เชเชฐเซเชฎเซเชฌเชฟเชฏเชจ เชเชจเซเชธเซเชเซเชฒ เชเชฐเซเชฏเซเช เชเซ, เชคเซ เชจเชพเชฎ เชนเซเช เชณ ssh เชฆเซเชตเชพเชฐเชพ เชธเซเชฒเชญ เชเซ hm-bananapi-1
เช
เชจเซ เชเชจเซเชเชฐเชจเซเช เชเชเซเชธเซเชธ เชงเชฐเชพเชตเซ เชเซ. เช
เชฎเซ เชธเชคเชค เชเชตเชพเชฌเซ, เชเชเซเชฎเซเชถเชจ เชธเซเชเซเชฐเชฟเชชเซเชเซเชธ เชเชฎเชพเชตเซเช เชเซเช เช
เชจเซ R64 เชชเชฐ เช เชเชจเซเชธเซเชเซเชฒเซเชถเชจ เชถเชฐเซ เชเชฐเซเช เชเซเช:
# ะทะฐะฒะธัะธะผะพััะธ ะดะปั Debian-based ะดะธัััะธะฑััะธะฒะพะฒ
$ sudo apt install --no-install-recommends python3-pip python3-setuptools python3-wheel git
$ which pip3
/usr/bin/pip3
# ansible ั pybook, ัะบัะธะฟัะพะฒะฐะฝะธะต ะฝะฐ Python
$ pip3 install https://github.com/muravjov/ansible/archive/ansible-2.10.0.dev0-pybook2019.tar.gz
$ export PATH=~/.local/bin:$PATH
$ which ansible-playbook
/home/sa/.local/bin/ansible-playbook
$ git clone https://github.com/muravjov/ansible-bpi-r64.git
$ cd ansible-bpi-r64
$ git submodule update --init
# ัะฑะตะถะดะฐะตะผัั ะฒ ะดะพัััะฟะฝะพััะธ hm-bananapi-1
$ ssh hm-bananapi-1 which python3
/usr/bin/python3
# ัะพะฑััะฒะตะฝะฝะพ ัััะฐะฝะพะฒะบะฐ
$ ansible-playbook ./router.py -l hm-bananapi-1
เชเชเชณ, เชคเชฎเชพเชฐเซ เช เชฎเชพเชฐเชพ VPN เชจเซ VPS เชชเชฐ เชคเซ เช เชฐเซเชคเซ เชเชฎเชพเชตเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ:
ansible-playbook ./router.py -l current-vpn
เช เชนเซเช เชฆเชฒเซเชฒ เชนเชเชฎเซเชถเชพ เชตเชฐเซเชคเชฎเชพเชจ-เชตเซเชชเซเชเชจ เชนเซเชฏ เชเซ, เช เชจเซ เชตเชพเชธเซเชคเชตเชฟเช VPS เชจเชพเชฎ เชเชฒเชฎเชพเช เชเซเช เชตเซเชฒ เชเซ (เช เชเชฟเชธเซเชธเชพเชฎเชพเช เชคเซ paris-vpn-aws-t2-micro-1 เชเซ):
$ grep current_vpn group_vars/all
current_vpn: paris-vpn-aws-t2-micro-1
#current_vpn: frankfurt-vpn-d0-starter-1
เชเชน เชนเชพ, เช เชคเชฎเชพเชฎ เชเชพเชฎเชเซเชฐเซ เชชเชนเซเชฒเชพ เชคเชฎเชพเชฐเซ เชซเซเชฒเซเชกเชฐเชฎเชพเช เชฐเชนเชธเซเชฏเซ (เชเชพเชธ เชเชฐเซเชจเซ เชตเชพเชฏเชฐเชเชพเชฐเซเชก เชเซ) เชเชจเชฐเซเช เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ. ./secrets
, เชกเชฟเชฐเซเชเซเชเชฐเซ เชเซเชตเซ เชฆเซเชเชพเชตเซ เชเซเชเช
เชชเชพเชฏเชฅเซเชจเชฎเชพเช เชเชตเชพเชฌเชฆเชพเชฐ เชเชเซเชฎเซเชถเชจ
เชคเชฎเซ เชเซเชถเซ เชเซ YAML เชซเซเชฐเซเชฎเซเชเชฎเชพเช เชนเซเชตเชพเชจเซ เชฌเชฆเชฒเซ, เชเชตเชพเชฌเซ เชเชฆเซเชถเซ เชชเชพเชฏเชฅเซเชจ เชธเซเชเซเชฐเชฟเชชเซเชเซเชธเชฎเชพเช เชเชจเซเชเซเชก เชเชฐเซเชฒเชพ เชเซ. เชธเชฐเชเชพเชฎเชฃเซ เชฎเชพเชเซ, เชชเชเซเชทเซ เชกเชฟเชฎเชจเชจเซ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ เชเซเชตเซ เชฐเซเชคเซ เชธเชเซเชทเชฎ เชเชฐเชตเซเช:
- name: start bird
systemd:
name: bird
state: started
enabled: yes
เช เชจเซ เชชเชพเชฏเชฅเซเชจ เชฆเซเชตเชพเชฐเชพ เชคเซ เชเซเชตเซ เชฐเซเชคเซ เชเชฐเชตเซเช:
with mapping:
append("name", "start bird")
with mapping("systemd"):
append("name", "bird")
append("state", "started")
append("enabled", "yes")
เชชเชพเชฏเชฅเซเชจเชฎเชพเช เชเชตเชพเชฌเซ เชเชฆเซเชถเซ เชฒเชเชตเชพเชฅเซ เชคเชฎเซ เชเซเชกเชจเซ เชชเซเชจเชเชเชชเชฏเซเช เชเชฐเซ เชถเชเซ เชเซ, เช เชจเซ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ เชธเชพเชฎเชพเชจเซเชฏ เชนเซเชคเซเชจเซ เชญเชพเชทเชพเชจเซ เชคเชฎเชพเชฎ เชถเชเซเชฏเชคเชพเช เชเซเชฒเซ เชเซ. เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, R64 เช เชจเซ VPS เชชเชฐ เชฌเชฐเซเชก เชเชจเซเชธเซเชเซเชฒ เชเชฐเชตเซเช:
install_bird("router/bird.conf.j2")
install_bird("vpn/bird.conf.j2")
เชซเชเชเซเชถเชจ เชเซเชก เชเซเช
เช เชฒเชเซเชทเชฃ เชเชนเซเชตเชพเชฏ เชเซ pybook
เช
เชฎเชฒเชฎเชพเช เชฎเซเชเซเชฏเซ
เชคเซ เชถเซเช เชตเชฟเชเชพเชฐเซ เชเซ
เชฎเซเชจเซเชเชฐเซเชเช. เชชเซเชฐเซเชฎเชฟเชฅเชฟเชฏเชธ
เชเซเชฒ: เชเซเชฒเชฟเชเซเชฐเชพเชฎ เชเชพเชฎ เชเชฐเซ เชเซ, เชฒเชฟเชเชเซเชกเชเชจ เช เชจเซ เชชเซเชฐเซเชจเชนเชฌ เชชเชฃ, เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เช เชจเซเชญเชต เชฌเชฐเชพเชฌเชฐ เชเซ. เชชเชฐเชเชคเซ เชเซเชจเซ เชนเชพเชฐเซเชกเชตเซเชฐ เชธเชนเชฟเชค เชฌเชงเซเช เชคเซเชเซ เชถเชเซ เชเซ.
เชเชฐเซเชจเชฒ เช เชชเชกเซเชเซเชธ เชชเชฃ เชฐเชธเชชเซเชฐเชฆ เชนเซเช เชถเชเซ เชเซ: เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชนเซเช เชเชฐเซเชจเชฒ 5.4 => 5.6 เช เชชเชกเซเช เชเชฐเชตเชพ เชฎเชพเชเชเชคเซ เชนเชคเซ, เชธเชพเชฐเซเช, เชตเชพเชฏเชฐเชเชพเชฐเซเชก เชฌเซเชเซเชธเชจเซ เชฌเชนเชพเชฐ เชเซ, เชชเซเช เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชจเชฅเซ... เชชเซเชฐเซเชฃ เชเชฐเชคเชพเช เชตเชนเซเชฒเซเช เชเชนเซเชฏเซเช เชจเชนเซเช: เชฎเซเช เชเซเชฌ เช เชฎเชนเซเชจเชคเชฅเซ 5.4 เชฎเชพเชเชฅเซ เชชเซเชเซ เชเซเชฐเชพเชจเซเชธเชซเชฐ เชเชฐเซเชฏเชพ 5.6 เชธเซเชงเซ, เชเชฐเซเชจเชฒ เชถเชฐเซ เชฅเช, VPS เชชเชฐเชจเซ เชเชจเชฒ เชชเชฟเชเช เชฅเช, เชชเชฐเชเชคเซ เชชเชเซเชทเซ "BGP เชเชฐเชฐ" เชญเซเชฒ เชธเชพเชฅเซ เชเชจเซเชเซเช เชฅเช เชถเชเชคเซเช เชจเชฅเซ... "เชนเซเช เชญเชฏเชพเชจเช เชฐเซเชคเซ เชชเชพเชเซ เชซเชฐเซเชฏเซ" (c) 5.4 เชชเชฐ; TODO เชฎเชพเช 5.6 เชชเชฐ เชเชธเซเชกเชตเชพเชจเซเช เชฎเซเชฒเชคเชตเซ เชฐเชพเชเชตเชพเชฎเชพเช เชเชตเซเชฏเซเช เชนเชคเซเช.
เชคเซเชฅเซ, เชฐเชพเชเชเชฐ เช เชจเซ VPS เชเชจเซเชธเซเชเซเชฒ เชเชฐเชตเชพ เชเชชเชฐเชพเชเชค, เชฎเซเช เชฎเซเชจเชฟเชเชฐเชฟเชเช เชเชฎเซเชฐเซเชฏเซเช (x86 เชเชฌเซเชจเซเชเซ 18.04 เชชเชฐ), เชเซ เชจเซเชเซเชจเชพ เชเชเชเซ เชธเชพเชฅเซ เช เชฒเช เชนเซเชธเซเช เชชเชฐ เชเชจเซเชธเซเชเซเชฒ เชเชฐเซเชฒเซเช เชเซ:
- prometheus, alertmanager, blackbox_exporter - เชฌเชงเชพ เชกเซเชเชฐเชฎเชพเช
- เชฎเซเชเชฒเชฎเซเชเซเช/เช เชฒเชฐเซเชเชฎเซเชจเซเชเชฐ-เชฌเซเช เชฌเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเซเชฒเชฟเชเซเชฐเชพเชฎ เชเซเชจเชฒ เชชเชฐ เชเซเชคเชตเชฃเซเช เชฎเซเชเชฒเชตเชพเชฎเชพเช เชเชตเซ เชเซ - เชกเซเชเชฐเชฎเชพเช เชชเชฃ
- เชฌเซเช เชฎเชพเชเซ เชเซเชฐ, เชเซเชฅเซ เชเซเชฏเชพเชฐเซ เชเชจเซเชเชฐเชจเซเช เชนเซเชฏ เชคเซเชฏเชพเชฐเซ เชฌเซเช เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟเชจเซ เชเซเชคเชตเชฃเซ เชเชชเซ เชถเชเซ, เชชเชฐเชเชคเซ เชเซเชฒเชฟเชเซเชฐเชพเชฎ เชนเชเซ เชชเชฃ เชเชพเชฎ เชเชฐเชคเซเช เชจเชฅเซ, เช เชจเซ เชฌเซเช เชชเซเชคเซ เชเชจเซเชเซเช เชฅเช เชถเชเชคเซเช เชจเชฅเซ.
- เชฒเชพเชเซ
เชเซเชคเชตเชฃเซเช : NodeVPNtroubles (VPS เชฎเชพเชเซ เชเซเช เชชเชฟเชเช เชจเชฅเซ), BirdVPNtroubles (เชเซเช เชฌเชฐเซเชก เชธเซเชถเชจ เชจเชฅเซ), AntifilterDownload Troubles (เชฌเซเชฒเซเช เชเชฐเซเชฒเชพ IP เชเชกเซเชฐเซเชธ เชฒเซเชก เชเชฐเชตเชพเชฎเชพเช เชญเซเชฒ), SiteTroubles (เชฆเซเชเชเชฆ เชเซเชฒเชฟเชเซเชฐเชพเชฎ เช เชจเซเชชเชฒเชฌเซเชง เชเซ) - เชธเชฟเชธเซเชเชฎ เชเซเชคเชตเชฃเซเช, เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, HostGrowingDiskReadLatency (เชธเชธเซเชคเซเช SD เชเชพเชฐเซเชก เชตเชพเชเชเซ เชจ เชถเชเชพเชฏ เชคเซเชตเซเช เชฌเชจเซ เชเชพเชฏ เชเซ)
เชฎเซเชจเซเชเชฐเซเชเช เชเชจเซเชธเซเชเซเชฒเซเชถเชจ เชเชฆเชพเชนเชฐเชฃ:
ansible-playbook ./monitoring.py -l monitoring-preprod
เชชเซเชฐเซเชฎเชฟเชฅเชฟเชฏเชธ เชฎเชพเชเซ เชเชเซ เชกเชฟเชธเซเชเชตเชฐเซ /etc/prometheus/auto_http เชซเซเชฒเซเชกเชฐเชฎเชพเช เชเซเช เชตเซเชฒ เชเซ, เชฎเซเชจเชฟเชเชฐเชฟเชเชเชฎเชพเช เชนเซเชธเซเช เชเชฎเซเชฐเชตเชพเชจเซเช เชเชฆเชพเชนเชฐเชฃ (เชฏเชเชฎเชพเชจเซเชจเซ เชกเชฟเชซเซเชฒเซเช เชฐเซเชชเซ เชฎเซเชจเชฟเชเชฐ เชเชฐเชตเชพเชฎเชพเช เชเชตเชคเชพ เชจเชฅเซ):
bash << 'EOF'
HOSTNAME=hm-bananapi-1
IP_ADDRESS=`ssh -G $HOSTNAME | awk '/^hostname / { print $2 }'`
ssh monitoring-preprod sudo sponge /etc/prometheus/auto_http/$HOSTNAME.json << EOF2
[
{
"targets": ["$IP_ADDRESS:9100"],
"labels": {
"env": "prod",
"hostname": "$HOSTNAME"
}
}
]
EOF2
EOF
TODO: 2 เชชเซเชฐเชฆเชพเชคเชพเช, 2 BPI, เชเซเชเชชเชฃ เชเชพเชธเซเช เชซเซเชฒเชเชตเชฐ
เชฆเชฐเซเช เชตเชธเซเชคเซ เชเชชเชฐเชพเชเชค, เชฎเซเช เชฌเซ เชชเซเชฐเชฆเชพเชคเชพเช เชธเชพเชฅเซ เชเชจเซเชเซเช เชเชฐเชตเชพเชจเซ เชฏเซเชเชจเชพ เชฌเชจเชพเชตเซ เชเซ เชเซเชฅเซ เชเชจเซเชเชฐเชจเซเช เชเชพเชฎ เชเชฐเชตเชพเชจเซเช เชเชพเชฒเซ เชฐเชพเชเซ, เชญเชฒเซ เชเช เชชเซเชฐเชฆเชพเชคเชพเชจเซ เชจเซเชเชตเชฐเซเชเชฎเชพเช เชธเชฎเชธเซเชฏเชพ เชนเซเชฏ, เช เชฅเชตเชพ เชคเซเช เชเชจเซเชเชฐเชจเซเช เชตเชเซเชฐเซ เชฎเชพเชเซ เชเซเชเชตเชฃเซ เชเชฐเชตเชพเชจเซเช เชญเซเชฒเซ เชเชฏเชพ เชนเซเชฏ, เช เชจเซ เช เชจเซเชฏ เชฎเชพเชจเชต เชชเชฐเชฟเชฌเชณเซ.
เชฎเชฒเซเชเชฟ-เชตเชพเชจ เชตเชฟเชทเชฏ เชชเชฐ เชธเซเชฅเซ เช
เชฆเซเชฏเชคเชจ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เช
เชจเซเชญเชต เชตเชฐเซเชฃเชตเซเชฒ เชเซ
เช เช เชจเซเชญเชตเชจเซ เชงเซเชฏเชพเชจเชฎเชพเช เชฐเชพเชเซเชจเซ, เชฎเซเช เชจเชเซเชเซ เชเชฐเซเชฏเซเช เชเซ เชฎเชฒเซเชเชฟเชนเซเชฎเชฟเชเช เชนเชเซ เชชเซเชฐเชพเชฅเชฎเชฟเชเชคเชพ เชจเชฅเซ, เชฎเชพเชคเซเชฐ เชซเซเชฒเชเชตเชฐ เชเซ. เชคเซเชฎ เชเชคเชพเช, เชเชตเซเช เชฒเชพเชเซ เชเซ เชเซ Linux เชจเชพ เชจเชตเซเชจเชคเชฎ เชธเชเชธเซเชเชฐเชฃเซเชฎเชพเช เชฌเชงเซเช เชเช เชเชฆเซเชถ เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเชตเซเช เชเซเชเช เชเซเชฎ เชเซ:
ip route add default
nexthop via 192.168.1.1 weight 10
nexthop via 192.168.2.1 weight 5
เชคเซเชฅเซ, เชจเชฟเชทเซเชซเชณเชคเชพเชจเชพ เชเช เชฌเชฟเชเชฆเซเชจเซ เชเชพเชณเชตเชพ เชฎเชพเชเซ, เช เชฎเซ 2 BPIs เชฒเชเช เชเซเช, เชฆเชฐเซเชเชจเซ เชเช เชชเซเชฐเชฆเชพเชคเชพ เชธเชพเชฅเซ เชเซเชกเซเช เชเซเช, เชคเซเชฎเชจเซ เชเชเชฌเซเชเชพ เชธเชพเชฅเซ เชเซเชกเซเช เชเซเช เช เชจเซ เชชเชเซเชทเซ/OSPF เชฆเซเชตเชพเชฐเชพ เชเชเชฌเซเชเชพ เชธเชพเชฅเซ เชเชคเชฟเชถเซเชฒ เชฐเซเชเซเชเช เชธเชพเชฅเซ เชเซเชกเชพเชฃ เชเชฐเซเช เชเซเช.
เชเชเชณ, เชเซ เชธเซเชตเชพ เชเชชเชฒเชฌเซเชง เชนเซเชฏ เชคเซ เช
เชฎเซ เชฆเชฐเซเช เชชเชฐ เชธเชฎเชพเชจ IP เชธเชฐเชจเชพเชฎเชพเชเชจเซ เชเชพเชนเซเชฐเชพเชค เชเชฐเซเช เชเซเช (เชเชจเซเชเชฐเชจเซเช, DNS). เชเชเชฒเซ เชเซ, เช
เชฎเซ เชกเชฟเชซเซเชฒเซเช เชฐเซเช เชเชพเชคเซ เชธเซเช เชเชฐเซเชถเซเช เชจเชนเซเช, เชชเชฐเชเชคเซ เชชเชเซเชทเซ เชฆเซเชตเชพเชฐเชพ. เชฎเซเช เชเชเซเชฒเชจเซ เชเชพเชธเซเชธเซ เชเชฐเซ
เช เชเชพเชฐเซเชฏเชเซเชทเชฎเชคเชพ เชนเชเซ เชธเซเชงเซ เชฒเชพเชเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชจเชฅเซ, เชเชชเชเซ เชเซเชฐเซเชจเชพเชตเชพเชฏเชฐเชธเช เช เชนเซเช เชเช เชฏเซเชเซเชคเชฟ เชฐเชฎเซ เชนเชคเซ (เชฌเชงเซเช Aliexpress เชชเชฐเชฅเซ เชเชตเซเชฏเซเช เชจเชฅเซ; เช เชจเซเชฏ เชเชจเชฒเชพเชเชจ เชธเซเชเซเชฐ, เชฒเซเชเชพเช เชเช เช เช เชตเชพเชกเชฟเชฏเชพเชฎเชพเช เชชเชนเซเชเชเชพเชกเชตเชพเชจเซเช เชตเชเชจ เชเชชเซเชฏเซเช เชนเชคเซเช, เชชเชฐเชเชคเซ เชเช เชฎเชนเชฟเชจเชพเชฅเซ เชตเชงเซ เชธเชฎเชฏ เชชเชธเชพเชฐ เชฅเช เชเชฏเซ เชเซ; เชฌเซเชเชพ เชชเซเชฐเชฆเชพเชคเชพ เชชเชพเชธเซ เชธเชฎเชฏ เชจเชฅเซ เชธเชเชธเชฐเซเชเชจเชฟเชทเซเชง เชชเชนเซเชฒเชพเช เชเซเชฌเชฒเชจเซ เชฒเชเชฌเชพเชตเชตเชพ เชฎเชพเชเซ, เชซเชเซเชค เชเซเชฌเชฒ เชฎเชพเชเซ เชฆเชฟเชตเชพเชฒเชฎเชพเช เชกเซเชฐเชฟเชฒเชฎเชพเช เชเชฟเชฆเซเชฐ เชฎเซเชณเชตเชตเชพเชฎเชพเช เชตเซเชฏเชตเชธเซเชฅเชพเชชเชฟเชค เชนเชคเซ).
R64 เชเซเชตเซ เชฐเซเชคเซ เชเชฐเซเชกเชฐ เชเชฐเชตเซ
เชฌเซเชฐเซเชก เชชเซเชคเซ เชธเชคเซเชคเชพเชตเชพเชฐ เชธเซเชเซเชฐเชฎเชพเช เชเซ
เชคเชฐเชค เช เชเชฐเซเชกเชฐ เชเชชเชตเชพเชจเซเช เชชเชฃ เชตเชงเซ เชธเชพเชฐเซเช เชเซ:
เชชเซเชทเชฃ + EU เช เชฅเชตเชพ US เชชเซเชฒเช เชธเซเชเชพเชจเซเชกเชฐเซเชกเชจเซ เชเชพเชฃ เชเชฐเซ- เชนเซเช เชธเชฟเชเช: เชฐเซเชกเชฟเชเชเชฐเซเชธ/เชชเชเชเชพ; เชเชพเชฐเชฃ เชเซ CPU เช เชจเซ เชธเซเชตเซเช เชเชฟเชช เชฌเชเชจเซ เชเชฐเชฎ เชฅเช เชฐเชนเซเชฏเชพ เชเซ
- เชตเชพเชเชซเชพเช เชเชจเซเชเซเชจเชพ,
เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ
เชคเซเชฏเชพเช เชเช เชเชชเชฆเซเชฐเชต เชเซ - เชกเชฟเชฒเชฟเชตเชฐเซ เชเชฟเชเชฎเชค เชฅเซเชกเชพ เชธเชฎเชฏ เชฎเชพเชเซ เชธเชคเซเชคเชพเชตเชพเชฐ เชธเซเชเซเชฐเชฎเชพเช เช เชชเซเชฐเชคเซ เชฐเซเชคเซ เชเชเชเซ เชฅเช เชเช เชเซ. เชฎเซเชจเซเชเชฐ เชเซเชกเซ เชนเซเชเชเชเซ เชฎเชจเซ เชเชพเชคเชฐเซ เชเชชเซ เชเซ เชคเซเชฎเชพเช เชเซเช เชญเซเชฒ เชจเชฅเซ, เช เชจเซ เชคเชฎเซ $5 เชฎเชพเชเซ ePacket เชชเชธเชเชฆ เชเชฐเซ เชถเชเซ เชเซ, เชชเชฐเชเชคเซ เชฎเซเช เชเซเชฏเซเช เชเซ เชฐเชถเชฟเชฏเชพ เชฎเชพเชเซ เชฎเชพเชคเซเชฐ $33 เชฎเชพเชเซ EMS เชเซ. เช เชชเซเชฐเชฟเชฏ, เชชเชฐเชเชคเซ เชเชเชฟเชฒ เชจเชฅเซ. เชคเชฆเซเชชเชฐเชพเชเชค, เชเซ เชคเชฎเซ เชกเชฟเชฒเชฟเชตเชฐเซ เชฎเชพเชเซ เชเซเช เช เชจเซเชฏ เชฆเซเชถ เชชเชธเชเชฆ เชเชฐเซ เชเซ (เชนเซเช เชฌเชงเชพ เชเชเชกเซเชฎเชพเชเชฅเซ เชชเชธเชพเชฐ เชฅเชฏเซ เชเซเช), เชคเซ เชกเชฟเชฒเชฟเชตเชฐเซเชจเซ เชเชฟเชเชฎเชค ~$5 เชนเชถเซ. เชฐเซเชธเซเชซเซเชฌเซเชธ?.. เชชเชฃ เชชเชเซ เชฎเชจเซ เชเชพเชฃเชตเชพ เชฎเชณเซเชฏเซเช เชเซ เชซเซเชฐเชพเชจเซเชธ เชฎเชพเชเซ เชกเชฟเชฒเชฟเชตเชฐเซ เชเชฟเชเชฎเชค เชชเชฃ ~30$ เชเซ, เช เชจเซ เชนเซเช เชถเชพเชเชค เชฅเช เชเชฏเซ.
เชชเชฐเชฟเชฃเชพเชฎเซ, เชเซเชกเซเช เชเชฐเซเชกเชฐ เชเชชเชตเชพเชจเซ เชเชซเชฐ เชเชฐเซ, เชชเชฐเชเชคเซ เชเซเชเชตเชฃเซ เชจ เชเชฐเซ (เชเชถเชพเชฐเซ: เชเชพเชฐเซเชก เชชเชฐ เชเชเซเช เชฎเซเชเซ เชเซเชฅเซ เชเชชเซเชเชช เชเซเชเชตเชฃเซ เชจ เชฅเชพเชฏ); เชคเซเชฃเซเชจเซ เชฒเชเซ เช เชจเซ เชคเซ เชกเชฟเชฒเชฟเชตเชฐเซเชจเซ เชเชฟเชเชฎเชค เชเชเชพเชกเซเชจเซ เชธเชพเชฎเชพเชจเซเชฏ เชเชฐเซ เชฆเซเชถเซ. เชธเชซเชณเชคเชพ.
เชฎเซเชฆเซเชฆเชพเช
เชนเชเซ เชฌเชงเซเช เชฌเชฐเชพเชฌเชฐ เชเชพเชฎ เชเชฐเซ เชฐเชนเซเชฏเซเช เชจเชฅเซ.
เชเชคเซเชชเชพเชฆเชเชคเชพ
Ansible=Python เชเชฆเซเชถเซ 20-30 เชธเซเชเชจเซเชก เชฎเชพเชเซ เชงเซเชฎเซ เชงเซเชฎเซ, เชจเชฟเชทเซเชเซเชฐเชฟเชฏ เชเชฆเซเชถเซ เชชเชฃ เชเชฒเชพเชตเชตเชพเชฎเชพเช เชเชตเซ เชเซ; x86 เชฒเซเชชเชเซเชช เชเชฐเชคเชพเช เชฒเชพเชเชฌเชพ เชธเชฎเชฏ เชธเซเชงเซ เชคเซเชตเซเชฐเชคเชพเชจเซ เชเชฐเซเชกเชฐ. เชคเชฆเซเชชเชฐเชพเชเชค, เชถเชฐเซเชเชคเชฎเชพเช เชคเซเช เชเซเชฌ เช เชเชกเชชเชฅเซ เชเชฒเชพเชตเชตเชพเชฎเชพเช เชเชตเซ เชเซ, ~3 เชธเซเชเชจเซเชก, เชชเชเซ เชคเซเช เชเชกเชชเชฅเซ เชงเซเชฎเซเช เชฅเชพเชฏ เชเซ. เช CPU เชนเซเชเชฟเชเช (เชฅเซเชฐเซเชเชฒเชฟเชเช) เชจเซ เชเชพเชฐเชฃเซ เชนเซเช เชถเชเซ เชเซ. เชเซ เชเซเชก เชชเชฃ เชเชพเชฎ เชเชฐเชตเชพเชฎเชพเช เชฒเชพเชเชฌเซ เชธเชฎเชฏ เชฒเซ เชเซ:
# ะทะฐะฟัะพั ะผะตััะธะบ ะดะปั ะฟัะพะผะตัะตั ะธะท node_exporter ะฝะฐ Go
$ time curl -s http://172.30.1.1:9100/metrics > /dev/null
real 0m6,118s
user 0m0,005s
sys 0m0,009s
# ะพะดะฝะฐะบะพ ัะตะผะฟะตัะฐัััะฐ 51 ะณัะฐะดัั, ะฝะต ัะฐะบ ะธ ะผะฝะพะณะพ
sa@bananapir64:~$ cat /sys/devices/virtual/thermal/thermal_zone0/temp
51700
เชตเชพเชเชซเชพเช
Wifi เชเชพเชฎ เชเชฐเซ เชเซ, เชชเชฐเชเชคเซ Armbian เชชเชฐ เชคเซ เชฒเชเชญเช เชเช เชฆเชฟเชตเชธ เชชเชเซ เชฌเชเชง เชฅเช เชเชพเชฏ เชเซ, เชฒเชเซ เชเซ:
sa@bananapir64:~$ dmesg | grep -E 'mt7622_wmac.*timeout'
[470303.802539] mt7622_wmac 18000000.wmac: Message 38 (seq 3) timeout
[470314.042508] mt7622_wmac 18000000.wmac: Message 50 (seq 4) timeout
...
เชฎเชพเชคเซเชฐ เชชเซเชจเชเชชเซเชฐเชพเชฐเชเชญ เชฎเชฆเชฆ เชเชฐเซ เชเซ. เชเชชเชฃเซ เชเชเชณ เชตเชงเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ
เชเชฅเชฐเชจเซเช
เชเชฅเชฐเชจเซเช เชเชพเชฎ เชเชฐเซ เชเซ, เชชเชฐเชเชคเซ ~64 เชเชฒเชพเช เชชเชเซ RXNUMX เชจเชพ เชชเซเชเซเชเซเชธ (DHCP) เชเชตเชตเชพเชจเซเช เชฌเชเชง เชฅเช เชเชพเชฏ เชเซ.
เชเชจเซเชเชฐเชซเซเชธเชจเซ เชชเซเชจเชเชชเซเชฐเชพเชฐเชเชญ เชเชฐเชตเชพเชฅเซ เชฎเชฆเชฆ เชฎเชณเซ เชเซ:
ifdown br0; sleep 30; ifup br0
เชกเซเชฐเชพเชเชตเชฐ เชจเชตเซ เชเซ, เชคเซ เชนเชเซ เชธเซเชงเซ เชเชฐเซเชจเชฒเชฎเชพเช เชธเซเชตเซเชเชพเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเซ เชจเชฅเซ, เชฎเชจเซ เชเชถเชพ เชเซ เชเซ เชคเซ เชเชพเชเชจเซเช เชฒเซเชจเซเชกเซเชจ เชเชพเช เชเซ
เชธเซเชฐเซเชธ: www.habr.com