當前位置:首頁 » 雲伺服器 » 樹莓派伺服器怎麼搭建

樹莓派伺服器怎麼搭建

發布時間: 2023-08-08 13:43:36

『壹』 樹莓派4B+ Centos7 部署k3s集群工具

kubernetes用於大型集群管理,而k3s屬於kubernetes的一個輕量級版本,常用於嵌入式設備使用。現把它安裝到樹莓派上使用。

這里用到樹莓派的系統是:CentOS-Userland-7-armv7hl-RaspberryPI-Minimal-4-2009-sda.raw,型號是4B+,8g內存。
樹莓派初次啟動需要擴容,並且做一些基本調整:

cgroup是linux用來對進程分配cpu、內存資源的工具,需要在啟動系統時開啟他,k3s會用到。
在/boot/cmdline.txt後加入這個,然後reboot

k3s是一個輕量級的k8s,適用於樹莓派這種嵌入式設備。

這個腳本跑完的時候,會把k3s添加到systemd裡面,可以通過systemctl status k3s來查看運作狀態。啟動成功就可以使用啦

官方參考: https://rancher.com/docs/k3s/latest/en/installation/ha-embedded/

等它重啟個好幾次之後,基本就成功了。

如果一直失敗,可以輸入命令刷一下iptable緩沖
iptables --flush
iptables -tnat --flush

等第二個結點加入後,在任意結點執行命令,都能查看到已有的2個Server(Master)結點了

當Server結點數大於等於3個且為奇數時,集群才可以實現高可用。
大於等於3是因為k3s使用了Raft演算法來實現一致性,而Raft演算法的容崩率為1/3,也就是只要集群中有2/3台機器正常運作,集群就能正常運作,所以3台機器是最低要求;要奇數個結點是因為Raft演算法過程中有一個很重要的隨機投票選Leader的流程,結點們通過定期投票選舉出一個Leader角色,然後其他結點在它的任期內就向他同步數據,這個時候如果結點數是偶數,那麼容易出現平票問題,選不出leader,並且,崩潰後集群進行數據恢復過程中,實現一致的方法是多數服從少數,如果是偶數Master結點,且剛好被分割成2個結點規模一樣的集團,就沒辦法恢復數據了[裂開],所以需要奇數個結點以避免權力平分問題。
以上為個人理解。

有興趣的同學可以一起探討這類共識演算法,與此類似的還有聯盟鏈的PBFT類演算法,比特幣PoW演算法等等。

因為集群並非開放式集群,加入集群需要獲取一個token作為校驗。這個token可以從Master伺服器上獲取。(手動加入的話,僅需要使用相同的K3S_TOKEN參數啟動即可。)

這樣,結點就正常連接上啦:

關閉k3s進程後,後台還留存一些服務佔用著埠,需要用官方腳本關閉他們

可以flush一下iptables,等他自己重啟就行了。

有可能發生了一些沖突,可以試下重裝k3s-agent

目前系統已經伴隨k3s安裝的一些軟體:
crictl :類似與docker的命令行工具,比如:

k3s :封裝了kubeneters基本工具在裡面的集成,如使用kubectl:

這里示範部署一個最簡單的web應用

--net host 代表與本機享受同一個網路命名空間

這里可以在docker容器內開啟ssh服務: https://blog.csdn.net/Leo_csdn_/article/details/96150534

做好docker鏡像後,就可以部署到集群上了。

等一會兒就能在pods列表裡面看到了:

但這時候,這個pod並沒有對外開放,只能在集群內部相互訪問,通過get services命令查看集群的服務,發現並沒有我們的hello-node服務。

expose命令其實是創建了一個service,用於給這個pod提供訪問入口。
(如果使用--type=LoadBalancer,則代表一個deployment上管理的所有POD進行均衡負載,但這里還沒用上deployment,第四章節會使用到)
等一會兒,pod上就有一個結點IP的對外埠,供外部訪問了。

運行結束後,剛啟動過的pod和service就不見了,服務也停止了。

docker容器,其實就是一個運行的輕量級系統,裡面可以跑我們的業務應用。
而POD則是代表容器的集合,一個POD可以運行多個容器,一台機器上可以運行多個POD。
POD未必是一個對外開放的服務,他可能只是內部計算的程序,默認只能集群內部通信,所以還有Service的概念,用於讓POD對外開放埠,供外部訪問。這里的service本質上是個集群內部的負載均衡器,用來給同一個Deployment分流;對應的還有Ingress,外部負載均衡器,用於給多個Deployment分流。
而Deployment顧名思義,就是一次部署的抽象實例,比如說,現在需要部署一個3台機器均衡負載的nodejs業務應用,那麼這個部署任務則代表一個deployment實例。

