如果各位跟著一起操作到今天,相信你的路由器已經被折騰的要上訪了。那麼會發生什麼事呢?路由器上訪會神秘消失,需要孟姜女哭倒長城。您需要科學上網、科學辦案。
說真的,第一個應該是內建儲存空間爆了。不知道大家經歷過多少次類似事件。在某個晚上,不知不覺下個指令,但是系統給你相應不理。你摸不清頭緒,直到系統告訴你檔案系統爆炸了。
老師,Music~~~~
前面在介紹安裝Budgie系統時,有介紹利用FUSE掛載(mount --bind)。而這類似的功能,在OpenWrt也一樣有類似運用,但是它叫做Overlay Filesystem。
具體地說,系統上會區分成兩種區域,一個是原始的系統,可能是jffs也可能是squashfs。而所有新的設定、檔案其實可以視作另一個可寫層(對!是不是感覺很像Docker?根本就是同一種技術重複利用)。因此當系統要進行reset,按鍵後行為就是把overlay清除掉,系統就回到出廠值(Factory Reset)。
好的,我們先聚焦,處理如何讓OpenWrt類路由器,可以用USB碟存放資料。
乍看之下luci有功能耶。但是我試過,這不是男人的浪漫,不能用。
真男人就算是隨身碟,也是這樣
這個轉換前置條件是你要確定你的目前firmware可以讀取隨身碟的檔案系統,而我一定是選ext4或ext2。
sudo opkg update && sudo opkg install kmod-usb-storage block-mount kmod-fs-ext4 fdisk e2fsprogs
fdisk /dev/sda # 切好分割區
我的作法是整個送給它,不要切swap,甚至更懶,連分割都跳過(啊?可以這樣)直接mkfs.ext4 /dev/sda
是的,真的可以。
再來是把目/overlay移轉
mount /dev/sda /mnt
(tar -C /overlay -cvf - . | tar -C /mnt -xf - )|| (cp -a -f /overlay/. /mnt)
umount /mnt
讓我們看看
root@Bosley:/home/icekimo# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 13568 13568 0 100% /rom
tmpfs 62516 112 62404 0% /tmp
/dev/mtdblock6 384 268 116 70% /overlay
overlayfs:/overlay 384 268 116 70% /
tmpfs 512 0 512 0% /dev
root@Bosley:/home/icekimo#umount /dev/mtdblock6 || umount /overlay #就是卸載
root@Bosley:/home/icekimo# mount /dev/sda /overlay && df # 試試看新的區域
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 13568 13568 0 100% /rom
tmpfs 62516 112 62404 0% /tmp
overlayfs:/overlay 384 268 116 70% /
tmpfs 512 0 512 0% /dev
/dev/sda 29428620 45368 27865276 0% /overlay
root@Bosley:/home/icekimo# vi /etc/config/fstab && cat /etc/config/fstab
config global
option anon_swap '0'
option anon_mount '0'
option auto_swap '1'
option auto_mount '1'
option delay_root '5'
option check_fs '0'
config 'mount'
option uuid '09a26c75-73c2-48b0-87e2-79e9e5896d5c'
option fstype 'ext4'
option target '/overlay'
option enabled '1'
root@Bosley:/home/icekimo#reboot #確認uuid就是你要的/dev/sda,不然你會中無限月讀。
回到我們主題的第一件功課,我的目標就是發展出好維護的實驗環境(Value),而這幾天陸續記下的就是對應的活動。
在架構中我將系統內的數據定義為三種
1.可再生的,如OS、AP
2.獨創需版控的、需備份的
3.中繼可被清除的
然後再依據各系統設備上的特性去安排(layout),同時運用適當技術去管理。那麼路由器創造出這[sword of thousand truths] USB碟具有什麼神奇能力? 我不知道
除了拓展系統儲存空間外,也可作為設定檔的備份處。接下來的日子中Bosley還會持續的一直被折騰,就像
所以重置後資料不見了怎麼辦?從overlay掛回去啊,簡單。相同的答案也一樣會出現在很多場景。VM掛回硬碟、Docker掛回Volume。