Banana Pi 64 ã¯ãRaspberry Pi ã«äŒŒãã·ã³ã°ã«ããŒã ã³ã³ãã¥ãŒã¿ãŒã§ãããè€æ°ã®ã€ãŒãµããã ããŒããåããŠãããããæ±çš Linux ãã£ã¹ããªãã¥ãŒã·ã§ã³ ã«ãŒã¿ãŒã«ãªããŸãã
ã¯ããOpenwrt ã¯ãã§ã«ååšããŸãããç¬èªã® GUI ãš CLI ããããŸãã Mikrotik ããããŸããããã¯ãç¬èªã® GUI / CLI ããããWireguard ã¯ãã®ãŸãŸã§ã¯æ©èœããŸãã...äžè¬çã«ã䜿çšããæšæº Linux ã®ãã¬ãŒã ã¯ãŒã¯å ã«çãŸããªãããæè»ãªèšå®ãåããã«ãŒã¿ãŒãå¿ èŠã§ããæ¯æ¥ã
BPIãR64ãã·ã³ã°ã«ããŒããšããååã®èšäºã§ã¯ãåãããšãã€ãŸã Banana Pi R64 ã·ã³ã°ã«ããŒãèªäœãæå³ããŸãã
ç»åã®éžæã eMMCçµç±ã§ããŠã³ããŒã
ä»äºãããäžã§æåã«èº«ã«ã€ããã¹ãã¹ãã«
USB-UART çµç±ã® R64 ãžã®æ¥ç¶ã¢ã«ãŽãªãºã :
- USB-UART ã±ãŒãã« (PL2303ãã·ãªã¢ã« - USB) ãè³Œå ¥ããã«ã¯ãç¡ç·éšååºã«è¡ã£ãŠãã ããã
- äžã®å³ã®ããã«ãUSB ã®äžæ¹ã®ç«¯ãã³ã³ãã¥ãŒã¿ã«æ¥ç¶ããããäžæ¹ã® UART ã R64 ã« XNUMX æ¬ã®ã¯ã€ã€ã®ãã¡ XNUMX æ¬ã§æ¥ç¶ããŸãã
- ã³ã³ãã¥ãŒã¿ã®ã³ã³ãœãŒã«ã§å®è¡ããŸã
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 ã«ãã§ã«çµã¿èŸŒãŸããŠãã eMMC ãšåŒã°ãã 8Gb ã«ãŒãã䜿çšããããšã§ãã wikiã®æ瀺ã«åŸããã€ã¡ãŒãžãããã€ã¹ã«æžãæããŸã
/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 (ãã¡ãã Wireguard) ãèµ·åããããšã§ãã ã«ãŒãã«åŽããã¢ã»ã³ãã«ãããŠããããããããŒããªãããšãããã«ããããŸããã ç§ã¯ã«ãŒãã«ãåæ§ç¯ããx86 ã®ç¿æ £ãã DKMS ã䜿çšããŠã«ãŒãã« ã¢ãžã¥ãŒã«ãæ§ç¯ããŸããã ããããå°ããªãŠãŒãã£ãªãã£ã§ã arm64 ã§ã®ã¢ã»ã³ããªé床ã«ã¯äžå¿«ãªã»ã©é©ããŸããã ãããŠãå¥ã®ã«ãŒãã« ã¢ãžã¥ãŒã«ãå¿ èŠã«ãªãããšããããã«ç¶ããŸããã äžè¬ã«ãã«ãŒãã«ã«é¢é£ãããã®ã¯ãã¹ãŠããŠã©ãŒã ãã¥ãŒã x86 ã©ãããããäžã§ã¢ã»ã³ãã«ããåçŽãªã³ããŒã«ãã£ãŠ R64 ã«è»¢éããåèµ·åããŠãã¹ãããæ¹ãããããšãããããŸãã
ãã 64 ã€ã¯ãŠãŒã¶ãŒã¹ããŒã¹ã®éšåã§ãã Debian ãéžæããç§ã®å ŽåãarmXNUMX ã¢ãŒããã¯ãã£ã®ãã¹ãŠãæ¢ã« package.debian.org ã«ãããããäœãåæ§ç¯ããå¿ èŠã¯ãããŸããã
次ã®èªè»¢è»ãçã¿åºããªãããã«ã
ãšãããããŠãŒã¶ãŒã¹ããŒã¹éšå㯠Armbian ã§ãã³ã¢ã¯ãªããžããªããååŸãããŸãã
R64 ã®ãœãããŠã§ã¢éšåã®éçºã«é¢ãããã¹ãŠã®æŽ»åã¯ã
ã¯ãŒã¯ã¹ããŒã¹ã®æ§æ: ã¯ã€ã€ãŒ
ãããšã¯å¥ã«ãéçº/ãã¹ãäžã« SBC (BPI ã ãã§ãªã) ãããŒãã«ã®äžã«çœ®ããã€ã³ã¿ãŒããã ãœãŒã¹ããéšå±/ãªãã£ã¹å šäœã«ã€ãŒãµããã ã±ãŒãã«ãé ç·ããªãããã«ããæ¹æ³ã«ã€ããŠèª¬æããããšæããŸãã å®éã®ãšãããäžæ¹ã§ã¯éã«ã€ã³ã¿ãŒããããæäŸããå¿ èŠãããããä»æ¹ã§ã¯ãã®éã®äžã§ãããããã®ãç¹ã« Wifi ãå£ããå¯èœæ§ãããã
ãŸããå®äŸ¡ãª USB-Wifiããã€ãã¹ã«ããè³Œå ¥ããBPI ã®å¯äžã®ããŒãã«æ¥ç¶ããŠãã¯ã€ã€ãŒã®ããšã¯å¿ããããšã«ããŸããã ãããè¡ãããã«ãç§ã¯å®äŸ¡ãª TP-LINK TL-WN725N USB 2.0 ãè³Œå ¥ããŸããããããã«ãããããŸããããªãããšãæããã«ãªããŸããããã€ãã¹ã«ãæ©èœããã«ã¯ã«ãŒãã« ãã©ã€ããŒãå¿ èŠã§ããããåœç¶ã®ããšãªãããããã«ã¯ãããŸããã§ããã (åŸã§å¿ èŠãª RTL8XXXU ãã©ã€ããŒãã³ã³ãã€ã«ããŸããããããã§ãå®çšçã§ã¯ãããŸãã)ã ãããŠãã€ãŒãµãããã±ãŒãã«ã®ããã§ããã°ããéšå±ã®æ¯è²ãå°ç¡ãã«ãªããŸããã
ãã®çµæãTenda MW3 (Wifi ã¡ãã·ã¥ ã·ã¹ãã ) ã®å©ããåããŠã±ãŒãã«ãåãé€ãããšãã§ããŸãããåçŽã«ããŒãã«ã®äžã« XNUMX ã€ã®ç«æ¹äœã眮ããã¡ãŒã¿ãŒ ã€ãŒãµããã ã±ãŒãã«ã§ BPI ãåŸè ã® LAN ããŒãã«æ¥ç¶ããŸããã æåã
ã¯ã€ã€ãŒã¬ãŒããRKNãããŒã
ç§ã Banana PI ã䜿çšããŠããç®çã® XNUMX ã€ã¯ãç¹ã« RKN ã«ãã£ãŠãããã¯ãããŠãããµã€ãã«ç¡æã§ã¢ã¯ã»ã¹ã§ããããã«ããããšã§ããããã«ãããTelegram ãš Slack ãžã®é話ãæ©èœããŸãã ãã®ãããã¯ã«é¢ããèšäºã¯ãã§ã« Habré ã§ææ¡ãããŠããŸãã
Ansible ã䜿çšããŠããŸãã«ãã®ãããªãœãªã¥ãŒã·ã§ã³ã®ãããã€ã¡ã³ããå®è£
ããŸããã
VPS 㯠Ubuntu 18.04 ãå®è¡ããŠããã¯ãã§ãã ãšãŒãããã® XNUMX ã€ã®ãã¹ãã£ã³ã°äŒç€ŸãAmazon ãš Digital Ocean ã§ããã©ãŒãã³ã¹ããã§ãã¯ããŸããã
ããã§ãäžèšã® Armbian ã R64 ã«ã€ã³ã¹ããŒã«ããŸãããããã¯ãssh çµç±ã§æ¬¡ã®ååã§å©çšã§ããŸãã hm-bananapi-1
ã€ã³ã¿ãŒãããã«ã¢ã¯ã»ã¹ã§ããŸãã Ansible èªååã¹ã¯ãªãããé 次ãããã€ãã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
ããã§ãåŒæ°ã¯åžžã« 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
ãããããããããã¹ãŠã®æäœã®åã«ããã©ã«ããŒå
ã«ã·ãŒã¯ã¬ãã (ç¹ã« Wireguard ããŒ) ãçæããå¿
èŠããããŸãã ./secrets
ããã£ã¬ã¯ããªã¯æ¬¡ã®ããã«ãªããŸãã
Python ã§ã® Ansible èªåå
Ansible ã³ãã³ãã YAML 圢åŒã§ã¯ãªããPython ã¹ã¯ãªããã§ãšã³ã³ãŒããããŠããããšã«æ°ã¥ããããããŸããã æ¯èŒã®ããã«ãéåžžã®æ¹æ³ã§ Bird ããŒã¢ã³ãæå¹ã«ããæ¹æ³ã瀺ããŸãã
- name: start bird
systemd:
name: bird
state: started
enabled: yes
Python çµç±ã§ãåæ§ã§ã:
with mapping:
append("name", "start bird")
with mapping("systemd"):
append("name", "bird")
append("state", "started")
append("enabled", "yes")
Python ã³ãŒãã䜿çšã㊠Ansible ã³ãã³ããäœæãããšãã³ãŒããåå©çšã§ããäžè¬ã«ãæ±çšèšèªã®ããããå¯èœæ§ãéãããŸãã ããšãã°ãbird ã R64 ãš VPS ã«ã€ã³ã¹ããŒã«ãããšã次ã®ããã«ãªããŸãã
install_bird("router/bird.conf.j2")
install_bird("vpn/bird.conf.j2")
é¢æ°ã³ãŒããåç
§
ãã®æ©èœã¯ãšåŒã°ããŸã pybook
å®è£
ãããŸãã
圌ã¯ã©ãæããŸãã
ç£èŠã ããã¡ããŠã¹
åèš: ãã¬ã°ã©ã ã¯æ©èœããlinkedin ãšpornhub ãæ©èœããäžè¬çã«ãŠãŒã¶ãŒ ãšã¯ã¹ããªãšã³ã¹ã¯åé¡ãããŸããã ãããããããããã®ã¯å£ããå¯èœæ§ããããäžåœã®éçãå£ããŸãã
ã«ãŒãã«ã®æŽæ°ãèå³æ·±ãå ŽåããããŸããããšãã°ãã«ãŒãã« 5.4 => 5.6 ãæŽæ°ããããšèããŠããŸããããŸããWireguard ãããã«äœ¿ããã®ã§ãããããé©çšããå¿ èŠã¯ãããŸãã...èšããŸã§ããªããèŠåŽããŠãããã 5.4 ãã 5.6 ã«ç§»è¡ããŸããã 5.4ãã«ãŒãã«ãéå§ãããVPS ãžã®ãã³ãã«ã ping ãããŸããããbird ã¯ãšã©ãŒãBGP ãšã©ãŒãã§æ¥ç¶ã§ããŸããâŠãææã§ããŒã«ããã¯ãããŸããã(c) ãã 5.6; XNUMX ãžã®ç§»è¡ã¯ TODO ã§å»¶æãããŸããã
ãããã£ãŠãã«ãŒã¿ãŒãš VPS ã®ã€ã³ã¹ããŒã«ã«å ããŠã次ã®ã³ã³ããŒãã³ããå«ãå¥ã®ãã¹ãã«ã€ã³ã¹ããŒã«ãããã¢ãã¿ãªã³ã° (x86 Ubuntu 18.04 äž) ãè¿œå ããŸããã
- prometheusãalertmanagerãblackbox_exporter - ãã¹ãŠ Docker å ã«ãããŸã
- ã¢ã©ãŒãã¯ãdocker å ã® metalmatze/alertmanager-bot ãããã䜿çšããŠãã¬ã°ã©ã ãã£ãã«ã«éä¿¡ãããŸãã
- ãããçšã® torãããã«ãããã€ã³ã¿ãŒãããã¯å©çšå¯èœã§ãããããã¬ã°ã©ã ããŸã æ©èœããããããèªäœãæ¥ç¶ã§ããªãå Žåã«ããããç¶æ³ãèŠåã§ããããã«ãªããŸãã
- é©çš
ã¢ã©ãŒã : NodeVPNTroubles (VPS ãžã® ping ããããŸãã)ãBirdVPNTroubles (Bird ã»ãã·ã§ã³ããããŸãã)ãAntifilterDownloadTroubles (ãããã¯ããã IP ã¢ãã¬ã¹ã®ããŒãã«å€±æããŸãã)ãSiteTroubles (æ®å¿µãªãããã¬ã°ã©ã ãå©çšã§ããŸãã) - HostGrowingDiskReadLatency ãªã©ã®ã·ã¹ãã ã¢ã©ãŒã (å®äŸ¡ãª SD ã«ãŒãã¯èªã¿åããåæ¢ããŸã)
ç£èŠèšå®äŸïŒ
ansible-playbook ./monitoring.py -l monitoring-preprod
prometheus ã®èªåæ€åºã¯ /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ããšããŒãã£ã¹ã ãã§ã€ã«ãªãŒããŒ
ãã¹ãŠã«å ããŠãXNUMX ã€ã®ãããã€ããŒã§ãããã¯ãŒã¯ã«åé¡ãçºçããããã€ã³ã¿ãŒãããæéã®æ¯æããå¿ãããããã®ä»ã®äººçèŠå ãçºçããå Žåã§ããã€ã³ã¿ãŒããããåŒãç¶ãæ©èœã§ããããã«ãXNUMX ã€ã®ãããã€ããŒã«æ¥ç¶ããããšãèšç»ããŸããã
ãã«ãã¯ã³ã«é¢ããæå
端ã®ãŠãŒã¶ãŒ ãšã¯ã¹ããªãšã³ã¹ã«ã€ããŠèª¬æããŸã
ãã®çµéšãèæ ®ããŠãç§ã¯ãã«ãããŒãã³ã°ã¯ãŸã åªå äºé ã§ã¯ãªãããã§ã€ã«ãªãŒããŒã®ã¿ãåªå ãããšå€æããŸããã Linux ã®ææ°ããŒãžã§ã³ã§ã¯ã次ã®ãã㪠XNUMX ã€ã®ã³ãã³ãã§ãã¹ãŠãæ©èœããããã§ããã
ip route add default
nexthop via 192.168.1.1 weight 10
nexthop via 192.168.2.1 weight 5
ãããã£ãŠãåäžé害ç¹ãååšããªãããã«ã2 ã€ã® BPI ã䜿çšããããããã XNUMX ã€ã®ãããã€ããŒã«æ¥ç¶ããããããçžäºã«æ¥ç¶ããbird/OSPF ãä»ããåçã«ãŒãã£ã³ã°ã«ãã£ãŠçžäºã«éä¿¡ãè¡ããŸãã
ããã«ããµãŒãã¹ (ã€ã³ã¿ãŒããããDNS) ãå©çšå¯èœãªå Žåã¯ãããããã§åã IP ã¢ãã¬ã¹ãã¢ããŠã³ã¹ããŸãã ã€ãŸããããã©ã«ãã®ã«ãŒããèªåãã¡ã§èšå®ããã®ã§ã¯ãªããbird ãéããŠèšå®ããŸãã 解決çãã¹ãã€ããã
ãã®æ©èœã¯ãŸã å®è£ ãããŠããããæœäŒæ§ã®ã³ãããŠã€ã«ã¹ã«ãã£ãŠæ··ä¹±ãçããŸããïŒãã¹ãŠã aliexpress ããæäŸãããããã§ã¯ãããŸãããå¥ã®ãªã³ã©ã€ã³ ã¹ãã¢ã§ãã Layta 㯠XNUMX é±é以å ã«é éãããšçŽæããŠããŸããããXNUMX ãæ以äžçµéããŸãããXNUMX çªç®ã®ãããã€ããŒã¯æéã延é·ããããšãã§ããŸããã§ããïŒæ€ç«åã«ã±ãŒãã«ãåãå€ããŸããããã±ãŒãã«çšã®ããªã«ã§å£ã«ç©Žãéããããšããã§ããŸããã§ããïŒã
R64圢çªè¡šç€ºæ¹æ³
ããŒãæ¬äœã¯å
¬åŒã¹ãã¢ã«ãããŸã
ããã«æ³šæããããšããå§ãããŸãã
é£ã¹ç© + EU ãŸã㯠US ã®ãã©ã°èŠæ Œãéç¥- ããŒãã·ã³ã¯: ã©ãžãšãŒã¿ãŒ/ãã¡ã³; CPUãšã¹ã€ãããããã®äž¡æ¹ãå ç±ãããããã
- ç¡ç· LAN ã¢ã³ãã,
äŸãã°
ãã¥ã¢ã³ã¹ããããŸã - ããææãããå ¬åŒã¹ãã¢ã§ã¯é éäŸ¡æ Œãäžé©åã«é«ããªã£ãŠããŸãã ãããŒãžã£ãŒã®ãžã¥ãã£ã»ãã¡ã³ã¯ãééãã¯ãªããšä¿èšŒããŠãããŸããã5 ãã«ã® ePacket ãéžæã§ããŸããããã·ã¢ã®å Žå㯠33 ãã«ãè¶ ãã EMS ãããªãããšãåãããŸããã äžå¿«ã§ã¯ãããŸãããæ¹å€çã§ã¯ãããŸããã ããã«ãé éå ãšããŠä»ã®åœãéžæããå Žå (ç§ã¯ãã¹ãŠã®å€§éžãçµç±ããŸãã)ãé éæã¯æ倧 5 ãã«ããããŸãã ãã·ã¢å«ã?...ããããã®åŸããã©ã³ã¹ã®é éäŸ¡æ Œã ~ 30 ãã«ã§ããããšãããããèœã¡çããŸããã
ãã®çµæããžã¥ãã£ã¯æ³šæã¯ãããæ¯æãã¯ããªããšç³ãåºãŸããïŒãã³ã: æ¯æããèªåçã«è¡ãããªãããã«ãã«ãŒãã®éé¡ãæžãããŠãã ãã)ã 圌女ã«æçŽãæžããŠããã ããã°ãéæãéåžžã®äŸ¡æ Œã«å€äžãããŠãããã§ãããã æåã
åé¡
ãŸã ãã¹ãŠãå®ç§ã«æ©èœããŠããããã§ã¯ãããŸããã
ÐÑПОзвПЎОÑелÑМПÑÑÑ
Ansible=Python ã³ãã³ãã¯ãã¢ã€ãã«ç¶æ ã§ãã£ãŠã 20 ïœ 30 ç§ã»ã©ãã£ãããšå®è¡ãããŸãã x86 ã©ããããããããäžæ¡é·ãã§ãã ããã«ãæåã¯éåžžã«éãïŒçŽ 3 ç§ïŒå®è¡ããããã®åŸæ¥æ¿ã«é ããªããŸãã ãããããã㯠CPU ã®å ç± (ã¹ããããªã³ã°) ãåå ã§ãããšèããããŸãã Go ã³ãŒããå®è¡æéãé·ããªããŸãã
# запÑÐŸÑ ÐŒÐµÑÑОк ÐŽÐ»Ñ Ð¿ÑПЌеÑÐµÑ ÐžÐ· 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
ç¡ç·LAN
Wi-Fi ã¯æ©èœããŸãããArmbian ã§ã¯çŽ XNUMX æ¥åŸã«åæ¢ããŸãã次ã®ããã«æžããŠããŸãã
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
ãã©ã€ããŒã¯æ°ããã§ãããã«ãŒãã«ã¯ãŸã åãå
¥ããããŠããŸãããäžåœã® Landen Chao ãé¡ã£ãŠããŸã
åºæïŒ habr.com