很快,我們可以看到POD和deployment的部署情況,都已經正常運作。

進入容器後可以使用基本linux命令,也可見8080埠已經被我們的node應用佔用了。

但是此時service還沒有他們,也就是正處於無法提供外部服務的狀態。

這里對一個deployment裡面的3個pod啟動了個默認均衡負載服務,暴露出來的一個埠是30057,訪問可通。
也能夠通過logs命令查看控制台輸出的日誌。

因為deployment實例中包含了pod的部署配置,所以刪除deployment時,k3s就會直接把pod也刪除掉。
但service並不在deployment部署的范圍內,所以需要同步刪除它,在刪除命令中通過","與deployment分割開來即可。
至此已經把剛起來的服務全部關閉掉了。

這里我們看到3個Server(Master)結點由於需要維護集群高可用,對CPU持續20%左右的消耗,內存也需要一個G左右。而Agent(Wroker)結點只需要執行部署任務,所以對內存與CPU的需求都相對低一些,僅維持在10%左右的CPU和半個G左右的內存消耗。

參考: https://zhuanlan.hu.com/p/120171512
參考: http://kubernetes.kansea.com/docs/hellonode/

『貳』 如何用樹莓派搭建一個低能耗的Minecraft伺服器

我們已經有教程教你怎麼在windows/OSX盒子上搭建自己的方塊世界Minecraft伺服器了,但是如果我們需要更輕量級,更省電,而且要一直在線,朋友們隨時可以上來玩的伺服器呢?下文介紹了如何用樹莓派搭建低能耗的Minecraft伺服器,你可以全天不間斷地開著,每天的電費大概只要一個便士。
為什麼要折騰這個?
這個教程分為兩個部分:搭建你自己的Minecraft伺服器,以及在樹莓派上搭建Minecraft伺服器。為什麼要自己搭Minecraft伺服器呢?因為在自己的伺服器上玩Minecraft,不是隨便誰都可以做的。你可以讓伺服器一直運行,當你不玩的時候,你的朋友和家人還可以加入到游戲中,繼續建造你的世界。你可以嘗試修改游戲參數,製作mod,而且還能讓你體驗一把GM的感覺,這在公共伺服器里可是做不到的,而且也不用花很多錢去租遠程主機來做伺服器。
對於Minecraft狂熱粉絲而言,搭建Minecraft伺服器已經很有吸引力了。但是在樹莓派上搭則會更有吸引力。小小的樹莓派耗電非常少,你可以不間斷地開著伺服器,一年的電費也不過幾塊錢而已。只要一個樹莓派,一張SD卡,花上一點時間設置一下,就能有一台全天候的Minecraft伺服器,月運行費用只不過一條口香糖的價格。
需要的東西
這篇教程需要一些硬體和軟體;除了樹莓派和SD卡之外的東西都是免費的。
1個樹莓派(512MB的版本比較好)
1張4GB的SD卡
教程假設你已經熟悉了樹莓派的環境,而且已經安裝了Debian衍生的Raspbian。如果你的樹莓派還沒跑起來,可以參考:HTG樹莓派起步教程。
針對Minecraft伺服器優化Raspbian

和我們之間分享過的那些可以同時運行的項目不大一樣(例如,樹莓派的性能足以同時用作天氣/電子郵件提醒器和一台谷歌雲列印機),對於小小的樹莓派而言,運行Minecraft伺服器是一項非常耗費系統資源的任務,我們強烈推薦樹莓派上只運行這一項任務。Minecraft看上去只有些方塊,似乎不太耗資源。但事實上在簡單的外表下有著非常復雜游戲核心,要耗費很多處理能力的。
所以我們接下來要修改配置文件以及其他一些設置,針對Minecraft伺服器來優化Rasbian。第一步要做的是進入Raspi-Config,進行幾項微調,如果你已經安裝了Raspi-Config,那麼進入終端,輸入」sudo raspi-config」來運行。
第一項,也是最重要的一項是進行超頻。我們要把處理能力設置得盡可能高一些,以保證Minecraft流暢運行。在Raspi-Config中,選擇第七項」超頻」。

