[爆卦]linux複製整個資料夾是什麼?優點缺點精華區懶人包

雖然這篇linux複製整個資料夾鄉民發文沒有被收入到精華區:在linux複製整個資料夾這個話題中,我們另外找到其它相關的精選爆讚文章

在 linux複製整個資料夾產品中有2篇Facebook貼文,粉絲數超過4,283的網紅哪裡好吃哪裡去:神秘的水原誠,也在其Facebook貼文中提到, 雖然同屬於群暉品牌的NAS 陣列資料可以無損的轉移到不同型號的機器, 不過還可能會遇到檔案系統的問題... 原因是因為比較低階的NAS型號只支援linux原生地ext4 只有中高階的款式才能使用新的btrfs(B-tree file system, B-tree FS) 不知道是市場區隔還是效能考量...

  • linux複製整個資料夾 在 哪裡好吃哪裡去:神秘的水原誠 Facebook 的最讚貼文

    2019-12-13 03:36:41
    有 4 人按讚

    雖然同屬於群暉品牌的NAS 陣列資料可以無損的轉移到不同型號的機器, 不過還可能會遇到檔案系統的問題... 原因是因為比較低階的NAS型號只支援linux原生地ext4 只有中高階的款式才能使用新的btrfs(B-tree file system, B-tree FS) 不知道是市場區隔還是效能考量? 畢竟btrfs格式比較新, 功能比較多, 但一般評價就是效能比起ext4略差 只是別家品牌的NAS對於入門款的NAS也支援btrfs的說... 這次將NAS升級容量, 原本水哥也想說維持ext4就好 不過, 考慮到升級原本就是希望資料能更安全的緣故... 加上目前勒索病毒防不勝防, 所以還是希望NAS可以支援快照功能 而ext4最討厭的部分就是無法使用快照... 加上ext4無法使用Virtual Machine功能套件 最後還是決定要升級到btrfs 其實btrfs看起來好像很厲害 但我需要的其實很單純XD 就姑且參考看看吧... 只是現實沒有那麼美好 這個檔案格式是無法直接轉換升級的... 最笨的方法就是需要你把資料都複製出來後, 重新將陣列砍了, 之後再重新建立btrfs的檔案系統 然而這個肯定耗日費時 倘若你的NAS還有其他空的插槽, 水哥會比較建議先插入新的硬碟去建立btrfs的檔案系統陣列 再到控制台中 把共用資料夾的檔案, 一個個將資料搬到新的陣列上 利用空插槽就可以建立新的空間儲存集區 選擇新空間後按確認, 系統就可以幫你將指定資料夾的東西搬到新空間 並且停用需要停用的服務...可以簡單轉換新檔案系統 但水哥的NAS已經擴充空間滿了@@ 所以就只能將資料複製出來後刪除空間重做... 只是這樣子, 就會發現沒辦法直接刪除 囧 很多在跑的應用程式或服務就會卡住...只能一個個手動去調整解決了(淚) 整個都處理好後 移除按鈕才能點 而刪除服務也是需要一些時間 據說是因為群暉的DSM系統是安裝在所有硬碟上? 所以才這麼複雜? 清空之後就...很乾淨@@ 趕快點新增吧!! 儲存空間點選新增後會出現熟悉的模式選擇 如果你想要搞標準的RAID陣列就是選自訂, 不然就是SHR囉 然而水哥選擇群暉的緣故就是為了想用SHR, 感覺硬碟調整會比較彈性 [ 72 more words ]
    https://mshw.info/mshw/?p=19992

  • linux複製整個資料夾 在 OSSLab Geek Lab Facebook 的精選貼文

    2019-01-21 13:23:32
    有 19 人按讚


    https://www.facebook.com/photo.php?fbid=10216019118603397
    分享資安前輩 Kuon大大文

    剛好上禮拜收到了一座 WD DUO 3TB*2 Raid 1
    用戶說沒有設定密碼
    就算沒有設定用戶密碼 一樣有eDEK密鑰
    預設就是全扇區AES硬體加密
    拿起昂貴資料救援設備來分析.
    PC3000 跟MRT,從韌體Module 25,38讀出來
    WTF?Keyblock (eDEK不正確)解密錯誤...
    好 OSSLab Geek Lab還算看得懂論文跟原始碼
    eDEK除了韌體外,在硬碟Lba也有備份
    https://github.com/andlabs/reallymine/issues/45…
    不同晶片的 Keyblock LBA位置
    3 TB 5860528160
    3 TB 5860529539
    3 TB 5860533120
    都翻過了 都是00 都沒有eDEK...
    學前文Kuon大大查簽名
    57 44 76 31
    53 59 4D 57
    53 49 6E 45
    57 44 01 14 都失敗.
    https://github.com/andlabs/reallymine/issues/15…

    這案子搞到頭有點痛..看起來是都沒有人對WD DUO JMS561做過完整加解密分析.如果如同前文只是主控版損壞那就簡單..晚點再從與Usb to Bridge EEPROM內找看看eDEK

    看不懂前文請先看這篇
    https://www.osslab.com.tw/wd-usb-aes-recovery/
    資料救援真的不一定會100%成功,只是我們會盡力研究與處理.

    #OSSLab

    咚!

    #資料救援

    這兩天剛好有朋友資料掉了,也是 WD 外接硬碟系列,來分享我今年的處理過程。

    這篇會是個長篇,各位看倌要有心理準備 XD

    也因為早就預期是個長篇,所以想了很久卻一直沒有開動。

    ====

    [為什麼需要救援]

    7 月份辦公室事故,樓下的高溫粒子沿著 1) 管道間 或 2)玻璃帷幕與牆壁中間的夾縫 亂竄,管道間旁,除了窗戶冷氣外,還堆了一堆易燃雜物 (紙 & 塑膠包材),這些雜物熔點一到自燃,所以我在路邊吃冰淇淋的時候,可以看到火苗從窗戶冒出。

    吃冰淇淋的同時,我念茲在茲的只有硬碟(裡面的資料),因為備份用的幾十 TB 硬碟平常是離線儲存,擺在鐵櫃裡,而鐵櫃離火源非常接近....

    幸好火源在窗戶旁邊,所以很快被發現並被撲滅。

    到我可以進入現場,第一件事情就是開鐵櫃,手摸到鐵櫃的第一感覺,更,鐵櫃是溫熱的 :(

    最重要的那顆 16TB 硬碟,是鐵櫃內最靠近火源的角落,連外包裝的紙盒都是燙的...,而且紙盒的底部,黏在鐵櫃上,我用力拔出來...

    熔化了 :( 心都涼了!(拍一下驚堂木)

    由於 1) 當時已經晚上 6 點左右,雖是夏日但天色已晚,室內當然因為事故無光源 2) 事故中間,開放進入現場不到 5 分鐘又撤離,二次燃燒

    所以,為了避免可能的三次燃燒(?),當下我就把 16TB 隨手一扔,連放進可以上鎖的鐵櫃都沒有,先搶救其他設備,逃離現場。

    因為我以為沒救了。物理毀損ㄟ...

    ====

    [取出硬碟]

    事後回想,把那顆硬碟隨便一丟,是個 #潛在的錯誤,因為如果後來建築物又發生什麼狀況,那硬碟可能就真的找不回來了。

    我使用的外接硬碟,是 WD My Book Duo 16TB,USB 3.0,外觀可以參考 [1],是亮銀色的外觀。

    事故第一晚,我想來想去,都覺得我太心急了,雖然那個外接盒,看起來快要 1/6 的比例熔掉,像是面積用 3x2 六等份排列時缺了一個角,是真的熔了一些東西。

    硬碟外接盒,外包裝是紙盒,紙盒內還有一組保麗龍用來固定硬碟外接盒,紙盒在鐵櫃內,鐵櫃還在,紙盒和鐵櫃接觸面僅有焦掉,代表熔點低於這兩者,Google 查了一下保麗龍和塑膠熔點,研判是保麗龍和塑膠被(鐵櫃傳導熱度)熔掉,溫度僅需要 50C~60C,也查了硬碟工作時溫度,大概還撐得住 70C 高溫。

    覺得應該慎重點,隔天就去把那顆熔掉的外接盒帶出來研究。

    這個外接盒是自帶 2 顆硬碟的,買來插電就可以使用,所以原本也不知道裡面長什麼樣。

    前面所提到的,亮銀色部分,研判是熱塑型塑膠,遇熱整個都軟化變形了,變形完一冷,就又固定住了,也就變得很難拆。

    我在拆解的時候,很怕塑膠去黏到硬碟的軟板或是堵住氣孔,那就麻煩了,幸好沒有。原來,塑膠裡面是一個(有各種小孔呈網狀的)鐵盒子,硬碟和控制電路板,都在鐵盒子裡面,變形過的塑膠只有黏在鐵盒子外圍。

    鐵盒子打開後,硬碟除了有碳粒附著和焦味外,外觀看起來都沒有受損。硬碟拆下來,我就把鐵盒子和塑膠丟掉了。

    ====

    [資料救援前置作業]

    事後回想,那個鐵盒子上面還有控制電路版,我在沒有確認電路板(或上面的 ROM)是壞掉的狀況下,就把它丟掉(因為塑膠碎片整個卡在上面,不想聞那個味道),是個 #潛在的嚴重錯誤。萬一外接盒的 1)控制晶片 2) I/O 演算法 3) 金鑰產生方式,依賴硬體,那我就真的救不回來了!!

    獲得硬碟之後,因為外接盒(殘骸和那個鐵盒子)被我丟了,所以要再買一組新的。

    當我上去 PCHome 看時 (原本的也是 PCHome 買的),我找到的是 [2],同樣都是 WD My Book Duo 16TB,[1] 和 [2] 的區別在一個是 USB 3.0,新的是 USB 3.1。

    舊款 USB 3.0 的在別的購物平台有賣,牌價要 2 萬多,新款 3.1 的只要 1 萬 6。

    #第一個抉擇來了,要買新款還是舊款?新款便宜個好幾千元,I/O 傳輸速度還比較快 ...

    後來我決定打電話,問 WD 的代理商聯強,我還記得是在高鐵接駁車回台南市區的路上。舊款各種容量它們庫存都還有貨,但 16TB 的只剩一台。

    #第二個抉擇來了,如果控制晶片都一樣,要買最小容量 6TB 就好,還是要跟原本一樣,買到 16TB?這關乎到 $$$$$$ 啊 ...

    我後來決定買舊款,因為我怕新款的控制晶片不同顆,而且買了一樣容量 16 TB,因為在跟聯強工程師通話過程中,得知一個資訊,我覺得我得 Sector-by-Sector 複製了 ....

    聯強:「WD 這個系列有 AES 加密」
    我 :「我知道,但我沒有開啟,我也沒設過密碼」
    聯強:「#就算你沒有設密碼_它還是有一組預設金鑰_而且是硬體加密」
    我 :「...」(我瞬間知道這代表的意義,以及對救援難度的增加!!)

    SATA-to-USB 轉接線,由於我手上原本的線材也在辦公室,當然得重買新的,跑去北門路買了 2 條。

    ====

    [第一次救援]

    在真的討論救援前,讓大家瞭解一下目前的資料架構。

    軟體 -- USB -- 硬體

    軟體: Data -- Linux EXT4 -- Linux LUKS -- USB
    硬體: USB -- Firmware -- HDD

    其中,LUKS 作了一次加密,Firmware 層又作了一次加密。也就是將硬碟拔出外接盒的時候,是 2 層加密,LUKS 的密碼是我設的,外接盒 Firmware 設的密碼,#我不知道!!

    舊的外接盒中的硬碟,稱為舊硬碟,新的類推。

    由於不知道新的控制晶片,會不會偷偷寫入 metadata 到舊硬碟,我不敢貿然的將舊硬碟插入新的外接盒,所以,我直接用 2 條 USB-to-SATA 傳輸線,採用 Linux dd 整顆對拷。

    對了,我在拆舊硬碟的時候,有特別注意硬碟的順序。

    每一次 copy 前,我都會檢查 3 次命令列參數和磁碟資訊,看看 if 和 of 有沒有設反 (設反就會把舊硬碟資料覆蓋過去....)

    #三十小時過去,16 TB 總算拷完

    拷完將新硬碟插回新的外接盒 (儘量不使用舊硬碟),這樣就搞定收工了。

    .
    .
    .
    .
    .
    .
    .
    .
    .
    .
    .
    .
    .

    (USB 接上電腦) WTF!!!Linux 認不到 LUKS Header,這樣代表在 Firmware 那層的解密就有問題了!我可是 Sector-by-Sector 對拷,怎麼會這樣?

    #啟動備案,透過 USB-to-SATA 傳輸線直接對新硬碟 I/O,直接在這層就先破密,不使用外接盒。

    為什麼會有備案呢,因為我以前讀過 "got HW crypto? On the (in)security of a Self-Encrypting Drive series" 這系列文件 (參考附圖一),知道 WD 外接盒系列加密演算法有漏洞,想說趁這個機會練習一下。

    找了一些 GitHub 專案,要來對 WD 外接盒加密過的硬碟,進行破密,結果一直出現錯誤訊息,回去看 Source Code,發現是 Signature 找不到。

    回去對照簡報檔 和 Source Code,發現外接盒 Firmware 會將 Metadata 存到硬碟的尾部,為了識別 Metadata,有一組固定的常數 Signature。

    沒有找到 Signature,當然就意味著無法讀取正確的 Metadata。仔細讀過工具的 Source Code,發現沒有支援 8TB 的 offset (用來定位硬碟尾部位置),新增了一組我自己算的 offset,還是沒有找到。

    有可能是我算錯,所以我改寫了工具,直接在一個比尾部更大許多的範圍,開始暴力搜尋 Signature,還是沒有找到。

    囧了,只好直接拿起 Linux hd 指令,看 hexdump 結果,在我搜尋許多位置後,在 4TB 位置,觀察到一件事,就是 4TB 之後的內容都是 0x00!!

    不對啊,我記得我這組外接硬碟使用超過 2/3 了,在有加密的情況下 (而且這個情況是雙重加密),不可能大量的 0x00 啊 ...

    我重新思考了所有可能性,最後,發現了一件事情,我新買的 USB-to-SATA 傳輸線,外包裝盒寫著 "支援 4TB",它又沒說是 "最大支援 4TB" 阿 @@ TMD 採到雷!!!

    我要找的 signature 會配置在硬碟的尾部,也就是 4TB~8TB 之間,傳輸線讀不到,當然找不到。

    ====

    [第二次救援]

    第一次救援的時候,我們家三寶還沒出生,中間那個禮拜特別忙,忙完三寶就出來 "Hello World!!\n" 了,所以,第二次救援已經是在月子中心處理的 XD

    這次不用(雷雷的) USB-to-SATA 傳輸線了,請家裡人從光華帶了一台 4bay 的外接盒,有確認支援到單顆 8TB,而且故意挑沒有 RAID 功能。

    #RAID!各位看完前面的描述,都沒有人注意到這件事情。WD My Book Duo 的 16TB,是由 2 顆 8TB WD 紅標組成。

    當外接盒 WD My Book Duo 插進電腦時,預設只會出現一顆外接硬碟。也就是說,這個外接盒的預設模式,要麼是 JBOD 要麼是 RAID 0 (以下通通簡稱 RAID-like)。這也是我前面提到,我必須特別注意,2 顆 8TB 硬碟順序的原因。

    #六十小時過去,真 16 TB 總算拷完
    .
    .
    .
    .
    .
    .
    .
    .
    .
    .
    .
    .
    .

    (USB 接上電腦) WTF!!!Linux 認不到 LUKS Header,這樣代表在 Firmware 那層的解密就有問題了!我可是 Sector-by-Sector 對拷,怎麼會這樣?

    #啟動備案的備案,不對,我沒有備案的備案了阿...

    我用前面提到的改寫過的工具,直接在一個比尾部更大許多的範圍,開始暴力搜尋 Signature,還是沒有找到。但硬碟尾部是有亂碼資料沒錯。

    重新翻閱文件 "got HW crypto? On the (in)security of a Self-Encrypting Drive series" ,你會發現文件是針對 WD 的 My Book 和 My Passport 系列的外接盒,這些都是單顆硬碟的外接盒。我的是 My Book Duo,多了個 Duo 也就多了個 RAID-like 的行為。

    很好,我的情況 no prior art .... 那麼現在的硬體處理資料的流程將會是:

    #第一種可能,USB -- AES -- RAID-like -- HDD
    #第二種可能,USB -- RAID-like -- AES -- HDD
    #第三種可能,USB -- 我不知道 -- HDD

    而韌體面,Signature 也有可能換一個未知的,但這點和上面的資料流程,都非得對韌體逆向工程才會知道。

    我甚至都已經想過,寫 Linux 上的 FUSE 或 dm-* module,自己疊 RAID-like + AES 的透明轉換層 ... 如果我知道 AES 的 Key 的話,#可是我不知道阿。

    坦白說,這個時候,我心都涼了,#我真的覺得救回來的機率很渺茫了。

    要特別注意,這時候無論是新硬碟在 WD My Book Duo 裡面或是 4bay 外接盒,都無法正確判斷是 LUKS。

    我可是 dd 的說,雖然不是 ddrescue,但拷貝過程就算有 bit error,對解密的錯誤擴散過程,也相當有限阿,除非好死不死,bit error 剛好發生在 Metadata 結構吧。

    ====

    [第三次救援]

    #這時候有馬比無馬好,有馬才能當活馬醫 XDD

    我想說,好,至少我已經有一份 1:1 的備份了,把舊的硬碟按順序,插上新的 WD My Book Duo。

    視窗彈出來了,不是小算盤,是 GNOME Disk 彈出來要求我輸入 LUKS 密碼的輸入框,嘿嘿,輸入密碼,16TB Get Back :)

    這次前面有一些錯誤,資料能 100% 救回來,真的是運氣好。另外,也是 WD 的演算法有考慮到一些東西,至少沒有完全依賴控制電路板。

    #我都已經準備好要逆向韌體了,雖然好玩,但還是資料救回來比較重要!

    ====

    #自己的硬碟自己救

    收工。

    [1] https://support.wdc.com/product.aspx?ID=134&lang=en
    [2] https://24h.pchome.com.tw/prod/DRAA6H-A9008G9W6?fq=/S/DRAA6H

    #牆壁文

你可能也想看看

搜尋相關網站