在 MacOS 上讀取 Btrfs 分區文件
- 背景和前置條件
Btrfs 文件系統相較於 Ext4 ,是一種更年輕的文件系統,具有更多可玩的特徵,比如支持快照、子卷、校驗和自檢、軟 RAID 甚至透明壓縮等。
但是在沒有運維能力的情況下,建議不要使用 Btrfs 文件系統。本文記錄的是,在羣輝 DSM 系統下,將 Btrfs 文件系統的磁盤拆下後,讀取數據的過程。
在我的 DSM 系統中,有兩塊硬盤組成 RAID1 陣列,使用的是 Btrfs 文件系統。我將其中一塊硬盤拆下,插入到另外一臺蘋果機器中。
此外,這裏要求,DSM 版本不低於 6.2,MacOS 系統上有 Parallels Desktop 並安裝有 Ubuntu 版本不低於 18.04。
如果你有 Windows 機器,那麼也可以嘗試使用 WinBtrfs 驅動進行文件讀取。
- MacOS 上掛載硬盤
- 查看新插入的硬盤
可以看到 MacOS 無法直接識別 Btrfs 文件系統。忽略圖片中顯示 disk3,這是補的一張圖,最初是 disk2。
- 查看 MacOS 上的磁盤信息
diskutil list
/dev/disk0 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *1.0 TB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_APFS Container disk1 1000.0 GB disk0s2
...
/dev/disk2 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: *4.0 TB disk2
- 使用 PD 命令工具將硬盤掛載到本地文件
進入 Home 目錄
cd ~
新建硬盤指向物理磁盤
/Applications/Parallels\ Desktop.app/Contents/MacOS/prl_disk_tool create -p --hdd disk2.hdd --ext-disk-path /dev/disk2
- 將硬盤掛載到 PD 的 Ubuntu 虛擬機
進入 Ubuntu 關閉主機,然後編輯虛擬機,添加一塊硬盤,選擇已經存在的硬盤,選中上面創建的 disk2.hdd 中的 HDD 格式文件。
- 在 Ubuntu 上讀取 Btrfs 分區
- 切換到 root 用戶
sudo -i
- 安裝基礎軟件
apt-get install -y mdadm lvm2
- 識別文件系統
在 Disks 工具中,可以看到磁盤
自動掛載分區
mdadm -Asf && vgchange -ay
查看 /dev/md4
分區,如果處於 inactive 狀態,可以卸載之後,再次重試。
mdadm -D /dev/md4
/dev/md4:
Version : 1.2
Creation Time : Thu Apr 30 20:16:28 2020
Raid Level : raid1
Array Size : 3902187456 (3721.42 GiB 3995.84 GB)
Used Dev Size : 3902187456 (3721.42 GiB 3995.84 GB)
Raid Devices : 2
Total Devices : 1
Persistence : Superblock is persistent
Update Time : Sat Dec 18 07:38:07 2021
State : clean, degraded
Active Devices : 1
Working Devices : 1
Failed Devices : 0
Spare Devices : 0
Consistency Policy : resync
Name : DiskStation:4
UUID : 9cf8faf4:c1c76801:3a4efd95:f021908b
Events : 16609
Number Major Minor RaidDevice State
- 0 0 0 removed
1 8 21 1 active sync /dev/sdb5
- 掛載
mount /dev/vg1/volume_1 /data
此時在 Ubuntu 系統 /data
目錄下,已經可以訪問 Btrfs 磁盤分區的數據。
- MacOS 上掛載 Ubuntu 目錄訪問文件
由於在 Ubuntu 中訪問 Btrfs 磁盤分區的數據,不夠方便,因此這裏將 PD Ubuntu 中的目錄掛載到 MacOS 系統中。
- 安裝 sshfs 及依賴
brew install macfuse sshfs-mac curlftpfs-mac
- 將 Ubuntu 系統的數據目錄掛載到 MacOS 中
sshfs shaowenchen@10.211.55.12:/data /Users/shaowenchen/Data
- 在 MacOS 上查看 Btrfs 磁盤分區的數據
- 參考
- https://kb.synology.com/en-global/DSM/tutorial/How_can_I_recover_data_from_my_DiskStation_using_a_PC
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/zHamuam8bsB2Wrk6zG_S5w