關於超頻,雖然能聽到些很嚇人的警告,但事實上超頻是樹莓派基金會官方支持的,自從2012年年末,設置菜單中就有了超頻選項。進入超頻菜單後,選擇「Turbo 1000MhHz」。然後你又會看到這個級別的超頻可能出現的危險的提示信息(有可能損壞SD卡,但事實上對硬體不會有危險)。點擊OK,等待設備重啟。

『叄』 如何用樹莓派和Kali Linux搭建攜帶型的黑客工作站

可以按照以下步驟:

在樹莓派上安裝Kali。在開始之前,你需要和安裝Kali Linux支持樹莓派的觸屏版本鏡像。它與安裝任何其他的樹莓派操作系統一樣。
連接顯示屏。樹莓派有一個觸屏可適配的GPIO(通用輸入/輸出),即樹莓派主板角上的一組針腳,如何使用顯而易見。繼續,插入顯示屏到樹莓派。
插上所有的電源並啟動。安裝好顯示器後,就該接通其他零件的電源了。把Wi-Fi適配器和鍵盤接入到USB埠。再把樹莓派連接到電池組。啟動過程有可能有點緩慢和粗陋,不必為此擔心。首先,在啟動開始前,會先顯示一會兒白屏。最終,將顯示登錄界面。
登錄並且啟用無線網卡。現在該登錄和啟用無線網卡了,這樣你才可以真正地使用 Kali Linux 里的工具。樹莓派會自動識別無線網卡,但是你仍然需要連接上網路。首先,需要啟動 Kali Linux 圖形用戶界面並確保一切正常:</ol>樹莓派的命令行上將顯示用戶名和密碼的提示。輸入用戶名 root 和密碼 toor (一會兒要修改掉該密碼)。
輸入 startx 然後回車來啟動 Kali 圖形界面。在樹莓派上載入可能需要一段時間。
現在你可以用觸屏和鍵盤來操控樹莓派。點擊底部任務欄的終端圖標來打開命令行。
設置無線網卡,在命令行輸入nano /etc/network/interfaCES 並回車來載入Wi-Fi設置的配置文件。
增加如下文本到你剛剛打開的文件,替換上你自己的網路信息:auto wlan0 iface wlan0 inet dhcp wpa-ssid 「你的網路名稱」 wpa-psk 「網路密碼」完成後,按下 Ctrl+X 保存並退出。無線網卡現在可以使用了(有可能需要先重啟)。 5. 修改密碼。在開始任何操作之前,很有必要修改設備的root密碼(避免其他也有類似黑客技能的人控制它)。還好這個過程很簡單。.如果你還在命令行(如果不在,點擊 Kali 的終端圖標重新打開它),輸入 passwd 並回車。
輸入新密碼兩次
重新配置 OpenSSH 也有好處,這樣它不會是默認設置。輸入 dpkg-reconfigure openssh-server 並回車。

『肆』 樹莓派搭建文件伺服器

https://www.raspberrypi.org/downloads/raspberry-pi-os/

安裝 Etcher 之後啟動 Etcher,插入 SD 卡、選擇要安裝的 img 文件、選擇 SD 卡對應的磁碟分區
https://www.balena.io/etcher/

① 新建一個ssh空白文件,放到root目錄下,樹莓派開機會自動啟用
② 網路優先選擇有線網路
③ 無線網路
將刷好 Raspbian 系統的 SD 卡用電腦讀取。在 boot 分區,也就是樹莓派的 /boot 目錄下新建

具體詳情看下面
https://shumeipai.nxez.com/2017/09/13/raspberry-pi-network-configuration-before-boot.html

方法1:利用路由器軟體查看IP地址

方法2:

ssh連接默認用戶名:pi 密碼:raspberry

方法3:IP Scanner

1.切換 root許可權 sudo su
2.編輯下列文件

連接raw.githubusercontent.com失敗
step1 :
在 https://site.ip138.com/raw.Githubusercontent.com/
輸入raw.githubusercontent.com查詢IP地址
step2 :
sudo nano /etc/hosts
你查到的ip地址,香港的就行 raw.githubusercontent.com
比如:
151.101.76.133 raw.githubusercontent.com

OpenMediaVault項目地址:
https://github.com/OpenMediaVault-Plugin-Developers/installScript

執行安裝腳本:

