近日,樹莓派基金會(huì)宣布了樹莓派的8G內(nèi)存版本,并發(fā)布了一個(gè)支持USB引導(dǎo)的固件版本。借此來(lái)解決長(zhǎng)期以來(lái)令人詬病的磁盤IO問(wèn)題。此前硬件版本樹莓派最大外部磁盤速度受到限制,尤其是 USB 2.0 總線與網(wǎng)絡(luò)適配器共享,進(jìn)一步限制了其帶寬,即使 USB 啟動(dòng)也快不到哪去。
樹莓派 Pi 4 架構(gòu)中不僅將網(wǎng)絡(luò)適配器與USB總線分離,而且開始支持USB 3.0,其理論上可以比USB 2.0快10倍。所以此次USB引導(dǎo)測(cè)試版的新固件為提高樹莓派的性能帶來(lái)了曙光。日前一個(gè)小哥Jeff Geerling就分享了他的對(duì)新版本體驗(yàn),并且做了基準(zhǔn)測(cè)試,本文我們就一起來(lái)學(xué)習(xí)下小哥的實(shí)踐過(guò)程。
用USB 引導(dǎo)樹莓Pi 4
首先,用一個(gè)32GB SanDisk Pro microSD制作了最新的64位測(cè)試版樹莓派操作系統(tǒng)。該測(cè)試版本系統(tǒng)可以從樹莓派論壇下載:
要制作引導(dǎo)盤,需要使用使用dd。實(shí)踐中使用了一臺(tái)老的Mac,當(dāng)然也可以直接使用樹莓派官方鏡像。
然后,按照USB 引導(dǎo)測(cè)試版設(shè)置說(shuō)明,進(jìn)行以下操作:
1、啟動(dòng)SD卡引導(dǎo)的樹莓派系統(tǒng)。
2、在樹莓派操作系統(tǒng)中打開終端,也可以通過(guò)SSH 從另一臺(tái)計(jì)算機(jī)執(zhí)行。
3、運(yùn)行以下命令,升級(jí)系統(tǒng)
sudo apt update
sudo apt full-upgrade
4、修改/etc/default/rpi-eeprom-update文件,將其值由“CRITICAL”修改為“BETA”。
5、 運(yùn)行下面命令,更新EEPROM :
sudo rpi-eeprom-update -d -f /lib/firmware/raspberrypi/bootloader/beta/pieeprom-2020-06-03.bin
6、 重新啟動(dòng),并通過(guò)打開終端并運(yùn)行檢查引導(dǎo)加載程序版本:
vcgencmd bootloader_version
應(yīng)該輸出類似下面的信息:
Jun 3 2020 13:53:47
version b5de8c32f4f45a12a1fdfe107254df82965f9d56 (release)
timestamp 1591188827
這樣表示引導(dǎo)成功,接下來(lái)還需要將 Pi OS flash到外部 USB SSD 或 HDD。首先,最好在啟動(dòng)驅(qū)動(dòng)器時(shí)將需要加載的設(shè)備插入并確保系統(tǒng)已經(jīng)識(shí)別了它(應(yīng)該出現(xiàn)在桌面上或者使用lusb找的到)。注意:不是任何外部驅(qū)動(dòng)器和 USB SATA 適配器支持開箱即用。
該試驗(yàn)中使用的是金士頓A400 240GB SSD,硬盤盒使用的是Inateck USB 3.0 SATA enclosure。
將USB驅(qū)動(dòng)器插入主計(jì)算機(jī)(之前制作microSD卡的電腦),并將樹莓派操作系系統(tǒng)燒錄到它,和microSD 操作一樣。
在引導(dǎo)boot卷之前,需要將卷上的一些文件替換為 GitHub 的最新版本
在樹莓派固件GitHub 存儲(chǔ)庫(kù)(github.com/raspberrypi/firmware),下載發(fā)布的zip壓縮包或者git clone整個(gè)倉(cāng)庫(kù)。
在boot目錄中,復(fù)制所有以.elf和.dat的結(jié)尾的文件到boot卷(替換已存在的同名文件)。
彈出boot卷,然后拔下 USB 驅(qū)動(dòng)器。
重啟當(dāng)前以microSD 卡運(yùn)行的系統(tǒng),拔下microSD卡,然后插入U(xiǎn)SB驅(qū)動(dòng)器。
請(qǐng)確保將驅(qū)動(dòng)器插入到了USB 3.0端口(藍(lán)色端口)。
打開樹莓派電源,大約一分鐘后,如果正常就可以應(yīng)該可以啟動(dòng),引導(dǎo)界面如下:
注意:上圖有個(gè)錯(cuò)誤提示,主要是引導(dǎo)加載程序不能啟動(dòng)通過(guò)USB-HDD后系統(tǒng)重新啟動(dòng)的問(wèn)題,不影響使用。目前解決方案拔下引導(dǎo)usb設(shè)備樹莓派完全關(guān)閉電源, 然后插入它回來(lái)。
基準(zhǔn)測(cè)試
為了了解其microSD卡啟動(dòng)時(shí)磁盤和USB SSD啟動(dòng)的性能差距,小哥進(jìn)行了一系列的基準(zhǔn)測(cè)試。
第一個(gè)基準(zhǔn)測(cè)試是對(duì)大文件寫入及小文件(4K)隨機(jī)訪問(wèn)讀取/寫入。這兩者都很重要,但在許多方面,當(dāng)使用像樹莓派這樣的通用計(jì)算機(jī)時(shí),后者的差異會(huì)更有意義,因?yàn)橛?jì)算機(jī)不不會(huì)整天讀取和寫入大型文件(大量順序訪問(wèn)),例如攝像機(jī)或無(wú)人機(jī)(這是大多數(shù)microSD卡都會(huì)優(yōu)化的用例)。
如果要自行運(yùn)行此基準(zhǔn)測(cè)試。記錄在Pi Dramble維基的磁盤訪問(wèn)基準(zhǔn)頁(yè)。注意,對(duì)于 USB SSD,測(cè)試中修改了hdparm路徑由/dev/mmcblk0改成了/dev/sda1。結(jié)果如下圖:
結(jié)果確實(shí)可以說(shuō)明問(wèn)題。對(duì)于順序操作,使用 USB SSD 比使用 microSD 卡快 3-4 倍。對(duì)于隨機(jī)訪問(wèn),隨機(jī)讀取速度稍快一些,但寫入速度約為8倍。這在很多活動(dòng)中有所不同,例如啟動(dòng)應(yīng)用、運(yùn)行具有許多選項(xiàng)卡的 Web 瀏覽器。順序性能意味著可以輕松流式傳輸和錄制4K高清視頻,樹莓派也有足夠的帶寬用于其他內(nèi)容。
為了了解磁盤訪問(wèn)如何影響熟悉的真實(shí)應(yīng)用程序的性能(并且能夠以高度準(zhǔn)確的結(jié)果徹底進(jìn)行基準(zhǔn)測(cè)試),還測(cè)試運(yùn)行多年的Pi Dramble Drupal 基準(zhǔn),運(yùn)行了一組Drupal基準(zhǔn)。測(cè)試會(huì)運(yùn)行Docker容器化的Drupal系統(tǒng)和MariaDB數(shù)據(jù)庫(kù),然后通過(guò)Nginx訪問(wèn)。結(jié)果如下:
和前面一樣,也運(yùn)行了所有測(cè)試 4x,在同一配置上,所有結(jié)果都相差不到 0.5%,因此很明顯,SSD 在許多操作中產(chǎn)生了巨大的不同:Drupal 的安裝和第一頁(yè)加載導(dǎo)致數(shù)百個(gè)文件被訪問(wèn)和/或?qū)懭氪疟P,因此在 SSD 上更快。因此,它有意義。
另外還測(cè)試了另一個(gè)方案:在 Drupal 中加載和重新加載頁(yè)面:
這些基準(zhǔn)測(cè)試顯示,對(duì)于某些操作,磁盤IO性能差異并不明顯。在 Drupal的案例中,處理和返回每個(gè)頁(yè)面時(shí)會(huì)將所需的數(shù)據(jù)將緩存(opcache 或者memcache,redis等數(shù)據(jù)庫(kù)的緩存中),可以保持讀取和寫入最小化。
總結(jié)
本文中嘗試了在樹莓派中運(yùn)行USB SSD的嘗試。根據(jù)基準(zhǔn)測(cè)試使用USB3.0和SSD硬盤可以極大提高樹莓派的IO性能。在這種方案下,可以一定程度上擴(kuò)充樹莓派的存儲(chǔ)和訪問(wèn)性能,可以讓樹莓派的通用性加大,而不僅僅是個(gè)玩具。當(dāng)然我們的呼聲是樹莓派能提供真正的磁盤接口,而不僅僅是USB。
-
usb
+關(guān)注
關(guān)注
60文章
8149瀏覽量
271070 -
固態(tài)硬盤
+關(guān)注
關(guān)注
12文章
1501瀏覽量
58324 -
樹莓派
+關(guān)注
關(guān)注
121文章
1954瀏覽量
107036
發(fā)布評(píng)論請(qǐng)先 登錄
使用CYUSB3014作為USB3.0數(shù)據(jù)傳輸方案,USB3.0無(wú)法識(shí)別是什么原因?
樹莓派“吉尼斯世界記錄”:將樹莓派的性能發(fā)揮到極致的項(xiàng)目!

用外在部件將其從USB3.0強(qiáng)制到USB2.0后如何高效重新打開設(shè)備?
CYUSB3014無(wú)法識(shí)別為USB3.0設(shè)備怎么解決?
CH634USB3.0HUB控制芯片USB3.0國(guó)產(chǎn)控制芯片

評(píng)論