step1:
輸入樹莓派的IP地址
初始用戶名:admin
密碼:openmediavault
step2:
1.連接硬碟
2.文件系統—>卸載硬碟
3.磁碟—>擦除
4.文件系統—>新建 文件系統選擇EXT4
5.掛載—>應用
6.共享文件夾—>新建一個文件夾 設置許可權
7.SMB/CIFS —>啟用
8.共享—>添加共享

mac登陸
前往:連接伺服器 smb://樹莓派的ip地址
windows
我的電腦—>右鍵—>映射網路驅動器—>找到共享的文件夾

『伍』 伺服器怎麼搭建

伺服器的搭建:

工具/原料:電腦:華碩筆記本、版本:win10(1803)、軟體:FlashFXP(5.4.0版本)

1、先登錄伺服器,找到(虛擬)主機管理。

『陸』 一 . 樹莓派A20 基本環境搭建 1

我的實驗環境:

1.交叉編譯工具鏈:gcc-linaro-arm-linux-gnueabihf-4.8-2014.04_linux(4.8.2).tar.xz
2.SDK文件:MarsBoard-A20-Linux-SDK-V1.1.tar.bz2

在安裝gcc-arm-linux-gnueabi的時候,會自動安裝上gcc-4.6-arm-linux-gnueabi,如下圖所示:

第二個文件的安裝很重要,盡管後面提示的編譯錯誤,缺少的是arm-linux-...,但是安裝這個文件還是挺好用的。

根據前面安裝的一些安裝包,其實本節的交叉編譯工具鏈可以不用操作。因為已經包含了本節所做的了。

我得先將vim改一下,否則按住上下左右,會出現A,B,C,D。

再/etc/profile最後一行添加內容:

然後:

這里做一些簡要的說明,在網址: 鏈接 上有一些說明,從說明中,我們可以看到我們用的sdk的架構。

pack文件夾

選擇2,server版本。

之後:

能找到的livesuit_marsboard_a20_debian.img就是生成的鏡像文件。如果要修改名字,可以:

這裡面就包含了image.cfg,找到裡面的一項:

修改為其他的名字即可。

選擇2,server版本。

1.若出現如下報錯:

可以:

如果出現:

但是其實這些文件都是有的,可以不妨:

再次編譯,則問題如下:

仔細找編譯的shell輸出文件,發現是rootfs/下的gz文件找不到,這是因為我做前面的操作的時候,希望生成自己的rootfs_my.tar.gz文件。現在我重新將該文件放到rootfs/下,再次編譯,我將最後的結果放在下面:

這樣表示成功了。

下面列入生成的鏡像:

livesuit_superpi3.img即是。

1.我在做上面的操作的時候,夾雜的使用了兩個開發板,一個是marsboard出品的a20開發板,另外一個是風火輪出品的a20樹莓派3卡片電腦,說實在的,看起來風火輪附帶板子資料挺多,但是其真正寫的資料可沒用心做,實在不是一個榜樣,在該開發板上做非核心開發,是可以的,但是做研發,還是需要做考量。

燒寫成功後,列印的內容如下,作為日誌信息,留作以後分析:

『柒』 如何用樹莓派搭建個人 web 伺服器

Apache + Mysql + php

1、安裝Apache

Apache可以用下面的命令來安裝
sudo apt-get install apache2

Apache默認路徑是/var/www/

其配置文件路徑為:/etc/apache2/

可以通過:sudo vi /etc/apache2/ports.conf修改監聽埠號

重啟服務生效:sudo service apache2 restart

2、安裝mysql

sudo apt-get install mysql-server
安裝過程中,會出現一個提示符讓你輸入一個密碼。
這個密碼是mysql root用戶的密碼。

3、安裝PHP

輸入下面的命令,就可以安裝PHP 5,以及PHP訪問mysql資料庫所需要的庫。

sudo apt-get install php5

sudo apt-get install php5-mysql

4、測試

安裝完成後,可以在瀏覽器中輸入你路由器的IP或域名,就可以訪問你的網站了。

你應該能看到一個頁面顯示「It works」,但是沒有其它內容。

創建一個/var/www/index.php

5、外網訪問

這里使用蒲公英組建異地區域網實現外網訪問

先將蒲公英安裝包預先上傳至樹莓派(路徑:/home/oray/下載/PgyVPN_CentOS_2.0.0_x86_64.rpm)

通過cd命令進入存放蒲公英安裝軟體的目錄,輸入rpm命令進行安裝;

cd 下載/
rpm -ivh PgyVPN_CentOS_2.0.0_x86_64.rpm

安裝成功後,任意路徑下輸入「PgyVistor」命令即可調出交互界面,按照界面指示輸入賬號進行登錄,可以選擇打開自動登錄。

之後,外網設備同樣安裝蒲公英客戶端,用同一賬號登錄就可以訪問樹莓派的Web服務了~

『捌』 樹莓派搭建mesh網路

設備:

參考資料:

如下圖所示,mesh網路由MPP、MP、MAP三種設備組成:

這三種設備配置也不一樣,他們之間是通過mesh鏈路連接在一起的,但是需要保證mesh節點工作的信道號和mesh id號必須相同!

首先要能ssh連上樹莓派,由於樹莓派本身的wifi模塊不支持mesh網路,所以挑選了TL-WN722N V1

查看 https://www.jianshu.com/p/6407472e2550

在此示例中,我們將配置一個mesh節點以使用mesh網路,該節點將自動與使用相同配置(mesh和信道)的任何其他對等節點連接。

每個mesh節點都需要配置如下:

我的想使用第二張網卡也就是wlan1來做mesh組網,過程如下:
如果遇到了這個錯誤 command failed: Device or resource busy (-16) ,就先把網卡關掉在啟用

添加mesh

查看是否創建成功

注意:默認情況下,所有mesh介面都從通道1開始。

關閉mesh0並設置mesh id

啟用mesh0

分配ip,mesh組網要在同一個網段下

這樣一台設備就配置好了。配置其他設備的時候只需要分陪不同的IP即可。在默認配置中,mesh節點將自動嘗試創建所有其他具有相同mesh id的網格節點的對等鏈接。

使用phy介面,使用 iw list ,查看網卡對應的phy,我的wlan1對應的phy1
先關掉wlan1

驗證是否創建成功

啟用mesh0

設置ip,假設為10.0.0.1

使用 iw dev mesh0 station mp 和 iw dev mesh0 mpath mp 命令檢查已建立的對等鏈接:

iw dev mesh0 mpath mp

一些解釋:
Destination MAC Address :目地mac地址。此mesh路徑的目的地。直接路徑的目的地和下一跳具有相同的MAC地址。
Next-hop MAC address :下一跳地址。直接路徑的目的地和下一跳具有相同的MAC地址。
IFACE :專屬網的名稱
SN :此路徑的目標序列號。 DSN用於確定節點路徑信息的「新鮮度」。例如,假設節點接收到其路徑表中已經存在的目的地的路徑響應。如果路徑響應的DSN較高,則它將替換現有路徑,因為它將被認為是較新的。
Air Time Link Metric :路徑的度量(或「成本」)。較低的度量標準是首選,並且在選擇了多個路徑的情況下,協議棧將選擇成本最低的協議(即:空中鏈路度量最低的協議)。該值是使用預期的吞吐量得出的(metric = 1 + 8192 / Expected_throughput_mbps)預期吞吐量(Expected_throughput_mbps)取決於驅動程序(例如,某些包含重傳)。
Frame Queue Length :此網格路徑的排隊幀數。
Expiration Time :此mesh路徑過期的時間(以jiffies為單位)
Discovery Timeout :路徑發現的剩餘時間(如果正在發現此路徑)。
Discovery Retries :重試發現的次數(如果正在發現此路徑)。
Flags :它是一個位掩碼,由該路徑的以下狀態標志組成:

熱點內容
pythonifrequest 發布:2025-02-06 00:02:28 瀏覽:774
代理伺服器地址大全 發布:2025-02-06 00:02:22 瀏覽:174
暢玩守望先鋒最少要什麼配置 發布:2025-02-05 23:37:52 瀏覽:452
雲桌面伺服器啟動不了 發布:2025-02-05 23:29:09 瀏覽:25
uc緩存視頻怎麼徹底清理 發布:2025-02-05 23:24:16 瀏覽:632
家用電腦該怎麼樣配置 發布:2025-02-05 23:24:13 瀏覽:337
唐門按鍵精靈腳本 發布:2025-02-05 23:24:02 瀏覽:7
博圖加密演算法 發布:2025-02-05 23:07:48 瀏覽:548
幀數腳本 發布:2025-02-05 23:06:26 瀏覽:855
android菜單效果 發布:2025-02-05 23:00:54 瀏覽:673